Posts for jlun2

Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Clearly, there's grinding needed for this game, given the enemy basically never misses, and you're forced to use skills that scale solely by level since you will miss too frequently. Here's a table of XP needed for each level:
Level Experience total Diff
1 0
2 17 17
3 49 32
4 94 45
5 153 59
6 231 78
7 330 99
8 450 120
9 590 140
10 746 156
11 919 173
12 1109 190
13 1314 205
14 1533 219
15 1769 236
16 2026 257
17 2300 274
18 2589 289
19 2899 310
20 3227 328
21 3572 345
22 3933 361
23 4308 375
24 4698 390
25 5102 404
26 5523 421
27 5959 436
28 6412 453
29 6884 472
30 7377 493
31 7889 512
32 8422 533
33 8977 555
34 9551 574
35 10147 596
36 10765 618
37 11401 636
38 12056 655
39 12734 678
40 13433 699
41 14154 721
42 14896 742
43 15661 765
44 16443 782
45 17244 801
46 18066 822
47 18905 839
48 19764 859
49 20645 881
50 21545 900
51 22466 921
52 23404 938
53 24363 959
54 25342 979
55 26342 1000
56 27342 1000
57 28342 1000
58 29342 1000
59 30342 1000
60 31367 1025
61 32392 1025
62 33417 1025
63 34442 1025
64 35467 1025
65 36517 1050
66 37567 1050
67 38617 1050
68 39667 1050
69 40717 1050
70 41817 1100
71 42917 1100
72 44017 1100
73 45117 1100
74 46217 1100
75 47367 1150
76 48517 1150
77 49667 1150
78 50817 1150
79 51967 1150
80 53167 1200
81 54367 1200
82 55567 1200
83 56767 1200
84 57967 1200
85 59217 1250
86 60467 1250
87 61717 1250
88 62967 1250
89 64217 1250
90 65535 1318
To check out quickly what npc layouts are there, I trace logged when I obtain an encounter. In ARM9 System Bus, the address 02014BBC has the value EBFFE77E. If I replaced it with a NOP operation, as in change it to values E1A00000 (corresponds to mov r0, r0, lsl #0) by pasting 0000A0E1 directly to it on bizhawk hex editor, I start the fight with an empty field. 02015508 has the values EBFFF710. Changing that to NOP gives me no encounters what so ever. I know this because normally, if I freeze both RNG values to 0, an encounter occurs almost immediately after I walk 1 step. This game actually does have a step counter at 10756C Main RAM. Every 80 steps, the moon phase advances by 1. 020131E4 has the values EB0022C5. Changing it to NOP causes the npcs to update (visible on script), but the battle never starts. The music still plays though. So by walking around with 020131E4 set to E1A00000, I can see what XP and layout occurs. EXP is determined by summing up all XP values from NPCs defeated, then divided by the amount of people remaining, rounded down. So for instance, Giant Centipedes have an XP value of 49. Fighting 4 of them with a team of 6 will give each team member math.floor((4 x 49)/6) = 32 XP. At the very start, the npcs are complete trash. Savage Rats give 0 XP to a team of 6. Little Devil gives 1. Going further, there's 3 possibilities. 1. 3x Giant Centipedes + 3x Poisonous Child, 36 XP per member 2. 4x Giant Centipedes, 32 XP per member 3. 4x Iron Dragon Spawns, 28 XP per member Their stats as follows:
Name Name ID XP HP EP Level ATK DEF DEX AGI
Iron Dragon Spawn 0 42 480 3 12 47 42 42 38
Giant Centipede 251 49 350 3 20 49 41 33 36
Poisonous Child 254 24 310 3 11 44 31 47 46
Based on the Wind Scar damage table, I can OHKO Poisonous Child starting at level 8 (guaranteed OHKO at 10), OHKO Giant Centipede at level 9 (guaranteed OHKO at 12), and OHKO Iron Dragon Spawn at level 14 (guaranteed OHKO at 16). Clearly, the first fight should be Giant Centipedes, then raise 3 levels, each having Inuyasha gain 5 AGI for a total of 47 AGI at level 10 to be able to start outrunning, and OHKO poison child. Before this, Janis must level up at least 1 time by fighting 3 Giant Centipedes with her 2 Shiki Oni. The 2 Shiki Oni don't get any XP, nor level up. However, they do affect the calculations, since they count as part of the team. If Janis isn't at least level 2 before the 2nd fight, she will be OHKO by the Little Devil. There's a brief period before fight 10 (Demon Puppet) where both Miroku and Sango leave the party. This changes the XP above to 1. 3x Giant Centipedes + 3x Poisonous Child, 73 XP per member 2. 4x Giant Centipedes, 65 XP per member 3. 4x Iron Dragon Spawns, 56 XP per member I tried actually beating the game. I can beat Datara with everyone at least level 45, without healing. I can beat Sara at level 20 easily. At level 30, I can at least beat most fights up to Monk Sen, with some struggle. Why does this matter? Because in this case, I can 1/2 the fights needed, at the expense of Miruko and Sango. Bosses who attack physically can target only Inuyasha, Sango, and Miruko. Miruko's only purpose after Wind Tunnel is to tank up hits. All healing items should be given to Shippo, and Sango can attack, or tank hits. If I leveled up to 20 without Sango/Miruko, by the time I reach level 45, they should be at level 41. At level 20, under ideal RNG, Inuyasha would have 97 AGI. He will also deal 606-734 damage to every enemy. This is actually fantastic early on. In the area before Sara's Lair, there's a layout 5x Vile Demon + 3x Poisonous Child, 42 XP per member. While uncommon, I can at least OHKO them all. To guarantee everyone dies, Inuyasha needs to be level 22. This would also get him to 107 AGI. After Sara's Lair, there's 2 possiblities: 1. 3x Poisonous Centipede + 2x Hirasaka Spider + 2x Vile Demon + 1x Malicious Demon, 60 XP per member 2. 3x Malicious Demon + 3x Revenant + 1x Banshee, 59 XP per member (Near Demon Fortress) 3. 10x Hirasaka Spider, 50 XP per member (Above Checkpoint) The stats for all of them are:
Name Name ID XP HP EP Level ATK DEF DEX AGI
Banshee 4 52 920 6 21 69 62 68 73
Vile Demon 10 39 650 4 14 61 48 56 60
Malicious Demon 11 51 870 5 18 78 62 69 73
Revenant 15 55 980 5 21 58 71 69 78
Hirasaka Spider 21 33 560 2 16 57 44 45 63
Poisonous Centipede 252 64 1160 4 31 89 88 61 74
Since Hirasaka Spider has only 350 HP, yet 10 of them give 50 XP, it's actually better to skip the area before Sara's Lair for further grinding. Miruko still needs at least some levels, or else Wind Tunnel won't work. Poisonous Centipede can be ignored, since it would take a minimum level of 35 to OHKO them (level 44 for guaranteed OHKO). I investigated Northern Plains. For the south area, I get: 1. 2x Antero Demon + x3 Slashing Demon, 76 XP per member 2. 4x Antero Demon + x1 Slashing Demon, 72 XP per member 3. 5x Antero Demon, 70 XP per member Mt. Mansetsu Fortress: 1. 3x Light Demon + 3x Dark Demon, 120 XP per member (inside) 2. 5x One-Eyed Priest, 105 XP per member (inside) 3. 2x Light Demon + 1x Dark Demon +2x One-Eyed Priest, 102 XP per member (inside) 4. 2x Light Demon + 2x Dark Demon +1x One-Eyed Priest, 101 XP per member (outside) 5. 3x Light Demon + 2x Dark Demon, 100 XP per member (outside) The mountain itself has the highest at 3x Steel Centipede + 3 Messenger of Hades, 78 XP per member But it's too low given their HP.
Name Name ID XP HP EP Level ATK DEF DEX AGI
One-Eyed Priest 36 128 3020 5 49 182 177 158 162
Antero Demon 37 85 1350 5 27 102 95 97 98
Slashing Demon 42 96 1800 4 29 112 101 87 84
Light Demon 51 123 2650 4 48 177 170 182 186
Dark Demon 52 123 2420 5 48 133 170 189 174
Steel Centipede 253 89 1980 4 31 122 127 93 113
Messenger of Hades 255 76 1200 3 28 108 74 95 121
All of the npcs are way too powerful to OHKO. Messenger of Hades at 1200 HP needs level 37 to OHKO (level 46 for guaranteed) while the strongest ones cannot be OHKO ever (level caps at 90, so damage caps at 2708). There's more layouts, but those are worse than the main overworld due to high HP low XP. North of Mt. Mansetsu gave me: 7x Jizo Monkey, 98 XP per member 4x Jizo Monkey + 3 Tengu, 95 XP per member 4x Jizo Monkey + 1 Tengu, 83 XP per member There's more, but their XP is far too low. At the spot before Tempest Tower, the higher ones are: 1. 7x Tosen King, 161 XP per member 2. 5x Tosen King, 115 XP per member 3. 5x Lost Soul + x2 Tosen King, 106 XP per member 4. 1x Lost Soul + x4 Tosen King, 104 XP per member 5. 4x Tosen King, 92 XP per member
Name Name ID XP HP EP Level ATK DEF DEX AGI
Lost Soul 3 73 1600 2 50 180 113 193 171
Jizo Monkey 27 84 1320 4 31 99 98 115 116
Tosen King 29 143 3030 8 52 197 156 182 191
Tengu 32 83 1510 7 30 107 104 106 102
Unfortunately, this means the best area to grind, is still that 1 point right before Demon Puppet, at the cost of Miruko/Sango. An alternative method would be relying solely on Miroku's Wind Tunnel. His AGI at level 8 is 28. Assuming the idealized case where he gains 4 AGI every level, he outruns Antero Demon at level 26, with 100 AGI. He seems to be able to Wind Tunnel both Antero Demon and Slashing Demon at this level (inconsistently). Unfortunately, Inuyasha will likely be faster than Miroku (especially since I really don't want Miroku going first during boss fights).
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
These are your stats at the very start:
Name Level HP EP ATK DEF DEX AGI
Janis 1 130 6 6 4 5 4
Inuyasha 7 1030 7 37 34 28 32
Kagome 6 520 9 23 17 22 23
Miroku 8 820 8 31 31 30 28
Sango 7 640 5 28 22 28 25
Shippo 6 390 3 15 13 20 23
I need to figure out how stats are given when you level up, so I trace logged when it raises your stats. There's a dedicated RNG function (FUN_02046160) that also affects RNG, for this purpose. It is called once, before the usual RNG (FUN_020461c0) gets used. The game's level up function is at 02010520 (FUN_02010520 in Ghidra). It has 16 different cases, each for the characters IDs. Cases 1-3, 11, 12, 13, 14, 15, 16 is Janis/followers. 4/5 is Inuyasha, 6 is Kagome, 7 is Mioku. 8 is Sango. 9/10 is Shippo. Here's my lua interpretation of what's going on: Download level.lua
Language: lua

function MLA(A,B,C) local reslow = A * (B%0x10000) -- A multiplied with lower 16 bits of B local reshigh = A * (math.floor(B/0x10000)%0x10000) -- A multiplied with higher 16 bits of B (shifted down) reshigh = reshigh%0x10000 -- only 16 bits can matter here if result is 32 bits return (reshigh*0x10000 + reslow + C)%0x100000000 -- recombine and cut off to 32 bits end function MUL64(A,B) local reslow = A * (B%0x10000) -- 0x0000LLLLLLLLLLLL local reshigh = A * math.floor(B/0x10000) -- 0xHHHHHHHHHHHH0000 local reslow_lo = reslow%0x100000000 -- 0x00000000LLLLLLLL local reslow_hi = math.floor(reslow/0x100000000) -- 0x0000LLLL00000000 local reshigh_lo = reshigh%0x10000 -- 0x00000000HHHH0000 local reshigh_hi = math.floor(reshigh/0x10000) -- 0xHHHHHHHH00000000 local low32 = reshigh_lo*0x10000 + reslow_lo local high32 = reshigh_hi + reslow_hi high32 = high32 + math.floor(low32/0x100000000) -- add what carries over low32 = low32%0x100000000 -- 32 bit high32 = high32%0x100000000 -- 32 bit return low32,high32 end function FUN_020461c0_RNG(r0, rng1, rng2) --020461c4: e59f1050 ldr r1, [pc, #+0x50] local r1 = 0 local r2, r3 = 0,0 local r4, lr, carry = 0,0,0 local rng1_2, rng2_2 = 0, 0 r4, lr = MUL64(0x6C078965, rng1) lr = MLA(0x6C078965, rng2, lr) lr = MLA(0x5D588B65, rng1, lr) r3 = 0x00269EC3 + r4 carry = r3 > 4294967295 and 1 or 0 rng1_2 = r3 % 4294967296 --107b98 r4 = lr + carry rng2_2 = r4 --107b9c if (r0 ~= 0) then r4 = (r4 * r0) >> 0x20 end r0 = r4 return r0, rng1_2, rng2_2 end function FUN_02046160_RNG(r0, rng1, rng2) --r0 provided before call --0x02107b98 is rng1 --0x02107b9c is rng2 local r1 = 0 local r12 = 0x6c078965 --from 0x02107b98 + 0x08, seems constant local r3 = rng1 local r2 = rng2 local r4, lr = MUL64(0x6c078965, r3) local rng1_2, rng2_2, carry = 0, 0, 0 --020461d8: e02ee29c mla lr, r12, r2, lr --Rd:=Rm*Rs+Rn --lr = r12*r12+lr lr = MLA(r12, r2, lr) lr = MLA(0x5D588B65, r3, lr) r3 = 0x00269ec3 + r4 carry = r3 > 4294967295 and 1 or 0 rng1_2 = r3 % 4294967296 r4 = lr + carry r12 = r0 << 1 rng2_2 = r4 if r12 ~= 0 then r2, r1 = MUL64(r4, r12) r0 = r1 - r0 end return r0, rng1_2, rng2_2 end function FUN_02010520_2(r0, rng1, rng2, level, hp, atk, def, dex, agi) --[[just for finding start address local r2 = 0x020c63f4 local r1 = 0x94 local r5 = MLA(r0, r1, r2) ]]-- local agi_plus, dex_plus, def_plus, atk_plus = 0, 0, 0, 0 local r10 = 3 local hp_plus = 0 if (r0 >= 1 and r0 <= 3) or (r0 >= 11 and r0 <= 16) then --JANIS 2 020105e0: ea00000d b #0x3C --applies for Janis 1, 2, 3 hp_plus, rng1, rng2 = FUN_02046160_RNG(0x10, rng1, rng2) --02010624: e2800050 add r0, r0, #0x50 hp_plus = hp_plus + 0x50 atk_plus, rng1, rng2 = FUN_020461c0_RNG(3, rng1, rng2) --0201063c: e2800002 add r0, r0, #0x2 atk_plus = atk_plus + 2 def_plus, rng1, rng2 = FUN_020461c0_RNG(3, rng1, rng2) --02010650: e2800002 add r0, r0, #0x2 def_plus = def_plus + 2 dex_plus, rng1, rng2 = FUN_020461c0_RNG(4, rng1, rng2) --02010664: e2800002 add r0, r0, #0x2 dex_plus = dex_plus + 2 agi_plus, rng1, rng2 = FUN_020461c0_RNG(2, rng1, rng2) --02010678: e2800003 add r0, r0, #0x3 agi_plus = agi_plus + 3 r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --0201068c: e350001e cmp r0, #0x1E if r0 < 0x1E then atk_plus = atk_plus + 1 end r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --020106a4: e350000a cmp r0, #0xA if r0 < 0xA then def_plus = def_plus + 1 end r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --020106b8: e350000a cmp r0, #0xA if r0 < 0xA then agi_plus = agi_plus - 1 end elseif r0 == 4 or r0 == 5 then --INUYASHA 020105e8: ea000038 b #0xE8 hp_plus, rng1, rng2 = FUN_02046160_RNG(0x1C, rng1, rng2) --020106d8: e280008e add r0, r0, #0x8E hp_plus = hp_plus + 0x8E atk_plus, rng1, rng2 = FUN_020461c0_RNG(3, rng1, rng2) --020106f0: e2800003 add r0, r0, #0x3 atk_plus = atk_plus + 3 def_plus, rng1, rng2 = FUN_020461c0_RNG(2, rng1, rng2) --02010704: e2800003 add r0, r0, #0x3 def_plus = def_plus + 3 dex_plus, rng1, rng2 = FUN_020461c0_RNG(3, rng1, rng2) --02010718: e2800002 add r0, r0, #0x2 dex_plus = dex_plus + 2 agi_plus, rng1, rng2 = FUN_020461c0_RNG(2, rng1, rng2) --0201072c: e2800003 add r0, r0, #0x3 agi_plus = agi_plus + 3 r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --02010740: e350001e cmp r0, #0x1E if r0 < 0x1E then def_plus = def_plus + 1 end r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --02010758: e3500014 cmp r0, #0x14 if r0 < 0x14 then dex_plus = dex_plus + 1 end r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --02010770: e3500014 cmp r0, #0x14 if r0 < 0x14 then agi_plus = agi_plus + 1 end elseif r0 == 6 then --KAGOME 020105f0: ea000063 b #0x194 hp_plus, rng1, rng2 = FUN_02046160_RNG(0xD, rng1, rng2) --0201078c: e2800044 add r0, r0, #0x44 hp_plus = hp_plus + 0x44 atk_plus, rng1, rng2 = FUN_020461c0_RNG(5, rng1, rng2) --020107a4: e2800001 add r0, r0, #0x1 atk_plus = atk_plus + 1 def_plus, rng1, rng2 = FUN_020461c0_RNG(3, rng1, rng2) --020107b8: e2800002 add r0, r0, #0x2 def_plus = def_plus + 2 dex_plus = 3 agi_plus, rng1, rng2 = FUN_020461c0_RNG(3, rng1, rng2) --020107d0: e2800003 add r0, r0, #0x3 agi_plus = agi_plus + 3 r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --020107e4: e3500028 cmp r0, #0x28 if r0 < 0x28 then def_plus = def_plus - 1 end r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --020107fc: e3500028 cmp r0, #0x28 if r0 < 0x28 then dex_plus = 4 end r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --02010814: e350001e cmp r0, #0x1E if r0 < 0x1E then agi_plus = agi_plus - 1 end elseif r0 == 7 then --MIROKU 020105f4: ea00008b b #0x234 hp_plus, rng1, rng2 = FUN_02046160_RNG(0x13, rng1, rng2) --02010830: e2800060 add r0, r0, #0x60 hp_plus = hp_plus + 0x60 atk_plus = 3 def_plus = 3 dex_plus = 3 agi_plus = 3 r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --02010858: e3500028 cmp r0, #0x28 if r0 < 0x28 then atk_plus = 4 end r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --02010870: e350003c cmp r0, #0x3C if r0 < 0x3C then def_plus = 4 end r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --02010888: e3500032 cmp r0, #0x32 if r0 < 0x32 then dex_plus = 4 end r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --020108a0: e350001e cmp r0, #0x1E if r0 < 0x1E then agi_plus = 4 end elseif r0 == 8 then --SANGO 020105f8: ea0000ad b #0x2BC hp_plus, rng1, rng2 = FUN_02046160_RNG(0x11, rng1, rng2) --020108bc: e2800056 add r0, r0, #0x56 hp_plus = hp_plus + 0x56 atk_plus, rng1, rng2 = FUN_020461c0_RNG(3, rng1, rng2) --020108d4: e2800002 add r0, r0, #0x2 atk_plus = atk_plus + 2 def_plus, rng1, rng2 = FUN_020461c0_RNG(2, rng1, rng2) --020108e8: e2800002 add r0, r0, #0x2 def_plus = def_plus + 2 dex_plus, rng1, rng2 = FUN_020461c0_RNG(2, rng1, rng2) --020108fc: e2800003 add r0, r0, #0x3 dex_plus = dex_plus + 3 agi_plus, rng1, rng2 = FUN_020461c0_RNG(2, rng1, rng2) --02010910: e2800003 add r0, r0, #0x3 agi_plus = agi_plus + 3 r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --02010924: e350003c cmp r0, #0x3C if r0 < 0x3C then atk_plus = atk_plus + 1 end r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --0201093c: e3500032 cmp r0, #0x32 if r0 < 0x32 then def_plus = def_plus + 1 end r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --02010954: e350000a cmp r0, #0xA if r0 < 0xA then dex_plus = dex_plus + 1 end elseif r0 == 9 or r0 == 10 then --SHIPPO 02010600: ea0000d8 b #0x368 hp_plus, rng1, rng2 = FUN_02046160_RNG(0xA, rng1, rng2) --02010970: e2800036 add r0, r0, #0x36 hp_plus = hp_plus + 0x36 atk_plus, rng1, rng2 = FUN_020461c0_RNG(4, rng1, rng2) --02010988: e1a00800 mov r0, r0, lsl #16 def_plus, rng1, rng2 = FUN_020461c0_RNG(4, rng1, rng2) --02010998: e1a00800 mov r0, r0, lsl #16 dex_plus, rng1, rng2 = FUN_020461c0_RNG(2, rng1, rng2) --020109a8: e2800003 add r0, r0, #0x3 dex_plus = dex_plus + 3 agi_plus, rng1, rng2 = FUN_020461c0_RNG(4, rng1, rng2) --020109bc: e2800002 add r0, r0, #0x2 agi_plus = agi_plus + 2 r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --020109d0: e3500028 cmp r0, #0x28 if r0 < 0x28 then atk_plus = atk_plus + 1 end r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --020109e8: e350001e cmp r0, #0x1E if r0 < 0x1E then def_plus = def_plus + 1 end r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --02010a00: e3500014 cmp r0, #0x14 if r0 < 0x14 then dex_plus = dex_plus - 1 end r0, rng1, rng2 = FUN_020461c0_RNG(0x64, rng1, rng2) --02010a18: e350000a cmp r0, #0xA if r0 < 0xA then agi_plus = agi_plus + 1 end end --02010a28: e5d51074 ldrb r1, [r5, #+0x74] level = level + 1 --02010a38: e1d525f4 ldrsh r2, [r5, #+0x54] hp = hp + hp_plus --02010a6c: e5d50075 ldrb r0, [r5, #+0x75] atk = atk + atk_plus atk = atk > 255 and 255 or atk --02010a88: e5d50076 ldrb r0, [r5, #+0x76] def = def + def_plus def = def > 255 and 255 or def --02010aa4: e5d50077 ldrb r0, [r5, #+0x77] dex = dex + dex_plus dex = dex > 255 and 255 or dex --02010ac0: e5d50078 ldrb r0, [r5, #+0x78] agi = agi + agi_plus agi = agi > 255 and 255 or agi return rng1, rng2, level, hp, atk, def, dex, agi end
FUN_02046160_RNG returns a value from -r0 to r0-1 For instance, FUN_02046160_RNG(0x10, rng1, rng2) returns -16 to 15. FUN_020461c0_RNG returns a value from 0 to r0 For instance, FUN_020461c0_RNG(3, rng1, rng2) returns 0, 1, or 2. Given the above information, here's a table of min/max stats per level:
Name Level HP EP ATK DEF DEX AGI
Janis 1 64 / 95 0 2 / 5 2 / 5 2 / 5 2 / 4
Inuyasha 1 114 / 169 0 3 / 5 3 / 5 2 / 5 3 / 5
Kagome 1 55 / 80 0 1 / 5 1 / 4 3 / 4 2 / 5
Miroku 1 77 / 114 0 3 / 4 3 / 4 3 / 4 3 / 4
Sango 1 69 / 102 0 2 / 5 2 / 4 3 / 5 3 / 4
Shippo 1 44 / 63 0 0 / 4 0 / 4 2 / 4 2 / 6
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Can there please be a way to combine row/columns for tables on forums (and site)? This is a discord embed, so it will expire, but as an example:
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
While random encounters can be avoided by delaying movement, there are 29 mandatory fights that exist in the game. Bold means the fight is a boss battle. Otherwise it's a normal encounter you're forced to fight.
Fight Name Amount XP HP EP Level ATK DEF DEX AGI
1 Iron Dragon Spawn 1 42 480 3 12 47 42 42 38
2 Little Devil 1 7 160 3 4 24 15 20 13
3 Masuko 1 150 1250 3 15 64 55 53 51
4 Demon Soldier 4 13 220 4 6 33 28 32 32
Possessed Warrior 2 19 280 5 8 38 33 40 37
5 Demon Soldier 3 13 220 4 6 33 28 32 32
Possessed Warrior 4 19 280 5 8 38 33 40 37
6 Demon Soldier 3 13 220 4 6 33 28 32 32
7 Demon Soldier 4 13 220 4 6 33 28 32 32
Possessed Warrior 2 19 280 5 8 38 33 40 37
8 Usuba 1 180 1450 4 18 71 57 79 85
9 Poisonous Centipede 1 64 1160 4 31 89 88 61 74
10 Demon Puppet 1 210 2400 4 20 85 74 84 90
11 Demon of Misfortune 2 70 1230 4 19 83 70 74 64
12 Demon of Misfortune 3 70 1230 4 19 83 70 74 64
13 Demon of Misfortune 3 70 1230 4 19 83 70 74 64
Vile Demon 3 39 650 4 14 61 48 56 60
Sara 1 400 2550 5 25 101 85 105 111
14 Iorimaru 2 110 2300 6 37 140 118 125 124
Mitsurugi 1 600 4400 9 42 194 165 188 242
15 Haniwa Golem (Orange) 2 45 1820 3 35 133 136 121 123
Haniwa Golem (Pink) 1 45 1600 3 35 133 136 121 123
Sugagaki 1 600 4000 9 42 121 176 200 214
16 Ninestar Demon 1 108 2150 5 38 152 143 154 156
Iron-Souled Demon 2 111 2640 4 44 165 170 137 139
Shrouded Demon 1 108 2020 6 38 108 143 159 151
17 Iron-Souled Demon 2 111 2640 4 44 165 170 137 139
Shrouded Demon 2 108 2020 6 38 108 143 159 151
18 Iron-Souled Demon 1 111 2640 4 44 165 170 137 139
Gorai 1 800 7800 7 45 188 179 198 192
19 Ninestar Demon 2 108 2150 5 38 152 143 154 156
Iron-Souled Demon 3 111 2640 4 44 165 170 137 139
Shrouded Demon 1 108 2020 6 38 108 143 159 151
20 Ninestar Demon 2 108 2150 5 38 152 143 154 156
Iron-Souled Demon 3 111 2640 4 44 165 170 137 139
Shrouded Demon 1 108 2020 6 38 108 143 159 151
21 Slashing Demon 1 96 1800 4 29 112 101 87 84
22 Iron-Souled Demon 3 111 2640 4 44 165 170 137 139
23 Iron-Souled Demon 5 111 2640 4 44 165 170 137 139
24 One-Eyed Priest 2 128 3020 5 49 182 177 158 162
Burai 1 780 9999 5 50 203 202 170 165
25 Gorai 2 1 1000 9200 7 61 212 192 223 216
26 Demon Puppet 2 760 6750 3 51 193 182 186 175
27 Lost Soul 4 73 1600 2 50 180 113 193 171
Tosen King 2 143 3030 8 52 197 156 182 191
Monk Sen 1 0 8230 10 55 198 203 192 197
28 Haniwa Golem (Group) 2 200 7800 3 55 212 216 181 183
Wind God 2 155 2350 7 53 191 182 188 187
Mitsurugi 1 700 6600 9 58 223 182 234 255
Sugagaki 1 700 6600 9 58 153 200 212 211
29 Wind God 2 155 2350 7 53 191 182 188 187
Gorai 3 1 0 10000 7 61 215 195 225 220
Datara 1 1000 15800 10 99 255 255 255 255
From the above, there's a clear massive jump in difficulty from fight 13 with Sara, compared to fight 14 with Mitsurugi. I can easily beat Sara at level 20, but I have a hard time beating Mitsurugi until I'm around level 30. I can beat Monk Sen at level 30ish, but I only managed to beat Datara at level 45 (without healing). Level 45 is 17,244 XP, or assuming every fight gave everyone 50 xp, 344 fights.
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
The amulets are interesting. In a place called "Hosenki's Den", which is located northeast of Jinenji's Home, you can buy the game's only equipable items. They are:
ID Name Cost Description
1 Amulet TAKERU 2200 Can be equipped. Increases ATK by 5%.
3 Amulet MAMORI 2200 Can be equipped. Increases DEF by 5%.
7 Amulet SIZUKA 2800 Can be equipped. Decreases enemy encounters.
9 Amulet MATSURI 2800 Can be equipped. Increases enemy encounters.
By giving certain items, the addresses 239B9E, 239B9C, 239B9D (BizHawk "Main RAM") increment by 1. After a certain point, more items are unlocked:
ID Name Address
48 Glass Ball 239B9E 239B9C -
49 Adamant 239B9E 239B9C -
50 Ruby 239B9E 239B9C -
51 Jasper 239B9E 239B9C -
52 Amethyst 239B9E 239B9C -
53 Jade 239B9E 239B9C -
54 Grain of Gold 239B9E 239B9C -
55 Pearl 239B9E 239B9C -
56 Black Newt 239B9E - 239B9D
57 Demon Fang 239B9E - 239B9D
58 Demon Horn 239B9E - 239B9D
59 Tengu Feather 239B9E - 239B9D
60 Moth Powder 239B9E - 239B9D
61 Bear Claw 239B9E - 239B9D
62 Bear Liver 239B9E - 239B9D
63 Sansho Branch 239B9E - -
64 Holly Berry 239B9E - -
65 Purifying Leaf 239B9E - -
66 Purifying Seed 239B9E - -
15 20 30
You must give 15 of any item to Hosenki first, followed by 20 gems, followed by 30 Organs. These are the amulets:
ID Name Cost Unlock Description
1 Amulet TAKERU 2200 Default Can be equipped. Increases ATK by 5%.
2 Orb TAKERU 5000 30 organs Can be equipped. Increases ATK by 10%.
3 Amulet MAMORI 2200 Default Can be equipped. Increases DEF by 5%.
4 Orb MAMORI 5000 30 organs Can be equipped. Increases DEF by 10%.
5 Amulet KIYOME 3300 15 any craftables Can be equipped. Increases resistance to poison and paralysis.
6 Orb KIYOME 4500 20 gems Can be equipped. Increases resistance to poison, paralysis and blindness.
7 Amulet SIZUKA 2800 Default Can be equipped. Decreases enemy encounters.
8 Orb SIZUKA 3900 20 gems Can be equipped. Decreases enemy encounters.
9 Amulet MATSURI 2800 Default Can be equipped. Increases enemy encounters.
10 Orb MATSURI 3900 20 gems Can be equipped. Increases enemy encounters.
11 Amulet INORI 1900 15 any craftables Can be equipped. Turn in battle comes around faster.
12 Orb INORI 3200 30 organs Can be equipped. Turn in battle comes around faster.
13 Amulet NEGAI 2900 15 any craftables Can be equipped. Turn in battle comes around slower.
14 Orb NEGAI 4700 30 organs Can be equipped. Turn in battle comes around slower.
15 Amulet HOMURA 5300 20 gems Can be equipped. Increases EP by 2 on every turn, but decreases maximum HP by 20%.
16 Orb HOMURA ? ? Can be equipped. Increases EP by 2 on every turn, but decreases maximum HP by 10%.
17 Amulet SADAME ? ? Can be equipped. Adds Cover attribute. Protects allies from enemy attacks.
18 Orb SADAME ? ? Can be equipped. Adds Cover attribute. Increases maximum HP by 10%.
19 Amulet SHINOBI ? ? Can be equipped. Increases critical hit rate.
20 Orb SHINOBI ? ? Can be equipped. Increases critical hit rate.
21 Amulet TSUYOSHI ? ? Can be equipped. Adds Counter attribute. Counter attacks become possible when covering
22 Orb TSUYOSHI ? ? Can be equipped. Adds Counter attribute. Increases maximum EP by 1.
23 Amulet KANAME 6300 20 gems Can be equipped. Increases maximum EP by 2.
24 Orb KANAME ? ? Can be equipped. Increases maximum EP by 3.
25 Amulet MITAMA ? ? Can be equipped. Restores 4% of maximum HP on every turn.
26 Orb MITAMA ? ? Can be equipped. Restores 8% of maximum HP on every turn.
Unfortunately, I wasn't able to figure out how to unlock the remaining stock.
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
https://docs.google.com/spreadsheets/d/13ly3T8zQA1WYVDUFytGlAuNMhFBxtflyWnkJAUxzjRA/edit?usp=sharing Information I found for this game. There are 88 different npcs, 66 items, and 29 mandatory fights in this game. NPCS: Sprites are in hex so they could easily be pasted to hex editor for viewing.
Name Name ID Sprite ID Sprite Pallete XP HP EP Level ATK DEF DEX AGI
Iron Dragon Spawn 0 01 14 01 14 42 480 3 12 47 42 42 38
Fire Dragon Spawn 1 01 14 01 15 93 2030 5 33 137 135 112 105
Wandering Spirit 2 01 16 01 16 36 600 2 17 66 25 78 60
Lost Soul 3 01 16 01 18 73 1600 2 50 180 113 193 171
Banshee 4 01 1A 01 1A 52 920 6 21 69 62 68 73
Ten-Eyed Monster 5 01 1B 01 1B 9 200 3 5 28 26 18 22
Disembodied Soul 6 01 1B 01 1C 37 970 3 16 72 68 52 57
Cackling Skull 7 00 00 00 00 ? ? ? ? ? ? ? ?
Cursed Skull 8 00 00 00 00 ? ? ? ? ? ? ? ?
Little Devil 9 01 1D 01 1D 7 160 3 4 24 15 20 13
Vile Demon 10 01 1D 01 1E 39 650 4 14 61 48 56 60
Malicious Demon 11 01 1D 01 1F 51 870 5 18 78 62 69 73
Wild Hermit 12 01 20 01 20 31 450 4 12 53 49 46 48
Masked Priest 13 01 20 01 21 99 2000 6 39 130 140 120 125
Demon Handler 14 01 22 01 22 23 290 3 8 28 30 30 26
Revenant 15 01 22 01 24 55 980 5 21 58 71 69 78
Savage Rat 16 01 26 01 26 5 130 1 3 18 12 22 15
Filthy Rat 17 01 26 01 27 28 680 1 17 68 37 66 63
Giant Mantis 18 00 00 00 00 ? ? ? ? ? ? ? ?
Shadow Mantis 19 00 00 00 00 ? ? ? ? ? ? ? ?
Giant Spider 20 01 28 01 28 16 270 2 7 30 22 25 27
Hirasaka Spider 21 01 28 01 2A 33 560 2 16 57 44 45 63
Sandman 22 01 2C 01 2C 31 610 3 13 57 57 49 49
Sludge 23 01 2C 01 2E 8 220 3 6 26 20 19 18
Wild Bear 24 01 30 01 30 41 770 4 15 64 62 50 52
Bloody Bear 25 01 30 01 31 98 2100 5 38 138 125 113 117
Rock Monkey 26 01 32 01 32 24 335 4 11 41 44 50 49
Jizo Monkey 27 01 32 01 34 84 1320 4 31 99 98 115 116
Iorimaru 28 01 36 01 36 110 2300 6 37 140 118 125 124
Tosen King 29 01 38 01 38 143 3030 8 52 197 156 182 191
Senryo 30 01 3A 01 3A 77 750 4 14 55 54 57 62
Manryo 31 00 00 00 00 ? ? ? ? ? ? ? ?
Tengu 32 01 3E 01 3E 83 1510 7 30 107 104 106 102
Dark Tengu 33 01 3E 01 41 101 2200 7 40 152 144 139 143
Wandering Demon 34 01 44 01 44 74 1630 4 24 91 88 78 77
Iron-Souled Demon 35 01 44 01 47 111 2640 4 44 165 170 137 139
One-Eyed Priest 36 01 44 01 4A 128 3020 5 49 182 177 158 162
Antero Demon 37 01 4D 01 4D 85 1350 5 27 102 95 97 98
Ninestar Demon 38 01 4D 01 4E 108 2150 5 38 152 143 154 156
Postero Demon 39 01 4F 01 4F 85 1230 6 27 71 87 99 98
Shrouded Demon 40 01 4F 01 50 108 2020 6 38 108 143 159 151
Demon of Misfortune 41 01 51 01 51 70 1230 4 19 83 70 74 64
Slashing Demon 42 01 51 01 56 96 1800 4 29 112 101 87 84
Hades Demon 43 01 51 01 5B 140 3520 4 54 209 189 172 181
Saimyosho 44 01 60 01 60 20 400 3 10 37 26 45 44
Saimyosho 45 00 00 00 00 ? ? ? ? ? ? ? ?
Saimyosho 46 00 00 00 00 ? ? ? ? ? ? ? ?
Saimyosho 47 00 00 00 00 ? ? ? ? ? ? ? ?
Wind Spirit 48 01 67 01 67 125 1480 6 36 126 115 121 130
Wind God 49 01 67 01 68 155 2350 7 53 191 182 188 187
Ice Dragon Spawn 50 01 14 01 69 112 2585 4 47 169 167 159 151
Light Demon 51 01 4D 01 6A 123 2650 4 48 177 170 182 186
Dark Demon 52 01 4F 01 6B 123 2420 5 48 133 170 189 174
Akagane 53 01 6C 01 6C 350 2600 6 23 96 96 96 96
Akagane 2 54 01 6C 01 6C 0 32767 6 30 123 115 118 127
Akagane 3 55 01 6C 01 6C 430 3600 6 30 123 115 118 127
Burai 56 01 6F 01 6F 780 9999 5 50 203 202 170 165
Datara 57 01 70 01 70 1000 15800 10 99 255 255 255 255
Gorai 58 01 75 01 75 800 7800 7 45 188 179 198 192
Gorai 59 01 75 01 75 1000 9200 7 61 212 192 223 216
Gorai 3 60 01 75 01 75 0 10000 7 61 215 195 225 220
Haniwa Golem (Orange) 61 01 77 01 77 45 1820 3 35 133 136 121 123
Haniwa Golem (Pink) 62 01 78 01 78 45 1600 3 35 133 136 121 123
Haniwa Golem (Group) 63 01 7A 01 7A 200 7800 3 55 212 216 181 183
Demon Puppet 64 01 7C 01 7C 210 2400 4 20 85 74 84 90
Demon Puppet 65 01 7C 01 7C 760 6750 3 51 193 182 186 175
Masuko 66 01 7D 01 7D 150 1250 3 15 64 55 53 51
Mitsurugi 67 01 7E 01 7E 600 4400 9 42 194 165 188 242
Mitsurugi 2 68 01 7E 01 7E 700 6600 9 58 223 182 234 255
Sara 69 01 80 01 80 400 2550 5 25 101 85 105 111
Sara 2 70 01 80 01 80 920 10200 8 56 207 228 212 215
Monk Sen 71 01 82 01 82 0 8230 10 55 198 203 192 197
Sugagaki 72 01 84 01 84 600 4000 9 42 121 176 200 214
Sugagaki 2 73 01 84 01 84 700 6600 9 58 153 200 212 211
Usuba 74 01 87 01 87 180 1450 4 18 71 57 79 85
Crash 75 00 00 00 00 ? ? ? ? ? ? ? ?
Crash 241 00 00 00 00 ? ? ? ? ? ? ? ?
No name 242 00 00 00 00 ? ? ? ? ? ? ? ?
Zombie 243 00 FA 00 FA 16 270 3 7 33 24 25 22
Zombie (Large) 244 00 FB 00 FB 23 310 3 8 37 25 24 22
Possessed Warrior 245 00 FC 00 FC 19 280 5 8 38 33 40 37
Deceased Warrior 246 00 FC 00 FE 59 1140 4 23 96 80 88 89
Demon Soldier 247 01 00 01 00 13 220 4 6 33 28 32 32
Cave Insect 248 01 01 01 01 26 440 3 11 48 50 39 37
Rock Insect 249 01 01 01 03 25 410 3 10 46 48 33 36
Slimy Bug 250 01 01 01 05 73 1160 3 29 95 101 92 94
Giant Centipede 251 01 07 01 07 49 350 3 20 49 41 33 36
Poisonous Centipede 252 01 07 01 0A 64 1160 4 31 89 88 61 74
Steel Centipede 253 01 07 01 0D 89 1980 4 31 122 127 93 113
Poisonous Child 254 01 10 01 10 24 310 3 11 44 31 47 46
Messenger of Hades 255 01 10 01 12 76 1200 3 28 108 74 95 121
Items:
ID Name Cost Description
0
1 Amulet TAKERU 2200 Can be equipped. Increases ATK by 5%.
2 Orb TAKERU 5000 Can be equipped. Increases ATK by 10%.
3 Amulet MAMORI 2200 Can be equipped. Increases DEF by 5%.
4 Orb MAMORI 5000 Can be equipped. Increases DEF by 10%.
5 Amulet KIYOME 3300 Can be equipped. Increases resistance to poison and paralysis.
6 Orb KIYOME 4500 Can be equipped. Increases resistance to poison, paralysis and blindness.
7 Amulet SIZUKA 2800 Can be equipped. Decreases enemy encounters.
8 Orb SIZUKA 3900 Can be equipped. Decreases enemy encounters.
9 Amulet MATSURI 2800 Can be equipped. Increases enemy encounters.
10 Orb MATSURI 3900 Can be equipped. Increases enemy encounters.
11 Amulet INORI 1900 Can be equipped. Turn in battle comes around faster.
12 Orb INORI 3200 Can be equipped. Turn in battle comes around faster.
13 Amulet NEGAI 2900 Can be equipped. Turn in battle comes around slower.
14 Orb NEGAI 4700 Can be equipped. Turn in battle comes around slower.
15 Amulet HOMURA 5300 Can be equipped. Increases EP by 2 on every turn, but decreases maximum HP by 20%.
16 Orb HOMURA Can be equipped. Increases EP by 2 on every turn, but decreases maximum HP by 10%.
17 Amulet SADAME Can be equipped. Adds Cover attribute. Protects allies from enemy attacks.
18 Orb SADAME Can be equipped. Adds Cover attribute. Increases maximum HP by 10%.
19 Amulet SHINOBI Can be equipped. Increases critical hit rate.
20 Orb SHINOBI Can be equipped. Increases critical hit rate.
21 Amulet TSUYOSHI Can be equipped. Adds Counter attribute. Counter attacks become possible when covering
22 Orb TSUYOSHI Can be equipped. Adds Counter attribute. Increases maximum EP by 1.
23 Amulet KANAME 6300 Can be equipped. Increases maximum EP by 2.
24 Orb KANAME Can be equipped. Increases maximum EP by 3.
25 Amulet MITAMA Can be equipped. Restores 4% of maximum HP on every turn.
26 Orb MITAMA Can be equipped. Restores 8% of maximum HP on every turn.
27 Herb 60 Restores 300 HP.
28 Remedy 380 Restores 1000 HP.
29 High Remedy 1080 Restores 2500 HP.
30 Ointment 180 Increases ATK by 30% during one battle.
31 Fresh Herb 80 Cures poison.
32 Serene Universe 170 Cures paralysis.
33 Power Source 200 Cures fatigue.
34 Eye Powder 100 Cures blindness.
35 Lion Remedy 18000 Increases ATK by 1.
36 Dragon Remedy 18000 Increases DEF by 1.
37 Kylin Remedy 18000 Increases AGI by 1.
38 Tengu Remedy 18000 Increases DEX by 1.
39 Phoenix Remedy 18000 Increases maximum HP by 5%.
40 Feather Herb 500 Prevents enemy encounters for a while. Allows the whole party to escape from battle.
41 Moon Herb 2100 Restores HP of all allies by 30%.
42 Imperial Herb 1700 Fully restores HP.
43 Instant Noodles Restores HP by 60%.
44 Potato Chips Restores HP by 40%.
45 Energy Drink Fully restores EP.
46 Maruhide Bun 30 Restores HP by 20%.
47 Permit 1260 Needed to pass the checkpoint.
48 Glass Ball Transparent glass. Considered of high value in feudal Japan. Used for creating amulets and orbs.
49 Adamant 1800 The hardest and most beautiful gem. Used for creating amulets and orbs.
50 Ruby A crimson gem. Used for creating amulets and orbs.
51 Jasper A gem used for decoration since the ancient times. Used for creating amulets and orbs.
52 Amethyst A light purple quartz. Used for creating amulets and orbs.
53 Jade A green gem. Used for creating amulets and orbs.
54 Grain of Gold 1400 A grain of gold dust. Used for creating amulets and orbs.
55 Pearl 680 A silvery gem produced inside of seashells. Used for creating amulets and orbs.
56 Black Newt 320 A roasted newt. Used for creating amulets and orbs.
57 Demon Fang A sharp fang. Authenticity is questionable. Used for creating amulets and orbs.
58 Demon Horn A short, thick, horn. Authenticity is questionable. Used for creating amulets and orbs.
59 Tengu Feather 390 A long white feather. Authenticity is questionable. Used for creating amulets and orbs.
60 Moth Powder 210 Powder from a large poisonous moth. Used for creating amulets and orbs.
61 Bear Claw 260 Extremely sharp. Used for creating amulets and orbs.
62 Bear Liver 520 Can also be used to make medicine for all kinds of diseases. Used for creating amulets and orbs.
63 Sansho Branch 16 A fragrant young branch oc sansho. Purifies evil. Used for creating amulets and orbs.
64 Holly Berry A berry from a holly tree that chases away demons. Used for creating amulets and orbs.
65 Purifying Leaf 140 A sakaki leaf. A crucial plant placed as an offering on altars. Used for creating amulets and orbs.
66 Purifying Seed An azuki bean. Red seeds are believed to purify evil. Used for creating amulets and orbs.
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
I find it quite amazing this run somehow manages to both use the exact same glitch as the previous one (select bug) and ACE, but "only" manages to be 4 seconds faster. I'm also incredibly impressed with payload being the starter pokemon, the catch rate, and the move growl. I'm probably wrong, but that sounds so restrictive in terms of ACE payload lol. I'm making this post here so if anyone else wonders, they hopefully can find it too, but how many different ACE triggers are there in gen 1? I assume save bug as 1 category, but now there's 3 runs of non save-ACE. Are there any more routes? Also I think this is the 1st time in a glitched Pokemon TAS where the save goes to completion, rather than as soon as the A button is pressed I've seen. Nice.
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Based on the trace logs and Ghidra, I made a prediction script for Wind Scar. Download Wind Scar Damage.lua
Language: lua

--[[ 02008d04: e3a0100f mov r1, #0xF r0:432f0000 r1:00000094 r2:020c6468 r3:00000250 r4:0000000f r5:000000af r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008cf8 PC:02008d0c Cy:39999750071 ARM9 Get inuyashas level 02008d08: e7d22003 ldrb r2, [r2, r3, lsl #0] r0:432f0000 r1:0000000f r2:020c6468 r3:00000250 r4:0000000f r5:000000af r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008cf8 PC:02008d10 Cy:39999750071 ARM9 02008d0c: e1a05000 mov r5, r0, lsl #0 r0:432f0000 r1:0000000f r2:0000005a r3:00000250 r4:0000000f r5:000000af r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008cf8 PC:02008d14 Cy:39999750073 ARM9 02008d10: e0000192 mul r0, r2, r1 r0:432f0000 r1:0000000f r2:0000005a r3:00000250 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008cf8 PC:02008d18 Cy:39999750073 ARM9 02008d14: e2800055 add r0, r0, #0x55 r0:00000546 r1:0000000f r2:0000005a r3:00000250 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008cf8 PC:02008d1c Cy:39999750074 ARM9 02008d18: eb017fd1 bl #0x5FF4C r0:0000059b r1:0000000f r2:0000005a r3:00000250 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008cf8 PC:02008d20 Cy:39999750075 ARM9 r0 = 0xF x inuyashas level + 0x55 02068c64: e2102102 ands r2, r0, #0x80000000 r0:0000059b r1:0000000f r2:0000005a r3:00000250 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d1c PC:02068c6c Cy:39999750077 ARM9 02068c68: 42600000 rsbmi r0, r0, #0x0 r0:0000059b r1:0000000f r2:00000000 r3:00000250 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d1c PC:02068c70 Cy:39999750077 ARM9 02068c6c: e3500000 cmp r0, #0x0 r0:0000059b r1:0000000f r2:00000000 r3:00000250 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d1c PC:02068c74 Cy:39999750078 ARM9 02068c70: 012fff1e bxeq lr r0:0000059b r1:0000000f r2:00000000 r3:00000250 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d1c PC:02068c78 Cy:39999750078 ARM9 02068c74: e16f3f10 clz r3, r0 r0:0000059b r1:0000000f r2:00000000 r3:00000250 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d1c PC:02068c7c Cy:39999750079 ARM9 02068c78: e1b00310 movs r0, r0, lsl r3 r0:0000059b r1:0000000f r2:00000000 r3:00000015 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d1c PC:02068c80 Cy:39999750079 ARM9 02068c7c: e263309e rsb r3, r3, #0x9E r0:b3600000 r1:0000000f r2:00000000 r3:00000015 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d1c PC:02068c84 Cy:39999750081 ARM9 02068c80: e21010ff ands r1, r0, #0xFF r0:b3600000 r1:0000000f r2:00000000 r3:00000089 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d1c PC:02068c88 Cy:39999750082 ARM9 02068c84: e0800000 add r0, r0, r0, lsl #0 r0:b3600000 r1:00000000 r2:00000000 r3:00000089 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d1c PC:02068c8c Cy:39999750082 ARM9 02068c88: e18204a0 orr r0, r2, r0, lsr #9 r0:66c00000 r1:00000000 r2:00000000 r3:00000089 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d1c PC:02068c90 Cy:39999750083 ARM9 02068c8c: e1800b83 orr r0, r0, r3, lsl #23 r0:00336000 r1:00000000 r2:00000000 r3:00000089 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d1c PC:02068c94 Cy:39999750083 ARM9 02068c90: 012fff1e bxeq lr r0:44b36000 r1:00000000 r2:00000000 r3:00000089 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d1c PC:02068c98 Cy:39999750084 ARM9 ]]-- function Count_Leading_Zeroes(num) --given a number, count the amount of 0s to the left of it in terms of binary local shifts = 0 while num ~= 0 do num = num >> 1 shifts = shifts + 1 end return 32 - shifts end function MLA(A,B,C) --http://tasvideos.org/forum/viewtopic.php?p=489512#489512 local reslow = A * (B%0x10000) -- A multiplied with lower 16 bits of B local reshigh = A * (math.floor(B/0x10000)%0x10000) -- A multiplied with higher 16 bits of B (shifted down) reshigh = reshigh%0x10000 -- only 16 bits can matter here if result is 32 bits return (reshigh*0x10000 + reslow + C)%0x100000000 -- recombine and cut off to 32 bits end function MUL64(A,B) --http://tasvideos.org/forum/viewtopic.php?p=489523#489523 local reslow = A * (B%0x10000) -- 0x0000LLLLLLLLLLLL local reshigh = A * math.floor(B/0x10000) -- 0xHHHHHHHHHHHH0000 local reslow_lo = reslow%0x100000000 -- 0x00000000LLLLLLLL local reslow_hi = math.floor(reslow/0x100000000) -- 0x0000LLLL00000000 local reshigh_lo = reshigh%0x10000 -- 0x00000000HHHH0000 local reshigh_hi = math.floor(reshigh/0x10000) -- 0xHHHHHHHH00000000 local low32 = reshigh_lo*0x10000 + reslow_lo local high32 = reshigh_hi + reslow_hi high32 = high32 + math.floor(low32/0x100000000) -- add what carries over low32 = low32%0x100000000 -- 32 bit high32 = high32%0x100000000 -- 32 bit return low32,high32 end function rng(r0, rng1, rng2) --020461c4: e59f1050 ldr r1, [pc, #+0x50] local r1 = 0 local r2, r3 = 0,0 local r4, lr, carry = 0,0,0 local rng1_2, rng2_2 = 0, 0 r4, lr = MUL64(0x6C078965, rng1) lr = MLA(0x6C078965, rng2, lr) lr = MLA(0x5D588B65, rng1, lr) r3 = 0x00269EC3 + r4 carry = r3 > 4294967295 and 1 or 0 rng1_2 = r3 % 4294967296 --107b98 r4 = lr + carry rng2_2 = r4 --107b9c if (r0 ~= 0) then r4 = (r4 * r0) >> 0x20 end r0 = r4 return r0, rng1_2, rng2_2 end function FUN_02068c64_Skill(r0) --02068c90: 012fff1e bxeq lr always branches for skills local r2 = r0 & 0x80000000 --why lol if r2 < 0 then r0 = -1* r0 end if r0 == 0 then return 0 end local r3 = Count_Leading_Zeroes(r0) r0 = r0 << r3 r3 = 0x9E - r3 --local r1 = r0 & 0xFF r0 = (r0 + r0) & 0xFFFFFFFF --make sure it doesnt set bit 32 in lua r0 = r0 >> 9 --r2 is 0, so you can pretend it doesnt exist r0 = r0 | (r3 << 23) return r0 end console.clear() -- local value = 0x87 -- console.log(bizstring.hex(FUN_02068c64_Skill(value))) -- console.log(bizstring.hex((FUN_02068c64_Skill(value) >> 23) & 0xFF)) local Attack = { --value for FUN_02068c64 [1] = {Name = "Attack", EP = 1, Value = 0x00}, [2] = {Name = "Charge", EP = 2, Value = 0}, [3] = {Name = "Shoot", EP = 1, Value = 0}, [4] = {Name = "Defense", EP = 0, Value = 0}, [6] = {Name = "?", EP = 0, Value = 0}, [7] = {Name = "?", EP = 0, Value = 0}, [8] = {Name = "?", EP = 0, Value = 0}, [9] = {Name = "?", EP = 0, Value = 0}, [10] = {Name = "Spirit Up", EP = 0, Value = 0}, [11] = {Name = "Item", EP = 0, Value = 0}, [12] = {Name = "?", EP = 0, Value = 0}, [13] = {Name = "Lightning Arrow", EP = 2, Value = 0x7B}, [14] = {Name = "Infernal Meteor", EP = 3, Value = 0x64}, [15] = {Name = "Heavenly Essence",EP = 3, Value = 0}, --heals [16] = {Name = "Power Leaf", EP = 2, Value = 0}, --boost attack for 3 turns [17] = {Name = "Iron Reaver", EP = 2, Value = 0x5F}, [18] = {Name = "Blades Of Blood", EP = 3, Value = 0x5A}, [19] = {"Wind Scar", EP = 4, Value = 0xAF}, [20] = {Name = "Backlash Wave", EP = 5, Value = 0xBE}, [21] = {Name = "Sacred Arrow", EP = 3, Value = 0x87}, [22] = {Name = "Purifying Light", EP = 3, Value = 0}, --Heals status [23] = {Name = "Divine Barrier", EP = 3, Value = 0}, [24] = {Name = "Wind Tunnel", EP = 5, Value = 0}, [25] = {Name = "Healing Sutra", EP = 3, Value = 0}, [26] = {Name = "Sealing Barrier", EP = 4, Value = 0}, [27] = {Name = "Binding Sutra", EP = 3, Value = 0}, [28] = {Name = "Fury Of Taishaku", EP = 3, Value = 0x6E}, [29] = {Name = "Hiraikotsu", EP = 3, Value = 0x82}, [30] = {Name = "Great Cannon", EP = 3, Value = 0x5A}, [31] = {Name = "Fox Fire", EP = 1, Value = 0x41}, [32] = {Name = "Smashing Top", EP = 2, Value = 0x50}, [33] = {Name = "Smoke Illusion", EP = 2, Value = 0} } --[[ 02068cac: e0202001 eor r2, r0, r1, lsl #0 r0:432f0000 r1:44b36000 r2:00000000 r3:00000089 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d28 PC:02068cb4 Cy:39999750090 ARM9 02068cb0: e2022102 and r2, r2, #0x80000000 r0:432f0000 r1:44b36000 r2:079c6000 r3:00000089 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d28 PC:02068cb8 Cy:39999750090 ARM9 02068cb4: e3a0c0ff mov r12, #0xFF r0:432f0000 r1:44b36000 r2:00000000 r3:00000089 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00269ec3 SP:027e3748 LR:02008d28 PC:02068cbc Cy:39999750091 ARM9 02068cb8: e01c3ba0 ands r3, r12, r0, lsr #23 r0:432f0000 r1:44b36000 r2:00000000 r3:00000089 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:000000ff SP:027e3748 LR:02008d28 PC:02068cc0 Cy:39999750091 ARM9 02068cbc: e1a00400 mov r0, r0, lsl #8 r0:432f0000 r1:44b36000 r2:00000000 r3:00000086 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:000000ff SP:027e3748 LR:02008d28 PC:02068cc4 Cy:39999750093 ARM9 02068cc0: 135300ff cmpne r3, #0xFF r0:2f000000 r1:44b36000 r2:00000000 r3:00000086 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:000000ff SP:027e3748 LR:02008d28 PC:02068cc8 Cy:39999750093 ARM9 02068cc4: 0a000017 beq #0x64 r0:2f000000 r1:44b36000 r2:00000000 r3:00000086 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:000000ff SP:027e3748 LR:02008d28 PC:02068ccc Cy:39999750094 ARM9 02068cc8: e3800102 orr r0, r0, #0x80000000 r0:2f000000 r1:44b36000 r2:00000000 r3:00000086 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:000000ff SP:027e3748 LR:02008d28 PC:02068cd0 Cy:39999750094 ARM9 02068ccc: e01ccba1 ands r12, r12, r1, lsr #23 r0:af000000 r1:44b36000 r2:00000000 r3:00000086 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:000000ff SP:027e3748 LR:02008d28 PC:02068cd4 Cy:39999750095 ARM9 02068cd0: e1a01401 mov r1, r1, lsl #8 r0:af000000 r1:44b36000 r2:00000000 r3:00000086 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d28 PC:02068cd8 Cy:39999750095 ARM9 02068cd4: 135c00ff cmpne r12, #0xFF r0:af000000 r1:b3600000 r2:00000000 r3:00000086 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d28 PC:02068cdc Cy:39999750096 ARM9 02068cd8: 0a000022 beq #0x90 r0:af000000 r1:b3600000 r2:00000000 r3:00000086 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d28 PC:02068ce0 Cy:39999750096 ARM9 02068cdc: e3811102 orr r1, r1, #0x80000000 r0:af000000 r1:b3600000 r2:00000000 r3:00000086 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d28 PC:02068ce4 Cy:39999750098 ARM9 02068ce0: e083c00c add r12, r3, r12, lsl #0 r0:af000000 r1:b3600000 r2:00000000 r3:00000086 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d28 PC:02068ce8 Cy:39999750098 ARM9 02068ce4: e0831190 umull r1, r3, r0, r1 r0:af000000 r1:b3600000 r2:00000000 r3:00000086 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000010f SP:027e3748 LR:02008d28 PC:02068cec Cy:39999750099 ARM9 02068ce8: e1b00003 movs r0, r3, lsl #0 r0:af000000 r1:00000000 r2:00000000 r3:7a9ea000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000010f SP:027e3748 LR:02008d28 PC:02068cf0 Cy:39999750100 ARM9 02068cec: 50800000 addpl r0, r0, r0, lsl #0 r0:7a9ea000 r1:00000000 r2:00000000 r3:7a9ea000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000010f SP:027e3748 LR:02008d28 PC:02068cf4 Cy:39999750100 ARM9 02068cf0: 524cc001 subpl r12, r12, #0x1 r0:f53d4000 r1:00000000 r2:00000000 r3:7a9ea000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000010f SP:027e3748 LR:02008d28 PC:02068cf8 Cy:39999750101 ARM9 02068cf4: e25cc07f subs r12, r12, #0x7F r0:f53d4000 r1:00000000 r2:00000000 r3:7a9ea000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000010e SP:027e3748 LR:02008d28 PC:02068cfc Cy:39999750101 ARM9 02068cf8: 4a00003d bmi #0xFC r0:f53d4000 r1:00000000 r2:00000000 r3:7a9ea000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000008f SP:027e3748 LR:02008d28 PC:02068d00 Cy:39999750102 ARM9 02068cfc: e35c00fe cmp r12, #0xFE r0:f53d4000 r1:00000000 r2:00000000 r3:7a9ea000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000008f SP:027e3748 LR:02008d28 PC:02068d04 Cy:39999750103 ARM9 02068d00: aa000056 bge #0x160 r0:f53d4000 r1:00000000 r2:00000000 r3:7a9ea000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000008f SP:027e3748 LR:02008d28 PC:02068d08 Cy:39999750104 ARM9 02068d04: e21030ff ands r3, r0, #0xFF r0:f53d4000 r1:00000000 r2:00000000 r3:7a9ea000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000008f SP:027e3748 LR:02008d28 PC:02068d0c Cy:39999750104 ARM9 02068d08: e1820420 orr r0, r2, r0, lsr #8 r0:f53d4000 r1:00000000 r2:00000000 r3:00000000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000008f SP:027e3748 LR:02008d28 PC:02068d10 Cy:39999750105 ARM9 02068d0c: e0800b8c add r0, r0, r12, lsl #23 r0:00f53d40 r1:00000000 r2:00000000 r3:00000000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000008f SP:027e3748 LR:02008d28 PC:02068d14 Cy:39999750105 ARM9 02068d10: e3130080 tst r3, #0x80 r0:48753d40 r1:00000000 r2:00000000 r3:00000000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000008f SP:027e3748 LR:02008d28 PC:02068d18 Cy:39999750106 ARM9 02068d14: 012fff1e bxeq lr r0:48753d40 r1:00000000 r2:00000000 r3:00000000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000008f SP:027e3748 LR:02008d28 PC:02068d1c Cy:39999750106 ARM9 02068cac: e0202001 eor r2, r0, r1, lsl #0 r0:451cf400 r1:3f666666 r2:01680000 r3:00e66666 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000006 SP:027e3748 LR:02008d50 PC:02068cb4 Cy:39999750301 ARM9 02068cb0: e2022102 and r2, r2, #0x80000000 r0:451cf400 r1:3f666666 r2:7a7a9266 r3:00e66666 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000006 SP:027e3748 LR:02008d50 PC:02068cb8 Cy:39999750301 ARM9 02068cb4: e3a0c0ff mov r12, #0xFF r0:451cf400 r1:3f666666 r2:00000000 r3:00e66666 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000006 SP:027e3748 LR:02008d50 PC:02068cbc Cy:39999750302 ARM9 02068cb8: e01c3ba0 ands r3, r12, r0, lsr #23 r0:451cf400 r1:3f666666 r2:00000000 r3:00e66666 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:000000ff SP:027e3748 LR:02008d50 PC:02068cc0 Cy:39999750302 ARM9 02068cbc: e1a00400 mov r0, r0, lsl #8 r0:451cf400 r1:3f666666 r2:00000000 r3:0000008a r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:000000ff SP:027e3748 LR:02008d50 PC:02068cc4 Cy:39999750304 ARM9 02068cc0: 135300ff cmpne r3, #0xFF r0:1cf40000 r1:3f666666 r2:00000000 r3:0000008a r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:000000ff SP:027e3748 LR:02008d50 PC:02068cc8 Cy:39999750304 ARM9 02068cc4: 0a000017 beq #0x64 r0:1cf40000 r1:3f666666 r2:00000000 r3:0000008a r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:000000ff SP:027e3748 LR:02008d50 PC:02068ccc Cy:39999750305 ARM9 02068cc8: e3800102 orr r0, r0, #0x80000000 r0:1cf40000 r1:3f666666 r2:00000000 r3:0000008a r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:000000ff SP:027e3748 LR:02008d50 PC:02068cd0 Cy:39999750305 ARM9 02068ccc: e01ccba1 ands r12, r12, r1, lsr #23 r0:9cf40000 r1:3f666666 r2:00000000 r3:0000008a r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:000000ff SP:027e3748 LR:02008d50 PC:02068cd4 Cy:39999750306 ARM9 02068cd0: e1a01401 mov r1, r1, lsl #8 r0:9cf40000 r1:3f666666 r2:00000000 r3:0000008a r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:0000007e SP:027e3748 LR:02008d50 PC:02068cd8 Cy:39999750306 ARM9 02068cd4: 135c00ff cmpne r12, #0xFF r0:9cf40000 r1:66666600 r2:00000000 r3:0000008a r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:0000007e SP:027e3748 LR:02008d50 PC:02068cdc Cy:39999750307 ARM9 02068cd8: 0a000022 beq #0x90 r0:9cf40000 r1:66666600 r2:00000000 r3:0000008a r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:0000007e SP:027e3748 LR:02008d50 PC:02068ce0 Cy:39999750307 ARM9 02068cdc: e3811102 orr r1, r1, #0x80000000 r0:9cf40000 r1:66666600 r2:00000000 r3:0000008a r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:0000007e SP:027e3748 LR:02008d50 PC:02068ce4 Cy:39999750309 ARM9 02068ce0: e083c00c add r12, r3, r12, lsl #0 r0:9cf40000 r1:e6666600 r2:00000000 r3:0000008a r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:0000007e SP:027e3748 LR:02008d50 PC:02068ce8 Cy:39999750309 ARM9 02068ce4: e0831190 umull r1, r3, r0, r1 r0:9cf40000 r1:e6666600 r2:00000000 r3:0000008a r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000108 SP:027e3748 LR:02008d50 PC:02068cec Cy:39999750310 ARM9 02068ce8: e1b00003 movs r0, r3, lsl #0 r0:9cf40000 r1:38000000 r2:00000000 r3:8d41ffc1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000108 SP:027e3748 LR:02008d50 PC:02068cf0 Cy:39999750311 ARM9 02068cec: 50800000 addpl r0, r0, r0, lsl #0 r0:8d41ffc1 r1:38000000 r2:00000000 r3:8d41ffc1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000108 SP:027e3748 LR:02008d50 PC:02068cf4 Cy:39999750311 ARM9 02068cf0: 524cc001 subpl r12, r12, #0x1 r0:8d41ffc1 r1:38000000 r2:00000000 r3:8d41ffc1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000108 SP:027e3748 LR:02008d50 PC:02068cf8 Cy:39999750312 ARM9 02068cf4: e25cc07f subs r12, r12, #0x7F r0:8d41ffc1 r1:38000000 r2:00000000 r3:8d41ffc1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000108 SP:027e3748 LR:02008d50 PC:02068cfc Cy:39999750312 ARM9 02068cf8: 4a00003d bmi #0xFC r0:8d41ffc1 r1:38000000 r2:00000000 r3:8d41ffc1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d50 PC:02068d00 Cy:39999750313 ARM9 02068cfc: e35c00fe cmp r12, #0xFE r0:8d41ffc1 r1:38000000 r2:00000000 r3:8d41ffc1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d50 PC:02068d04 Cy:39999750314 ARM9 02068d00: aa000056 bge #0x160 r0:8d41ffc1 r1:38000000 r2:00000000 r3:8d41ffc1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d50 PC:02068d08 Cy:39999750315 ARM9 02068d04: e21030ff ands r3, r0, #0xFF r0:8d41ffc1 r1:38000000 r2:00000000 r3:8d41ffc1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d50 PC:02068d0c Cy:39999750315 ARM9 02068d08: e1820420 orr r0, r2, r0, lsr #8 r0:8d41ffc1 r1:38000000 r2:00000000 r3:000000c1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d50 PC:02068d10 Cy:39999750316 ARM9 02068d0c: e0800b8c add r0, r0, r12, lsl #23 r0:008d41ff r1:38000000 r2:00000000 r3:000000c1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d50 PC:02068d14 Cy:39999750316 ARM9 02068d10: e3130080 tst r3, #0x80 r0:450d41ff r1:38000000 r2:00000000 r3:000000c1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d50 PC:02068d18 Cy:39999750317 ARM9 02068d14: 012fff1e bxeq lr r0:450d41ff r1:38000000 r2:00000000 r3:000000c1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d50 PC:02068d1c Cy:39999750317 ARM9 02068d18: e1911c83 orrs r1, r1, r3, lsl #25 r0:450d41ff r1:38000000 r2:00000000 r3:000000c1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d50 PC:02068d20 Cy:39999750318 ARM9 02068d1c: 02103001 andseq r3, r0, #0x1 r0:450d41ff r1:ba000000 r2:00000000 r3:000000c1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d50 PC:02068d24 Cy:39999750319 ARM9 02068d20: 12800001 addne r0, r0, #0x1 r0:450d41ff r1:ba000000 r2:00000000 r3:000000c1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d50 PC:02068d28 Cy:39999750320 ARM9 02068d24: e12fff1e bx lr r0:450d4200 r1:ba000000 r2:00000000 r3:000000c1 r4:00000000 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4044bebb r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d50 PC:02068d2c Cy:39999750320 ARM9 ]]-- function FUN_02068cac_Skill(r0, r1) --r0 is from AF --r1 is from inuyashas level formula local r2 = (r0 ~ r1) & 0x80000000 local r12 = 0xFF local r3 = (r0 >> 23) & r12 r0 = (r0 << 8) & 0xFFFFFFFF --make sure it remains 32 bit -- r0 is related to those hard coded values for skills. checking every case, it appears this branch never gets taken -- if r3 == 0 or r3 == 0xFF then -- end r0 = r0 | 0x80000000 r12 = (r1 >> 23) & r12 r1 = (r1 << 8) & 0xFFFFFFFF --make sure it remains 32 bit -- r1 is related to player level. checking every case, it appears this branch never gets taken -- if r12 == 0 or r12 == 0xFF then -- end r1 = r1 | 0x80000000 r12 = r3 + r12 --02068ce4: e0831190 umull r1, r3, r0, r1 r1, r3 = MUL64(r0, r1) r0 = r3 if bit.check(r0, 31) == false then --check if sign bit set r0 = (r0 + r0) & 0xFFFFFFFF --make sure it remains 32 bit r12 = r12 - 1 -- else --debug -- console.log("FUN_02068cac_Skill") -- console.log(string.format("r0: 0x%08X r1: 0x%08X",r0, r1)) end r12 = r12 - 0x7F -- if r12 < 0 then -- end if r12 >= 0xFE then r0 = r2 | 0x7F800000 return r0 end r3 = r0 & 0xFF r0 = r2 | (r0 >> 8) r0 = (r0 + (r12 << 23)) & 0xFFFFFFFF --make sure it remains 32 bit if (r3 & 0x80) == 0 then return r0 else r1 = r1 | (r3 << 0x19) r3 = r0 & 0x1 r0 = r0 + 0x1 return r0 end end --[[ 020687ac: e92d4000 stmdb sp!, {lr} r0:48753d40 r1:42c80000 r2:00000000 r3:00000000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000008f SP:027e3748 LR:02008d30 PC:020687b4 Cy:39999750112 ARM9 020687b0: e3a0c0ff mov r12, #0xFF r0:48753d40 r1:42c80000 r2:00000000 r3:00000000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000008f SP:027e3744 LR:02008d30 PC:020687b8 Cy:39999750112 ARM9 020687b4: e01c3ba0 ands r3, r12, r0, lsr #23 r0:48753d40 r1:42c80000 r2:00000000 r3:00000000 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:000000ff SP:027e3744 LR:02008d30 PC:020687bc Cy:39999750113 ARM9 020687b8: 135300ff cmpne r3, #0xFF r0:48753d40 r1:42c80000 r2:00000000 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:000000ff SP:027e3744 LR:02008d30 PC:020687c0 Cy:39999750113 ARM9 020687bc: 0a00006f beq #0x1C4 r0:48753d40 r1:42c80000 r2:00000000 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:000000ff SP:027e3744 LR:02008d30 PC:020687c4 Cy:39999750115 ARM9 020687c0: e01ccba1 ands r12, r12, r1, lsr #23 r0:48753d40 r1:42c80000 r2:00000000 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:000000ff SP:027e3744 LR:02008d30 PC:020687c8 Cy:39999750115 ARM9 020687c4: 135c00ff cmpne r12, #0xFF r0:48753d40 r1:42c80000 r2:00000000 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:02008d30 PC:020687cc Cy:39999750116 ARM9 020687c8: 0a00007b beq #0x1F4 r0:48753d40 r1:42c80000 r2:00000000 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:02008d30 PC:020687d0 Cy:39999750116 ARM9 020687cc: e3811502 orr r1, r1, #0x800000 r0:48753d40 r1:42c80000 r2:00000000 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:02008d30 PC:020687d4 Cy:39999750117 ARM9 020687d0: e3800502 orr r0, r0, #0x800000 r0:48753d40 r1:42c80000 r2:00000000 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:02008d30 PC:020687d8 Cy:39999750117 ARM9 020687d4: e3c024ff bic r2, r0, #0xFF000000 r0:48f53d40 r1:42c80000 r2:00000000 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:02008d30 PC:020687dc Cy:39999750118 ARM9 020687d8: e3c1e4ff bic lr, r1, #0xFF000000 r0:48f53d40 r1:42c80000 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:02008d30 PC:020687e0 Cy:39999750118 ARM9 020687dc: e152000e cmp r2, lr, lsl #0 r0:48f53d40 r1:42c80000 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:00c80000 PC:020687e4 Cy:39999750120 ARM9 020687e0: 31a02082 movcc r2, r2, lsl #1 r0:48f53d40 r1:42c80000 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:00c80000 PC:020687e8 Cy:39999750120 ARM9 020687e4: 32433001 subcc r3, r3, #0x1 r0:48f53d40 r1:42c80000 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:00c80000 PC:020687ec Cy:39999750121 ARM9 020687e8: e1300001 teq r0, r1, lsl #0 r0:48f53d40 r1:42c80000 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:00c80000 PC:020687f0 Cy:39999750121 ARM9 020687ec: e24f0094 sub r0, pc, #0x94 r0:48f53d40 r1:42c80000 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:00c80000 PC:020687f4 Cy:39999750122 ARM9 020687f0: e7d017ae ldrb r1, [r0, lr, lsr #15] r0:02068760 r1:42c80000 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:00c80000 PC:020687f8 Cy:39999750122 ARM9 020687f4: e26ee000 rsb lr, lr, #0x0 r0:02068760 r1:000000a4 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:00c80000 PC:020687fc Cy:39999750124 ARM9 020687f8: e1a000ce mov r0, lr, asr #1 r0:02068760 r1:000000a4 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:02068800 Cy:39999750124 ARM9 020687fc: e0000091 mul r0, r1, r0 r0:ff9c0000 r1:000000a4 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:02068804 Cy:39999750126 ARM9 02068800: e2800102 add r0, r0, #0x80000000 r0:bff00000 r1:000000a4 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:02068808 Cy:39999750127 ARM9 02068804: e1a00320 mov r0, r0, lsr #6 r0:3ff00000 r1:000000a4 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:0206880c Cy:39999750127 ARM9 02068808: e0000091 mul r0, r1, r0 r0:00ffc000 r1:000000a4 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:02068810 Cy:39999750128 ARM9 0206880c: e1a00720 mov r0, r0, lsr #14 r0:a3d70000 r1:000000a4 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:02068814 Cy:39999750129 ARM9 02068810: e001009e mul r1, lr, r0 r0:00028f5c r1:000000a4 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:02068818 Cy:39999750129 ARM9 02068814: e043c00c sub r12, r3, r12, lsl #0 r0:00028f5c r1:00200000 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:0206881c Cy:39999750130 ARM9 02068818: e1a01621 mov r1, r1, lsr #12 r0:00028f5c r1:00200000 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000b SP:027e3744 LR:ff380000 PC:02068820 Cy:39999750131 ARM9 0206881c: e0010190 mul r1, r0, r1 r0:00028f5c r1:00000200 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000b SP:027e3744 LR:ff380000 PC:02068824 Cy:39999750132 ARM9 02068820: e1a00700 mov r0, r0, lsl #14 r0:00028f5c r1:051eb800 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000b SP:027e3744 LR:ff380000 PC:02068828 Cy:39999750133 ARM9 02068824: e08007a1 add r0, r0, r1, lsr #15 r0:a3d70000 r1:051eb800 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000b SP:027e3744 LR:ff380000 PC:0206882c Cy:39999750134 ARM9 02068828: e0801092 umull r1, r0, r2, r0 r0:a3d70a3d r1:051eb800 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000b SP:027e3744 LR:ff380000 PC:02068830 Cy:39999750134 ARM9 0206882c: e1a03000 mov r3, r0, lsl #0 r0:009cf3ff r1:ff941840 r2:00f53d40 r3:00000090 r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000b SP:027e3744 LR:ff380000 PC:02068834 Cy:39999750135 ARM9 02068830: 43800102 orrmi r0, r0, #0x80000000 r0:009cf3ff r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000b SP:027e3744 LR:ff380000 PC:02068838 Cy:39999750136 ARM9 02068834: e29cc07e adds r12, r12, #0x7E r0:009cf3ff r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000b SP:027e3744 LR:ff380000 PC:0206883c Cy:39999750136 ARM9 02068838: 4a000091 bmi #0x24C r0:009cf3ff r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3744 LR:ff380000 PC:02068840 Cy:39999750137 ARM9 0206883c: e35c00fe cmp r12, #0xFE r0:009cf3ff r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3744 LR:ff380000 PC:02068844 Cy:39999750138 ARM9 02068840: aa0000bc bge #0x2F8 r0:009cf3ff r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3744 LR:ff380000 PC:02068848 Cy:39999750139 ARM9 02068844: e0800b8c add r0, r0, r12, lsl #23 r0:009cf3ff r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3744 LR:ff380000 PC:0206884c Cy:39999750139 ARM9 02068848: e1a0ce21 mov r12, r1, lsr #28 r0:451cf3ff r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3744 LR:ff380000 PC:02068850 Cy:39999750140 ARM9 0206884c: e35c0007 cmp r12, #0x7 r0:451cf3ff r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000f SP:027e3744 LR:ff380000 PC:02068854 Cy:39999750140 ARM9 02068850: 0a000042 beq #0x110 r0:451cf3ff r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000f SP:027e3744 LR:ff380000 PC:02068858 Cy:39999750141 ARM9 02068854: e0800fa1 add r0, r0, r1, lsr #31 r0:451cf3ff r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000f SP:027e3744 LR:ff380000 PC:0206885c Cy:39999750141 ARM9 02068858: e8bd4000 ldmia sp!, {lr} r0:451cf400 r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000f SP:027e3744 LR:ff380000 PC:02068860 Cy:39999750142 ARM9 0206885c: e12fff1e bx lr r0:451cf400 r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:432f0000 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000f SP:027e3748 LR:02008d30 PC:02068864 Cy:39999750143 ARM9 ]]-- --[[ 0206884c: e35c0007 cmp r12, #0x7 succeeded 020687ac: e92d4000 stmdb sp!, {lr} r0:42d40000 r1:42c80000 r2:00000000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000019 SP:027e3748 LR:02008d44 PC:020687b4 Cy:39263661161 ARM9 020687b0: e3a0c0ff mov r12, #0xFF r0:42d40000 r1:42c80000 r2:00000000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000019 SP:027e3744 LR:02008d44 PC:020687b8 Cy:39263661161 ARM9 020687b4: e01c3ba0 ands r3, r12, r0, lsr #23 r0:42d40000 r1:42c80000 r2:00000000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:000000ff SP:027e3744 LR:02008d44 PC:020687bc Cy:39263661162 ARM9 020687b8: 135300ff cmpne r3, #0xFF r0:42d40000 r1:42c80000 r2:00000000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:000000ff SP:027e3744 LR:02008d44 PC:020687c0 Cy:39263661162 ARM9 020687bc: 0a00006f beq #0x1C4 r0:42d40000 r1:42c80000 r2:00000000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:000000ff SP:027e3744 LR:02008d44 PC:020687c4 Cy:39263661164 ARM9 020687c0: e01ccba1 ands r12, r12, r1, lsr #23 r0:42d40000 r1:42c80000 r2:00000000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:000000ff SP:027e3744 LR:02008d44 PC:020687c8 Cy:39263661164 ARM9 020687c4: 135c00ff cmpne r12, #0xFF r0:42d40000 r1:42c80000 r2:00000000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:02008d44 PC:020687cc Cy:39263661165 ARM9 020687c8: 0a00007b beq #0x1F4 r0:42d40000 r1:42c80000 r2:00000000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:02008d44 PC:020687d0 Cy:39263661165 ARM9 020687cc: e3811502 orr r1, r1, #0x800000 r0:42d40000 r1:42c80000 r2:00000000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:02008d44 PC:020687d4 Cy:39263661166 ARM9 020687d0: e3800502 orr r0, r0, #0x800000 r0:42d40000 r1:42c80000 r2:00000000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:02008d44 PC:020687d8 Cy:39263661166 ARM9 020687d4: e3c024ff bic r2, r0, #0xFF000000 r0:42d40000 r1:42c80000 r2:00000000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:02008d44 PC:020687dc Cy:39263661167 ARM9 020687d8: e3c1e4ff bic lr, r1, #0xFF000000 r0:42d40000 r1:42c80000 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:02008d44 PC:020687e0 Cy:39263661167 ARM9 020687dc: e152000e cmp r2, lr, lsl #0 r0:42d40000 r1:42c80000 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:00c80000 PC:020687e4 Cy:39263661169 ARM9 020687e0: 31a02082 movcc r2, r2, lsl #1 r0:42d40000 r1:42c80000 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:00c80000 PC:020687e8 Cy:39263661169 ARM9 020687e4: 32433001 subcc r3, r3, #0x1 r0:42d40000 r1:42c80000 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:00c80000 PC:020687ec Cy:39263661170 ARM9 020687e8: e1300001 teq r0, r1, lsl #0 r0:42d40000 r1:42c80000 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:00c80000 PC:020687f0 Cy:39263661170 ARM9 020687ec: e24f0094 sub r0, pc, #0x94 r0:42d40000 r1:42c80000 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:00c80000 PC:020687f4 Cy:39263661171 ARM9 020687f0: e7d017ae ldrb r1, [r0, lr, lsr #15] r0:02068760 r1:42c80000 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:00c80000 PC:020687f8 Cy:39263661171 ARM9 020687f4: e26ee000 rsb lr, lr, #0x0 r0:02068760 r1:000000a4 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:00c80000 PC:020687fc Cy:39263661173 ARM9 020687f8: e1a000ce mov r0, lr, asr #1 r0:02068760 r1:000000a4 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:02068800 Cy:39263661173 ARM9 020687fc: e0000091 mul r0, r1, r0 r0:ff9c0000 r1:000000a4 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:02068804 Cy:39263661175 ARM9 02068800: e2800102 add r0, r0, #0x80000000 r0:bff00000 r1:000000a4 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:02068808 Cy:39263661176 ARM9 02068804: e1a00320 mov r0, r0, lsr #6 r0:3ff00000 r1:000000a4 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:0206880c Cy:39263661176 ARM9 02068808: e0000091 mul r0, r1, r0 r0:00ffc000 r1:000000a4 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:02068810 Cy:39263661177 ARM9 0206880c: e1a00720 mov r0, r0, lsr #14 r0:a3d70000 r1:000000a4 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:02068814 Cy:39263661178 ARM9 02068810: e001009e mul r1, lr, r0 r0:00028f5c r1:000000a4 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:02068818 Cy:39263661178 ARM9 02068814: e043c00c sub r12, r3, r12, lsl #0 r0:00028f5c r1:00200000 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000085 SP:027e3744 LR:ff380000 PC:0206881c Cy:39263661179 ARM9 02068818: e1a01621 mov r1, r1, lsr #12 r0:00028f5c r1:00200000 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000000 SP:027e3744 LR:ff380000 PC:02068820 Cy:39263661180 ARM9 0206881c: e0010190 mul r1, r0, r1 r0:00028f5c r1:00000200 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000000 SP:027e3744 LR:ff380000 PC:02068824 Cy:39263661181 ARM9 02068820: e1a00700 mov r0, r0, lsl #14 r0:00028f5c r1:051eb800 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000000 SP:027e3744 LR:ff380000 PC:02068828 Cy:39263661182 ARM9 02068824: e08007a1 add r0, r0, r1, lsr #15 r0:a3d70000 r1:051eb800 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000000 SP:027e3744 LR:ff380000 PC:0206882c Cy:39263661183 ARM9 02068828: e0801092 umull r1, r0, r2, r0 r0:a3d70a3d r1:051eb800 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000000 SP:027e3744 LR:ff380000 PC:02068830 Cy:39263661183 ARM9 0206882c: e1a03000 mov r3, r0, lsl #0 r0:0087ae14 r1:7a840000 r2:00d40000 r3:00000085 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000000 SP:027e3744 LR:ff380000 PC:02068834 Cy:39263661184 ARM9 02068830: 43800102 orrmi r0, r0, #0x80000000 r0:0087ae14 r1:7a840000 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000000 SP:027e3744 LR:ff380000 PC:02068838 Cy:39263661185 ARM9 02068834: e29cc07e adds r12, r12, #0x7E r0:0087ae14 r1:7a840000 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000000 SP:027e3744 LR:ff380000 PC:0206883c Cy:39263661185 ARM9 02068838: 4a000091 bmi #0x24C r0:0087ae14 r1:7a840000 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:0000007e SP:027e3744 LR:ff380000 PC:02068840 Cy:39263661186 ARM9 0206883c: e35c00fe cmp r12, #0xFE r0:0087ae14 r1:7a840000 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:0000007e SP:027e3744 LR:ff380000 PC:02068844 Cy:39263661187 ARM9 02068840: aa0000bc bge #0x2F8 r0:0087ae14 r1:7a840000 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:0000007e SP:027e3744 LR:ff380000 PC:02068848 Cy:39263661188 ARM9 02068844: e0800b8c add r0, r0, r12, lsl #23 r0:0087ae14 r1:7a840000 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:0000007e SP:027e3744 LR:ff380000 PC:0206884c Cy:39263661188 ARM9 02068848: e1a0ce21 mov r12, r1, lsr #28 r0:3f87ae14 r1:7a840000 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:0000007e SP:027e3744 LR:ff380000 PC:02068850 Cy:39263661189 ARM9 0206884c: e35c0007 cmp r12, #0x7 r0:3f87ae14 r1:7a840000 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000007 SP:027e3744 LR:ff380000 PC:02068854 Cy:39263661189 ARM9 02068850: 0a000042 beq #0x110 r0:3f87ae14 r1:7a840000 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000007 SP:027e3744 LR:ff380000 PC:02068858 Cy:39263661190 ARM9 02068960: e1a01083 mov r1, r3, lsl #1 r0:3f87ae14 r1:7a840000 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000007 SP:027e3744 LR:ff380000 PC:02068968 Cy:39263661192 ARM9 02068964: e2811001 add r1, r1, #0x1 r0:3f87ae14 r1:010f5c28 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000007 SP:027e3744 LR:ff380000 PC:0206896c Cy:39263661192 ARM9 02068968: e26ee000 rsb lr, lr, #0x0 r0:3f87ae14 r1:010f5c29 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000007 SP:027e3744 LR:ff380000 PC:02068970 Cy:39263661193 ARM9 0206896c: e001019e mul r1, lr, r1 r0:3f87ae14 r1:010f5c29 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000007 SP:027e3744 LR:00c80000 PC:02068974 Cy:39263661193 ARM9 02068970: e1510c02 cmp r1, r2, lsl #24 r0:3f87ae14 r1:00080000 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000007 SP:027e3744 LR:00c80000 PC:02068978 Cy:39263661194 ARM9 02068974: 42800001 addmi r0, r0, #0x1 r0:3f87ae14 r1:00080000 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000007 SP:027e3744 LR:00c80000 PC:0206897c Cy:39263661195 ARM9 02068978: e8bd4000 ldmia sp!, {lr} r0:3f87ae14 r1:00080000 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000007 SP:027e3744 LR:00c80000 PC:02068980 Cy:39263661195 ARM9 0206897c: e12fff1e bx lr r0:3f87ae14 r1:00080000 r2:00d40000 r3:0087ae14 r4:00000010 r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:4050ab42 r10:0000003c r11:fffffc00 r12:00000007 SP:027e3748 LR:02008d44 PC:02068984 Cy:39263661197 ARM9 ]]-- local read8 = memory.read_u8 local read16 = memory.read_u16_le local read24 = memory.read_u24_be local read32 = memory.read_u32_le function FUN_020687ac_Skill(r0, r1) --r1 seems hard coded to 42c80000 local cond = false local r12 = 0xFF local r3 = r12 & (r0 >> 23) if r3 == 0 or r3 == 0xFF then --doesnt seem to happen console.log("FUN_020687ac_Skill r0") end r12 = r12 & (r1 >> 23) if r12 == 0 or r12 == 0xFF then --doesnt seem to happen console.log("FUN_020687ac_Skill r1") end r1 = r1 | 0x800000 r0 = r0 | 0x800000 local r2 = r0 & 0xFFFFFF --r0 AND NOT(0xFF000000) local lr = r1 & 0xFFFFFF --r1 AND NOT(0xFF000000) if r2 < lr then --?? r2 = r2 << 1 r3 = r3 - 1 end -- 020687e8: e1300001 teq r0, r1, lsl #0 cond = bit.check(r0 ~ r1, 31) r1 = read8(0x00068760 + (lr >> 15),"Main RAM") --20688F0, or 0688F0 in main ram lr = (0 - lr) & 0xFFFFFFFF --make sure it remains 32 bit r0 = bit.arshift(lr,1) & 0xFFFFFFFF --make sure it remains 32 bit r0 = MLA(r0,r1,0) --32 bit multiply r0 = (r0 + 0x80000000) & 0xFFFFFFFF --make sure it remains 32 bit r0 = r0 >> 6 r0 = MLA(r0, r1, 0) --32 bit multiply r0 = r0 >> 14 r1 = MLA(lr, r0, 0) --32 bit multiply r12 = r3 - r12 r1 = r1 >> 12 r1 = MLA(r0, r1, 0) --32 bit multiply r0 = (r0 << 14) & 0xFFFFFFFF --make sure it remains 32 bit r0 = r0 + (r1 >> 15) --02068828: e0801092 umull r1, r0, r2, r0 r1, r0 = MUL64(r2, r0) r3 = r0 if cond then r0 = r0 | 0x80000000 end r12 = r12 + 0x7E --02068838: 4a000091 bmi #0x24C --0206883c: e35c00fe cmp r12, #0xFE --02068840: aa0000bc bge #0x2F8 --never occurs r0 = r0 + (r12 << 23) r12 = r1 >> 28 --0206884c: e35c0007 cmp r12, #0x7 if r12 == 7 then r1 = (r3 << 1) + 1 lr = (0 - lr) & 0xFFFFFFFF --make sure it remains 32 bit r1 = MLA(lr,r1,0) --32 bit multiply if (r1 - ((r2 << 24) & 0xFFFFFFFF) < 0) then console.log("FUN_020687ac_Skill r12") r0 = r0 + 1 end return r0 end r0 = r0 + (r1 >> 31) return r0 end --[[ 02068c1c: e3500000 cmp r0, #0x0 r0:00000069 r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000f SP:027e3748 LR:02008d3c PC:02068c24 Cy:39999750149 ARM9 02068c20: 012fff1e bxeq lr r0:00000069 r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000f SP:027e3748 LR:02008d3c PC:02068c28 Cy:39999750150 ARM9 02068c24: e3a0309e mov r3, #0x9E r0:00000069 r1:ff941840 r2:00f53d40 r3:009cf3ff r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000f SP:027e3748 LR:02008d3c PC:02068c2c Cy:39999750150 ARM9 02068c28: 4a000002 bmi #0x10 r0:00000069 r1:ff941840 r2:00f53d40 r3:0000009e r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000f SP:027e3748 LR:02008d3c PC:02068c30 Cy:39999750151 ARM9 02068c2c: e16fcf10 clz r12, r0 r0:00000069 r1:ff941840 r2:00f53d40 r3:0000009e r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:0000000f SP:027e3748 LR:02008d3c PC:02068c34 Cy:39999750151 ARM9 02068c30: e1b00c10 movs r0, r0, lsl r12 r0:00000069 r1:ff941840 r2:00f53d40 r3:0000009e r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000019 SP:027e3748 LR:02008d3c PC:02068c38 Cy:39999750152 ARM9 02068c34: e043300c sub r3, r3, r12, lsl #0 r0:d2000000 r1:ff941840 r2:00f53d40 r3:0000009e r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000019 SP:027e3748 LR:02008d3c PC:02068c3c Cy:39999750153 ARM9 02068c38: e21020ff ands r2, r0, #0xFF r0:d2000000 r1:ff941840 r2:00f53d40 r3:00000085 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000019 SP:027e3748 LR:02008d3c PC:02068c40 Cy:39999750153 ARM9 02068c3c: e0800000 add r0, r0, r0, lsl #0 r0:d2000000 r1:ff941840 r2:00000000 r3:00000085 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000019 SP:027e3748 LR:02008d3c PC:02068c44 Cy:39999750155 ARM9 02068c40: e1a004a0 mov r0, r0, lsr #9 r0:a4000000 r1:ff941840 r2:00000000 r3:00000085 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000019 SP:027e3748 LR:02008d3c PC:02068c48 Cy:39999750155 ARM9 02068c44: e1800b83 orr r0, r0, r3, lsl #23 r0:00520000 r1:ff941840 r2:00000000 r3:00000085 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000019 SP:027e3748 LR:02008d3c PC:02068c4c Cy:39999750156 ARM9 02068c48: 012fff1e bxeq lr r0:42d20000 r1:ff941840 r2:00000000 r3:00000085 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000019 SP:027e3748 LR:02008d3c PC:02068c50 Cy:39999750156 ARM9 ]]-- function FUN_02068c1c_Skill(r0) if r0 == 0 then return end local r3 = 0x9E --02068c28: 4a000002 bmi #0x10 if r0 < 0 then console.log("FUN_02068c1c_Skill r0") end local r12 = Count_Leading_Zeroes(r0) r0 = r0 << r12 r3 = r3 - r12 local r2 = r0 & 0xFF r0 = (r0 + r0) >> 9 r0 = r0 | (r3 << 23) if r2 == 0 then return r0 end end --[[ 02068be8: e3c01102 bic r1, r0, #0x80000000 r0:4524cd00 r1:3c000000 r2:00000000 r3:00000082 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d54 PC:02068bf0 Cy:39999750223 ARM9 02068bec: e3a0209e mov r2, #0x9E r0:4524cd00 r1:4524cd00 r2:00000000 r3:00000082 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d54 PC:02068bf4 Cy:39999750223 ARM9 02068bf0: e0522ba1 subs r2, r2, r1, lsr #23 r0:4524cd00 r1:4524cd00 r2:0000009e r3:00000082 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d54 PC:02068bf8 Cy:39999750224 ARM9 02068bf4: da000005 ble #0x1C r0:4524cd00 r1:4524cd00 r2:00000014 r3:00000082 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d54 PC:02068bfc Cy:39999750224 ARM9 02068bf8: e1a01401 mov r1, r1, lsl #8 r0:4524cd00 r1:4524cd00 r2:00000014 r3:00000082 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d54 PC:02068c00 Cy:39999750225 ARM9 02068bfc: e3811102 orr r1, r1, #0x80000000 r0:4524cd00 r1:24cd0000 r2:00000014 r3:00000082 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d54 PC:02068c04 Cy:39999750226 ARM9 02068c00: e3500000 cmp r0, #0x0 r0:4524cd00 r1:a4cd0000 r2:00000014 r3:00000082 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d54 PC:02068c08 Cy:39999750227 ARM9 02068c04: e1a00231 mov r0, r1, lsr r2 r0:4524cd00 r1:a4cd0000 r2:00000014 r3:00000082 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d54 PC:02068c0c Cy:39999750227 ARM9 02068c08: 42600000 rsbmi r0, r0, #0x0 r0:00000a4c r1:a4cd0000 r2:00000014 r3:00000082 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d54 PC:02068c10 Cy:39999750228 ARM9 02068c0c: e12fff1e bx lr r0:00000a4c r1:a4cd0000 r2:00000014 r3:00000082 r4:0000000f r5:451cf400 r6:00000004 r7:00000011 r8:00000008 r9:437f0000 r10:0000003c r11:fffffc00 r12:00000089 SP:027e3748 LR:02008d54 PC:02068c14 Cy:39999750229 ARM9 ]]-- function FUN_02068be8(r0) local r1 = r0 & 0x7FFFFFFF -- r1 = r0 AND NOT(0x80000000) local r2 = 0x9E r2 = r2 - (r1 >> 23) if r1 < r2 then r0 = bit.arshift(r0,31) + 0x80000000 return r0 end r1 = (r1 << 8) & 0xFFFFFFFF --make sure it remains 32 bit r1 = r1 | 0x80000000 local cond = r0 < 0 r0 = r1 >> r2 if cond then r0 = -1* r0 end return r0 end local level = 90 -- local rng1 = 0xc910a194 -- local rng2 = 0x0a8b4e34 local rng1 = 2817202923 local rng2 = 3945076056 local r0 = 0 function Wind_Scar_Damage(level, skill_value, rng1, rng2) local r0 = 0 r0, rng1, rng2 = rng(r0, rng1, rng2) r0, rng1, rng2 = rng(r0, rng1, rng2) r0, rng1, rng2 = rng(r0, rng1, rng2) r0, rng1, rng2 = rng(r0, rng1, rng2) local r5 = skill_value r0 = 0x14 r0, rng1, rng2 = rng(0x14, rng1, rng2) local r4 = r0 r0 = FUN_02068c64_Skill(r5) -- local r2 = level local r1 = FUN_02068c64_Skill(0xF * level + 0x55) r0 = FUN_02068cac_Skill(r0, r1) r1 = 0x42c80000 --02008d28: e59f102c ldr r1, [pc, #+0x2C] r0 = FUN_020687ac_Skill(r0, r1) r5 = r0 r0 = r4 + 0x5A r0 = FUN_02068c1c_Skill(r0) r1 = 0x42c80000 --02008d3c: e59f1018 ldr r1, [pc, #+0x18] r0 = FUN_020687ac_Skill(r0, r1) r1 = r0 r0 = r5 r0 = FUN_02068cac_Skill(r0, r1) r0 = FUN_02068be8(r0) return r0 end console.log(Wind_Scar_Damage(90, Attack[19].Value, 2817202923, 3945076056))
Based on this, I generated a table of min/max damage for Wind Scar:
Level Min Max
1 157 190
2 181 219
3 204 247
4 228 276
5 252 305
6 275 333
7 299 362
8 322 391
9 346 419
10 370 448
11 393 476
12 417 505
13 441 534
14 464 562
15 488 591
16 511 619
17 535 648
18 559 677
19 582 705
20 606 734
21 630 763
22 653 791
23 677 820
24 700 848
25 724 877
26 748 906
27 771 934
28 795 963
29 819 991
30 842 1020
31 866 1049
32 889 1077
33 913 1106
34 937 1134
35 960 1163
36 984 1192
37 1008 1220
38 1031 1249
39 1055 1278
40 1078 1306
41 1102 1335
42 1126 1363
43 1149 1392
44 1173 1421
45 1197 1449
46 1220 1478
47 1244 1506
48 1267 1535
49 1291 1564
50 1315 1592
51 1338 1621
52 1362 1649
53 1386 1678
54 1409 1707
55 1433 1735
56 1456 1764
57 1480 1793
58 1504 1821
59 1527 1850
60 1551 1878
61 1575 1907
62 1598 1936
63 1622 1964
64 1645 1993
65 1669 2021
66 1693 2050
67 1716 2079
68 1740 2107
69 1764 2136
70 1787 2165
71 1811 2193
72 1834 2222
73 1858 2250
74 1882 2279
75 1905 2308
76 1929 2336
77 1953 2365
78 1976 2393
79 2000 2422
80 2023 2451
81 2047 2479
82 2071 2508
83 2094 2536
84 2118 2565
85 2142 2594
86 2165 2622
87 2189 2651
88 2212 2680
89 2236 2708
90 2260 2737
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Download Wind Scar.lua
Language: lua

local text = gui.pixelText memory.usememorydomain("Main RAM") local read8 = memory.read_u8 local read16 = memory.read_u16_le local read24 = memory.read_u24_be local read32 = memory.read_u32_le local frameadvance = emu.frameadvance local write8 = memory.write_u8 local write16 = memory.write_u16_le local write24 = memory.write_u24_be local write32 = memory.write_u32_le console.clear() --[[ First name of attack in J starts at 022079 First name of monsters for status screen at 021625 ]]-- function MLA(A,B,C) --http://tasvideos.org/forum/viewtopic.php?p=489512#489512 local reslow = A * (B%0x10000) -- A multiplied with lower 16 bits of B local reshigh = A * (math.floor(B/0x10000)%0x10000) -- A multiplied with higher 16 bits of B (shifted down) reshigh = reshigh%0x10000 -- only 16 bits can matter here if result is 32 bits return (reshigh*0x10000 + reslow + C)%0x100000000 -- recombine and cut off to 32 bits end function MUL64(A,B) --http://tasvideos.org/forum/viewtopic.php?p=489523#489523 local reslow = A * (B%0x10000) -- 0x0000LLLLLLLLLLLL local reshigh = A * math.floor(B/0x10000) -- 0xHHHHHHHHHHHH0000 local reslow_lo = reslow%0x100000000 -- 0x00000000LLLLLLLL local reslow_hi = math.floor(reslow/0x100000000) -- 0x0000LLLL00000000 local reshigh_lo = reshigh%0x10000 -- 0x00000000HHHH0000 local reshigh_hi = math.floor(reshigh/0x10000) -- 0xHHHHHHHH00000000 local low32 = reshigh_lo*0x10000 + reslow_lo local high32 = reshigh_hi + reslow_hi high32 = high32 + math.floor(low32/0x100000000) -- add what carries over low32 = low32%0x100000000 -- 32 bit high32 = high32%0x100000000 -- 32 bit return low32,high32 end function rng(r0, rng1, rng2) --020461c4: e59f1050 ldr r1, [pc, #+0x50] local r1 = 0 local r2, r3 = 0,0 local r4, lr, carry = 0,0,0 local rng1_2, rng2_2 = 0, 0 r4, lr = MUL64(0x6C078965, rng1) lr = MLA(0x6C078965, rng2, lr) lr = MLA(0x5D588B65, rng1, lr) r3 = 0x00269EC3 + r4 carry = r3 > 4294967295 and 1 or 0 rng1_2 = r3 % 4294967296 --107b98 r4 = lr + carry rng2_2 = r4 --107b9c if (r0 ~= 0) then r4 = (r4 * r0) >> 0x20 end r0 = r4 return r0, rng1_2, rng2_2 end local r0, rng1_1, rng2_1 = 0,0,0 local save = 1 local limit = 10 local level = 1 local hp = 10000 Inuyasha1_LVL = 0x0C66B8 Inuyasha1_AGI = 0x0C66BC NPC1_HP = 0x0C6E18 NPC1_MAX_HP = 0x0C6E1C RNG1 = 0x107B98 RNG2 = 0x107B9C function Wind_Scar_Bot(limit, level) local file = io.open("Wind Scar " .. level .. ".txt","w") io.output(file) io.write(string.format("RNG1\tRNG2\tDamage\n")) write8(Inuyasha1_LVL,level) write8(Inuyasha1_AGI,1) write16(NPC1_MAX_HP,hp) write16(NPC1_HP,hp) savestate.saveslot(save) local min_damage = 0 local max_damage = 0 for i = 1, limit do savestate.loadslot(save) write8(Inuyasha1_LVL,level) write16(NPC1_HP,hp) write32(RNG1,rng1_1) write32(RNG2,rng2_1) frameadvance() r0, rng1_1, rng2_1 = rng(r0, rng1_1, rng2_1) local damage = hp-read16(NPC1_HP) if min_damage == 0 then min_damage = damage else min_damage = (damage < min_damage) and damage or min_damage end if max_damage == 0 then max_damage = damage else max_damage = (damage > max_damage) and damage or max_damage end io.write(string.format("%d\t%d\t%d\n", rng1_1, rng2_1, damage)) end io.close(file) savestate.loadslot(save) return min_damage, max_damage end --loop levels, calling wind scar bot function Loop(limit1, start, level) --limit 1 is how many loops for wind scar bot --limit 2 is how many levels to loop local start_line = "Level\tMin\tMax\n" local line = "" for i = start, level do local min_damage = 0 local max_damage = 0 min_damage, max_damage = Wind_Scar_Bot(limit1,i) line = line .. string.format("%d\t%d\t%d\n",i, min_damage, max_damage) end local file = io.open("Wind Scar damage.txt","w") io.output(file) io.write(string.format("Level\tMin\tMax\n")) io.write(line) io.close(file) end Loop(1000, 1, 90) client.pause()
I made a script that I ran right before damage was dealt using Wind Scar. It appears damage from Wind Scar is solely based on Inuyasha's level, independent of his attack stats, nor enemy's defence. It never misses, and it does not seem criticals are a thing. Edit: The rng values and the resultant damage doesn't match for some reason.
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Ok, so I actually finally finished the game. It turns out quite a number of things in this are optional. For instance, the entire initial park event, Akagane subplot, and Sesshomaru subplot are not needed at all. In fact, after unlocking fly, you can basically head north immediately. Minimum things to do: 1. Get to Shrine 2. Reach level 2 or 3 using Giant Centipede (or else Little Devil fight later OHKOs you) 3. Head to Kaede's Village 4. Head to Mikage Creek 5. Head to Masuko Village. Maybe level? 6. Beat bosses Masuko, Usuba somehow. 7. Head to Mt. Habaki 8. Beat Poisonous Centipede (1160 HP) guarding the item 9. Head to Jinenji’s Home 10. Head to Minatori Village 11. Somehow beat Demon Puppet (2400 HP) 12. Go through Mountain Pass 13. Head to Yamasachi Village 14. Head to Abandoned Shrine, then back to Yamasachi Village 15. Somehow beat Demon of Misfortune (1230 HP) 16. Head to Sara’s Lair 17. Somehow beat Sara (2550 HP) 18. Head to Sakata Village. Immediately leave 19. Head to Inuyasha's Forest 20. Unlock flying by finding Hachi. Fly to upper right of the map to Habi Village 21. Talk to villagers (priest, then elder) to unlock going north 22. Go to Tanuki Plains to the north, then pay 300 to fly to north The difficulty now radically increases 23. Head to Susuki Plains Village 24. Head to Mt. Mansetsu Fortress 25. Save the villagers, then go through Mt. Mansetsu 26. Go to Datara's Shrine 27. Go to the far left/right to unlock both Mitsurugi's Tower and Sugagaki's Waterfall 28. Go to Mitsurugi's Tower 29. Somehow beat Mitsurugi (4400 HP; 1850 more than previous boss) 30. Head to Sugagaki's Waterfall at upper left of map 31. Somehow beat Sugagaki (4000 HP) 32. Go back to Datara's Shrine. You will be transported 500 years back in time 33. Go to Shinonome Village. Talk to Tsugumi's Mother. 34. Go to Izayoi's Mansion 35. Beat all the enemies Ninestar Demon (2150 HP), Iron-Souled Demon (2640 HP), Shrouded Demon (2020 HP) somehow 36. Reach the shrine basement 37. Beat Gorai (7800 HP) somehow 38. Go back to Shinonome Village. Go to the elder to sleep 39. Talk to the elder, then Izayoi. Head to lower left of map 40. Beat the monsters somehow 41. You're back in the present. Head to Datara's Shrine to regroup. 42. Head to Mt. Mansetsu then go through it again 43. Beat Burai (9999 HP) somehow 44. Go back to Tanuki Plains. Get Hachi to fly to Demon Fortress south 45. Go through Demon Fortress. 46. Beat Gorai again (9200 HP) followed by 2 Demon Puppets (6750 HP) 47. Leave, then go to Tanuki Forest 48. Fly to Inuyasha's Forest 49. Go to present day. Head to the park 50. Find the shrine, go through the maze to find red orb 51. Go back to Inuyasha's Forest. Fly to north Tanuki Plains, then fly north 52. Fly to Tempest Tower 53. Beat Monk Sen (8230 HP) 54. Go through the tower. You will fight Mitsurugi and Sugagaki again at the same time, both 6600 HP 55. Head to the top 56. Beat Gorai (10000 HP) and Datara (15800 HP, all stats 255) at the same time The sudden jump in difficulty means you must grind levels. The enemies XP is divided by the amount of teammates rounded down, which is usually 6 members. The best npc to grind at the start are Giant Centipedes, and I haven't figured out the rest of the route.
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
I was bingeing Inuyasha, and I thought I could try playing this game. This game is kinda really bad due to very high encounter rate, but that appears to be luck-manipulatable. I made a script that displays stuff: Download InuyashaDS.lua
Language: lua

client.SetGameExtraPadding(0, 0, 200, 0) local text = gui.pixelText local image = gui.drawImage memory.usememorydomain("Main RAM") local read8 = memory.read_u8 local read16 = memory.read_u16_le local read24 = memory.read_u24_be local read32 = memory.read_u32_le local Addresses = { --to use ARM 7/9 System Bus, add 02000000 to the addresses --[[ there's 3 Janis characters 1. Start 2. Spells unlocked 3. Spear unlocked ]]-- Area = 0x0B40C4, --2 bytes; 7 is battle; 579 total Character_Overworld = 0x0C4A64, Money = 0x0C4AB0, -- Janis1_Start = 0x0c6469,0c647c --Janis without any spells Janis1_Start = 0x0C6488, Janis1_Name_Index = 0x0C648C, Janis1_Is_NPC = 0x0C648D, --1 is npc, 0 is player Janis1_Item_1 = 0x0C64A4, --4 bytes Janis1_Item_2 = 0x0C64A8, --4 bytes Janis1_Item_3 = 0x0C64AC, --4 bytes Janis1_Item_4 = 0x0C64B0, --4 bytes Janis1_Item_5 = 0x0C64B4, --4 bytes Janis1_Item_6 = 0x0C64B8, --4 bytes Janis1_Item_7 = 0x0C64BC, --4 bytes Janis1_Item_8 = 0x0C64C0, --4 bytes Janis1_Item_9 = 0x0C64C4, --4 bytes Janis1_Item_10 = 0x0C64C8, --4 bytes Janis1_Equip1 = 0x0C64D0, --Items 1 - 8 binary flag Janis1_Equip2 = 0x0C64D1, --Items 9 - 10 Janis1_EXP = 0x0C64D6, --2 bytes Janis1_HP = 0x0C64D8, --2 bytes Janis1_EP = 0x0C64DA, --2 bytes Janis1_MAX_HP = 0x0C64DC, --2 bytes Janis1_MAX_EP = 0x0C64DE, --2 bytes Janis1_Sprite_ID = 0x0C64E4, Janis1_Sprite_Pallete = 0x0C64F4, Janis1_LVL = 0x0C64FC, Janis1_ATK = 0x0C64FD, Janis1_DEF = 0x0C64FE, Janis1_DEX = 0x0C64FF, Janis1_AGI = 0x0C6500, Janis1_Select = 0x0C650D, --they are glowing Janis1_isPresent = 0x0C6510, --he vanishes to fight at 6? Janis1_Escaped = 0x0C6512, Janis1_Status = 0x0C6513, Janis1_Divine_Barrier = 0x0C6517, --how many turns does it last Janis1_Sealing_Barrier = 0x0C6518, --how many turns does it last --Janis with spells unlocked Janis2_Start = 0x0C651C, Janis2_Name_Index = 0x0C6520, Janis2_Is_NPC = 0x0C6521, --1 is npc, 0 is player Janis2_Item_1 = 0x0C6538, --4 bytes Janis2_Item_2 = 0x0C653C, --4 bytes Janis2_Item_3 = 0x0C6540, --4 bytes Janis2_Item_4 = 0x0C6544, --4 bytes Janis2_Item_5 = 0x0C6548, --4 bytes Janis2_Item_6 = 0x0C654C, --4 bytes Janis2_Item_7 = 0x0C6550, --4 bytes Janis2_Item_8 = 0x0C6554, --4 bytes Janis2_Item_9 = 0x0C6558, --4 bytes Janis2_Item_10 = 0x0C655C, --4 bytes Janis2_Equip1 = 0x0C6564, --Items 1 - 8 binary flag Janis2_Equip2 = 0x0C6565, --Items 9 - 10 Janis2_EXP = 0x0C656A, --2 bytes Janis2_HP = 0x0C656C, --2 bytes Janis2_EP = 0x0C656E, --2 bytes Janis2_MAX_HP = 0x0C6570, --2 bytes Janis2_MAX_EP = 0x0C6572, --2 bytes Janis2_Sprite_ID = 0x0C6578, Janis2_Sprite_Pallete = 0x0C6588, Janis2_LVL = 0x0C6590, Janis2_ATK = 0x0C6591, Janis2_DEF = 0x0C6592, Janis2_DEX = 0x0C6593, Janis2_AGI = 0x0C6594, Janis2_Select = 0x0C65A1, --they are glowing Janis2_isPresent = 0x0C65A4, --he vanishes to fight at 6? Janis2_Escaped = 0x0C65A6, Janis2_Status = 0x0C65A7, Janis2_Divine_Barrier = 0x0C65AB, --how many turns does it last Janis2_Sealing_Barrier = 0x0C65AC, --how many turns does it last --Janis with spear unlocked Janis3_Start = 0x0C65B0, Janis3_Name_Index = 0x0C65B4, Janis3_Is_NPC = 0x0C65B5, --1 is npc, 0 is player Janis3_Item_1 = 0x0C65CC, --4 bytes Janis3_Item_2 = 0x0C65D0, --4 bytes Janis3_Item_3 = 0x0C65D4, --4 bytes Janis3_Item_4 = 0x0C65D8, --4 bytes Janis3_Item_5 = 0x0C65DC, --4 bytes Janis3_Item_6 = 0x0C65E0, --4 bytes Janis3_Item_7 = 0x0C65E4, --4 bytes Janis3_Item_8 = 0x0C65E8, --4 bytes Janis3_Item_9 = 0x0C65EC, --4 bytes Janis3_Item_10 = 0x0C65F0, --4 bytes Janis3_Equip1 = 0x0C65F8, --Items 1 - 8 binary flag Janis3_Equip2 = 0x0C65F9, --Items 9 - 10 Janis3_EXP = 0x0C65FE, --2 bytes Janis3_HP = 0x0C6600, --2 bytes Janis3_EP = 0x0C6602, --2 bytes Janis3_MAX_HP = 0x0C6604, --2 bytes Janis3_MAX_EP = 0x0C6606, --2 bytes Janis3_Sprite_ID = 0x0C660C, Janis3_Sprite_Pallete = 0x0C661C, Janis3_LVL = 0x0C6624, Janis3_ATK = 0x0C6625, Janis3_DEF = 0x0C6626, Janis3_DEX = 0x0C6627, Janis3_AGI = 0x0C6628, Janis3_Select = 0x0C6635, --they are glowing Janis3_isPresent = 0x0C6638, --he vanishes to fight at 6? Janis3_Escaped = 0x0C663A, Janis3_Status = 0x0C663B, Janis3_Divine_Barrier = 0x0C663F, --how many turns does it last Janis3_Sealing_Barrier = 0x0C6640, --how many turns does it last --Inu Yasha Inuyasha1_Start = 0x0C6644, Inuyasha1_Name_Index = 0x0C6648, Inuyasha1_Is_NPC = 0x0C6649, --1 is npc, 0 is player Inuyasha1_Item_1 = 0x0C6660, --4 bytes Inuyasha1_Item_2 = 0x0C6664, --4 bytes Inuyasha1_Item_3 = 0x0C6668, --4 bytes Inuyasha1_Item_4 = 0x0C666C, --4 bytes Inuyasha1_Item_5 = 0x0C6670, --4 bytes Inuyasha1_Item_6 = 0x0C6674, --4 bytes Inuyasha1_Item_7 = 0x0C6678, --4 bytes Inuyasha1_Item_8 = 0x0C667C, --4 bytes Inuyasha1_Item_9 = 0x0C6680, --4 bytes Inuyasha1_Item_10 = 0x0C6684, --4 bytes Inuyasha1_Equip1 = 0x0C668C, --Items 1 - 8 binary flag Inuyasha1_Equip2 = 0x0C668D, --Items 9 - 10 Inuyasha1_EXP = 0x0C6692, --2 bytes Inuyasha1_HP = 0x0C6694, --2 bytes Inuyasha1_EP = 0x0C6696, --2 bytes Inuyasha1_MAX_HP = 0x0C6698, --2 bytes Inuyasha1_MAX_EP = 0x0C669A, --2 bytes Inuyasha1_Sprite_ID = 0x0C66A0, Inuyasha1_Sprite_Pallete = 0x0C66B0, Inuyasha1_LVL = 0x0C66B8, Inuyasha1_ATK = 0x0C66B9, Inuyasha1_DEF = 0x0C66BA, Inuyasha1_DEX = 0x0C66BB, Inuyasha1_AGI = 0x0C66BC, Inuyasha1_Select = 0x0C66C9, --they are glowing Inuyasha1_isPresent = 0x0C66CC, --he vanishes to fight at 6? Inuyasha1_Escaped = 0x0C66CE, Inuyasha1_Status = 0x0C66CF, Inuyasha1_Divine_Barrier = 0x0C66D3, --how many turns does it last Inuyasha1_Sealing_Barrier = 0x0C66D4, --how many turns does it last --Inu Yasha (Human) Inuyasha2_Start = 0x0C66D8, Inuyasha2_Name_Index = 0x0C66DC, Inuyasha2_Is_NPC = 0x0C66DD, --1 is npc, 0 is player Inuyasha2_Item_1 = 0x0C66F4, --4 bytes Inuyasha2_Item_2 = 0x0C66F8, --4 bytes Inuyasha2_Item_3 = 0x0C66FC, --4 bytes Inuyasha2_Item_4 = 0x0C6700, --4 bytes Inuyasha2_Item_5 = 0x0C6704, --4 bytes Inuyasha2_Item_6 = 0x0C6708, --4 bytes Inuyasha2_Item_7 = 0x0C670C, --4 bytes Inuyasha2_Item_8 = 0x0C6710, --4 bytes Inuyasha2_Item_9 = 0x0C6714, --4 bytes Inuyasha2_Item_10 = 0x0C6718, --4 bytes Inuyasha2_Equip1 = 0x0C6720, --Items 1 - 8 binary flag Inuyasha2_Equip2 = 0x0C6721, --Items 9 - 10 Inuyasha2_EXP = 0x0C6726, --2 bytes Inuyasha2_HP = 0x0C6728, --2 bytes Inuyasha2_EP = 0x0C672A, --2 bytes Inuyasha2_MAX_HP = 0x0C672C, --2 bytes Inuyasha2_MAX_EP = 0x0C672E, --2 bytes Inuyasha2_Sprite_ID = 0x0C6734, Inuyasha2_Sprite_Pallete = 0x0C6744, Inuyasha2_LVL = 0x0C674C, Inuyasha2_ATK = 0x0C674D, Inuyasha2_DEF = 0x0C674E, Inuyasha2_DEX = 0x0C674F, Inuyasha2_AGI = 0x0C6750, Inuyasha2_Select = 0x0C675D, --they are glowing Inuyasha2_isPresent = 0x0C6760, --he vanishes to fight at 6? Inuyasha2_Escaped = 0x0C6762, Inuyasha2_Status = 0x0C6763, Inuyasha2_Divine_Barrier = 0x0C6767, --how many turns does it last Inuyasha2_Sealing_Barrier = 0x0C6768, --how many turns does it last Kagome_Start = 0x0C676C, Kagome_Name_Index = 0x0C6770, Kagome_Is_NPC = 0x0C6771, --1 is npc, 0 is player Kagome_Item_1 = 0x0C6788, --4 bytes Kagome_Item_2 = 0x0C678C, --4 bytes Kagome_Item_3 = 0x0C6790, --4 bytes Kagome_Item_4 = 0x0C6794, --4 bytes Kagome_Item_5 = 0x0C6798, --4 bytes Kagome_Item_6 = 0x0C679C, --4 bytes Kagome_Item_7 = 0x0C67A0, --4 bytes Kagome_Item_8 = 0x0C67A4, --4 bytes Kagome_Item_9 = 0x0C67A8, --4 bytes Kagome_Item_10 = 0x0C67AC, --4 bytes Kagome_Equip1 = 0x0C67B4, --Items 1 - 8 binary flag Kagome_Equip2 = 0x0C67B5, --Items 9 - 10 Kagome_EXP = 0x0C67BA, --2 bytes Kagome_HP = 0x0C67BC, --2 bytes Kagome_EP = 0x0C67BE, --2 bytes Kagome_MAX_HP = 0x0C67C0, --2 bytes Kagome_MAX_EP = 0x0C67C2, --2 bytes Kagome_Sprite_ID = 0x0C67C8, Kagome_Sprite_Pallete = 0x0C67D8, Kagome_LVL = 0x0C67E0, Kagome_ATK = 0x0C67E1, Kagome_DEF = 0x0C67E2, Kagome_DEX = 0x0C67E3, Kagome_AGI = 0x0C67E4, Kagome_Select = 0x0C67F1, --they are glowing Kagome_isPresent = 0x0C67F4, --he vanishes to fight at 6? Kagome_Escaped = 0x0C67F6, Kagome_Status = 0x0C67F7, Kagome_Divine_Barrier = 0x0C67FB, --how many turns does it last Kagome_Sealing_Barrier = 0x0C67FC, --how many turns does it last Miroku_Start = 0x0C6800, Miroku_Name_Index = 0x0C6804, Miroku_Is_NPC = 0x0C6805, --1 is npc, 0 is player Miroku_Item_1 = 0x0C681C, --4 bytes Miroku_Item_2 = 0x0C6820, --4 bytes Miroku_Item_3 = 0x0C6824, --4 bytes Miroku_Item_4 = 0x0C6828, --4 bytes Miroku_Item_5 = 0x0C682C, --4 bytes Miroku_Item_6 = 0x0C6830, --4 bytes Miroku_Item_7 = 0x0C6834, --4 bytes Miroku_Item_8 = 0x0C6838, --4 bytes Miroku_Item_9 = 0x0C683C, --4 bytes Miroku_Item_10 = 0x0C6840, --4 bytes Miroku_Equip1 = 0x0C6848, --Items 1 - 8 binary flag Miroku_Equip2 = 0x0C6849, --Items 9 - 10 Miroku_EXP = 0x0C684E, --2 bytes Miroku_HP = 0x0C6850, --2 bytes Miroku_EP = 0x0C6852, --2 bytes Miroku_MAX_HP = 0x0C6854, --2 bytes Miroku_MAX_EP = 0x0C6856, --2 bytes Miroku_Sprite_ID = 0x0C685C, Miroku_Sprite_Pallete = 0x0C686C, Miroku_LVL = 0x0C6874, Miroku_ATK = 0x0C6875, Miroku_DEF = 0x0C6876, Miroku_DEX = 0x0C6877, Miroku_AGI = 0x0C6878, Miroku_Select = 0x0C6885, --they are glowing Miroku_isPresent = 0x0C6888, --he vanishes to fight at 6? Miroku_Escaped = 0x0C688A, Miroku_Status = 0x0C688B, Miroku_Divine_Barrier = 0x0C688F, --how many turns does it last Miroku_Sealing_Barrier = 0x0C6890, --how many turns does it last Sango_Start = 0x0C6894, Sango_Name_Index = 0x0C6898, Sango_Is_NPC = 0x0C6899, --1 is npc, 0 is player Sango_Item_1 = 0x0C68B0, --4 bytes Sango_Item_2 = 0x0C68B4, --4 bytes Sango_Item_3 = 0x0C68B8, --4 bytes Sango_Item_4 = 0x0C68BC, --4 bytes Sango_Item_5 = 0x0C68C0, --4 bytes Sango_Item_6 = 0x0C68C4, --4 bytes Sango_Item_7 = 0x0C68C8, --4 bytes Sango_Item_8 = 0x0C68CC, --4 bytes Sango_Item_9 = 0x0C68D0, --4 bytes Sango_Item_10 = 0x0C68D4, --4 bytes Sango_Equip1 = 0x0C68DC, --Items 1 - 8 binary flag Sango_Equip2 = 0x0C68DD, --Items 9 - 10 Sango_EXP = 0x0C68E2, --2 bytes Sango_HP = 0x0C68E4, --2 bytes Sango_EP = 0x0C68E6, --2 bytes Sango_MAX_HP = 0x0C68E8, --2 bytes Sango_MAX_EP = 0x0C68EA, --2 bytes Sango_Sprite_ID = 0x0C68F0, Sango_Sprite_Pallete = 0x0C6900, Sango_LVL = 0x0C6908, Sango_ATK = 0x0C6909, Sango_DEF = 0x0C690A, Sango_DEX = 0x0C690B, Sango_AGI = 0x0C690C, Sango_Select = 0x0C6919, --they are glowing Sango_isPresent = 0x0C691C, --he vanishes to fight at 6? Sango_Escaped = 0x0C691E, Sango_Status = 0x0C691F, Sango_Divine_Barrier = 0x0C6923, --how many turns does it last Sango_Sealing_Barrier = 0x0C6924, --how many turns does it last --Alone Shippo1_Start = 0x0C6928, Shippo1_Name_Index = 0x0C692C, Shippo1_Is_NPC = 0x0C692D, --1 is npc, 0 is player Shippo1_Item_1 = 0x0C6944, --4 bytes Shippo1_Item_2 = 0x0C6948, --4 bytes Shippo1_Item_3 = 0x0C694C, --4 bytes Shippo1_Item_4 = 0x0C6950, --4 bytes Shippo1_Item_5 = 0x0C6954, --4 bytes Shippo1_Item_6 = 0x0C6958, --4 bytes Shippo1_Item_7 = 0x0C695C, --4 bytes Shippo1_Item_8 = 0x0C6960, --4 bytes Shippo1_Item_9 = 0x0C6964, --4 bytes Shippo1_Item_10 = 0x0C6968, --4 bytes Shippo1_Equip1 = 0x0C6970, --Items 1 - 8 binary flag Shippo1_Equip2 = 0x0C6971, --Items 9 - 10 Shippo1_EXP = 0x0C6976, --2 bytes Shippo1_HP = 0x0C6978, --2 bytes Shippo1_EP = 0x0C697A, --2 bytes Shippo1_MAX_HP = 0x0C697C, --2 bytes Shippo1_MAX_EP = 0x0C697E, --2 bytes Shippo1_Sprite_ID = 0x0C6984, Shippo1_Sprite_Pallete = 0x0C6994, Shippo1_LVL = 0x0C699C, Shippo1_ATK = 0x0C699D, Shippo1_DEF = 0x0C699E, Shippo1_DEX = 0x0C699F, Shippo1_AGI = 0x0C69A0, Shippo1_Select = 0x0C69AD, --they are glowing Shippo1_isPresent = 0x0C69B0, --he vanishes to fight at 6? Shippo1_Escaped = 0x0C69B2, Shippo1_Status = 0x0C69B3, Shippo1_Divine_Barrier = 0x0C69B7, --how many turns does it last Shippo1_Sealing_Barrier = 0x0C69B8, --how many turns does it last --With Kirara Shippo2_Start = 0x0C69BC, Shippo2_Name_Index = 0x0C69C0, Shippo2_Is_NPC = 0x0C69C1, --1 is npc, 0 is player Shippo2_Item_1 = 0x0C69D8, --4 bytes Shippo2_Item_2 = 0x0C69DC, --4 bytes Shippo2_Item_3 = 0x0C69E0, --4 bytes Shippo2_Item_4 = 0x0C69E4, --4 bytes Shippo2_Item_5 = 0x0C69E8, --4 bytes Shippo2_Item_6 = 0x0C69EC, --4 bytes Shippo2_Item_7 = 0x0C69F0, --4 bytes Shippo2_Item_8 = 0x0C69F4, --4 bytes Shippo2_Item_9 = 0x0C69F8, --4 bytes Shippo2_Item_10 = 0x0C69FC, --4 bytes Shippo2_Equip1 = 0x0C6A04, --Items 1 - 8 binary flag Shippo2_Equip2 = 0x0C6A05, --Items 9 - 10 Shippo2_EXP = 0x0C6A0A, --2 bytes Shippo2_HP = 0x0C6A0C, --2 bytes Shippo2_EP = 0x0C6A0E, --2 bytes Shippo2_MAX_HP = 0x0C6A10, --2 bytes Shippo2_MAX_EP = 0x0C6A12, --2 bytes Shippo2_Sprite_ID = 0x0C6A18, Shippo2_Sprite_Pallete = 0x0C6A28, Shippo2_LVL = 0x0C6A30, Shippo2_ATK = 0x0C6A31, Shippo2_DEF = 0x0C6A32, Shippo2_DEX = 0x0C6A33, Shippo2_AGI = 0x0C6A34, Shippo2_Select = 0x0C6A41, --they are glowing Shippo2_isPresent = 0x0C6A44, --he vanishes to fight at 6? Shippo2_Escaped = 0x0C6A46, Shippo2_Status = 0x0C6A47, Shippo2_Divine_Barrier = 0x0C6A4B, --how many turns does it last Shippo2_Sealing_Barrier = 0x0C6A4C, --how many turns does it last --Shikioni 1 Shikioni1_Item_1 = 0x0C6CBC, --4 bytes Shikioni1_Item_2 = 0x0C6CC0, --4 bytes Shikioni1_Item_3 = 0x0C6CC4, --4 bytes Shikioni1_Item_4 = 0x0C6CC8, --4 bytes Shikioni1_Item_5 = 0x0C6CCC, --4 bytes Shikioni1_Item_6 = 0x0C6CD0, --4 bytes Shikioni1_Item_7 = 0x0C6CD4, --4 bytes Shikioni1_Item_8 = 0x0C6CD8, --4 bytes Shikioni1_Item_9 = 0x0C6CDC, --4 bytes Shikioni1_Item_10 = 0x0C6CE0, --4 bytes Shikioni1_Equip1 = 0x0C6CE8, --Items 1 - 8 binary flag Shikioni1_Equip2 = 0x0C6CE9, --Items 9 - 10 Shikioni1_EXP = 0x0C6CEE, --2 bytes Shikioni1_HP = 0x0C6CF0, --2 bytes Shikioni1_EP = 0x0C6CF2, --2 bytes Shikioni1_MAX_HP = 0x0C6CF4, --2 bytes Shikioni1_MAX_EP = 0x0C6CF6, --2 bytes Shikioni1_LVL = 0x0C6D14, Shikioni1_ATK = 0x0C6D15, Shikioni1_DEF = 0x0C6D16, Shikioni1_DEX = 0x0C6D17, Shikioni1_AGI = 0x0C6D18, Shikioni1_Select = 0x0C6D25, --they are glowing Shikioni1_Status = 0x0C6D2B, Shikioni1_Divine_Barrier = 0x0C6D2F, --how many turns does it last Shikioni1_Sealing_Barrier = 0x0C6D30, --how many turns does it last Shikioni1_Power_Leaf = 0x0C6D31, --how many turns does it last --0C6DC8 NPC1_Start = 0x0C6DC8, NPC1_Name_Index = 0x0C6DCC, NPC1_Item_1 = 0x0C6DE4, --4 bytes NPC1_Item_2 = 0x0C6DE8, --4 bytes NPC1_Item_3 = 0x0C6DEC, --4 bytes NPC1_Item_4 = 0x0C6DF0, --4 bytes NPC1_Item_5 = 0x0C6DF4, --4 bytes NPC1_Item_6 = 0x0C6DF8, --4 bytes NPC1_Item_7 = 0x0C6DFC, --4 bytes NPC1_Item_8 = 0x0C6E00, --4 bytes NPC1_Item_9 = 0x0C6E04, --4 bytes NPC1_Item_10 = 0x0C6E08, --4 bytes NPC1_Equip1 = 0x0C6E10, --Items 1 - 8 binary flag NPC1_Equip2 = 0x0C6E11, --Items 9 - 10 NPC1_EXP = 0x0C6E16, --2 bytes NPC1_HP = 0x0C6E18, --2 bytes NPC1_EP = 0x0C6E1A, --2 bytes NPC1_MAX_HP = 0x0C6E1C, --2 bytes NPC1_MAX_EP = 0x0C6E1E, --2 bytes NPC1_Sprite_ID = 0x0C6E24, NPC1_Sprite_Pallete = 0x0C6E34, NPC1_LVL = 0x0C6E3C, NPC1_ATK = 0x0C6E3D, NPC1_DEF = 0x0C6E3E, NPC1_DEX = 0x0C6E3F, NPC1_AGI = 0x0C6E40, NPC1_Select = 0x0C6E4D, --they are glowing NPC1_isPresent = 0x0C6E50, --he vanishes to fight at 6? NPC1_Escaped = 0x0C6E52, NPC1_Status = 0x0C6E53, NPC1_Divine_Barrier = 0x0C6E57, --how many turns does it last NPC1_Sealing_Barrier = 0x0C6E58, --how many turns does it last NPC1_Power_Leaf = 0x0C6E59, --how many turns does it last Moon_Phase = 0x107568, Moon_Step = 0x10756C, --80 steps outdoors a phase RNG1 = 0x107B98, RNG2 = 0x107B9C, Character_Menu = 0x24BF06, Character_Attacking = 0x24C152, X = 0x2AD49C, Y = 0x2AD4A0, Attack_Selected = 0x2B5E28 } --[[ Status 7 6 5 4 3 2 1 0 0 Defense 1 Paralysis 2 Poison 3 Blindness 4 Fatigue ]]-- local Attack = { --value for FUN_02068c64 [1] = {Name = "Attack", EP = 1, Value = 0x00}, [2] = {Name = "Charge", EP = 2, Value = 0}, [3] = {Name = "Shoot", EP = 1, Value = 0}, [4] = {Name = "Defense", EP = 0, Value = 0}, [6] = {Name = "?", EP = 0, Value = 0}, [7] = {Name = "?", EP = 0, Value = 0}, [8] = {Name = "?", EP = 0, Value = 0}, [9] = {Name = "?", EP = 0, Value = 0}, [10] = {Name = "Spirit Up", EP = 0, Value = 0}, [11] = {Name = "Item", EP = 0, Value = 0}, [12] = {Name = "?", EP = 0, Value = 0}, [13] = {Name = "Lightning Arrow", EP = 2, Value = 0x7B}, [14] = {Name = "Infernal Meteor", EP = 3, Value = 0x64}, [15] = {Name = "Heavenly Essence",EP = 3, Value = 0}, --heals [16] = {Name = "Power Leaf", EP = 2, Value = 0}, --boost attack for 3 turns [17] = {Name = "Iron Reaver", EP = 2, Value = 0x5F}, [18] = {Name = "Blades Of Blood", EP = 3, Value = 0x5A}, [19] = {"Wind Scar", EP = 4, Value = 0xAF}, [20] = {Name = "Backlash Wave", EP = 5, Value = 0xBE}, [21] = {Name = "Sacred Arrow", EP = 3, Value = 0x87}, [22] = {Name = "Purifying Light", EP = 3, Value = 0}, --Heals status [23] = {Name = "Divine Barrier", EP = 3, Value = 0}, [24] = {Name = "Wind Tunnel", EP = 5, Value = 0}, [25] = {Name = "Healing Sutra", EP = 3, Value = 0}, [26] = {Name = "Sealing Barrier", EP = 4, Value = 0}, [27] = {Name = "Binding Sutra", EP = 3, Value = 0}, [28] = {Name = "Fury Of Taishaku", EP = 3, Value = 0x6E}, [29] = {Name = "Hiraikotsu", EP = 3, Value = 0x82}, [30] = {Name = "Great Cannon", EP = 3, Value = 0x5A}, [31] = {Name = "Fox Fire", EP = 1, Value = 0x41}, [32] = {Name = "Smashing Top", EP = 2, Value = 0x50}, [33] = {Name = "Smoke Illusion", EP = 2, Value = 0} } local Battle = { Name_Index = {0,0,0,0,0,0,0,0,0,0,0,0,0}, EXP = {0,0,0,0,0,0,0,0,0,0,0,0,0}, HP = {0,0,0,0,0,0,0,0,0,0,0,0,0}, EP = {0,0,0,0,0,0,0,0,0,0,0,0,0}, Max_HP = {0,0,0,0,0,0,0,0,0,0,0,0,0}, Max_EP = {0,0,0,0,0,0,0,0,0,0,0,0,0}, Sprite_ID = {0,0,0,0,0,0,0,0,0,0,0,0,0}, Sprite_ID2 = {0,0,0,0,0,0,0,0,0,0,0,0,0}, Sprite_Palette = {0,0,0,0,0,0,0,0,0,0,0,0,0}, Sprite_Palette2 = {0,0,0,0,0,0,0,0,0,0,0,0,0}, LVL = {0,0,0,0,0,0,0,0,0,0,0,0,0}, ATK = {0,0,0,0,0,0,0,0,0,0,0,0,0}, DEF = {0,0,0,0,0,0,0,0,0,0,0,0,0}, DEX = {0,0,0,0,0,0,0,0,0,0,0,0,0}, AGI = {0,0,0,0,0,0,0,0,0,0,0,0,0} } local NPC = { [0] = { Name = "Iron Dragon Spawn", Sprite_ID = 0x0114, Sprite_Pallete = 0x0114, Width = 80, Height = 76}, [1] = { Name = "Fire Dragon Spawn", Sprite_ID = 0x0114, Sprite_Pallete = 0x0115, Width = 80, Height = 76}, [2] = { Name = "Wandering Spirit", Sprite_ID = 0x0116, Sprite_Pallete = 0x0116, Width = 16, Height = 30}, [3] = { Name = "Lost Soul", Sprite_ID = 0x0116, Sprite_Pallete = 0x0118, Width = 16, Height = 30}, [4] = { Name = "Banshee", Sprite_ID = 0x011A, Sprite_Pallete = 0x011A, Width = 29, Height = 48}, [5] = { Name = "Ten-Eyed Monster", Sprite_ID = 0x011B, Sprite_Pallete = 0x011B, Width = 44, Height = 41}, [6] = { Name = "Disembodied Soul", Sprite_ID = 0x011B, Sprite_Pallete = 0x011C, Width = 44, Height = 41}, [7] = { Name = "Cackling Skull", Sprite_ID = 0x0000, Sprite_Pallete = 0x0000, Width = 255, Height = 255}, [8] = { Name = "Cursed Skull", Sprite_ID = 0x0000, Sprite_Pallete = 0x0000, Width = 255, Height = 255}, [9] = { Name = "Little Devil", Sprite_ID = 0x011D, Sprite_Pallete = 0x011D, Width = 31, Height = 43}, [10] = { Name = "Vile Demon", Sprite_ID = 0x011D, Sprite_Pallete = 0x011E, Width = 31, Height = 43}, [11] = { Name = "Malicious Demon", Sprite_ID = 0x011D, Sprite_Pallete = 0x011F, Width = 31, Height = 43}, [12] = { Name = "Wild Hermit", Sprite_ID = 0x0120, Sprite_Pallete = 0x0120, Width = 50, Height = 65}, [13] = { Name = "Masked Priest", Sprite_ID = 0x0120, Sprite_Pallete = 0x0121, Width = 50, Height = 65}, [14] = { Name = "Demon Handler", Sprite_ID = 0x0122, Sprite_Pallete = 0x0122, Width = 29, Height = 54}, [15] = { Name = "Revenant", Sprite_ID = 0x0122, Sprite_Pallete = 0x0124, Width = 29, Height = 54}, [16] = { Name = "Savage Rat", Sprite_ID = 0x0126, Sprite_Pallete = 0x0126, Width = 28, Height = 32}, [17] = { Name = "Filthy Rat", Sprite_ID = 0x0126, Sprite_Pallete = 0x0127, Width = 28, Height = 32}, [18] = { Name = "Giant Mantis", Sprite_ID = 0x0000, Sprite_Pallete = 0x0000, Width = 255, Height = 255}, [19] = { Name = "Shadow Mantis", Sprite_ID = 0x0000, Sprite_Pallete = 0x0000, Width = 255, Height = 255}, [20] = { Name = "Giant Spider", Sprite_ID = 0x0128, Sprite_Pallete = 0x0128, Width = 29, Height = 26}, [21] = { Name = "Hirasaka Spider", Sprite_ID = 0x0128, Sprite_Pallete = 0x012A, Width = 29, Height = 26}, [22] = { Name = "Sandman", Sprite_ID = 0x012C, Sprite_Pallete = 0x012C, Width = 30, Height = 46}, [23] = { Name = "Sludge", Sprite_ID = 0x012C, Sprite_Pallete = 0x012E, Width = 30, Height = 46}, [24] = { Name = "Wild Bear", Sprite_ID = 0x0130, Sprite_Pallete = 0x0130, Width = 45, Height = 52}, [25] = { Name = "Bloody Bear", Sprite_ID = 0x0130, Sprite_Pallete = 0x0131, Width = 45, Height = 52}, [26] = { Name = "Rock Monkey", Sprite_ID = 0x0132, Sprite_Pallete = 0x0132, Width = 46, Height = 36}, [27] = { Name = "Jizo Monkey", Sprite_ID = 0x0132, Sprite_Pallete = 0x0134, Width = 46, Height = 36}, [28] = { Name = "Iorimaru", Sprite_ID = 0x0136, Sprite_Pallete = 0x0136, Width = 23, Height = 43}, [29] = { Name = "Tosen King", Sprite_ID = 0x0138, Sprite_Pallete = 0x0138, Width = 23, Height = 43}, [30] = { Name = "Senryo", Sprite_ID = 0x013A, Sprite_Pallete = 0x013A, Width = 34, Height = 49}, [31] = { Name = "Manryo", Sprite_ID = 0x0000, Sprite_Pallete = 0x0000, Width = 255, Height = 255}, [32] = { Name = "Tengu", Sprite_ID = 0x013E, Sprite_Pallete = 0x013E, Width = 58, Height = 65}, [33] = { Name = "Dark Tengu", Sprite_ID = 0x013E, Sprite_Pallete = 0x0141, Width = 58, Height = 65}, [34] = { Name = "Wandering Demon", Sprite_ID = 0x0144, Sprite_Pallete = 0x0144, Width = 44, Height = 79}, [35] = { Name = "Iron-Souled Demon", Sprite_ID = 0x0144, Sprite_Pallete = 0x0147, Width = 44, Height = 79}, [36] = { Name = "One-Eyed Priest", Sprite_ID = 0x0144, Sprite_Pallete = 0x014A, Width = 44, Height = 79}, [37] = { Name = "Antero Demon", Sprite_ID = 0x014D, Sprite_Pallete = 0x014D, Width = 40, Height = 55}, [38] = { Name = "Ninestar Demon", Sprite_ID = 0x014D, Sprite_Pallete = 0x014E, Width = 40, Height = 55}, [39] = { Name = "Postero Demon", Sprite_ID = 0x014F, Sprite_Pallete = 0x014F, Width = 35, Height = 56}, [40] = { Name = "Shrouded Demon", Sprite_ID = 0x014F, Sprite_Pallete = 0x0150, Width = 35, Height = 56}, [41] = { Name = "Demon of Misfortune", Sprite_ID = 0x0151, Sprite_Pallete = 0x0151, Width = 50, Height = 111}, [42] = { Name = "Slashing Demon", Sprite_ID = 0x0151, Sprite_Pallete = 0x0156, Width = 50, Height = 111}, [43] = { Name = "Hades Demon", Sprite_ID = 0x0151, Sprite_Pallete = 0x015B, Width = 50, Height = 111}, [44] = { Name = "Saimyosho", Sprite_ID = 0x0160, Sprite_Pallete = 0x0160, Width = 40, Height = 38}, [45] = { Name = "Saimyosho", Sprite_ID = 0x0000, Sprite_Pallete = 0x0000, Width = 255, Height = 255}, [46] = { Name = "Saimyosho", Sprite_ID = 0x0000, Sprite_Pallete = 0x0000, Width = 255, Height = 255}, [47] = { Name = "Saimyosho", Sprite_ID = 0x0000, Sprite_Pallete = 0x0000, Width = 255, Height = 255}, [48] = { Name = "Wind Spirit", Sprite_ID = 0x0167, Sprite_Pallete = 0x0167, Width = 45, Height = 50}, [49] = { Name = "Wind God", Sprite_ID = 0x0167, Sprite_Pallete = 0x0168, Width = 45, Height = 50}, [50] = { Name = "Ice Dragon Spawn", Sprite_ID = 0x0114, Sprite_Pallete = 0x0169, Width = 80, Height = 76}, [51] = { Name = "Light Demon", Sprite_ID = 0x014D, Sprite_Pallete = 0x016A, Width = 40, Height = 55}, [52] = { Name = "Dark Demon", Sprite_ID = 0x014F, Sprite_Pallete = 0x016B, Width = 35, Height = 56}, [53] = { Name = "Akagane", Sprite_ID = 0x016C, Sprite_Pallete = 0x016C, Width = 65, Height = 109}, [54] = { Name = "Akagane", Sprite_ID = 0x016C, Sprite_Pallete = 0x016C, Width = 65, Height = 109}, [55] = { Name = "Akagane", Sprite_ID = 0x016C, Sprite_Pallete = 0x016C, Width = 65, Height = 109}, [56] = { Name = "Burai", Sprite_ID = 0x016F, Sprite_Pallete = 0x016F, Width = 66, Height = 78}, [57] = { Name = "Datara", Sprite_ID = 0x0170, Sprite_Pallete = 0x0170, Width = 55, Height = 106}, [58] = { Name = "Gorai", Sprite_ID = 0x0175, Sprite_Pallete = 0x0175, Width = 35, Height = 67}, [59] = { Name = "Gorai", Sprite_ID = 0x0175, Sprite_Pallete = 0x0175, Width = 35, Height = 67}, [60] = { Name = "Gorai", Sprite_ID = 0x0175, Sprite_Pallete = 0x0175, Width = 35, Height = 67}, [61] = { Name = "Haniwa Golem 1", Sprite_ID = 0x0177, Sprite_Pallete = 0x0177, Width = 23, Height = 36}, [62] = { Name = "Haniwa Golem 2", Sprite_ID = 0x0178, Sprite_Pallete = 0x0178, Width = 25, Height = 27}, [63] = { Name = "Haniwa Golem 3", Sprite_ID = 0x017A, Sprite_Pallete = 0x017A, Width = 64, Height = 48}, [64] = { Name = "Demon Puppet", Sprite_ID = 0x017C, Sprite_Pallete = 0x017C, Width = 80, Height = 80}, [65] = { Name = "Demon Puppet", Sprite_ID = 0x017C, Sprite_Pallete = 0x017C, Width = 80, Height = 80}, [66] = { Name = "Masuko", Sprite_ID = 0x017D, Sprite_Pallete = 0x017D, Width = 121, Height = 116}, [67] = { Name = "Mitsurugi", Sprite_ID = 0x017E, Sprite_Pallete = 0x017E, Width = 37, Height = 44}, [68] = { Name = "Mitsurugi", Sprite_ID = 0x017E, Sprite_Pallete = 0x017E, Width = 37, Height = 44}, [69] = { Name = "Sara", Sprite_ID = 0x0180, Sprite_Pallete = 0x0180, Width = 23, Height = 45}, [70] = { Name = "Sara", Sprite_ID = 0x0180, Sprite_Pallete = 0x0180, Width = 23, Height = 45}, [71] = { Name = "Monk Sen", Sprite_ID = 0x0182, Sprite_Pallete = 0x0182, Width = 33, Height = 61}, [72] = { Name = "Sugagaki", Sprite_ID = 0x0184, Sprite_Pallete = 0x0184, Width = 64, Height = 64}, [73] = { Name = "Sugagaki", Sprite_ID = 0x0184, Sprite_Pallete = 0x0184, Width = 64, Height = 64}, [74] = { Name = "Usuba", Sprite_ID = 0x0187, Sprite_Pallete = 0x0187, Width = 78, Height = 76}, [75] = { Name = "Crash", Sprite_ID = 0x0000, Sprite_Pallete = 0x0000, Width = 255, Height = 255}, [241] = { Name = "Crash", Sprite_ID = 0x0000, Sprite_Pallete = 0x0000, Width = 255, Height = 255}, [242] = { Name = "No name", Sprite_ID = 0x0000, Sprite_Pallete = 0x0000, Width = 255, Height = 255}, [243] = { Name = "Zombie", Sprite_ID = 0x00FA, Sprite_Pallete = 0x00FA, Width = 20, Height = 46}, [244] = { Name = "Zombie 2", Sprite_ID = 0x00FB, Sprite_Pallete = 0x00FB, Width = 48, Height = 64}, [245] = { Name = "Possessed Warrior", Sprite_ID = 0x00FC, Sprite_Pallete = 0x00FC, Width = 23, Height = 42}, [246] = { Name = "Deceased Warrior", Sprite_ID = 0x00FC, Sprite_Pallete = 0x00FE, Width = 23, Height = 42}, [247] = { Name = "Demon Soldier", Sprite_ID = 0x0100, Sprite_Pallete = 0x0100, Width = 59, Height = 35}, [248] = { Name = "Cave Insect", Sprite_ID = 0x0101, Sprite_Pallete = 0x0101, Width = 53, Height = 36}, [249] = { Name = "Rock Insect", Sprite_ID = 0x0101, Sprite_Pallete = 0x0103, Width = 53, Height = 36}, [250] = { Name = "Slimy Bug", Sprite_ID = 0x0101, Sprite_Pallete = 0x0105, Width = 53, Height = 36}, [251] = { Name = "Giant Centipede", Sprite_ID = 0x0107, Sprite_Pallete = 0x0107, Width = 93, Height = 78}, [252] = { Name = "Poisonous Centipede", Sprite_ID = 0x0107, Sprite_Pallete = 0x010A, Width = 93, Height = 78}, [253] = { Name = "Steel Centipede", Sprite_ID = 0x0107, Sprite_Pallete = 0x010D, Width = 93, Height = 78}, [254] = { Name = "Poisonous Child", Sprite_ID = 0x0110, Sprite_Pallete = 0x0110, Width = 20, Height = 33}, [255] = { Name = "Messenger of Hades", Sprite_ID = 0x0110, Sprite_Pallete = 0x0112, Width = 20, Height = 33} } --starts from 1, 24BF06 for menu, 0C4A64 for overworld local Character = { "Janis 1", --1 start "Janis 2", --2 spell unlocked "Janis 3", --3 spear unlocked "Inuyasha 1", --4 Demon "Inuyasha 2", --5 Human "Kagome", --6 "Miroku", --7 "Sango", --8 "Shippo 1", --9 Alone, no Kirara "Shippo 2", --10 Riding Kirara --not sure if following are playable "Kohaku", --11 "Koga", --12 "Tsugumi", --13 "Sesshomaru", --14 "Shiki Demon 1", --15 from start "Shiki Demon 2", --16 from start } --total amount of experience at current level to reach next. So you need 17 xp total to reach level 2 from 1 local XP = { [1] = 17, [2] = 49, [3] = 94, [4] = 153, [5] = 231, [6] = 330, [7] = 450, [8] = 590, [9] = 746, [10] = 919, [11] = 1109, [12] = 1314, [13] = 1533, [14] = 1769, [15] = 2026, [16] = 2300, [17] = 2589, [18] = 2899, [19] = 3227, [20] = 3572, [21] = 3933, [22] = 4308, [23] = 4698, [24] = 5102, [25] = 5523, [26] = 5959, [27] = 6412, [28] = 6884, [29] = 7377, [30] = 7889, [31] = 8422, [32] = 8977, [33] = 9551, [34] = 10147, [35] = 10765, [36] = 11401, [37] = 12056, [38] = 12734, [39] = 13433, [40] = 14154, [41] = 14896, [42] = 15661, [43] = 16443, [44] = 17244, [45] = 18066, [46] = 18905, [47] = 19764, [48] = 20645, [49] = 21545, [50] = 22466, [51] = 23404, [52] = 24363, [53] = 25342, [54] = 26342, [55] = 27342, [56] = 28342, [57] = 29342, [58] = 30342, [59] = 31367, [60] = 32392, [61] = 33417, [62] = 34442, [63] = 35467, [64] = 36517, [65] = 37567, [66] = 38617, [67] = 39667, [68] = 40717, [69] = 41817, [70] = 42917, [71] = 44017, [72] = 45117, [73] = 46217, [74] = 47367, [75] = 48517, [76] = 49667, [77] = 50817, [78] = 51967, [79] = 53167, [80] = 54367, [81] = 55567, [82] = 56767, [83] = 57967, [84] = 59217, [85] = 60467, [86] = 61717, [87] = 62967, [88] = 64217, [89] = 65535, [90] = 0 } --checks the mouse position during a click relative to the client and see if its within some range function get_mouse_pos(x,y,width,height) mx = input.getmouse().X my = input.getmouse().Y --input.getmouse() is already relative to client :) gui.drawRectangle(x, y, width, height, "red", nil) --So I know where the heck are the clickboxes --subtract 192, since top of bottom screen is y == 0 for mouse Y if (mx >= x and mx <= x+width) and (my >= y-192 and my <= y+height*2-192) then return true end return false end function MLA(A,B,C) --http://tasvideos.org/forum/viewtopic.php?p=489512#489512 local reslow = A * (B%0x10000) -- A multiplied with lower 16 bits of B local reshigh = A * (math.floor(B/0x10000)%0x10000) -- A multiplied with higher 16 bits of B (shifted down) reshigh = reshigh%0x10000 -- only 16 bits can matter here if result is 32 bits return (reshigh*0x10000 + reslow + C)%0x100000000 -- recombine and cut off to 32 bits end function MUL64(A,B) --http://tasvideos.org/forum/viewtopic.php?p=489523#489523 local reslow = A * (B%0x10000) -- 0x0000LLLLLLLLLLLL local reshigh = A * math.floor(B/0x10000) -- 0xHHHHHHHHHHHH0000 local reslow_lo = reslow%0x100000000 -- 0x00000000LLLLLLLL local reslow_hi = math.floor(reslow/0x100000000) -- 0x0000LLLL00000000 local reshigh_lo = reshigh%0x10000 -- 0x00000000HHHH0000 local reshigh_hi = math.floor(reshigh/0x10000) -- 0xHHHHHHHH00000000 local low32 = reshigh_lo*0x10000 + reslow_lo local high32 = reshigh_hi + reslow_hi high32 = high32 + math.floor(low32/0x100000000) -- add what carries over low32 = low32%0x100000000 -- 32 bit high32 = high32%0x100000000 -- 32 bit return low32,high32 end function rng(r0, rng1, rng2) --020461c4: e59f1050 ldr r1, [pc, #+0x50] local r1 = 0 local r2, r3 = 0,0 local r4, lr, carry = 0,0,0 local rng1_2, rng2_2 = 0, 0 r4, lr = MUL64(0x6C078965, rng1) lr = MLA(0x6C078965, rng2, lr) lr = MLA(0x5D588B65, rng1, lr) r3 = 0x00269EC3 + r4 carry = r3 > 4294967295 and 1 or 0 rng1_2 = r3 % 4294967296 --107b98 r4 = lr + carry rng2_2 = r4 --107b9c if (r0 ~= 0) then r4 = (r4 * r0) >> 0x20 end r0 = r4 return r0, rng1_2, rng2_2 end function update_battle() local start = Addresses.NPC1_Start --0x94 long for i = 0, 11 do Battle.Name_Index[i+1] = read8(start + 0x4 + (i * 0x94)) Battle.EXP[i+1] = read16(start + 0x4E + (i * 0x94)) Battle.HP[i+1] = read16(start + 0x50 + (i * 0x94)) Battle.EP[i+1] = read16(start + 0x52 + (i * 0x94)) Battle.Max_HP[i+1] = read16(start + 0x54 + (i * 0x94)) Battle.Max_EP[i+1] = read16(start + 0x56 + (i * 0x94)) Battle.Sprite_ID[i+1] = read16(start + 0x5C + (i * 0x94)) Battle.Sprite_ID2[i+1] = read8(start + 0x5D + (i * 0x94)) Battle.Sprite_Palette[i+1] = read16(start + 0x6C + (i * 0x94)) Battle.Sprite_Palette2[i+1] = read8(start + 0x6D + (i * 0x94)) Battle.LVL[i+1] = read8(start + 0x74 + (i * 0x94)) Battle.ATK[i+1] = read8(start + 0x75 + (i * 0x94)) Battle.DEF[i+1] = read8(start + 0x76 + (i * 0x94)) Battle.DEX[i+1] = read8(start + 0x77 + (i * 0x94)) Battle.AGI[i+1] = read8(start + 0x78 + (i * 0x94)) end end local image_height = 22 function display_battle() local text_x = 264 local text_y = 8 local name = "" local image_x = 0 local total_xp = 0 local total_npcs = 0 for i = 1, 13 do if NPC[Battle.Name_Index[i]] ~= 0 then if Battle.Sprite_ID[i] == NPC[Battle.Name_Index[i]].Sprite_ID then total_xp = total_xp + math.floor(Battle.EXP[i]/6) total_npcs = total_npcs + 1 if NPC[i].Name ~= nil then name = NPC[Battle.Name_Index[i]].Name image_width = math.floor(NPC[Battle.Name_Index[i]].Width/(NPC[Battle.Name_Index[i]].Height/image_height)) image_x = (image_width > 29) and text_x-12 or text_x-12+(math.abs(image_width-29)/2) image(name .. ".png", image_x, text_y, image_width, image_height) else name = "" end text(text_x + 16,text_y, string.format('%s (%d) EXP: %d', name, Battle.Name_Index[i],math.floor(Battle.EXP[i]/6))) text_y = text_y + 8 text(text_x + 16,text_y, string.format('%d LV: %d HP: %d/%d EP: %d/%d', i, Battle.LVL[i], Battle.HP[i], Battle.Max_HP[i], Battle.EP[i], Battle.Max_EP[i])) text_y = text_y + 8 text(text_x + 16,text_y, string.format('ATK: %d DEF: %d DEX: %d AGI: %d EXP: %d', Battle.ATK[i], Battle.DEF[i], Battle.DEX[i], Battle.AGI[i], Battle.EXP[i])) text_y = text_y + 8 end end end text(text_x,0, string.format("NPCS: %d Total XP: %d", total_npcs, total_xp)) end -- local toggle = {0,0,1,1,0,1,1,1,0,1} local toggle = {0,0,0,0,0,0,0,0,0,0} function display_stats() local text_x = 260 local text_y = 216 local box_y = 192; local box_x = {[1] = 0, [2] = 12, [3] = 24, [4] = 36, [5] = 48, [6] = 60, [7] = 72, [8] = 84, [9] = 96, [10] = 108}; local box_width = 8; local box_height = 8; local start = Addresses.Janis1_EXP for i = 1, 10 do if toggle[i] == 1 then local XP = read16(start + (i-1) * 0x94) local HP = read16(start + 0x2 + (i-1) * 0x94) local EP = read16(start + 0x4 + (i-1) * 0x94) local Max_HP = read16(start + 0x6 + (i-1) * 0x94) local Max_EP = read16(start + 0x8 + (i-1) * 0x94) local LVL = read8(start + 0x26 + (i-1) * 0x94) local ATK = read8(start + 0x27 + (i-1) * 0x94) local DEF = read8(start + 0x28 + (i-1) * 0x94) local DEX = read8(start + 0x29 + (i-1) * 0x94) local AGI = read8(start + 0x2A + (i-1) * 0x94) color = "yellow" text(text_x,text_y, string.format('%s', Character[i])) text_y = text_y + 8 text(text_x,text_y, string.format('LV: %d HP: %d/%d EP: %d/%d', LVL, HP, Max_HP, EP, Max_EP)) text_y = text_y + 8 text(text_x,text_y, string.format('ATK: %d DEF: %d DEX: %d AGI: %d EXP: %d', ATK, DEF, DEX, AGI, XP)) text_y = text_y + 8 else color = "green" end gui.drawRectangle(box_x[i]+text_x,box_y,box_width,box_height, color, nil) if (input.getmouse().Left and get_mouse_pos(box_x[i]+text_x,box_y,box_width,box_height)) then toggle[i] = (toggle[i] == 1 and 0 or 1) --flip them end end end --0C6E24 local i = 1 console.clear() update_battle() -- console.log(string.format('%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d', Battle.Sprite_ID[i], Battle.Sprite_ID2[i], Battle.Sprite_Palette[i], Battle.Sprite_Palette2[i], Battle.EXP[i], Battle.Max_HP[i], Battle.Max_EP[i], Battle.LVL[i], Battle.ATK[i], Battle.DEF[i], Battle.DEX[i], Battle.AGI[i])) while true do local text_x = 260 local text_y = 202 local area = read16(Addresses.Area) local x = read32(Addresses.X) local y = read32(Addresses.Y) display_stats() text(text_x, text_y, string.format('X: %d Y: %d\nArea: %d', x, y, area)) text_y = text_y + 40 -- text(text_x, text_y, string.format('MX: %d MY: %d', input.getmouse().X, input.getmouse().Y)) -- if area == 7 then update_battle() display_battle() -- end emu.frameadvance() end
Notes: 1. There's 3 Janis characters. 1st one is from the start. You're completely defenseless, and cannot escape from battle. The 2nd one is after unlocking spells. The last one has a spear. 2. Similarly, there's 2 Inuyasha's (demon/human) and 2 Shippos (with/without Kirara) 3. Every character uses the same XP to next amount. They cap at level 90 4. Attack/Charge is based on your Attack/Dex, and the opponent's DEF. However, specials like Wind Scar is entirely based on your level. Unfortunately, this means you need to grind. 5. I couldn't figure out the NPC ids, but I did record their sprite/palletehttps://docs.google.com/spreadsheets/d/13ly3T8zQA1WYVDUFytGlAuNMhFBxtflyWnkJAUxzjRA/edit?usp=sharing
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
There's no info anywhere on this game strategy speedrun-wise so I decided to post here from my discord comments when I played it. I used this as guide: https://strategywiki.org/wiki/Freshly-Picked_Tingle%27s_Rosy_Rupeeland wch file:
SystemID NDS
002B7760	d	u	0	Main RAM	
002B775C	d	u	0	Main RAM	
00298A98	b	u	0	Main RAM	
00298978	b	u	0	Main RAM	
00298954	b	u	0	Main RAM	
002986CC	b	u	0	Main RAM	
002985F4	b	u	0	Main RAM	
002985D0	b	u	0	Main RAM	
00298588	b	u	0	Main RAM	
00298564	b	u	0	Main RAM	
0029848C	b	u	0	Main RAM	
00298468	b	u	0	Main RAM	
00298420	b	u	0	Main RAM	item 3 amount
002983FC	b	u	0	Main RAM	item 2 amount
002983D8	b	u	0	Main RAM	item 1 amount
0027BDCC	d	u	0	Main RAM	rupees thrown
0027B614	d	u	0	Main RAM	rupees
00244D1C	b	u	0	Main RAM	
00105664	d	u	0	Main RAM	rupees thrown
00105644	d	u	0	Main RAM	time before shrink
00298810	b	u	0	Main RAM	
002988C4	b	u	0	Main RAM	

Some notes: 1. Item addresses are static, but instead of being fixed item wise, it's based on position. So everytime you get a new item, the amount in "item 1 amount" will change, and the previous one gets pushed to "item 2 amount". 2. 0027B614 is the main amount of rupees you have. 3. "time before shrink" is a counter that runs every single frame in the overworld. Once it reaches 0, the tower shrinks, and you become unable to access the latest region you just unlocked. 4. While you can throw 495,400 rupees immediately to access Auros Ruins, you need 5 Super Rupees to start the Uncle Rupee fight from the following: * Hometown Prairie (Start) * Cape Treasure (1,650 rupees) * Deku Forest (11,650 rupees) * Gooey Swamp (56,650 rupees) * Mount Desma (191,650 rupees) * Fairy Garden (313,150 rupees; to skip Auros Ruins bosses using clip) * Auros Ruins (495,400 rupees) 5. There's 4 speedruns of this game, 1st being 3 hours 50 minutes long https://www.speedrun.com/trr 6. https://www.nicovideo.jp/watch/sm17003432 there's a single TAS of Auros Ruins boss fight, but RTA skips it by clipping out of bounds in Fairy Garden using the fairy cart.
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Hey, I remember you posting about it on discord a year ago. You went radio silent on it, so I thought you stopped. Glad you both managed to finish it. Congrats!
This is the debut submission of Mother 3 on TASVideos, improving on sprocket2006’s previous effort by 15 minutes and surpassing the current RTA glitchless record by 50 minutes using previously unthought of strategies, optimizations, and manipulation. The RTA time of this run is 4:56:27
1. There's glitches in this game? :o I searched the entire submission notes, and the only one mentioned was the save one. 2. How does RTA time this? 50 minutes faster but 4:56?
RNG Manipulation / Select Cancels Because of Mother 3’s usage of dynamic memory, RAM Watch can’t really be used to any benefit. Combat RNG isn’t determined by frames, but rather rolled when you select the enemy or action. You can select the target and then wait for however long and the RNG won’t change. We manipulate RNG in this game through repeated selection and cancellation of a certain action or enemy, which allows the RNG to change. This can be repeated until you get the desired RNG, a tactic we refer to as ‘select cancelling’.
Did you use any scripts to display information at least? Did you just trailed and errored every fight?
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
The current RTA 100% category allows ACE and no ACE. For ACE, the current route is:
Flo203 wrote:
so current WR was before troll warp and had to do Purple deck + Red deck both beat the game then Green deck dungeons warp and blue deck ended on first night after greathall ceremony
Then it was discovered that you can pick up cards before grabbing the wand. This allows you to get green deck's sole exclusive card, "Salazar Slytherin", by buying a chocolate frog, then hoping it gives you it.
Flo203 wrote:
This route beats the game once on Red deck, does troll warp on blue deck and on purple deck the last combo we need is also right after first night, and literally the only thing we need to collect from green deck is the card in the sweet shop (and also do infinite card glitch to get the cards from that deck) But now that we can get everything from green deck before selecting red deck we get to completely skip having to warp to troll on 3rd playthrough So old route was: 1st playthrough 1h20, 2nd playthrough 1h20, 3rd playthrough 11mins, 4th playthrough about 11mins as well This new route (assuming it works) is: 1st playthrough 1h20, 2nd playthrough 40mins, 3rd playthrough roughly 11mins maybe a bit more and no need for 4th playthrough 🙂 only thing that could improve this would be full ace on combo + minigames + cards + potion recipes purple blue are the long ones
So I got curious on if that's possible. Here's my notes on attempting to get all cards/combos using ACE. All in WRAM: Minigames = 0DDF Recipes = 0E01 Card 1 = 650A Card 100 = 656E Card combo 1 = 6570 Card combo 7 = 6576 I don't think it's feasible to get minigames/recipes using items (yet). However, it should be possible to at least get all cards and combos in 1 go. 1st payload attempt
3E 64 LD A, $64 100 cards, so use A as both the amount to give + loop. 62 Dragonskin Gloves at 3844, 100 Superior Gloves at 11,000
21 0A D5 LD HL, $D50A 33 Pointed Hats at 1914, 10 Superior Pointed Hats at 1250, 213 Lined Hats at 426,000
22 LDI [HL], A 34 Plain Work Robes at 2720
3D DEC A 61 Winter Cloaks at 9150
20 FC JRZ, $F01B can be modified to jump more, since gaps in items; 32 Leather Belts at 96, 236+ Fine Fettle Belts at 23,600+
3D DEC A change A to FF; 61 Plain Boots at 305
06 09 LD B, $09 6 Superior Boots at 540, 9 Hardened Boots at 4050
22 LDI [HL], A 34 Pack of Name Tags at 340
05 DEC B 5 Antidotes at 750
20 FC JRZ, $F022 can be modified to jump more, since gaps in items; 32 Potion Kit Bags at 320. At least 234+ Collapsible Cauldrons at 11,934+
0E D2 LD C, $D2 14 Copper Cauldrons at 1414, 210 Brass Cauldrons at 31,710
7A LD A, D D was $41; 122 Silver Cauldrons at 30,622
E2 LDH C, A Puts $41 into FFD2; 226 Self-stirring Cauldrons at 30,622
31 F9 CF LD SP, $CFF9 Fixes stack; 49 Best Blowing Gum at 196, 249 Pumpkin Pasties at 2490, 207 Cauldron Cakes at 1656
C8 RET 201 Licorice Wands at 402
This took 25 items, and costed 634,329 sickles. The main contributor of this is D5 in "21 0A D5". This forces me to buy 213 Lined Hats at the cost of 426,000 sickles. This is completely impractical, so I modified to the following
3D DEC A 255 cards will crash the game on view, so subtract 1
24 INC H H starts out at $d1, so do this 4 times
24 INC H
24 INC H
24 INC H
22 LDI [HL], A
05 DEC B B starts at $71
20 FC JRZ, $F01B can be modified to jump more, since gaps in items
0E D2 LD C, $D2
7A LD A, D
E2 LDH C, A
31 F9 CF LD SP, $CFF9
C8 RET
This now takes only 17 items, while removing the need for Lined Hats. Now it costs ~100k sickles. Unfortunately, since A was FE, the combos are now missing the following: Create Potion (Red/Purple) Extra Credit (Purple) Sleep (Blue) Slow (All) Telegraph Punch (Red/Blue/Green) Level Up (All, Club after Deliver Norbert) Blasting Curse (All) This is really bad, since that means you have to beat the game twice using Blue/Purple deck.
3D DEC A 255 cards will crash the game on view, so subtract 1
24 INC H H starts out at $d1, so do this 4 times
24 INC H
24 INC H
24 INC H
06 6A LD B, $6A This makes the loop stop at $D570
22 LDI [HL], A
05 DEC B
20 FC JRZ, $F01B can be modified to jump more, since gaps in items
3C INC A Make A FF again
06 09 LD B, $09
22 LDI [HL], A
05 DEC B
20 FC JRZ, $F022
0E D2 LD C, $D2
7A LD A, D
E2 LDH C, A
31 F9 CF LD SP, $CFF9
C8 RET
I tried replacing 3E 64 with a much smaller 06 6A H is now obtained in 4 batches of 36 items ($24).
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
I just dumped that giant table, because it actually makes testing things easier. Right now, I have to beat Beavern, then turbo through the plot to CurseLamp, then finally beat the 3 Arena fights. By freezing the mentioned addresses the 386 (Beavern), 7 (Cursed Lamp), then 131-138, I can fight each boss without moving around. The values were from the japanese debug menu, since the english version does not show this information in enemy check. Beavern's overworld ID is 0x37. The guy with the CursedLamp is 0x3C. Unfortunately, at this point in the game, I was not able to find an npc in GreatLog that has those 2 IDs, so a run of the game that tries to obsolete the old run must beat Desert "normally". The Water world can be easily cleared by going to Map tile X:3, Y:2, then holding up/down. Move 2 screens to the right (X: 5) to see a cave. Enter it for the HalMirror.
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Oh wow, nice.
This movie was made specifically for the OoT Practice Rom known as GZ. GZ gives the possibility for creating savestates and playing back movies (macros) inside OoT. This makes it able to play back on console. This movie best plays back directly on the GZ rom on a real N64, by loading it via an Everdrive or similar.
I'm guessing without the practice ROM, the run doesn't sync on console? I have 0 idea what to make of a movie that console verifies on a practice ROM, yet doesn't on the original (unless I interpret it wrong.) Is it possible to extract the inputs from the macro to work on a non practice ROM? I'm very curious.
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Battle data for Tara; scrapped from the japanese version's debug menu. The addresses for looking up these are: U CFDD CFDF CFE1 J CFBA CFBC CFBE All stats are hardcoded:
Index ID Name Skill 1 Name Skill 2 Name Skill 3 Name Skill 4 Name EXP Friend prob. Level Max HP Max MP ATK DEF AGI INT Bravery Prudence Compassion Motivation
0 0 255 No skills 255 No skills 255 No skills 255 No skills 0 0 0 0 0 0 0 0 0 0 0 0 0
1 10 Slime 255 No skills 255 No skills 255 No skills 255 No skills 0 0 1 25 0 10 7 8 7 200 200 100 200
2 2 SpotSlime 255 No skills 255 No skills 255 No skills 255 No skills 3 1 1 8 0 7 5 8 4 120 80 60 200
3 145 CactiBall 255 No skills 255 No skills 255 No skills 255 No skills 6 2 5 10 9 11 4 10 10 100 70 150 200
4 177 Catapila 37 Upper 255 No skills 255 No skills 255 No skills 7 2 2 12 21 14 6 15 19 90 110 150 200
5 57 Crestpent 51 StopSpell 255 No skills 255 No skills 255 No skills 10 2 1 14 18 16 11 13 34 100 150 200 200
6 52 KingCobra 95 PoisonHit 255 No skills 255 No skills 255 No skills 17 3 1 18 13 20 11 18 40 120 200 170 200
7 295 CurseLamp 37 Upper 255 No skills 255 No skills 255 No skills 300 0 5 220 8 27 10 44 65 230 150 40 200
8 295 CurseLamp 37 Upper 255 No skills 255 No skills 255 No skills 0 0 5 54 21 27 31 44 53 130 100 120 200
9 10 Slime 255 No skills 255 No skills 255 No skills 255 No skills 9 2 4 27 21 28 9 27 70 180 180 80 150
10 80 Anteater 255 No skills 255 No skills 255 No skills 255 No skills 27 2 5 38 16 27 28 18 48 170 210 170 150
11 115 Dracky 33 Antidote 47 Sleep 255 No skills 255 No skills 21 1 5 21 16 14 11 42 72 250 150 40 150
12 147 Toadstool 113 SleepAir 255 No skills 255 No skills 255 No skills 28 2 5 31 34 20 26 21 79 230 140 80 150
13 281 JewelBag 4 Firebal 51 StopSpell 255 No skills 255 No skills 78 2 9 46 41 36 40 94 223 190 80 0 150
14 260 Inverzon 125 SideStep 255 No skills 255 No skills 255 No skills 177 3 12 82 44 43 27 49 100 100 20 120 150
15 107 Wyvern 22 Heal 47 Sleep 255 No skills 255 No skills 155 3 13 61 71 46 41 95 158 230 80 50 150
16 185 ArmyAnt 78 CallHelp 255 No skills 255 No skills 255 No skills 30 1 7 20 25 19 31 47 58 250 150 30 150
17 90 MadGopher 91 ZombieCut 255 No skills 255 No skills 255 No skills 45 1 7 40 37 38 36 29 86 200 50 50 150
18 211 Pixy 33 Antidote 45 TwinHits 255 No skills 255 No skills 58 3 7 27 32 26 29 51 98 230 90 80 150
19 5 Snaily 16 IceBolt 255 No skills 255 No skills 255 No skills 127 2 10 37 41 31 55 124 89 170 120 80 150
20 285 Facer 10 Infernos 255 No skills 255 No skills 255 No skills 55 3 9 55 47 50 31 36 74 120 100 140 150
21 11 Healer 22 Heal 37 Upper 255 No skills 255 No skills 102 2 5 37 56 26 28 43 60 70 200 170 150
22 189 Eyeder 4 Firebal 22 Heal 255 No skills 255 No skills 133 3 13 42 34 30 31 60 139 140 140 40 150
23 321 Aquarella 56 Barrier 145 Geyser 255 No skills 255 No skills 99 3 9 39 48 27 29 89 138 100 20 170 150
24 323 Octokid 22 Heal 122 LureDance 255 No skills 255 No skills 93 2 9 37 32 34 31 48 130 90 150 40 150
25 286 SpikyBoy 84 SlimeBlow 106 HighJump 255 No skills 255 No skills 106 2 9 53 41 47 31 58 129 150 130 90 150
26 335 HoodSquid 99 BiAttack 122 LureDance 255 No skills 255 No skills 520 7 12 350 100 78 39 85 180 210 40 190 150
27 335 HoodSquid 122 LureDance 255 No skills 255 No skills 255 No skills 0 0 12 89 78 69 60 85 180 110 130 190 150
28 262 CaptDead 78 CallHelp 93 AquaCut 98 SquallHit 255 No skills 800 7 13 500 105 66 48 50 144 150 10 40 150
29 316 Petiteel 41 Speed 255 No skills 255 No skills 255 No skills 148 2 12 58 63 32 28 89 133 70 50 140 150
30 252 DeadNite 22 Heal 34 DeChaos 255 No skills 255 No skills 130 3 13 66 36 52 41 58 119 110 120 70 150
31 322 Merman 39 Sap 255 No skills 255 No skills 255 No skills 155 3 11 54 42 45 48 71 156 150 40 170 150
32 325 Octoreach 118 OddDance 145 Geyser 255 No skills 255 No skills 102 3 11 77 92 59 36 46 117 40 60 150 150
33 332 RogueWave 76 Watershot 155 AquaWall 255 No skills 255 No skills 111 3 9 41 35 40 34 141 207 170 150 150 150
34 9 PearlGel 37 Upper 104 ChargeUp 255 No skills 255 No skills 89 2 9 37 32 27 34 124 200 160 70 150 150
35 37 Tortragon 54 MagicBack 255 No skills 255 No skills 255 No skills 254 3 12 66 38 49 74 66 123 200 210 70 150
36 114 AquaHawk 36 CurseOff 98 SquallHit 155 AquaWall 255 No skills 211 2 13 47 33 60 44 82 350 140 150 30 150
37 215 DarkEye 92 CleanCut 127 Radiant 255 No skills 255 No skills 228 3 13 74 69 48 41 65 151 200 80 10 150
38 319 RayGigas 152 Guardian 255 No skills 255 No skills 255 No skills 199 3 12 72 62 48 42 80 137 120 130 140 150
39 15 Slabbit 125 SideStep 141 LegSweep 255 No skills 255 No skills 188 3 13 53 64 50 42 83 204 50 70 150 150
40 6 SlimeNite 22 Heal 37 Upper 86 BeastCut 255 No skills 277 3 15 74 47 64 49 174 276 140 120 160 100
41 132 CragDevil 93 AquaCut 122 LureDance 255 No skills 255 No skills 503 3 19 77 55 64 69 111 173 80 100 100 100
42 84 HammerMan 104 ChargeUp 255 No skills 255 No skills 255 No skills 310 2 15 80 55 65 50 91 139 80 140 100 100
43 86 Yeti 16 IceBolt 255 No skills 255 No skills 255 No skills 301 3 16 80 45 69 45 64 133 190 80 200 100
44 225 Orc 30 Vivify 39 Sap 87 BirdBlow 255 No skills 330 3 20 95 47 89 64 72 254 200 200 80 100
45 300 Gismo 64 FireAir 68 FrigidAir 255 No skills 255 No skills 287 3 16 58 72 53 51 141 157 250 30 150 100
46 191 Droll 44 SlowAll 89 Shears 164 StepGuard 255 No skills 388 3 17 80 45 70 57 49 249 250 140 30 100
47 290 Goopi 141 LegSweep 255 No skills 255 No skills 255 No skills 326 2 13 59 72 65 50 59 155 150 150 40 100
48 291 Voodoll 52 PanicAll 255 No skills 255 No skills 255 No skills 377 3 17 65 78 55 81 65 267 190 50 40 100
49 153 TreeBoy 27 MPass 36 CurseOff 255 No skills 255 No skills 326 3 17 72 90 58 53 85 183 30 210 110 100
50 308 BombCrag 75 RockThrow 104 ChargeUp 255 No skills 255 No skills 2018 7 18 650 10 80 80 20 140 70 70 100 100
51 288 RogueNite 22 Heal 94 MetalCut 255 No skills 255 No skills 529 4 20 93 58 94 80 55 159 200 30 50 100
52 85 Grizzly 98 SquallHit 141 LegSweep 255 No skills 255 No skills 477 4 16 124 68 64 48 57 129 140 70 130 100
53 92 Unicorn 23 HealMore 30 Vivify 255 No skills 255 No skills 319 3 21 73 103 52 58 117 486 100 220 110 100
54 146 Gulpple 106 HighJump 113 SleepAir 255 No skills 255 No skills 259 2 13 67 71 43 49 88 236 200 220 10 100
55 261 FoxFire 1 Blaze 4 Firebal 165 Outside 255 No skills 251 3 18 81 130 75 60 99 326 100 120 100 100
56 72 Almiraj 47 Sleep 255 No skills 255 No skills 255 No skills 371 2 19 96 77 60 57 104 169 250 120 0 100
57 148 AmberWeed 45 TwinHits 56 Barrier 255 No skills 255 No skills 323 3 19 90 173 72 83 116 204 200 120 140 100
58 93 Goategon 5 Firebane 43 Slow 255 No skills 255 No skills 399 3 20 110 67 108 78 85 399 250 160 40 100
59 75 Saccer 37 Upper 105 PsycheUp 255 No skills 255 No skills 244 3 16 115 67 55 40 101 177 110 140 150 100
60 3 WingSlime 98 SquallHit 153 TailWind 255 No skills 255 No skills 239 2 16 63 62 57 42 178 123 200 200 20 100
61 108 BullBird 89 Shears 104 ChargeUp 255 No skills 255 No skills 410 3 16 100 63 68 71 125 146 50 50 120 100
62 257 NiteWhip 72 WindBeast 74 Lightning 255 No skills 255 No skills 501 3 17 86 51 52 56 144 236 80 210 20 100
63 336 MerTiger 17 SnowStorm 144 WarCry 255 No skills 255 No skills 466 4 19 100 78 73 77 122 236 30 190 30 100
64 334 SeaHorse 68 FrigidAir 145 Geyser 255 No skills 255 No skills 401 3 16 92 42 75 51 102 123 240 0 0 100
65 159 ManEater 85 DrakSlash 105 PsycheUp 113 SleepAir 255 No skills 602 4 20 86 76 84 52 74 321 200 120 110 100
66 118 StubBird 45 TwinHits 88 BugBlow 101 RainSlash 255 No skills 502 3 21 133 82 74 61 171 327 100 170 180 100
67 190 GiantMoth 72 WindBeast 96 Paralyze 255 No skills 255 No skills 480 3 23 98 90 79 80 135 316 130 20 90 100
68 224 GoatHorn 4 Firebal 11 Infermore 17 SnowStorm 255 No skills 6900 7 27 850 89 95 65 92 165 200 140 50 150
69 12 FangSlime 78 CallHelp 104 ChargeUp 144 WarCry 255 No skills 867 4 20 127 51 80 71 149 186 150 150 150 100
70 21 MimeSlime 52 PanicAll 143 Ahhh 255 No skills 255 No skills 2554 3 22 139 205 82 101 150 312 140 100 40 100
71 112 MadRaven 106 HighJump 154 StormWind 255 No skills 255 No skills 1168 3 23 94 123 78 89 181 206 180 120 100 100
72 122 Emyu 72 WindBeast 124 Hustle 255 No skills 255 No skills 888 3 22 108 177 86 72 165 510 180 100 40 100
73 143 FloraMan 5 Firebane 33 Antidote 36 CurseOff 255 No skills 849 3 24 94 160 75 85 95 362 80 180 190 100
74 149 Slurperon 48 SleepAll 119 RobDance 140 SickLick 255 No skills 1096 3 24 102 147 72 78 110 289 100 100 150 100
75 18 Metabble 4 Firebal 200 HighJump 255 No skills 255 No skills 20600 6 30 78 377 104 523 499 460 10 30 150 100
76 117 BigRoost 81 VacuSlash 126 SandStorm 149 Dodge 255 No skills 2131 3 25 124 136 99 88 97 256 250 10 40 100
77 45 Dragon 65 BlazeAir 80 FireSlash 157 SuckAll 255 No skills 1887 3 28 154 84 143 99 155 366 130 120 140 100
78 82 IronTurt 57 MagicWall 148 StrongD 152 Guardian 255 No skills 1357 4 24 149 132 102 155 97 269 40 200 160 100
79 287 MadMirror 55 Bounce 58 Transform 255 No skills 255 No skills 1129 3 25 156 201 84 149 115 366 200 210 10 100
80 294 SabreMan 50 RobMagic 90 DevilCut 96 Paralyze 255 No skills 944 3 21 103 147 103 71 115 300 250 210 40 100
81 218 EvilBeast 4 Firebal 53 Ironize 68 FrigidAir 255 No skills 1249 4 23 126 149 89 106 119 210 140 100 120 100
82 197 Sickler 11 Infermore 90 DevilCut 98 SquallHit 255 No skills 1488 3 26 126 201 108 132 110 293 90 80 140 100
83 124 Phoenix 65 BlazeAir 98 SquallHit 255 No skills 255 No skills 1533 5 32 165 108 146 87 155 316 200 140 200 100
84 142 FireWeed 2 Blazemore 34 DeChaos 255 No skills 255 No skills 2497 3 27 162 222 130 159 158 215 60 40 80 100
85 282 EvilWand 34 DeChaos 169 MapMagic 255 No skills 255 No skills 1341 3 27 150 237 133 127 92 279 140 60 150 100
86 1 DrakSlime 65 BlazeAir 137 SuckAir 255 No skills 255 No skills 1478 3 23 120 82 111 92 189 229 200 120 70 100
87 186 GoHopper 50 RobMagic 79 YellHelp 255 No skills 255 No skills 2278 3 21 138 127 95 84 120 210 80 120 150 100
88 17 Metaly 1 Blaze 200 HighJump 255 No skills 255 No skills 7899 5 28 22 334 93 364 543 253 40 90 200 100
89 161 GhosTree 50 RobMagic 122 LureDance 128 EerieLite 255 No skills 1992 4 34 110 106 114 97 108 199 100 80 200 100
90 7 Babble 46 Surround 95 PoisonHit 255 No skills 255 No skills 1804 3 26 91 163 92 100 166 252 250 80 0 100
91 16 KingSlime 29 MPassmost 31 Revive 56 Barrier 255 No skills 3487 6 32 172 124 150 105 115 446 200 160 100 100
92 120 MadGoose 23 HealMore 72 WindBeast 122 LureDance 255 No skills 1509 4 28 136 132 110 100 188 247 120 180 110 100
93 219 Bubblemon 76 Watershot 150 BladeD 255 No skills 255 No skills 1520 3 32 193 119 108 80 157 137 130 90 140 100
94 234 Gigantes 84 SlimeBlow 104 ChargeUp 255 No skills 255 No skills 1843 4 30 233 148 166 90 44 201 200 20 140 100
95 304 Exaucers 49 TakeMagic 72 WindBeast 120 PaniDance 255 No skills 2351 3 37 167 238 122 135 108 366 50 40 180 100
96 248 Putrepup 40 Defense 44 SlowAll 55 Bounce 255 No skills 2199 4 36 147 145 128 90 126 178 30 190 180 100
97 227 GateGuard 92 CleanCut 132 ThickFog 255 No skills 255 No skills 2217 4 35 185 203 142 117 109 378 130 80 140 100
98 270 MadSpirit 132 ThickFog 255 No skills 255 No skills 255 No skills 2219 4 32 129 199 129 110 206 499 100 140 200 100
99 269 Copycat 58 Transform 255 No skills 255 No skills 255 No skills 2245 5 33 92 219 119 153 224 249 20 30 200 100
100 272 Niterich 85 DrakSlash 134 DiagoCall 159 Meditate 255 No skills 19620 7 36 1500 106 177 149 110 510 170 170 170 100
101 51 Andreal 12 Infermost 46 Surround 255 No skills 255 No skills 3347 6 37 267 234 174 144 165 546 130 140 140 100
102 307 StoneMan 148 StrongD 151 Cover 155 AquaWall 255 No skills 2190 5 20 137 178 119 173 91 209 60 120 210 100
103 88 NoctoKing 46 Surround 113 SleepAir 132 ThickFog 255 No skills 2477 4 37 186 248 143 119 156 269 120 80 200 100
104 54 SnakeBat 75 RockThrow 140 SickLick 255 No skills 255 No skills 2860 4 36 128 144 132 133 206 187 230 80 80 100
105 188 ArmorPede 38 Increase 45 TwinHits 255 No skills 255 No skills 3488 4 32 150 137 119 200 129 266 140 90 90 100
106 193 MadHornet 95 PoisonHit 153 TailWind 255 No skills 255 No skills 3399 3 34 202 108 132 117 282 288 190 90 70 100
107 365 Mudou 66 Scorching 70 IceStorm 95 PoisonHit 131 DeMagic 38542 7 38 3000 413 225 160 156 150 180 80 220 100
108 236 EvilArmor 80 FireSlash 82 BoltSlash 93 AquaCut 255 No skills 9800 7 38 450 140 185 150 138 280 200 200 30 100
109 266 Skeletor 40 Defense 99 BiAttack 255 No skills 255 No skills 7900 7 37 226 108 140 120 140 269 100 100 60 100
110 141 MadPlant 35 NumbOff 40 Defense 44 SlowAll 255 No skills 3149 3 36 149 288 144 100 188 277 90 150 100 100
111 109 FloraJay 42 SpeedUp 86 BeastCut 160 LifeSong 255 No skills 3020 3 36 134 149 122 132 169 186 120 150 200 100
112 229 BossTroll 108 Massacre 111 Ramming 151 Cover 255 No skills 6984 5 41 314 187 220 149 89 179 140 130 150 100
113 228 ChopClown 45 TwinHits 81 VacuSlash 98 SquallHit 255 No skills 6477 5 40 203 230 205 184 319 849 160 120 180 100
114 113 MistyWing 56 Barrier 128 EerieLite 255 No skills 255 No skills 5998 5 41 230 301 176 225 251 392 140 130 70 100
115 263 DeadNoble 25 HealUs 93 AquaCut 134 DiagoCall 255 No skills 20457 7 40 980 338 190 200 210 329 250 40 30 100
116 198 Armorpion 85 DrakSlash 91 ZombieCut 101 RainSlash 255 No skills 22411 7 42 760 428 210 250 213 200 160 50 140 100
117 344 Grakos 70 IceStorm 106 HighJump 125 SideStep 255 No skills 18168 7 41 1000 477 256 270 150 310 190 130 0 100
118 303 Mimic 168 EagleEye 255 No skills 255 No skills 255 No skills 12 4 1 25 15 15 8 10 50 150 40 140 50
119 303 Mimic 1 Blaze 168 EagleEye 255 No skills 255 No skills 45 4 5 39 24 43 27 22 144 150 40 140 50
120 303 Mimic 1 Blaze 19 Beat 168 EagleEye 255 No skills 120 4 10 62 35 77 37 44 290 150 40 140 50
121 303 Mimic 2 Blazemore 19 Beat 168 EagleEye 255 No skills 360 4 15 81 42 110 47 64 400 150 40 140 50
122 303 Mimic 2 Blazemore 19 Beat 168 EagleEye 255 No skills 660 4 20 129 53 132 71 86 473 150 40 140 50
123 303 Mimic 3 Blazemost 19 Beat 168 EagleEye 255 No skills 1350 4 25 151 62 154 108 124 557 150 40 140 50
124 303 Mimic 3 Blazemost 19 Beat 168 EagleEye 255 No skills 3375 4 30 284 146 175 145 146 752 150 40 140 50
125 303 Mimic 3 Blazemost 19 Beat 168 EagleEye 255 No skills 6645 4 35 318 166 202 184 168 903 150 40 140 50
126 373 Lamia 23 HealMore 74 Lightning 151 Cover 255 No skills 0 7 30 200 100 180 150 115 588 250 250 250 250
127 374 Tatsu 45 TwinHits 66 Scorching 140 SickLick 255 No skills 0 7 40 300 200 210 160 172 392 250 250 250 250
128 375 Samsi 98 SquallHit 101 RainSlash 107 EvilSlash 255 No skills 0 7 50 450 200 250 190 215 784 250 250 250 250
129 376 Bazoo 63 Hellblast 70 IceStorm 131 DeMagic 255 No skills 0 7 60 700 400 350 300 143 940 250 250 250 250
130 377 ? 66 Scorching 70 IceStorm 131 DeMagic 255 No skills 0 7 50 999 300 300 200 286 784 250 0 0 250
131 7 Babble 39 Sap 255 No skills 255 No skills 255 No skills 0 7 6 36 9 14 13 32 123 60 80 140 100
132 9 PearlGel 22 Heal 255 No skills 255 No skills 255 No skills 0 7 5 15 12 17 35 51 96 40 100 100 100
133 286 SpikyBoy 84 SlimeBlow 255 No skills 255 No skills 255 No skills 0 7 6 19 10 17 31 34 96 180 10 100 100
134 211 Pixy 37 Upper 255 No skills 255 No skills 255 No skills 0 7 7 29 10 20 14 54 79 60 210 130 100
135 166 Eggplaton 122 LureDance 255 No skills 255 No skills 255 No skills 0 7 7 40 22 14 12 68 96 70 100 160 100
136 112 MadRaven 41 Speed 255 No skills 255 No skills 255 No skills 0 7 9 41 55 16 30 70 163 70 140 120 100
137 77 Skullroo 104 ChargeUp 255 No skills 255 No skills 255 No skills 0 7 9 46 35 26 21 42 146 200 100 200 150
138 78 WindBeast 126 SandStorm 255 No skills 255 No skills 255 No skills 0 7 14 51 62 41 52 82 180 200 40 210 120
139 300 Gismo 50 RobMagic 255 No skills 255 No skills 255 No skills 0 7 11 48 72 51 71 171 256 200 0 90 120
140 42 Poisongon 48 SleepAll 255 No skills 255 No skills 255 No skills 0 7 13 62 67 72 48 164 150 50 30 200 120
141 154 Devipine 97 NapAttack 115 PoisonGas 255 No skills 255 No skills 0 7 13 60 37 64 45 95 366 120 20 140 120
142 146 Gulpple 43 Slow 106 HighJump 255 No skills 255 No skills 0 7 14 66 71 57 89 88 232 150 50 80 120
143 147 Toadstool 113 SleepAir 127 Radiant 255 No skills 255 No skills 0 7 14 67 77 65 52 95 223 250 140 80 120
144 84 HammerMan 22 Heal 141 LegSweep 255 No skills 255 No skills 0 7 16 70 16 73 60 64 149 140 120 100 120
145 150 StubSuck 48 SleepAll 91 ZombieCut 255 No skills 255 No skills 0 7 17 100 50 60 65 78 261 250 170 0 150
146 153 TreeBoy 17 SnowStorm 55 Bounce 255 No skills 255 No skills 0 7 27 97 200 73 95 130 318 70 150 200 150
147 167 FooHero 23 HealMore 90 DevilCut 148 StrongD 255 No skills 0 7 25 152 138 82 100 80 310 190 150 150 150
148 83 Mommonja 122 LureDance 255 No skills 255 No skills 255 No skills 0 7 26 140 63 102 83 283 367 250 120 80 150
149 44 Drygon 76 Watershot 105 PsycheUp 144 WarCry 255 No skills 0 7 33 151 99 124 104 106 347 200 150 90 150
150 156 HerbMan 8 Boom 146 DanceShut 255 No skills 255 No skills 0 7 36 201 149 110 116 123 435 200 30 210 150
151 152 DanceVegi 110 Beserker 125 SideStep 255 No skills 255 No skills 0 7 35 145 132 105 105 189 397 180 100 150 150
152 305 MudDoll 124 Hustle 126 SandStorm 142 BigTrip 255 No skills 0 7 35 210 28 108 82 105 730 250 40 130 150
153 347 Starfish 55 Bounce 87 BirdBlow 255 No skills 255 No skills 0 7 42 250 224 180 150 97 850 250 200 40 200
154 121 MadCondor 46 Surround 72 WindBeast 119 RobDance 255 No skills 0 7 30 210 40 195 180 233 524 120 90 70 200
155 43 Swordgon 23 HealMore 97 NapAttack 150 BladeD 255 No skills 0 7 39 225 38 200 165 142 736 180 200 200 200
156 325 Octoreach 5 Firebane 120 PaniDance 255 No skills 255 No skills 0 7 37 210 287 132 130 177 530 250 60 40 200
157 338 Octogon 49 TakeMagic 134 DiagoCall 255 No skills 255 No skills 0 7 37 280 204 169 120 125 706 250 200 30 200
158 339 KingSquid 30 Vivify 128 EerieLite 255 No skills 255 No skills 0 7 43 260 35 210 160 99 978 250 40 170 200
159 113 MistyWing 17 SnowStorm 46 Surround 56 Barrier 255 No skills 0 7 45 269 201 166 155 192 453 30 110 200 200
160 269 Copycat 58 Transform 118 OddDance 158 Imitate 255 No skills 0 7 45 210 244 144 150 133 430 20 140 30 200
161 257 NiteWhip 40 Defense 72 WindBeast 74 Lightning 255 No skills 0 7 45 330 149 182 180 149 830 180 10 200 200
162 290 Goopi 2 Blazemore 78 CallHelp 147 MouthShut 149 Dodge 0 7 20 250 25 245 195 173 520 30 110 210 250
163 271 PomPomBom 44 SlowAll 154 StormWind 161 LoveRain 255 No skills 0 7 49 330 22 300 210 50 863 100 140 140 250
164 192 ArmyCrab 38 Increase 78 CallHelp 94 MetalCut 255 No skills 0 7 30 210 4 290 270 115 337 180 200 70 250
165 251 DarkCrab 57 MagicWall 111 Ramming 255 No skills 255 No skills 0 7 50 250 15 330 280 142 683 20 200 100 250
166 1 DrakSlime 6 Firebolt 65 BlazeAir 147 MouthShut 255 No skills 0 7 50 370 151 270 200 260 570 90 150 200 250
167 23 MetalKing 18 Blizzard 31 Revive 131 DeMagic 145 Geyser 0 7 50 70 60 270 540 150 240 120 200 180 250
168 21 MimeSlime 3 Blazemost 55 Bounce 149 Dodge 255 No skills 0 7 50 300 350 250 190 290 588 140 150 40 250
169 96 KingLeo 6 Firebolt 23 HealMore 70 IceStorm 100 QuadHits 0 7 60 612 285 462 379 454 950 200 200 200 250
170 130 Azurile 102 MultiCut 255 No skills 159 Meditate 255 No skills 0 7 60 1274 462 462 384 660 964 180 200 40 250
171 64 Divinegon 66 Scorching 114 PalsyAir 255 No skills 255 No skills 0 7 60 1034 467 552 462 437 978 210 170 180 250
172 38 Pteranod 10 Infernos 64 FireAir 255 No skills 255 No skills 180 5 5 32 21 34 19 62 54 50 200 200 50
173 78 WindBeast 37 Upper 111 Ramming 255 No skills 255 No skills 147 5 5 27 43 24 27 42 80 200 40 30 50
174 91 FairyRat 1 Blaze 4 Firebal 255 No skills 255 No skills 154 5 5 30 24 24 29 42 54 200 200 100 50
175 99 BigEye 104 ChargeUp 127 Radiant 255 No skills 255 No skills 184 5 5 32 16 29 21 23 74 10 180 200 50
176 108 BullBird 45 TwinHits 112 Kamikaze 255 No skills 255 No skills 165 5 5 31 16 29 22 55 54 200 30 70 50
177 153 TreeBoy 22 Heal 49 TakeMagic 255 No skills 255 No skills 182 5 5 32 34 16 28 39 97 110 180 150 50
178 186 GoHopper 22 Heal 37 Upper 41 Speed 255 No skills 138 5 5 27 16 16 26 42 51 70 90 210 50
179 218 EvilBeast 99 BiAttack 115 PoisonGas 255 No skills 255 No skills 177 5 6 42 26 50 50 26 97 170 200 80 50
180 256 Mudron 43 Slow 76 Watershot 145 Geyser 255 No skills 156 5 5 41 24 21 29 23 86 20 140 30 50
181 259 Reaper 1 Blaze 54 MagicBack 255 No skills 255 No skills 149 5 5 41 33 43 29 55 127 140 200 220 50
182 260 Inverzon 52 PanicAll 96 Paralyze 144 WarCry 255 No skills 175 5 5 19 19 29 16 23 37 40 50 170 50
183 281 JewelBag 50 RobMagic 64 FireAir 127 Radiant 255 No skills 169 5 5 27 21 22 34 42 97 140 40 120 50
184 289 Puppetor 39 Sap 51 StopSpell 81 VacuSlash 255 No skills 174 5 5 27 22 16 16 23 70 100 140 110 50
185 296 Brushead 1 Blaze 122 LureDance 125 SideStep 255 No skills 164 5 6 26 45 34 18 26 134 220 10 20 50
186 305 MudDoll 50 RobMagic 94 MetalCut 126 SandStorm 255 No skills 171 5 5 30 33 24 29 16 97 40 40 200 50
187 328 RushFish 76 Watershot 88 BugBlow 164 StepGuard 255 No skills 180 5 6 26 45 29 18 55 150 200 140 110 50
188 3 WingSlime 37 Upper 89 Shears 154 StormWind 255 No skills 220 5 11 49 44 45 35 139 100 90 130 200 90
189 42 Poisongon 68 FrigidAir 93 AquaCut 255 No skills 255 No skills 243 5 9 78 47 47 42 35 64 30 200 100 90
190 44 Drygon 4 Firebal 147 MouthShut 255 No skills 255 No skills 250 5 10 58 37 63 42 35 140 200 30 200 90
191 73 Catfly 64 FireAir 85 DrakSlash 255 No skills 255 No skills 233 5 9 60 32 42 32 75 160 20 210 110 90
192 83 Mommonja 22 Heal 27 MPass 255 No skills 255 No skills 228 5 9 48 29 47 48 112 80 120 130 200 90
193 85 Grizzly 45 TwinHits 92 CleanCut 93 AquaCut 255 No skills 281 5 11 71 10 76 24 42 64 200 10 10 90
194 112 MadRaven 39 Sap 99 BiAttack 106 HighJump 255 No skills 229 5 9 73 48 48 34 75 201 10 210 40 90
195 117 BigRoost 46 Surround 143 Ahhh 144 WarCry 255 No skills 237 5 8 48 42 48 34 69 80 20 90 170 90
196 211 Pixy 22 Heal 51 StopSpell 255 No skills 255 No skills 245 5 8 39 24 47 24 68 80 140 10 200 90
197 213 AgDevil 86 BeastCut 113 SleepAir 255 No skills 255 No skills 266 5 9 47 29 52 34 68 244 140 200 200 90
198 255 Hork 37 Upper 78 CallHelp 255 No skills 255 No skills 251 5 9 48 42 47 26 42 107 40 50 130 90
199 258 WindMerge 43 Slow 81 VacuSlash 146 DanceShut 255 No skills 241 5 9 47 73 73 34 60 244 30 210 40 90
200 282 EvilWand 22 Heal 106 HighJump 255 No skills 255 No skills 255 5 10 52 51 52 37 46 154 150 130 20 90
201 290 Goopi 72 WindBeast 99 BiAttack 147 MouthShut 255 No skills 242 5 11 34 49 39 55 43 100 200 10 40 90
202 323 Octokid 41 Speed 54 MagicBack 97 NapAttack 255 No skills 267 5 11 37 54 49 49 79 307 140 130 40 90
203 331 CancerMan 104 ChargeUp 105 PsycheUp 255 No skills 255 No skills 248 5 9 43 42 63 78 69 97 180 170 30 90
204 6 SlimeNite 1 Blaze 46 Surround 98 SquallHit 255 No skills 350 5 15 71 52 72 66 172 237 140 100 170 140
205 13 RockSlime 16 IceBolt 113 SleepAir 144 WarCry 255 No skills 377 5 15 62 120 62 62 68 400 200 170 210 140
206 48 Rayburn 47 Sleep 33 Antidote 139 LushLicks 255 No skills 384 5 15 71 62 71 67 103 224 10 200 200 140
207 58 WingSnake 19 Beat 91 ZombieCut 137 SuckAir 255 No skills 369 5 17 72 38 112 66 102 140 120 200 10 140
208 86 Yeti 37 Upper 47 Sleep 76 Watershot 255 No skills 399 5 15 77 42 72 42 60 124 150 150 150 140
209 217 SkulRider 42 SpeedUp 101 RainSlash 125 SideStep 255 No skills 371 5 15 72 37 77 65 102 140 200 140 180 140
210 109 FloraJay 22 Heal 113 SleepAir 157 SuckAll 255 No skills 369 5 17 95 77 77 80 172 383 140 110 200 140
211 147 Toadstool 35 NumbOff 46 Surround 143 Ahhh 255 No skills 319 5 13 71 77 58 48 96 224 30 210 140 140
212 190 GiantMoth 110 Beserker 118 OddDance 127 Radiant 255 No skills 367 5 15 71 42 72 47 172 157 30 140 190 140
213 192 ArmyCrab 45 TwinHits 80 FireSlash 141 LegSweep 255 No skills 355 5 17 72 37 71 85 93 107 140 110 30 140
214 193 MadHornet 35 NumbOff 36 CurseOff 99 BiAttack 255 No skills 366 5 18 120 67 105 67 172 124 40 110 120 140
215 214 Demonite 23 HealMore 49 TakeMagic 128 EerieLite 255 No skills 349 5 15 82 32 67 47 60 500 200 10 170 140
216 220 1EyeClown 23 HealMore 27 MPass 30 Vivify 255 No skills 383 5 13 62 32 57 42 60 237 170 20 50 140
217 252 DeadNite 36 CurseOff 98 SquallHit 101 RainSlash 255 No skills 385 5 16 71 37 115 42 68 124 150 200 160 140
218 300 Gismo 74 Lightning 87 BirdBlow 96 Paralyze 255 No skills 348 5 15 67 72 62 71 172 257 200 10 200 140
219 338 Octogon 46 Surround 122 LureDance 255 No skills 255 No skills 379 5 16 125 42 81 57 60 400 200 160 50 140
220 11 Healer 159 Meditate 161 LoveRain 255 No skills 255 No skills 550 5 20 63 112 63 83 209 390 50 140 170 170
221 20 TropicGel 56 Barrier 57 MagicWall 65 BlazeAir 255 No skills 541 5 23 112 146 121 82 133 373 200 110 210 170
222 53 Vampirus 14 Zap 48 SleepAll 98 SquallHit 255 No skills 568 5 18 93 48 67 58 187 194 140 10 160 170
223 77 Skullroo 33 Antidote 38 Increase 52 PanicAll 255 No skills 510 5 23 103 53 72 67 118 244 80 40 140 170
224 128 FunkyBird 40 Defense 85 DrakSlash 90 DevilCut 255 No skills 541 5 21 93 146 75 82 118 487 40 10 190 170
225 152 DanceVegi 51 StopSpell 119 RobDance 255 No skills 255 No skills 536 5 22 63 165 59 131 209 210 200 110 210 170
226 183 StagBug 5 Firebane 81 VacuSlash 82 BoltSlash 255 No skills 555 5 23 78 48 82 141 118 160 140 150 30 170
227 188 ArmorPede 94 MetalCut 104 ChargeUp 152 Guardian 255 No skills 569 5 23 112 53 93 141 90 244 190 170 10 170
228 197 Sickler 19 Beat 101 RainSlash 117 Curse 255 No skills 597 5 22 133 80 95 50 140 267 120 200 200 170
229 215 DarkEye 11 Infermore 54 MagicBack 144 WarCry 255 No skills 534 5 21 68 117 63 82 118 290 160 20 170 170
230 221 Gremlin 8 Boom 65 BlazeAir 69 IceAir 255 No skills 541 5 22 80 48 58 63 105 390 190 20 10 170
231 212 MedusaEye 75 RockThrow 124 Hustle 158 Imitate 255 No skills 512 5 21 63 78 93 112 83 210 110 20 160 170
232 236 EvilArmor 74 Lightning 117 Curse 128 EerieLite 255 No skills 583 5 23 79 40 83 156 108 250 10 210 200 170
233 287 MadMirror 42 SpeedUp 127 Radiant 155 AquaWall 255 No skills 596 5 21 112 138 58 141 90 437 200 200 20 170
234 288 RogueNite 25 HealUs 51 StopSpell 99 BiAttack 255 No skills 573 5 21 93 58 146 105 76 260 50 50 150 170
235 155 FaceTree 95 PoisonHit 124 Hustle 131 DeMagic 255 No skills 591 5 21 159 200 151 98 153 437 140 20 40 170
236 18 Metabble 44 SlowAll 65 BlazeAir 133 TatsuCall 255 No skills 12369 5 27 18 306 119 415 650 570 30 170 30 200
237 54 SnakeBat 8 Boom 38 Increase 154 StormWind 255 No skills 1000 5 27 134 126 159 131 180 280 120 200 200 200
238 72 Almiraj 48 SleepAll 91 ZombieCut 125 SideStep 255 No skills 1141 5 23 133 153 122 83 76 160 30 150 140 200
239 88 NoctoKing 14 Zap 48 SleepAll 105 PsycheUp 255 No skills 1079 5 27 137 89 151 132 246 280 140 20 170 200
240 113 MistyWing 2 Blazemore 111 Ramming 137 SuckAir 255 No skills 1182 5 25 131 119 114 126 210 297 200 10 50 200
241 119 LandOwl 23 HealMore 81 VacuSlash 122 LureDance 255 No skills 1064 5 27 156 64 182 85 128 537 80 160 20 200
242 154 Devipine 57 MagicWall 96 Paralyze 161 LoveRain 255 No skills 1294 5 25 127 59 98 84 128 487 10 200 110 200
243 194 Belzebub 34 DeChaos 48 SleepAll 140 SickLick 255 No skills 1035 5 27 177 122 104 59 170 457 150 20 180 200
244 201 MultiEyes 23 HealMore 52 PanicAll 120 PaniDance 255 No skills 1119 5 23 172 136 140 125 149 277 160 140 200 200
245 219 Bubblemon 23 HealMore 76 Watershot 99 BiAttack 255 No skills 1346 5 26 119 89 156 59 85 280 180 40 200 200
246 224 GoatHorn 51 StopSpell 79 YellHelp 152 Guardian 255 No skills 1190 5 25 176 89 123 92 128 573 200 190 210 200
247 246 Spooky 52 PanicAll 140 SickLick 255 No skills 255 No skills 1013 5 26 93 131 89 84 230 520 30 200 130 200
248 248 Putrepup 105 PsycheUp 126 SandStorm 255 No skills 255 No skills 1322 5 26 119 89 119 84 128 280 160 30 40 200
249 269 Copycat 58 Transform 134 DiagoCall 255 No skills 255 No skills 1064 5 27 89 172 54 84 299 297 60 60 60 200
250 144 WingTree 75 RockThrow 127 Radiant 169 MapMagic 255 No skills 1319 5 28 161 89 172 147 180 214 100 200 200 200
251 319 RayGigas 55 Bounce 138 Focus 145 Geyser 255 No skills 1088 5 28 135 126 204 142 180 197 200 210 30 200
252 9 PearlGel 17 SnowStorm 111 Ramming 147 MouthShut 255 No skills 1723 5 33 119 108 116 162 202 567 110 120 130 210
253 39 Gasgon 5 Firebane 93 AquaCut 106 HighJump 255 No skills 1647 5 34 145 210 106 127 109 716 30 180 170 210
254 45 Dragon 2 Blazemore 75 RockThrow 126 SandStorm 255 No skills 1891 6 33 141 69 194 108 106 353 200 200 200 210
255 87 ArrowDog 23 HealMore 74 Lightning 134 DiagoCall 255 No skills 1740 5 31 210 74 153 157 149 470 100 200 80 210
256 116 KiteHawk 25 HealUs 70 IceStorm 128 EerieLite 255 No skills 1645 5 32 144 106 136 74 243 230 100 140 120 210
257 118 StubBird 19 Beat 79 YellHelp 168 EagleEye 255 No skills 1539 5 33 108 175 194 194 202 370 120 40 70 210
258 122 Emyu 30 Vivify 130 UltraDown 154 StormWind 255 No skills 1553 6 33 194 74 157 141 232 583 70 200 200 210
259 180 WeedBug 45 TwinHits 100 QuadHits 146 DanceShut 255 No skills 1764 5 32 141 104 99 165 149 553 40 120 90 210
260 182 Lipsy 11 Infermore 52 PanicAll 143 Ahhh 255 No skills 1537 5 30 155 97 150 100 120 210 160 150 30 210
261 191 Droll 46 Surround 117 Curse 120 PaniDance 255 No skills 1743 5 33 152 79 200 108 96 470 120 200 40 210
262 253 Shadow 14 Zap 58 Transform 149 Dodge 255 No skills 1620 5 33 210 189 189 134 132 583 30 210 40 210
263 262 CaptDead 23 HealMore 116 PoisonAir 123 LifeDance 255 No skills 1503 5 31 170 194 127 98 92 347 90 120 40 210
264 295 CurseLamp 2 Blazemore 84 SlimeBlow 117 Curse 255 No skills 1468 5 33 175 205 170 127 139 666 30 200 100 210
265 326 Angleron 111 Ramming 114 PalsyAir 154 StormWind 255 No skills 1658 5 33 141 108 199 164 182 532 80 200 10 210
266 329 Gamanian 57 MagicWall 116 PoisonAir 160 LifeSong 255 No skills 1814 5 33 111 79 193 141 120 666 110 30 210 210
267 341 WhaleMage 23 HealMore 149 Dodge 155 AquaWall 255 No skills 1902 6 34 243 253 189 135 156 341 220 10 180 210
268 19 SpotKing 24 HealAll 60 Chance 143 Ahhh 255 No skills 3569 6 38 251 137 215 107 142 820 110 70 200 220
269 62 SkyDragon 32 Farewell 129 Surge 161 LoveRain 255 No skills 3695 6 38 246 137 220 147 189 440 100 200 220 220
270 71 Tonguella 66 Scorching 104 ChargeUp 144 WarCry 255 No skills 3640 5 39 167 115 196 121 110 397 30 60 170 220
271 75 Saccer 56 Barrier 73 Vacuum 124 Hustle 255 No skills 3619 5 38 119 115 186 120 90 383 30 60 190 220
272 107 Wyvern 6 Firebolt 74 Lightning 138 Focus 255 No skills 3796 5 38 167 115 198 127 147 733 180 200 210 220
273 114 AquaHawk 12 Infermost 95 PoisonHit 105 PsycheUp 255 No skills 3800 5 37 138 132 215 105 169 560 30 120 170 220
274 126 Garudian 81 VacuSlash 82 BoltSlash 117 Curse 255 No skills 3911 6 36 140 85 182 127 187 720 200 20 210 220
275 189 Eyeder 23 HealMore 106 HighJump 149 Dodge 255 No skills 3746 5 38 216 137 215 133 99 750 140 20 70 220
276 222 ArcDemon 24 HealAll 108 Massacre 109 TwinSlash 255 No skills 3697 6 40 171 118 200 160 116 914 200 100 90 220
277 223 Lionex 42 SpeedUp 56 Barrier 135 SamsiCall 255 No skills 3964 5 39 246 137 187 156 156 560 20 200 200 220
278 227 GateGuard 40 Defense 85 DrakSlash 107 EvilSlash 255 No skills 3821 5 39 251 221 221 127 136 557 90 200 200 220
279 235 Centasaur 44 SlowAll 91 ZombieCut 136 BazooCall 255 No skills 3696 5 41 220 80 256 166 126 580 120 200 10 220
280 294 SabreMan 24 HealAll 38 Increase 103 GigaSlash 255 No skills 3976 6 41 225 115 217 180 177 736 30 220 140 220
281 306 Golem 75 RockThrow 100 QuadHits 157 SuckAll 255 No skills 3451 6 39 230 215 251 150 99 284 10 200 180 220
282 330 Clawster 31 Revive 82 BoltSlash 146 DanceShut 255 No skills 3498 5 41 221 60 265 210 116 557 140 150 40 220
283 336 MerTiger 36 CurseOff 59 BeDragon 142 BigTrip 255 No skills 3691 5 40 225 115 230 144 119 383 230 110 200 220
284 4 TreeSlime 32 Farewell 51 StopSpell 159 Meditate 255 No skills 7026 5 46 151 205 171 235 336 783 40 40 210 230
285 43 Swordgon 96 Paralyze 98 SquallHit 111 Ramming 255 No skills 7146 6 46 249 171 264 226 135 430 190 200 80 230
286 81 SuperTen 52 PanicAll 134 DiagoCall 158 Imitate 255 No skills 7030 5 44 294 106 142 269 245 353 150 20 110 230
287 84 HammerMan 35 NumbOff 105 PsycheUp 150 BladeD 255 No skills 7216 6 45 210 189 201 190 287 403 100 140 200 230
288 92 Unicorn 45 TwinHits 57 MagicWall 137 SuckAir 255 No skills 7118 6 43 193 332 201 140 384 833 20 140 180 230
289 115 Dracky 15 Thordain 113 SleepAir 138 Focus 255 No skills 7346 5 42 171 149 156 136 287 570 200 200 140 230
290 124 Phoenix 21 Sacrifice 130 UltraDown 150 BladeD 255 No skills 7413 6 45 244 106 181 206 270 914 30 210 200 230
291 148 AmberWeed 21 Sacrifice 100 QuadHits 152 Guardian 255 No skills 7642 6 45 269 347 186 203 384 403 200 200 130 230
292 178 Gophecada 48 SleepAll 101 RainSlash 109 TwinSlash 255 No skills 7497 6 46 264 150 269 249 245 911 50 200 10 230
293 225 Orc 3 Blazemost 110 Beserker 157 SuckAll 255 No skills 7661 6 44 189 106 189 136 195 905 170 80 140 230
294 228 ChopClown 55 Bounce 120 PaniDance 149 Dodge 255 No skills 7513 6 45 210 269 244 175 349 920 50 200 40 230
295 250 Mummy 31 Revive 136 BazooCall 159 Meditate 255 No skills 7462 5 44 275 201 259 245 213 520 20 40 200 230
296 270 MadSpirit 20 Defeat 79 YellHelp 130 UltraDown 255 No skills 7329 6 45 201 269 279 269 215 903 140 10 200 230
297 337 AxeShark 6 Firebolt 42 SpeedUp 158 Imitate 255 No skills 7129 6 43 294 269 231 317 213 914 180 170 20 230
298 308 BombCrag 21 Sacrifice 32 Farewell 148 StrongD 255 No skills 7010 5 44 279 171 201 244 56 924 50 200 200 230
299 343 Octoraid 59 BeDragon 95 PoisonHit 101 RainSlash 255 No skills 7217 6 46 324 249 336 312 474 453 200 140 100 230
300 51 Andreal 51 StopSpell 67 WhiteFire 154 StormWind 255 No skills 13197 6 49 357 304 214 251 306 929 200 20 200 240
301 47 MadDragon 12 Infermost 73 Vacuum 102 MultiCut 255 No skills 13267 6 48 289 116 374 342 459 953 190 200 10 240
302 95 Trumpeter 73 Vacuum 104 ChargeUp 148 StrongD 159 Meditate 14080 6 49 251 181 357 261 353 574 200 210 90 240
303 98 MadCat 25 HealUs 57 MagicWall 157 SuckAll 255 No skills 13594 6 49 210 161 333 231 306 914 200 150 210 240
304 157 BeanMan 40 Defense 116 PoisonAir 150 BladeD 255 No skills 14249 6 52 256 268 369 312 434 902 100 200 90 240
305 199 Digster 15 Thordain 95 PoisonHit 145 Geyser 255 No skills 14210 6 49 374 173 214 373 150 941 180 40 50 240
306 229 BossTroll 45 TwinHits 75 RockThrow 100 QuadHits 255 No skills 13921 6 49 399 173 334 256 229 350 40 10 190 240
307 232 MadKnight 63 Hellblast 117 Curse 132 ThickFog 255 No skills 13659 6 51 251 274 346 268 247 922 50 200 50 240
308 233 EvilWell 24 HealAll 123 LifeDance 131 DeMagic 255 No skills 13225 6 48 292 247 221 284 327 603 120 160 100 240
309 263 DeadNoble 60 Chance 138 Focus 160 LifeSong 255 No skills 13451 6 49 357 120 377 224 434 940 20 200 90 240
310 266 Skeletor 3 Blazemost 79 YellHelp 114 PalsyAir 255 No skills 14020 6 51 210 223 256 217 189 713 30 170 90 240
311 307 StoneMan 26 HealUsAll 100 QuadHits 158 Imitate 255 No skills 13296 6 49 381 155 286 188 95 783 150 130 110 240
312 327 FishRider 9 Explodet 48 SleepAll 147 MouthShut 255 No skills 13219 6 49 346 214 220 156 180 574 150 140 60 240
313 312 CloudKing 56 Barrier 85 DrakSlash 155 AquaWall 255 No skills 14506 6 49 298 254 315 182 226 590 150 150 200 240
314 342 Aquadon 32 Farewell 62 BigBang 124 Hustle 146 DanceShut 13904 6 49 399 268 327 173 159 913 170 20 100 240
315 344 Grakos 18 Blizzard 77 Tidalwave 107 EvilSlash 255 No skills 13255 6 52 312 346 334 346 289 927 150 50 90 240
316 23 MetalKing 31 Revive 46 Surround 96 Paralyze 149 Dodge 2889 6 54 40 70 280 757 999 999 20 220 200 250
317 56 GreatDrak 6 Firebolt 108 Massacre 127 Radiant 144 WarCry 18451 6 55 382 150 356 217 150 946 200 200 200 250
318 59 Coatol 51 StopSpell 80 FireSlash 114 PalsyAir 152 Guardian 16937 6 55 425 273 294 199 225 910 200 40 210 250
319 60 Orochi 61 MegaMagic 75 RockThrow 111 Ramming 137 SuckAir 18549 6 57 442 186 358 182 180 926 110 140 130 250
320 61 BattleRex 9 Explodet 48 SleepAll 122 LureDance 159 Meditate 16598 6 57 356 34 348 194 222 916 100 150 200 250
321 127 WhipBird 24 HealAll 63 Hellblast 116 PoisonAir 126 SandStorm 17840 6 57 535 239 361 195 199 949 190 110 50 250
322 131 Shantak 12 Infermost 95 PoisonHit 102 MultiCut 255 No skills 19325 6 57 442 299 290 190 331 936 200 120 140 250
323 162 Rosevine 42 SpeedUp 75 RockThrow 124 Hustle 158 Imitate 18410 6 57 431 48 347 172 226 969 100 200 200 250
324 230 Grendal 21 Sacrifice 45 TwinHits 107 EvilSlash 144 WarCry 18743 6 55 366 115 369 212 116 926 130 200 140 250
325 231 Akubar 3 Blazemost 77 Tidalwave 135 SamsiCall 255 No skills 17743 6 56 442 676 356 182 225 948 120 80 140 250
326 237 Jamirus 24 HealAll 102 MultiCut 160 LifeSong 255 No skills 16928 6 57 442 299 352 221 309 926 100 150 50 250
327 240 LampGenie 9 Explodet 57 MagicWall 119 RobDance 156 SealPray 17469 6 52 266 361 310 203 170 920 10 200 160 250
328 264 WhiteKing 45 TwinHits 60 Chance 130 UltraDown 255 No skills 19170 6 53 298 100 283 194 150 950 10 220 200 250
329 267 Servant 67 WhiteFire 100 QuadHits 131 DeMagic 255 No skills 15298 6 57 356 382 325 189 190 960 200 140 100 250
330 339 KingSquid 26 HealUsAll 77 Tidalwave 125 SideStep 157 SuckAll 18642 6 54 416 90 380 145 110 924 200 50 200 250
331 340 Digong 18 Blizzard 104 ChargeUp 149 Dodge 255 No skills 17499 6 54 389 356 300 166 156 920 200 170 140 250
332 15 Slabbit 118 OddDance 125 SideStep 141 LegSweep 255 No skills 0 7 7 38 20 39 20 86 127 120 140 100 90
333 284 CoilBird 10 Infernos 35 NumbOff 157 SuckAll 255 No skills 0 7 9 47 42 42 48 69 80 130 200 140 90
334 40 FairyDrak 46 Surround 113 SleepAir 139 LushLicks 255 No skills 0 7 16 61 70 75 75 108 134 200 210 20 140
335 151 Oniono 50 RobMagic 104 ChargeUp 113 SleepAir 255 No skills 0 7 15 83 120 71 42 157 240 180 120 40 140
336 158 EvilSeed 92 CleanCut 96 Paralyze 127 Radiant 255 No skills 0 7 17 60 50 45 70 53 400 40 210 60 140
337 283 MadCandle 1 Blaze 105 PsycheUp 255 No skills 255 No skills 0 7 17 63 52 80 85 102 190 200 100 200 140
338 36 DragonKid 65 BlazeAir 113 SleepAir 149 Dodge 255 No skills 0 7 25 62 135 111 99 115 290 120 130 210 200
339 110 DuckKite 47 Sleep 52 PanicAll 117 Curse 255 No skills 0 7 25 81 81 143 118 182 190 200 20 170 200
340 144 WingTree 32 Farewell 72 WindBeast 91 ZombieCut 255 No skills 0 7 24 113 160 155 87 98 187 110 120 130 200
341 176 GiantSlug 76 Watershot 139 LushLicks 149 Dodge 255 No skills 0 7 26 84 79 139 98 88 197 150 210 10 200
342 178 Gophecada 19 Beat 54 MagicBack 78 CallHelp 255 No skills 0 7 21 141 63 123 97 93 160 200 30 40 170
343 249 PotRaven 74 Lightning 82 BoltSlash 112 Kamikaze 255 No skills 0 7 25 111 76 118 91 152 377 40 210 140 200
344 49 Chamelgon 52 PanicAll 96 Paralyze 114 PalsyAir 255 No skills 0 7 33 141 205 111 146 126 347 90 200 210 210
345 111 MadPecker 11 Infermore 40 Defense 81 VacuSlash 255 No skills 0 7 35 189 78 202 119 196 360 200 110 40 220
346 141 MadPlant 40 Defense 44 SlowAll 116 PoisonAir 255 No skills 0 7 35 219 277 119 98 182 746 80 50 200 220
347 155 FaceTree 51 StopSpell 117 Curse 119 RobDance 255 No skills 0 7 35 194 202 119 100 99 497 20 200 150 220
348 157 BeanMan 45 TwinHits 101 RainSlash 109 TwinSlash 255 No skills 0 7 33 141 200 175 111 145 567 30 180 130 210
349 177 Catapila 38 Increase 95 PoisonHit 132 ThickFog 255 No skills 0 7 36 111 111 124 124 127 653 110 200 10 220
350 285 Facer 11 Infermore 21 Sacrifice 160 LifeSong 255 No skills 0 7 35 114 207 119 164 123 537 60 190 140 220
351 291 Voodoll 40 Defense 46 Surround 52 PanicAll 255 No skills 0 7 33 141 141 175 145 132 470 10 50 140 220
352 306 Golem 104 ChargeUp 105 PsycheUp 159 Meditate 255 No skills 0 7 35 249 114 194 136 196 657 160 160 160 220
353 332 RogueWave 76 Watershot 116 PoisonAir 155 AquaWall 255 No skills 0 7 35 119 78 224 136 196 537 50 200 160 220
354 8 BoxSlime 3 Blazemost 38 Increase 111 Ramming 255 No skills 0 7 46 175 115 225 186 179 633 200 50 200 240
355 14 SlimeBorg 67 WhiteFire 74 Lightning 101 RainSlash 150 BladeD 0 7 45 283 165 233 199 227 641 200 130 200 240
356 97 DarkHorn 48 SleepAll 51 StopSpell 105 PsycheUp 111 Ramming 0 7 45 205 141 235 183 190 960 200 100 150 240
357 159 ManEater 85 DrakSlash 105 PsycheUp 114 PalsyAir 120 PaniDance 0 7 44 186 249 199 114 185 720 140 130 80 240
358 160 Snapper 51 StopSpell 79 YellHelp 101 RainSlash 121 K.O.Dance 0 7 46 203 195 236 133 190 580 60 210 60 240
359 161 GhosTree 18 Blizzard 50 RobMagic 122 LureDance 128 EerieLite 0 7 45 150 130 238 150 200 983 40 110 200 240
360 217 SkulRider 80 FireSlash 107 EvilSlash 142 BigTrip 255 No skills 0 7 44 187 156 218 126 377 830 140 120 40 240
361 234 Gigantes 84 SlimeBlow 100 QuadHits 104 ChargeUp 255 No skills 0 7 44 371 24 351 96 86 557 200 20 200 240
362 254 Skulpent 20 Defeat 95 PoisonHit 149 Dodge 255 No skills 0 7 44 186 179 244 204 156 917 140 200 10 240
363 321 Aquarella 56 Barrier 98 SquallHit 137 SuckAir 145 Geyser 0 7 44 156 146 189 154 209 763 140 170 20 240
364 24 GoldSlime 60 Chance 62 BigBang 129 Surge 255 No skills 0 7 55 123 843 230 843 650 999 180 200 40 250
365 25 GranSlime 25 HealUs 32 Farewell 138 Focus 149 Dodge 0 7 57 400 100 295 151 265 999 150 170 60 250
366 64 Divinegon 31 Revive 63 Hellblast 71 WhiteAir 159 Meditate 0 7 56 453 120 410 205 240 999 210 180 30 250
367 96 KingLeo 6 Firebolt 67 WhiteFire 71 WhiteAir 100 QuadHits 0 7 55 285 264 350 195 254 981 200 200 200 250
368 129 RainHawk 61 MegaMagic 129 Surge 148 StrongD 255 No skills 0 7 55 400 553 330 210 344 999 200 210 60 250
369 238 Durran 73 Vacuum 85 DrakSlash 103 GigaSlash 131 DeMagic 0 7 55 400 425 338 220 454 950 60 200 40 250
370 268 Lazamanus 24 HealAll 121 K.O.Dance 123 LifeDance 150 BladeD 0 7 57 425 40 310 185 268 980 40 200 140 250
371 309 GoldGolem 62 BigBang 85 DrakSlash 129 Surge 136 BazooCall 0 7 55 425 80 285 443 254 999 200 210 110 250
372 74 PillowRat 37 Upper 54 MagicBack 97 NapAttack 255 No skills 0 7 18 88 92 127 93 69 383 200 200 80 150
373 188 ArmorPede 19 Beat 51 StopSpell 109 TwinSlash 255 No skills 0 7 28 123 173 119 166 180 357 70 100 210 170
374 94 WildApe 32 Farewell 52 PanicAll 99 BiAttack 144 WarCry 0 7 32 144 64 198 79 152 453 200 150 30 150
375 330 Clawster 30 Vivify 53 Ironize 92 CleanCut 121 K.O.Dance 0 7 42 230 274 226 272 306 753 10 200 220 180
376 146 Gulpple 25 HealUs 47 Sleep 60 Chance 155 AquaWall 0 7 37 166 159 214 212 155 747 210 40 210 150
377 372 Darck 6 Firebolt 103 GigaSlash 131 DeMagic 173 PanicAll 59630 7 44 4000 999 350 220 160 210 150 150 150 200
378 98 MadCat 255 No skills 255 No skills 255 No skills 255 No skills 0 0 1 25 11 23 14 23 14 220 180 40 250
379 196 HornBeet 255 No skills 255 No skills 255 No skills 255 No skills 0 0 1 15 28 17 30 14 29 150 170 60 250
380 62 SkyDragon 255 No skills 255 No skills 255 No skills 255 No skills 0 0 1 27 24 28 16 21 19 210 130 140 250
381 338 Octogon 255 No skills 255 No skills 255 No skills 255 No skills 0 0 1 30 24 28 16 21 26 200 200 200 250
382 267 Servant 255 No skills 255 No skills 255 No skills 255 No skills 0 0 1 30 21 26 24 11 30 200 210 60 250
383 372 Darck 255 No skills 255 No skills 255 No skills 255 No skills 0 0 1 70 55 55 40 30 120 100 100 100 100
384 181 GiantWorm 86 BeastCut 255 No skills 255 No skills 255 No skills 6 2 3 15 11 15 4 14 18 180 100 100 200
385 246 Spooky 255 No skills 255 No skills 255 No skills 255 No skills 6 1 3 16 16 11 5 21 15 150 150 150 200
386 79 Beavern 104 ChargeUp 255 No skills 255 No skills 255 No skills 180 7 5 98 16 20 8 36 120 120 100 180 200
387 79 Beavern 104 ChargeUp 255 No skills 255 No skills 255 No skills 60 0 5 61 24 36 23 42 26 200 100 80 200
388 283 MadCandle 1 Blaze 162 Whistle 255 No skills 255 No skills 9 2 4 16 11 14 11 6 11 140 70 90 150
389 286 SpikyBoy 255 No skills 255 No skills 255 No skills 255 No skills 8 3 4 19 12 10 6 22 69 200 70 100 150
390 333 Scallopa 37 Upper 255 No skills 255 No skills 255 No skills 18 2 5 33 40 23 25 28 56 160 120 40 150
391 87 ArrowDog 147 MouthShut 255 No skills 255 No skills 255 No skills 120 3 9 35 27 38 33 54 119 140 150 40 150
392 106 Picky 39 Sap 255 No skills 255 No skills 255 No skills 104 2 11 35 57 32 54 50 183 140 70 40 150
393 179 Butterfly 117 Curse 255 No skills 255 No skills 255 No skills 201 2 12 46 77 36 48 158 136 250 40 40 150
394 296 Brushead 118 OddDance 126 SandStorm 255 No skills 255 No skills 227 3 13 56 76 66 36 51 214 250 120 40 150
395 20 TropicGel 27 MPass 113 SleepAir 255 No skills 255 No skills 99 2 8 38 60 44 26 61 140 240 80 20 150
396 38 Pteranod 4 Firebal 153 TailWind 255 No skills 255 No skills 301 3 13 66 41 68 53 158 119 250 40 0 150
397 36 DragonKid 64 FireAir 113 SleepAir 255 No skills 255 No skills 108 3 13 52 71 55 52 70 223 210 80 20 150
398 101 CatMage 58 Transform 255 No skills 255 No skills 255 No skills 288 3 15 64 95 66 60 42 193 200 120 50 150
399 265 BoneSlave 7 Bang 82 BoltSlash 255 No skills 255 No skills 360 7 13 72 58 58 45 49 99 180 40 100 150
400 339 KingSquid 77 Tidalwave 101 RainSlash 120 PaniDance 255 No skills 4000 0 38 2500 140 227 147 189 73 210 140 20 150
401 71 Tonguella 139 LushLicks 255 No skills 255 No skills 255 No skills 377 3 15 80 37 57 61 52 115 140 100 120 100
402 44 Drygon 111 Ramming 144 WarCry 255 No skills 255 No skills 357 3 22 76 73 79 55 68 259 140 30 180 100
403 346 Pumpoise 78 CallHelp 137 SuckAir 255 No skills 255 No skills 433 3 19 86 51 77 68 67 169 80 100 120 100
404 317 Moray 47 Sleep 105 PsycheUp 255 No skills 255 No skills 476 4 19 106 130 81 67 89 156 90 100 110 100
405 328 RushFish 37 Upper 112 Kamikaze 255 No skills 255 No skills 425 5 19 148 87 70 69 113 148 150 70 90 100
406 167 FooHero 13 Bolt 53 Ironize 255 No skills 255 No skills 334 4 20 76 78 76 73 89 179 170 50 30 100
407 256 Mudron 19 Beat 69 IceAir 255 No skills 255 No skills 364 4 20 82 137 93 68 77 169 180 30 120 100
408 144 WingTree 91 ZombieCut 164 StepGuard 255 No skills 255 No skills 468 4 23 95 151 83 78 89 166 160 140 120 100
409 213 AgDevil 5 Firebane 113 SleepAir 144 WarCry 255 No skills 3022 7 18 550 50 90 59 109 216 180 250 40 150
410 289 Puppetor 99 BiAttack 118 OddDance 120 PaniDance 122 LureDance 2540 7 22 400 82 85 60 48 120 250 150 40 150
411 222 ArcDemon 8 Boom 81 VacuSlash 82 BoltSlash 255 No skills 3600 7 27 210 89 105 71 84 211 180 45 150 150
412 224 GoatHorn 4 Firebal 11 Infermore 17 SnowStorm 99 BiAttack 7700 7 27 330 89 95 65 92 233 180 50 50 150
413 156 HerbMan 117 Curse 138 Focus 146 DanceShut 255 No skills 1429 5 22 165 214 150 70 99 326 200 160 80 100
414 213 AgDevil 5 Firebane 21 Sacrifice 255 No skills 255 No skills 1002 5 25 102 102 165 104 145 302 150 10 70 100
415 289 Puppetor 118 OddDance 122 LureDance 163 Pheromone 255 No skills 920 5 27 101 150 134 97 97 239 120 70 100 100
416 306 Golem 104 ChargeUp 105 PsycheUp 255 No skills 255 No skills 1378 5 30 145 102 132 128 145 127 200 0 200 100
417 158 EvilSeed 92 CleanCut 96 Paralyze 255 No skills 255 No skills 2647 5 24 120 108 112 117 131 217 90 80 120 100
418 216 EyeBall 54 MagicBack 144 WarCry 255 No skills 255 No skills 2333 5 29 141 138 131 131 135 342 150 80 140 100
419 49 Chamelgon 52 PanicAll 96 Paralyze 255 No skills 255 No skills 2198 5 26 189 72 112 126 122 333 230 80 80 100
420 221 Gremlin 5 Firebane 22 Heal 255 No skills 255 No skills 2417 5 25 128 142 100 120 169 329 110 100 60 100
421 8 BoxSlime 2 Blazemore 38 Increase 111 Ramming 255 No skills 2040 5 30 156 77 118 118 148 273 200 10 10 100
422 18 Metabble 4 Firebal 7 Bang 255 No skills 255 No skills 41579 7 37 20 368 95 999 670 522 170 140 0 100
423 91 FairyRat 44 SlowAll 46 Surround 84 SlimeBlow 255 No skills 1045 5 27 148 95 115 127 181 216 60 120 140 100
424 77 Skullroo 104 ChargeUp 120 PaniDance 168 EagleEye 255 No skills 1426 5 32 128 179 129 152 150 298 250 90 40 100
425 83 Mommonja 122 LureDance 147 MouthShut 255 No skills 255 No skills 1938 5 25 138 122 116 99 170 247 100 140 120 100
426 116 KiteHawk 57 MagicWall 117 Curse 255 No skills 255 No skills 1941 5 35 151 114 136 112 269 236 180 60 130 100
427 121 MadCondor 25 HealUs 255 No skills 255 No skills 255 No skills 15000 0 30 600 119 131 90 110 159 140 130 130 100
428 121 MadCondor 25 HealUs 255 No skills 255 No skills 255 No skills 0 0 30 149 142 162 160 192 259 80 160 100 100
429 58 WingSnake 98 SquallHit 106 HighJump 116 PoisonAir 255 No skills 2943 5 32 189 201 136 99 196 220 150 140 160 100
430 220 1EyeClown 3 Blazemost 6 Firebolt 18 Blizzard 255 No skills 4546 5 40 221 374 173 174 178 461 180 70 180 100
431 339 KingSquid 77 Tidalwave 101 RainSlash 120 PaniDance 255 No skills 0 0 38 210 140 227 147 189 173 180 140 90 150
432 78 WindBeast 12 Infermost 17 SnowStorm 255 No skills 255 No skills 8200 7 40 900 127 236 168 489 546 140 80 180 100
433 120 MadGoose 23 HealMore 73 Vacuum 255 No skills 255 No skills 7780 7 40 580 387 201 203 348 521 80 100 200 100
434 341 WhaleMage 77 Tidalwave 255 No skills 255 No skills 255 No skills 8900 7 42 750 590 199 228 247 894 190 120 200 100
435 334 SeaHorse 69 IceAir 145 Geyser 255 No skills 255 No skills 5600 7 37 480 180 191 253 222 490 150 50 150 100
436 325 Octoreach 118 OddDance 120 PaniDance 145 Geyser 255 No skills 5700 7 39 700 140 238 174 247 423 120 70 180 100
437 302 IceMan 18 Blizzard 70 IceStorm 148 StrongD 255 No skills 10500 7 45 1200 500 345 279 210 670 100 30 100 100
438 253 Shadow 69 IceAir 255 No skills 255 No skills 255 No skills 5800 7 40 600 300 277 240 170 500 70 50 100 100
439 99 BigEye 69 IceAir 161 LoveRain 255 No skills 255 No skills 6000 7 37 750 280 358 242 198 550 100 100 100 100
440 293 Balzak 15 Thordain 255 No skills 255 No skills 255 No skills 24900 7 45 2000 398 375 257 220 330 200 0 140 100
441 249 PotRaven 74 Lightning 82 BoltSlash 255 No skills 255 No skills 4000 7 35 680 340 160 249 340 700 40 80 100 100
442 237 Jamirus 3 Blazemost 99 BiAttack 153 TailWind 255 No skills 10000 7 48 1400 750 247 349 410 690 100 100 140 100
443 62 SkyDragon 67 WhiteFire 137 SuckAir 255 No skills 255 No skills 5800 7 46 990 700 349 279 243 590 150 100 130 100
444 221 Gremlin 23 HealMore 51 StopSpell 255 No skills 255 No skills 4800 7 40 600 450 201 232 218 300 40 90 80 100
445 57 Crestpent 51 StopSpell 61 MegaMagic 95 PoisonHit 255 No skills 7400 7 42 780 700 279 300 299 480 100 80 100 100
446 19 SpotKing 92 CleanCut 97 NapAttack 147 MouthShut 255 No skills 10000 7 45 1300 550 378 214 308 800 70 80 120 100
447 146 Gulpple 97 NapAttack 106 HighJump 113 SleepAir 255 No skills 5600 7 45 840 590 289 299 387 650 60 150 120 100
448 40 FairyDrak 46 Surround 113 SleepAir 255 No skills 255 No skills 5700 7 40 700 340 312 298 273 500 80 80 80 100
449 110 DuckKite 48 SleepAll 52 PanicAll 255 No skills 255 No skills 5900 7 42 900 470 296 330 400 730 90 90 90 100
450 128 FunkyBird 120 PaniDance 124 Hustle 255 No skills 255 No skills 6200 7 42 890 500 301 267 430 680 80 100 130 100
451 152 DanceVegi 121 K.O.Dance 122 LureDance 125 SideStep 255 No skills 6100 7 37 680 430 259 249 240 390 50 90 80 100
452 149 Slurperon 48 SleepAll 118 OddDance 140 SickLick 255 No skills 5600 7 39 790 400 277 259 302 450 90 90 140 100
453 141 MadPlant 40 Defense 44 SlowAll 255 No skills 255 No skills 5200 7 39 880 380 243 350 289 510 80 80 80 100
454 225 Orc 30 Vivify 40 Defense 135 SamsiCall 255 No skills 6000 7 43 900 350 346 289 190 770 140 100 140 100
455 248 Putrepup 40 Defense 44 SlowAll 54 MagicBack 255 No skills 5900 7 41 700 280 330 328 232 450 100 100 130 100
456 154 Devipine 19 Beat 118 OddDance 255 No skills 255 No skills 6400 7 43 840 400 300 358 222 660 70 60 200 100
457 320 Anemon 5 Firebane 96 Paralyze 116 PoisonAir 255 No skills 5800 7 44 900 370 248 388 289 580 100 120 100 100
458 156 HerbMan 117 Curse 138 Focus 146 DanceShut 255 No skills 6300 7 46 1300 700 341 273 370 900 90 130 200 100
459 16 KingSlime 30 Vivify 56 Barrier 255 No skills 255 No skills 18000 7 50 4000 280 329 289 334 800 10 150 150 100
460 59 Coatol 9 Explodet 82 BoltSlash 107 EvilSlash 255 No skills 10000 7 48 640 1800 289 410 329 800 90 100 120 100
461 12 FangSlime 79 YellHelp 104 ChargeUp 144 WarCry 255 No skills 9400 7 44 700 378 333 278 397 590 200 40 150 100
462 85 Grizzly 98 SquallHit 100 QuadHits 142 BigTrip 255 No skills 10200 7 45 870 360 372 245 379 288 180 70 100 100
463 89 BeastNite 47 Sleep 101 RainSlash 103 GigaSlash 255 No skills 9300 7 45 1200 420 358 343 201 600 140 100 120 100
464 14 SlimeBorg 23 HealMore 26 HealUsAll 38 Increase 255 No skills 8700 7 44 650 790 217 327 418 740 80 200 170 100
465 92 Unicorn 24 HealAll 31 Revive 129 Surge 255 No skills 11000 7 45 720 680 316 322 319 800 70 200 70 100
466 81 SuperTen 124 Hustle 158 Imitate 255 No skills 255 No skills 8800 7 44 600 380 312 298 417 600 50 170 100 100
467 10 Slime 61 MegaMagic 255 No skills 255 No skills 255 No skills 11200 7 47 600 500 387 299 387 700 120 70 100 100
468 13 RockSlime 106 HighJump 111 Ramming 148 StrongD 255 No skills 12000 7 40 680 230 265 362 265 450 90 170 60 100
469 18 Metabble 9 Explodet 21 Sacrifice 255 No skills 255 No skills 38900 7 40 289 700 146 798 688 770 10 100 90 100
470 100 Gorago 67 WhiteFire 131 DeMagic 144 WarCry 159 Meditate 53890 7 55 990 780 432 378 688 800 200 130 120 150
471 15 Slabbit 125 SideStep 142 BigTrip 255 No skills 255 No skills 5873 4 37 220 374 187 198 310 345 60 80 90 100
472 58 WingSnake 98 SquallHit 106 HighJump 115 PoisonGas 255 No skills 5972 5 37 280 248 220 178 259 333 80 70 100 100
473 91 FairyRat 44 SlowAll 46 Surround 84 SlimeBlow 255 No skills 5674 4 35 140 188 168 340 288 348 60 80 100 100
474 150 StubSuck 48 SleepAll 91 ZombieCut 255 No skills 255 No skills 5738 4 37 300 345 175 220 201 338 40 40 50 100
475 141 MadPlant 40 Defense 44 SlowAll 255 No skills 255 No skills 5499 4 34 180 420 207 299 230 378 80 30 100 100
476 92 Unicorn 24 HealAll 31 Revive 255 No skills 255 No skills 6128 5 36 310 360 257 236 287 450 90 200 100 100
477 230 Grendal 80 FireSlash 85 DrakSlash 144 WarCry 255 No skills 6748 5 38 380 197 301 268 189 327 150 100 100 100
478 186 GoHopper 50 RobMagic 79 YellHelp 104 ChargeUp 255 No skills 5888 4 35 230 260 173 270 299 320 80 40 60 100
479 87 ArrowDog 38 Increase 104 ChargeUp 140 SickLick 255 No skills 9800 7 40 500 210 237 288 249 501 80 40 70 100
480 183 StagBug 48 SleepAll 66 Scorching 143 Ahhh 255 No skills 6138 5 38 325 200 248 348 248 360 80 30 100 100
481 142 FireWeed 2 Blazemore 114 PalsyAir 255 No skills 255 No skills 6348 5 37 290 470 301 240 320 410 90 70 90 100
482 213 AgDevil 6 Firebolt 119 RobDance 158 Imitate 255 No skills 26890 7 47 1500 580 346 310 267 700 90 120 130 100
483 85 Grizzly 98 SquallHit 100 QuadHits 142 BigTrip 255 No skills 6172 5 41 425 157 320 220 201 323 150 70 70 100
484 217 SkulRider 80 FireSlash 101 RainSlash 142 BigTrip 255 No skills 5488 4 42 311 245 287 269 324 388 100 100 100 100
485 318 WalrusMan 88 BugBlow 107 EvilSlash 108 Massacre 255 No skills 5972 4 40 347 225 321 219 340 317 130 60 80 100
486 283 MadCandle 2 Blazemore 105 PsycheUp 255 No skills 255 No skills 6010 5 43 321 249 299 319 372 478 100 70 80 100
487 259 Reaper 90 DevilCut 117 Curse 128 EerieLite 255 No skills 6488 5 42 279 489 287 367 327 589 100 100 100 100
488 311 ProtoMech 84 SlimeBlow 104 ChargeUp 111 Ramming 255 No skills 6788 5 43 378 289 380 232 318 379 110 40 110 100
489 297 Roboster 40 Defense 100 QuadHits 101 RainSlash 150 BladeD 6000 7 50 900 570 401 448 427 670 140 90 100 100
490 297 Roboster 40 Defense 100 QuadHits 255 No skills 255 No skills 1000 7 50 535 205 310 300 320 420 140 50 60 100
491 297 Roboster 40 Defense 100 QuadHits 255 No skills 255 No skills 300 7 50 210 70 160 200 210 230 140 40 40 100
492 297 Roboster 40 Defense 255 No skills 255 No skills 255 No skills 100 7 50 79 2 82 89 101 38 140 0 0 100
493 4 TreeSlime 40 Defense 96 Paralyze 113 SleepAir 255 No skills 14879 4 44 320 299 225 267 278 480 70 90 110 100
494 155 FaceTree 51 StopSpell 117 Curse 118 OddDance 255 No skills 13779 6 47 369 427 237 324 200 600 80 120 120 100
495 226 Ogre 94 MetalCut 105 PsycheUp 108 Massacre 255 No skills 14670 6 47 410 246 359 312 273 550 200 30 100 100
496 295 CurseLamp 38 Increase 42 SpeedUp 45 TwinHits 255 No skills 13586 5 44 333 390 205 280 348 600 90 140 130 100
497 320 Anemon 6 Firebolt 96 Paralyze 115 PoisonGas 255 No skills 13347 4 45 310 370 279 243 318 520 100 100 100 100
498 182 Lipsy 140 SickLick 143 Ahhh 163 Pheromone 255 No skills 14648 4 44 348 360 267 287 287 530 90 140 120 100
499 180 WeedBug 50 RobMagic 56 Barrier 57 MagicWall 255 No skills 13222 4 46 323 479 249 326 312 480 80 130 150 100
500 55 Spikerous 75 RockThrow 110 Beserker 112 Kamikaze 255 No skills 15900 5 45 438 320 297 378 207 410 100 80 110 100
501 247 Skullgon 70 IceStorm 83 IceSlash 109 TwinSlash 255 No skills 15478 5 47 426 320 297 378 207 450 130 100 110 100
502 254 Skulpent 20 Defeat 95 PoisonHit 149 Dodge 255 No skills 13267 4 44 368 274 277 243 378 400 90 140 120 100
503 179 Butterfly 46 Surround 79 YellHelp 117 Curse 255 No skills 13685 4 46 297 389 266 324 458 620 80 100 130 100
504 211 Pixy 8 Boom 56 Barrier 120 PaniDance 255 No skills 9680 7 52 680 400 357 374 443 700 100 130 110 100
505 269 Copycat 58 Transform 255 No skills 255 No skills 255 No skills 15000 7 55 750 300 310 520 380 999 150 150 150 100
506 307 StoneMan 75 RockThrow 152 Guardian 159 Meditate 255 No skills 9000 7 52 1300 360 458 268 247 700 120 150 120 100
507 127 WhipBird 131 DeMagic 158 Imitate 161 LoveRain 255 No skills 12000 7 53 950 830 334 374 438 700 130 150 100 100
508 21 MimeSlime 3 Blazemost 56 Barrier 118 OddDance 255 No skills 0 7 43 370 690 258 320 350 520 40 120 210 140
509 71 Tonguella 38 Increase 57 MagicWall 84 SlimeBlow 255 No skills 0 7 45 400 320 338 310 284 430 130 20 150 140
510 306 Golem 105 PsycheUp 106 HighJump 108 Massacre 255 No skills 0 7 48 520 315 410 301 189 540 200 120 70 140
511 219 Bubblemon 18 Blizzard 55 Bounce 82 BoltSlash 110 Beserker 40130 6 93 663 121 618 519 487 629 50 120 120 150
512 288 RogueNite 40 Defense 53 Ironize 95 PoisonHit 112 Kamikaze 40100 6 92 802 228 703 401 443 627 90 40 40 150
513 289 Puppetor 3 Blazemost 61 MegaMagic 128 EerieLite 143 Ahhh 41130 6 81 823 43 600 401 336 509 10 200 10 150
514 304 Exaucers 21 Sacrifice 67 WhiteFire 160 LifeSong 165 Outside 43989 6 93 702 126 511 335 567 544 120 30 200 150
515 341 WhaleMage 24 HealAll 55 Bounce 136 BazooCall 158 Imitate 42891 6 92 622 84 426 402 506 931 70 130 40 150
516 212 MedusaEye 32 Farewell 130 UltraDown 154 StormWind 163 Pheromone 44120 6 93 701 132 549 479 481 740 70 130 40 150
517 23 MetalKing 39 Sap 124 Hustle 106 HighJump 131 DeMagic 0 7 50 200 950 310 780 840 700 210 190 220 200
518 96 KingLeo 95 PoisonHit 144 WarCry 18 Blizzard 100 QuadHits 0 7 55 1200 490 370 480 460 680 220 220 160 200
519 309 GoldGolem 74 Lightning 104 ChargeUp 152 Guardian 255 No skills 0 7 50 900 590 430 600 370 700 220 220 220 200
520 56 GreatDrak 67 WhiteFire 70 IceStorm 144 WarCry 255 No skills 0 7 52 840 330 375 400 299 300 220 190 200 200
521 165 Watabou 62 BigBang 78 CallHelp 161 LoveRain 255 No skills 0 7 40 610 467 320 380 178 150 200 200 200 200
522 238 Durran 98 SquallHit 103 GigaSlash 130 UltraDown 159 Meditate 0 7 53 1000 470 420 430 326 450 200 140 190 200
523 214 Demonite 117 Curse 118 OddDance 128 EerieLite 255 No skills 4700 7 47 470 358 337 267 358 479 140 50 170 150
524 229 BossTroll 75 RockThrow 105 PsycheUp 150 BladeD 255 No skills 8900 7 46 580 210 449 237 129 288 200 10 30 150
525 281 JewelBag 117 Curse 118 OddDance 128 EerieLite 255 No skills 6900 7 48 530 799 402 427 348 520 70 80 200 150
526 265 BoneSlave 44 SlowAll 45 TwinHits 135 SamsiCall 255 No skills 9600 7 52 500 320 387 278 248 450 70 140 40 150
527 263 DeadNoble 18 Blizzard 79 YellHelp 107 EvilSlash 255 No skills 20000 7 54 800 560 425 349 388 590 150 30 160 150
528 288 RogueNite 100 QuadHits 104 ChargeUp 147 MouthShut 255 No skills 7760 7 58 770 480 447 423 278 560 200 20 100 150
529 293 Balzak 85 DrakSlash 110 Beserker 157 SuckAll 255 No skills 13500 7 56 1300 570 488 317 347 600 180 10 170 150
530 291 Voodoll 130 UltraDown 132 ThickFog 158 Imitate 255 No skills 6000 7 58 670 680 340 568 459 700 70 200 200 150
531 227 GateGuard 9 Explodet 25 HealUs 101 RainSlash 255 No skills 7800 7 53 680 490 378 359 367 590 130 200 170 150
532 287 MadMirror 12 Infermost 55 Bounce 127 Radiant 255 No skills 7800 7 51 580 780 290 489 444 680 30 200 200 150
533 344 Grakos 77 Tidalwave 31 Revive 28 MPassmore 255 No skills 7800 7 54 780 880 357 455 328 700 70 210 170 150
534 333 Scallopa 38 Increase 57 MagicWall 127 Radiant 255 No skills 4673 4 44 328 245 288 379 229 410 60 120 150 100
535 5 Snaily 18 Blizzard 35 NumbOff 79 YellHelp 255 No skills 4211 4 45 248 102 241 399 348 440 200 40 80 100
536 330 Clawster 85 DrakSlash 94 MetalCut 100 QuadHits 255 No skills 4721 4 46 358 330 320 299 321 390 150 150 30 100
537 253 Shadow 69 IceAir 132 ThickFog 255 No skills 255 No skills 4372 7 43 290 310 314 324 357 500 30 20 200 100
538 303 Mimic 2 Blazemore 19 Beat 255 No skills 255 No skills 5900 7 45 400 490 360 314 490 450 110 40 140 100
539 23 MetalKing 12 Infermost 107 EvilSlash 128 EerieLite 145 Geyser 39600 7 48 600 200 410 859 320 160 20 80 140 150
540 129 RainHawk 62 BigBang 131 DeMagic 72 WindBeast 255 No skills 6600 7 99 3500 520 710 540 250 330 170 30 130 150
541 59 Coatol 25 HealUs 77 Tidalwave 134 DiagoCall 142 BigTrip 7300 7 46 1500 210 600 600 300 255 90 140 100 150
542 124 Phoenix 3 Blazemost 38 Increase 80 FireSlash 108 Massacre 9940 6 58 376 289 328 251 363 487 150 40 30 150
543 131 Shantak 9 Explodet 74 Lightning 117 Curse 159 Meditate 10620 6 59 478 180 267 348 436 678 170 80 150 150
544 123 Blizzardy 51 StopSpell 70 IceStorm 83 IceSlash 161 LoveRain 9940 6 57 382 438 295 256 470 590 90 170 60 150
545 247 Skullgon 52 PanicAll 71 WhiteAir 86 BeastCut 119 RobDance 9533 6 59 477 376 415 231 452 478 130 110 160 150
546 231 Akubar 6 Firebolt 38 Increase 59 BeDragon 100 QuadHits 11470 6 55 511 465 324 310 382 648 140 10 120 150
547 97 DarkHorn 48 SleepAll 55 Bounce 89 Shears 104 ChargeUp 11239 6 56 534 100 375 269 351 667 100 140 30 150
548 63 Serpentia 82 BoltSlash 87 BirdBlow 107 EvilSlash 126 SandStorm 9994 6 53 437 438 388 178 338 537 190 120 140 150
549 81 SuperTen 42 SpeedUp 113 SleepAir 122 LureDance 146 DanceShut 9320 6 59 387 363 321 272 358 577 130 140 100 150
550 92 Unicorn 25 HealUs 45 TwinHits 85 DrakSlash 123 LifeDance 9561 6 54 369 80 352 339 418 674 250 200 20 150
551 116 KiteHawk 28 MPassmore 42 SpeedUp 46 Surround 155 AquaWall 9477 6 57 346 328 298 386 308 348 70 140 180 150
552 261 FoxFire 66 Scorching 92 CleanCut 127 Radiant 158 Imitate 9344 6 56 359 417 311 276 293 478 150 150 40 150
553 292 MetalDrak 57 MagicWall 84 SlimeBlow 104 ChargeUp 148 StrongD 9679 6 59 458 547 394 338 318 543 160 160 160 150
554 337 AxeShark 52 PanicAll 81 VacuSlash 116 PoisonAir 125 SideStep 13498 6 61 499 389 401 259 285 338 180 10 40 150
555 307 StoneMan 31 Revive 93 AquaCut 108 Massacre 157 SuckAll 12447 6 63 589 467 428 261 338 576 250 180 80 150
556 212 MedusaEye 76 Watershot 91 ZombieCut 120 PaniDance 133 TatsuCall 10440 6 62 437 110 338 317 399 612 30 140 150 150
557 193 MadHornet 49 TakeMagic 90 DevilCut 96 Paralyze 106 HighJump 10130 6 63 476 399 378 271 453 531 160 70 90 150
558 151 Oniono 33 Antidote 88 BugBlow 105 PsycheUp 116 PoisonAir 10577 6 65 472 422 376 320 348 537 50 180 120 150
559 187 TailEater 18 Blizzard 44 SlowAll 55 Bounce 109 TwinSlash 10120 6 63 367 489 324 337 365 587 80 110 180 150
560 89 BeastNite 19 Beat 58 Transform 79 YellHelp 94 MetalCut 10489 6 64 537 105 415 309 329 534 200 140 130 150
561 21 MimeSlime 15 Thordain 60 Chance 101 RainSlash 138 Focus 14590 6 67 467 632 358 321 460 632 120 140 130 150
562 47 MadDragon 66 Scorching 108 Massacre 146 DanceShut 152 Guardian 11270 6 64 527 446 438 262 300 349 30 30 60 150
563 58 WingSnake 73 Vacuum 110 Beserker 124 Hustle 155 AquaWall 10540 6 65 557 90 387 277 427 458 140 80 170 150
564 60 Orochi 24 HealAll 40 Defense 102 MultiCut 130 UltraDown 15789 6 66 627 75 447 310 542 678 200 200 180 150
565 95 Trumpeter 36 CurseOff 49 TakeMagic 75 RockThrow 134 DiagoCall 11367 6 64 638 98 418 429 311 487 180 130 180 150
566 107 Wyvern 29 MPassmost 65 BlazeAir 69 IceAir 137 SuckAir 12455 6 67 523 80 407 380 358 511 170 120 150 150
567 154 Devipine 19 Beat 44 SlowAll 98 SquallHit 125 SideStep 13477 6 68 489 477 388 356 348 537 100 150 170 150
568 160 Snapper 56 Barrier 74 Lightning 95 PoisonHit 126 SandStorm 12319 6 65 563 426 359 365 342 578 140 130 160 150
569 183 StagBug 9 Explodet 53 Ironize 97 NapAttack 109 TwinSlash 11450 6 67 467 523 374 421 373 499 110 140 120 150
570 192 ArmyCrab 38 Increase 45 TwinHits 74 Lightning 142 BigTrip 13699 6 65 446 30 392 445 292 578 90 70 80 150
571 222 ArcDemon 21 Sacrifice 85 DrakSlash 107 EvilSlash 131 DeMagic 16980 6 71 677 98 476 382 381 649 170 130 80 150
572 220 1EyeClown 18 Blizzard 50 RobMagic 57 MagicWall 89 Shears 15788 6 73 586 678 378 364 346 636 40 120 130 150
573 232 MadKnight 55 Bounce 63 Hellblast 80 FireSlash 101 RainSlash 16244 6 73 650 60 446 416 359 535 200 10 200 150
574 262 CaptDead 44 SlowAll 94 MetalCut 145 Geyser 155 AquaWall 15999 6 74 646 589 466 433 300 555 170 160 130 150
575 267 Servant 19 Beat 48 SleepAll 100 QuadHits 117 Curse 16893 6 73 638 30 458 414 356 589 190 180 190 150
576 301 LavaMan 34 DeChaos 62 BigBang 140 SickLick 149 Dodge 21300 6 77 746 48 500 451 348 599 170 190 160 150
577 308 BombCrag 38 Increase 77 Tidalwave 129 Surge 150 BladeD 20100 6 78 729 100 408 517 277 588 20 70 80 150
578 328 RushFish 48 SleepAll 77 Tidalwave 105 PsycheUp 112 Kamikaze 19878 6 76 697 45 387 460 396 518 170 110 30 150
579 341 WhaleMage 45 TwinHits 59 BeDragon 98 SquallHit 119 RobDance 21040 6 78 716 55 460 381 423 668 100 180 130 150
580 19 SpotKing 12 Infermost 52 PanicAll 102 MultiCut 156 SealPray 20569 6 79 738 58 408 390 394 678 180 90 140 150
581 14 SlimeBorg 6 Firebolt 42 SpeedUp 79 YellHelp 128 EerieLite 20100 6 82 779 136 415 437 370 659 140 40 120 150
582 41 LizardMan 55 Bounce 103 GigaSlash 130 UltraDown 135 SamsiCall 21387 6 84 763 97 638 481 473 646 200 130 120 150
583 56 GreatDrak 12 Infermost 71 WhiteAir 138 Focus 152 Guardian 23487 6 83 777 328 673 621 410 588 200 170 180 150
584 98 MadCat 44 SlowAll 79 YellHelp 85 DrakSlash 98 SquallHit 23555 6 83 759 428 661 446 538 634 190 120 100 150
585 122 Emyu 18 Blizzard 48 SleepAll 101 RainSlash 122 LureDance 24589 6 85 739 399 627 470 519 622 150 180 40 150
586 196 HornBeet 46 Surround 105 PsycheUp 146 DanceShut 147 MouthShut 24589 6 86 728 167 589 536 409 647 130 150 190 150
587 226 Ogre 45 TwinHits 59 BeDragon 75 RockThrow 110 Beserker 23469 6 85 757 89 642 475 458 638 190 20 90 150
588 248 Putrepup 35 NumbOff 57 MagicWall 90 DevilCut 116 PoisonAir 22459 6 86 729 20 612 407 446 690 60 130 140 150
589 298 Roboster2 15 Thordain 31 Revive 98 SquallHit 127 Radiant 26798 6 87 767 120 648 650 502 688 190 250 0 150
590 309 GoldGolem 73 Vacuum 104 ChargeUp 129 Surge 132 ThickFog 34578 6 86 838 138 671 526 515 666 200 200 200 150
591 264 WhiteKing 9 Explodet 18 Blizzard 24 HealAll 57 MagicWall 37698 6 88 812 685 627 329 421 740 100 200 200 150
592 24 GoldSlime 60 Chance 124 Hustle 131 DeMagic 149 Dodge 55790 6 85 488 157 529 999 501 787 70 190 200 150
593 64 Divinegon 63 Hellblast 106 HighJump 136 BazooCall 154 StormWind 39848 6 87 793 82 710 720 515 739 170 190 150 150
594 96 KingLeo 55 Bounce 93 AquaCut 144 WarCry 160 LifeSong 34529 6 86 838 327 677 430 510 740 200 180 150 150
595 129 RainHawk 19 Beat 62 BigBang 102 MultiCut 129 Surge 32345 6 88 751 111 647 620 538 719 130 200 120 150
596 162 Rosevine 40 Defense 71 WhiteAir 103 GigaSlash 113 SleepAir 35699 6 92 793 128 671 577 506 788 80 110 200 150
597 198 Armorpion 49 TakeMagic 96 Paralyze 108 Massacre 156 SealPray 34289 6 91 729 520 614 640 560 748 140 140 170 150
598 238 Durran 53 Ironize 102 MultiCut 128 EerieLite 136 BazooCall 46989 6 93 768 536 733 535 576 764 200 30 200 150
599 342 Aquadon 77 Tidalwave 130 UltraDown 145 Geyser 148 StrongD 40100 6 92 802 272 689 528 538 734 90 200 200 150
600 164 Warubou 29 MPassmost 131 DeMagic 255 No skills 255 No skills 0 0 50 428 588 399 432 362 422 150 150 150 100
601 164 Warubou 27 MPass 163 Pheromone 255 No skills 255 No skills 0 0 40 321 376 264 319 279 349 200 50 50 150
602 266 Skeletor 80 FireSlash 81 VacuSlash 82 BoltSlash 255 No skills 0 0 43 341 309 349 317 267 401 120 130 90 100
603 307 StoneMan 111 Ramming 129 Surge 145 Geyser 255 No skills 0 0 54 467 442 428 376 331 480 120 160 130 100
604 128 FunkyBird 121 K.O.Dance 123 LifeDance 146 DanceShut 255 No skills 0 0 46 372 351 361 327 459 433 100 150 130 100
605 269 Copycat 58 Transform 59 BeDragon 160 LifeSong 255 No skills 0 0 53 371 582 248 417 458 500 20 200 180 100
606 51 Andreal 25 HealUs 130 UltraDown 156 SealPray 255 No skills 0 0 59 502 327 429 447 489 427 180 140 140 100
607 21 MimeSlime 18 Blizzard 45 TwinHits 62 BigBang 255 No skills 0 7 40 390 600 240 588 320 766 100 100 200 150
608 27 Butch 25 HealUs 79 YellHelp 113 SleepAir 255 No skills 0 7 40 600 330 320 577 725 500 200 200 200 150
609 14 SlimeBorg 52 PanicAll 56 Barrier 60 Chance 255 No skills 0 7 40 799 460 350 280 240 800 50 50 200 150
610 353 LordDraco 107 EvilSlash 128 EerieLite 157 SuckAll 255 No skills 0 7 70 999 300 600 250 280 999 250 200 200 200
611 22 HaloSlime 129 Surge 145 Geyser 160 LifeSong 255 No skills 0 0 1 78 70 57 99 102 107 70 200 150 100
612 341 WhaleMage 58 Transform 76 Watershot 155 AquaWall 255 No skills 0 0 1 108 100 35 70 20 100 40 50 150 100
613 307 StoneMan 148 StrongD 157 SuckAll 255 No skills 255 No skills 7349 5 42 342 257 248 197 220 250 150 20 70 100
614 263 DeadNoble 255 No skills 255 No skills 255 No skills 255 No skills 0 0 1 120 94 113 91 82 105 30 20 15 100
615 23 MetalKing 26 HealUsAll 63 Hellblast 129 Surge 146 DanceShut 50900 6 84 322 97 378 999 509 646 30 100 90 150
616 63 Serpentia 73 Vacuum 97 NapAttack 138 Focus 157 SuckAll 24577 6 83 734 209 600 425 497 573 110 110 110 150
617 82 IronTurt 3 Blazemost 49 TakeMagic 94 MetalCut 140 SickLick 21455 6 83 648 428 419 619 343 634 100 120 100 150
618 125 ZapBird 29 MPassmost 81 VacuSlash 102 MultiCut 140 SickLick 24699 6 85 629 147 627 472 577 679 90 20 100 150
619 167 FooHero 9 Explodet 79 YellHelp 114 PalsyAir 163 Pheromone 22399 6 86 728 167 601 497 409 647 200 200 30 150
620 224 GoatHorn 12 Infermost 100 QuadHits 145 Geyser 152 Guardian 23469 6 85 628 348 627 520 577 679 90 20 100 150
621 260 Inverzon 89 Shears 104 ChargeUp 113 SleepAir 119 RobDance 26177 6 86 649 158 568 461 446 520 30 30 30 150
622 291 Voodoll 33 Antidote 34 DeChaos 35 NumbOff 116 PoisonAir 26798 6 87 666 334 550 518 417 688 10 10 10 150
623 337 AxeShark 6 Firebolt 101 RainSlash 108 Massacre 148 StrongD 34578 6 86 811 233 701 498 427 522 200 120 200 150
624 340 Digong 45 TwinHits 63 Hellblast 86 BeastCut 126 SandStorm 38477 6 88 743 132 608 452 407 522 20 200 200 150
625 43 Swordgon 31 Revive 36 CurseOff 74 Lightning 93 AquaCut 34281 6 85 488 72 598 520 501 621 250 60 30 150
626 66 GigaDraco 52 PanicAll 71 WhiteAir 90 DevilCut 161 LoveRain 41020 6 87 793 85 715 489 327 602 50 40 10 150
627 81 SuperTen 123 LifeDance 124 Hustle 132 ThickFog 146 DanceShut 34529 6 87 638 98 509 403 505 740 200 120 200 150
628 117 BigRoost 25 HealUs 51 StopSpell 75 RockThrow 88 BugBlow 32345 6 88 619 114 512 448 538 539 40 200 40 150
629 161 GhosTree 20 Defeat 48 SleepAll 85 DrakSlash 117 Curse 31299 6 92 733 58 522 418 402 609 30 160 10 150
630 195 WarMantis 44 SlowAll 94 MetalCut 103 GigaSlash 127 Radiant 34289 6 91 589 143 588 475 407 673 200 200 40 150
631 382 Kagebou 59 BeDragon 60 Chance 133 TatsuCall 255 No skills 0 0 10 100 100 100 100 700 100 200 50 50 200
632 381 Dimensaur 61 MegaMagic 63 Hellblast 67 WhiteFire 255 No skills 0 0 1 10 10 700 10 10 10 100 200 150 200
633 380 Lamia 25 HealUs 27 MPass 30 Vivify 255 No skills 0 0 50 500 700 500 700 600 600 100 250 200 200
634 634 nil 15 Thordain 61 MegaMagic 129 Surge 130 UltraDown 100 0 10 999 999 10 999 999 999 250 250 250 200
635 351 DracoLord 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
636 352 DracoLord1 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
637 353 LordDraco 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
638 354 Hargon 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
639 355 Sidoh 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
640 356 Genosidoh 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
641 357 Baramos 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
642 358 Zoma 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
643 359 AsuraZoma 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 25 200
644 360 Pizzaro 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
645 361 PsychoPiz 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
646 362 Esterk 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
647 363 Mirudraas1 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
648 364 Mirudraas2 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
649 365 Mudou 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
650 366 DeathMore1 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
651 367 DeathMore2 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
652 368 DeathMore3 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
653 369 DarkDrium 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
654 370 Orgodemir 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
655 371 Orgodemir2 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
656 372 Darck 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
657 22 HaloSlime 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
658 24 GoldSlime 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
659 25 GranSlime 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
660 26 WonderEgg 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
661 65 Orligon 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
662 66 GigaDraco 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
663 97 DarkHorn 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
664 100 Gorago 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
665 129 RainHawk 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
666 130 Azurile 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
667 131 Shantak 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
668 165 Watabou 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
669 164 Warubou 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
670 163 Egdracil 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
671 199 Digster 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
672 200 Skularach 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
673 239 Titanis 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
674 240 LampGenie 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
675 272 Niterich 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
676 264 WhiteKing 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
677 268 Lazamanus 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
678 309 GoldGolem 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
679 310 DarkMate 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
680 338 Octogon 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
681 343 Octoraid 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
682 344 Grakos 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
683 345 Poseidon 255 No skills 255 No skills 255 No skills 255 No skills 100 0 10 100 100 100 100 100 100 250 250 250 200
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
You can punch 256-byte sized "0x00 holes" into a savegame that was filled with 0xFF - by copying, delete & hard-reset, copy& hard-reset - and come out with the correct checksum. That's because the checksum is only 1 byte and overflows (The checksum plus 0x256 is the same value).
Nice. Does this also occur for the latter Mario & Luigi games?
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
I decided to investigate addresses again. Turns out battles also move around. There are 2 IDs First one can be values at 0, 1, 2, 255 Second one ranges from 0 to 68. First ID means if it's the player, or npc. 0 = Harry 1 = Hermione 2 = Ron 255 = NPC List of npcs and areas here https://docs.google.com/spreadsheets/d/196AiBW0Mi_z_8V6ZsxTuXqWkpQGUyHCaEuziBEyWhmM/edit?usp=sharing I updated the script, incomplete, to add battle. Will edit this post. Download Harry3.lua
Language: lua

client.SetGameExtraPadding(0, 0, 200, 150) console.clear() local text local read8 local read16 local read32 if vba then text = text read8 = memory.readbyteunsigned read16 = memory.readwordunsigned read32 = memory.readlongunsigned else text = gui.pixelText memory.usememorydomain("System Bus") read8 = memory.read_u8 read16 = memory.read_u16_le read24 = memory.read_u24_be read32 = memory.read_u32_le end local Addresses = { Harry_pointer_x = 0x03002118, Battle_pointer = 0x030024E8, Lumos_pointer1 = 0x03001C0C, --only when not cast; value + 0x80 Lumos_pointer2 = 0x03001C1C, --only when cast; value + 0x80 Harry_SP = 0x030024F4, Harry_MP = 0x030024F6, Harry_XP = 0x030024F8, --XP to next level Harry_Level = 0x030024FA, Harry_Spells_Unlocked = 0x030024FB, --What tier of spell unlocked Harry_Flipendo_Level = 0x030024FC, Harry_Informus_Level = 0x030024FD, --doesnt normal go above 1 Harry_Vermdimillous_Level = 0x030024FE, Harry_Diffindo_Level = 0x030024FF, --doesnt normal go above 1 Harry_Incendio_Level = 0x03002500, Harry_Wingardium_Level = 0x03002501, --doesnt normal go above 1 Harry_Petrificus_Level = 0x03002502, --doesnt normal go above 1 --How many times cast. Duo counts as 2 Harry_Flipendo_XP = 0x03002506, Harry_Vermdimillous_XP = 0x03002508, Harry_Incendio_XP = 0x0300250A, Harry_Petrificus_XP = 0x0300250C, Harry_Max_SP = 0x03002510, Harry_Max_MP = 0x03002512, Harry_Agility = 0x03002516, Harry_Defense = 0x0300251A, Harry_Magic_Defense = 0x0300251B, Hermione_SP = 0x0300253C, Hermione_MP = 0x0300253E, Hermione_XP = 0x03002540, --XP to next level Hermione_Level = 0x03002542, Hermione_Spells_Unlocked = 0x03002543, --What tier of spell unlocked Hermione_Flipendo_Level = 0x03002544, Hermione_Informus_Level = 0x03002545, --doesnt normal go above 1 Hermione_Vermdimillous_Level = 0x03002546, Hermione_Incendio_Level = 0x03002548, Hermione_Wingardium_Level = 0x03002549, --doesnt normal go above 1 Hermione_Petrificus_Level = 0x0300254A, Hermione_Glacius_Level = 0x0300254B, Hermione_Fumos_Level = 0x0300254C, --How many times cast. Duo counts as 2 Hermione_Flipendo_XP = 0x0300254E, Hermione_Vermdimillous_XP = 0x03002550, Hermione_Incendio_XP = 0x03002552, Hermione_Petrificus_XP = 0x03002554, Hermione_Glacius_XP = 0x03002555, Hermione_Fumos_XP = 0x03002556, Ron_SP = 0x03002584, Ron_MP = 0x03002586, Ron_Level = 0x0300258A, --What tier of spell unlocked Ron_Flipendo_Level = 0x0300258C, Ron_Informus_Level = 0x0300258D, --doesnt normal go above 1 Ron_Vermdimillous_Level = 0x0300258E, Ron_Incendio_Level = 0x03002590, Ron_Wingardium_Level = 0x03002591, --doesnt normal go above 1 Ron_Petrificus_Level = 0x03002592, Ron_Spongify_Level = 0x03002595, --doesnt normal go above 1 --How many times cast. Duo counts as 2 Ron_Flipendo_XP = 0x03002596, Ron_Vermdimillous_XP = 0x03002598, Ron_Incendio_XP = 0x0300259A, Ron_Petrificus_XP = 0x0300259C, Miss_Counter = 0x03002749, Damage_dealt = 0x0300274A, Story = 0x030027B9, Sickles = 0x03003180, Frames = 0x03003189, --increments 1 every 2 frames Seconds = 0x03003188, Minutes = 0x3003187, Hours = 0x3003186, Wiggenweld_Potion = 0x030037E8, Area = 0x03003B50, Game_State1 = 0x03003EF4, Game_State2 = 0x03003F18, Overworld_Spell = 0x0300338F } local Harry = {ptr = 0x03002118, x = 0x000000, y = 0x000000, lumos = 0x000000} local NPC = { [0] = 'Ruby Fire Crab', [1] = 'Emerald Fire Crab', [2] = 'Sapphire Fire Crab', [3] = 'Cornish Pixie', [4] = 'Rat', [5] = 'Albino Rat', [6] = 'Plague Rat', [7] = 'Clabbert', [8] = 'Suit of Armor (Footman)', [9] = 'Suit of Armor (Cavalier)', [10] = 'Suit of Armor (Paladin)', [11] = 'Suit of Armor (Squire)', [12] = 'Suit of Armor (Swordsman)', [13] = 'Suit of Armor (Crusader)', [14] = 'Suit of Armor (Knight)', [15] = 'Funnelweb Spider', [16] = 'Brown Recluse Spider', [17] = 'Large Spider', [18] = 'Redback Spider', [19] = 'Giant Spider', [20] = 'Cocoon Spider', [21] = 'Whitetail Spider', [22] = 'Flobberworm', [23] = 'Snail', [24] = 'Large Orange Snail', [25] = 'Flailtail Snail', [26] = 'Bat', [27] = 'Fruitbat', [28] = 'Mortis Bat', [29] = 'Dragonfly', [30] = 'Imperial Dragonfly', [31] = 'Horklump', [32] = 'Snake', [33] = 'Spitting Snake', [34] = 'Wasp', [35] = 'Tarantula Hawk Wasp', [36] = 'Bowtruckle', [37] = 'Oaken Bowtruckle', [38] = 'Doxy', [39] = 'Doxy Queen', [40] = 'Hinkypunk', [41] = 'Gytrash', [42] = 'Grindylow', [43] = 'Red Cap', [44] = 'Armored Red Cap', [45] = 'Salamander', [46] = 'Amazonian Salamander', [47] = 'Peruvian Salamander', [48] = 'Charmed Skeleton', [49] = 'Jinxed Skeleton', [50] = 'Tree Frog', [51] = 'Wide-mouth Toad', [52] = 'Bullfrog', [53] = 'Flesh-eating Slug (not in game, needs to be in file for coders - no need to translate)', [54] = 'Whomping Willow', [55] = 'Forest Troll', [56] = 'River Troll', [57] = 'Venemous Tentacula', [58] = "The Monster Book of Monsters'", [59] = 'Giant Rat', [60] = 'Crabbe', [61] = 'Draco', [62] = 'Goyle', [63] = 'Lupin Werewolf', [64] = 'Snake', [65] = 'Brown Recluse Spider', [66] = "The Monster Book of Monsters'", [67] = "The Monster Book of Monsters'", [68] = 'Native of Fiji. Has a heavily jeweled shell.' } local Is_NPC = {[0] = "Harry", "Hermione", "Ron", "Buckbeak", [255] = "Yes"} local Story = { [0] = "Talk to Cornelius Fudge", [1] = "Find Harry's room", [2] = "Greet the Weasleys", [3] = "Talk to Tom", [4] = "Find the Rat Tonic", [5] = "Deliver the Rat Tonic to Ron", [6] = "Find Scabbers", [7] = "Find Crookshanks", [8] = "Leave the cellar", [9] = "Find your seat", [10] = "Find Trevor", [11] = "Block the doors", [12] = "Find chocolate", [13] = "Find the conductor", [14] = "Find the Gryffindor common room", [15] = "Go to Transfiguration class", [16] = "Find McGonagall", [17] = "Go to Care of Magical Creatures class", [18] = "Find the five escaped books", [19] = "Go to Potions class", [20] = "Find the five potion ingredients", [21] = "Return the ingredients to Snape", [22] = "Go to the staff room", [23] = "Go to the Gryffindor common room", [24] = "Find Scabbers", [25] = "Find the Fat Lady", [26] = "Go to Defense Against the Dark Arts class", [27] = "Go to the library", [28] = "Find the five book pages", [29] = "Return to Defense Against the Dark Arts class", [30] = "Go to the Gryffindor common room", [31] = "Go to Hagrid's hut", [32] = "Go to the library", [33] = "Find Hermione", [34] = "Go to the Great Hall", [35] = "Go to Professor Lupin's office", [36] = "Go to the Gryffindor common room", [37] = "Go to the Gryffindor boy's dormitory", [38] = "Go to the Gryffindor common room", [39] = "Go to the Gryffindor boy's dormitory", [40] = "Go to the Entrance Hall", [41] = "Return to the Gryffindor common room", [42] = "Go to the Gryffindor boy's dormitory", [43] = "Find Ron and Hermione", [44] = "Go to Hagrid's hut", [45] = "Go to the Whomping Willow", [46] = "Find the path beneath the Whomping Willow", [47] = "Follow the path to the Shrieking Shack", [48] = "Return to Hogwarts", [49] = "Walk to the lake", [50] = "Take the secret path to Hagrid's hut", [51] = "Go to Hagrid's hut", [52] = "Go back to the lake", [53] = "Go to the Hogwarts rooftop", [54] = "Speak to the Weasleys", [55] = "Find Ron", [56] = "Return to Lupin", [57] = "Rescue Sirius Black", [58] = "Find the book on Hippogriff-baiting", [59] = "Flipendo", [60] = "Informus", [61] = "Vermdimillous", [62] = "Diffindo", [63] = "Incendio", [64] = "Wingardium Leviosa", [65] = "Petrificus Totalus", [66] = "Glacius", [67] = "Fumos", [68] = "Spongify", [69] = "Uno", [70] = "Duo", [71] = "Tria", [72] = "Harry casts a spell:", [73] = "Hermione casts a spell:", [74] = "Ron casts a spell:", [75] = "Buckbeak attacks!", [76] = "Harry performs a Special Move:", [77] = "Hermione performs a Special Move:", [78] = "Ron performs a Special Move:", [79] = "Harry uses a potion:", [80] = "Hermione uses a potion:", [81] = "Ron uses a potion:", [82] = "Harry is poisoned.", [83] = "Hermione is poisoned.", [84] = "Ron is poisoned.", [85] = "Buckbeak is poisoned.", [86] = "Harry is paralyzed.", [87] = "Hermione is paralyzed.", [88] = "Ron is paralyzed.", [89] = "Buckbeak is paralyzed.", [90] = "Harry can't move.", [91] = "Hermione can't move.", [92] = "Ron can't move.", [93] = "Harry can move again!", [94] = "Hermione can move again!", [95] = "Ron can move again!", [96] = "Buckbeak can move again!", } local Area = { [0] = "Defence Against the Dark Arts Classroom", [1] = "Potions Classroom", [2] = "Potions Classroom Maze", [3] = "Transfiguration Classroom", [4] = "Transfiguration Classroom Maze", [5] = "Hogwarts Express - Baggage Car", [6] = "Hogwarts Express - Passenger Car", [7] = "Hogwarts Express - Buffet Car", [8] = "Hogwarts Grounds - Castle Doors", [9] = "Hogwarts Grounds - Boathouse", [10] = "Hogwarts Grounds - Greenhouses", [11] = "Hagrid's Hut", [12] = "Hagrid's Garden Maze", [13] = "Hogwarts Grounds - Lake", [14] = "Path to Hagrid's Hut", [15] = "Hogwarts Grounds - Whomping Willow", [16] = "Entrance Hall", [17] = "Great Hall", [18] = "Hogwarts Dungeons", [19] = "Second Floor", [20] = "Third Floor", [21] = "Fourth Floor", [22] = "Fifth Floor", [23] = "Sixth Floor", [24] = "Seventh Floor", [25] = "Rooftop", [26] = "Lupin's Office", [27] = "Staff Room", [28] = "Gryffindor Boys' Dormitory", [29] = "Gryffindor Common Room", [30] = "Grand Staircase", [31] = "Portrait Room", [32] = "Portrait Room Passage", [33] = "Hospital Wing", [34] = "Library", [35] = "Library", [36] = "Fred and George's Shop", [37] = "Wizard Card Collectors' Club", [38] = "Leaky Cauldron - Cellar 1", [39] = "Leaky Cauldron - Cellar 2", [40] = "Leaky Cauldron - Hallway", [41] = "Leaky Cauldron - Harry's Room", [42] = "Leaky Cauldron (Main)", [43] = "Shrieking Shack Interior", [44] = "Shrieking Shack Path", [45] = "Shrieking Shack - Path 2", [46] = "Shrieking Shack - Path 3", [47] = "Shrieking Shack - Path 4", [48] = "Shrieking Shack - Path 5", [49] = "Shrieking Shack - Path 6", [50] = "Diagon Alley Test Map1", [51] = "Diagon Alley Test Map 2", [52] = "Diagon Alley Test Map 3", [53] = "Diagon Alley Test Map 4", [54] = "Diagon Alley Test Map 5" } local Overworld_Spell = { [0] = "Flipendo", [1] = "Lumos", [2] = "Diffindo", [3] = "Flipendo", [4] = "Reparo", [5] = "Glacius", [6] = "Flipendo", [7] = "Alohomora", [8] = "Spongify" } function update() Harry.ptr = read32(Addresses.Harry_pointer_x) Harry.lumos = Harry.ptr - 0x16A0 Harry.x = Harry.ptr + 0x2C Harry.y = Harry.ptr + 0x30 end function update_lumos() Harry.lumos = read32(Addresses.Lumos_pointer1) end local Spell = { [0] = { --Flippendo [0] = {Name = "Flippendo Uno", Minimum_damage = 10, Multiplier = 4, MP = 0}, [1] = {Name = "Flippendo Duo", Minimum_damage = 20, Multiplier = 8, MP = 10}, [2] = {Name = "Flippendo Tria", Minimum_damage = 15, Multiplier = 10, MP = 20} }, [1] = { --Informus [0] = {Name = "Informus", Minimum_damage = 0, Multiplier = 0, MP = 0}, [1] = {Name = "Informus", Minimum_damage = 0, Multiplier = 0, MP = 0}, [2] = {Name = "Informus", Minimum_damage = 0, Multiplier = 0, MP = 0} }, [2] = { --Verdimillious [0] = {Name = "Verdimillious Uno", Minimum_damage = 15, Multiplier = 6, MP = 3}, [1] = {Name = "Verdimillious Duo", Minimum_damage = 25, Multiplier = 12, MP = 15}, [2] = {Name = "Verdimillious Tria", Minimum_damage = 20, Multiplier = 14, MP = 25} }, [3] = { --Diffindo [0] = {Name = "Diffindo", Minimum_damage = 30, Multiplier = 18, MP = 10}, [1] = {Name = "Diffindo", Minimum_damage = 30, Multiplier = 19, MP = 0}, [2] = {Name = "Diffindo", Minimum_damage = 40, Multiplier = 20, MP = 0} }, [4] = { --Incendio [0] = {Name = "Incendio Uno", Minimum_damage = 23, Multiplier = 8, MP = 6}, [1] = {Name = "Incendio Duo", Minimum_damage = 35, Multiplier = 16, MP = 20}, [2] = {Name = "Incendio Tria", Minimum_damage = 45, Multiplier = 18, MP = 30} }, [5] = { --Wingardium Leviosa [0] = {Name = "Wingardium Leviosa", Minimum_damage = 35, Multiplier = 20, MP = 20}, [1] = {Name = "Wingardium Leviosa", Minimum_damage = 45, Multiplier = 21, MP = 30}, [2] = {Name = "Wingardium Leviosa", Minimum_damage = 55, Multiplier = 22, MP = 40} }, [6] = { --Petrificus Totalus [0] = {Name = "Petrificus Totalus Uno", Minimum_damage = 0, Multiplier = 0, MP = 10}, [1] = {Name = "Petrificus Totalus Duo", Minimum_damage = 0, Multiplier = 0, MP = 15}, [2] = {Name = "Petrificus Totalus Tria", Minimum_damage = 0, Multiplier = 0, MP = 20} }, [7] = { --Glacius [0] = {Name = "Glacius Uno", Minimum_damage = 30, Multiplier = 18, MP = 15}, [1] = {Name = "Glacius Duo", Minimum_damage = 40, Multiplier = 20, MP = 25}, [2] = {Name = "Glacius Tria", Minimum_damage = 45, Multiplier = 20, MP = 0} }, [8] = { --Fumos [0] = {Name = "Fumos Uno", Minimum_damage = 0, Multiplier = 0, MP = 8}, [1] = {Name = "Fumos Duo", Minimum_damage = 0, Multiplier = 0, MP = 30}, [2] = {Name = "Fumos Tria", Minimum_damage = 0, Multiplier = 0, MP = 0} }, [9] = { --Spongify [0] = {Name = "Spongify", Minimum_damage = 0, Multiplier = 0, MP = 10}, [1] = {Name = "Spongify", Minimum_damage = 0, Multiplier = 0, MP = 0}, [2] = {Name = "Spongify", Minimum_damage = 0, Multiplier = 0, MP = 0} } } local Battle = { Address = {0,0,0,0,0,0}, Is_NPC = {0,0,0,0,0,0}, ID = {0,0,0,0,0,0}, SP = {0,0,0,0,0,0}, MP = {0,0,0,0,0,0}, Level = {0,0,0,0,0,0}, Max_SP = {0,0,0,0,0,0}, Max_MP = {0,0,0,0,0,0}, Attack1 = {0,0,0,0,0,0}, Attack2 = {0,0,0,0,0,0}, Flipendo_Multiplier = {0,0,0,0,0,0}, Incendio_Multiplier = {0,0,0,0,0,0}, Verdimillious_Multiplier = {0,0,0,0,0,0}, Wingardium_Multiplier = {0,0,0,0,0,0}, Glacius_Multiplier = {0,0,0,0,0,0}, Diffindo_Multiplier = {0,0,0,0,0,0}, Attack_Type = {0,0,0,0,0,0}, Spell = {0,0,0,0,0,0}, Spell_Tier = {0,0,0,0,0,0}, Status = {0,0,0,0,0,0}, Status_Meter = {0,0,0,0,0,0,}, Current_Turn = 0, Amount = 0 } function update_battle() local ptr_battle = read32(Addresses.Battle_pointer) Battle.Amount = read8(ptr_battle+ 0x106F) --number of fighters for i = 1, 6 do Battle.Address[i] = read32(ptr_battle+4) + (0x48 * (i-1)) Battle.Is_NPC[i] = read8(Battle.Address[i]) Battle.ID[i] = read8(Battle.Address[i]+ 0x1) Battle.SP[i] = read16(Battle.Address[i]+ 0x8) Battle.MP[i] = read16(Battle.Address[i]+ 0xA) Battle.Level[i] = read8(Battle.Address[i]+ 0xE) -- Battle.Spells_Unlocked[i] = read8(Battle.Address[i]+ 0xF) --number of spells you can use. max 7 Battle.Max_SP[i] = read16(Battle.Address[i]+ 0x24) Battle.Max_MP[i] = read16(Battle.Address[i]+ 0x26) Battle.Attack1[i] = read16(Battle.Address[i]+ 0x30) --change it to FFFF made Malfoy hit 16k Battle.Attack2[i] = read16(Battle.Address[i]+ 0x32) --changing it to FFFF made Malfoy hit 50k Battle.Flipendo_Multiplier[i] = read8(Battle.Address[i]+ 0x34) Battle.Incendio_Multiplier[i] = read8(Battle.Address[i]+ 0x35) Battle.Verdimillious_Multiplier[i] = read8(Battle.Address[i]+ 0x36) Battle.Wingardium_Multiplier[i] = read8(Battle.Address[i]+ 0x37) Battle.Glacius_Multiplier[i] = read8(Battle.Address[i]+ 0x38) Battle.Diffindo_Multiplier[i] = read8(Battle.Address[i]+ 0x39) Battle.Attack_Type[i] = read8(Battle.Address[i]+ 0x3B) --[[ 0 Spells 1 Potion 2 Special move 3 Flee 4 Informus ]]-- Battle.Spell[i] = read8(Battle.Address[i]+ 0x3C) --[[ 0 Flippendo 1 Informus 2 Verdimillious 3 Diffindo 4 Incendio 5 Wingardium 6 Petrificus 7 Glacius 8 Fumos 9 Spongify 10+ is bugged. Address doesn't apply for npcs ]]-- Battle.Spell_Tier[i] = read8(Battle.Address[i]+ 0x3D) --0 Uno, 1 Duo, 2 Tria Battle.Status[i] = read8(Battle.Address[i]+ 0x42) --binary flags Battle.Status_Meter[i] = read8(Battle.Address[i]+ 0x44) --was for petrified end Battle.Current_Turn = read8(ptr_battle+ 0x106C) --current battler's turn; uses different format than above end function Status(value) --[[ Status 0 0 0 0 0 0 0 0 7 6 5 4 3 2 1 0 So print the above in binary Followed by Status? 0 = Fumos 1 = Poisoned 2 = ? 3 = Spongify 4 = Petrified 5 = Be more careful 6 = Proper wand technique 7 = immune to petrified ]]-- --2CE38 local temp = "" for i = 0, 7 do if bit.check(value, i) == true then temp = 1 .. temp else temp = 0 .. temp end end return temp end function divide_4a2fc(param1, param2) local var1, var2, var3 = 0,0,0; var1 = 0; var2 = 1; var3 = param1 ~ param2; if param2 == 0 then return 0 end param1 = math.abs(param1) param2 = math.abs(param2) if param2 <= param1 then while (param2 < 0x10000000 and param2 < param1) do param2 = param2 << 4 var2 = var2 << 4 end while (param2 < 0x80000000 and param2 < param1) do param2 = param2 << 1 var2 = var2 << 1 end while true do if (param2 <= param1) then param1 = param1 - param2 var1 = var1 | var2 end for i = 1, 3, 1 do if (param2 >> i <= param1) then param1 = param1 - (param2 >> i) var1 = var1 | var2 >> i end end if (param1 == 0) then break end var2 = var2 >> 4 if (var2 == 0) then break end param2 = param2 >> 4 end end if var3 < 0 then var1 = -1 * var1 end return var1 end function divide_4a464(param1, param2) local var1, var2 = 0,0; var1 = 0; var2 = 1; if param2 == 0 then return 0 end if param2 <= param1 then while (param2 < 0x10000000 and param2 < param1) do param2 = param2 << 4 var2 = var2 << 4 end while (param2 < 0x80000000 and param2 < param1) do param2 = param2 << 1 var2 = var2 << 1 end while true do if (param2 <= param1) then param1 = param1 - param2 var1 = var1 | var2 end for i = 1, 3, 1 do if (param2 >> i <= param1) then param1 = param1 - (param2 >> i) var1 = var1 | var2 >> i end end if (param1 == 0) then break end var2 = var2 >> 4 if (var2 == 0) then break end param2 = param2 >> 4 end end return var1 end update_battle() local multi_offset = {[0] = 0x34, 0, 0x36, 0x39, 0x35, 0x37, 0, 0x38, 0, 0} function spell_damage() --use after update_battle() --[[ Battle.Flipendo_Multiplier[i] = read8(Battle.Address[i]+ 0x34) Battle.Incendio_Multiplier[i] = read8(Battle.Address[i]+ 0x35) Battle.Verdimillious_Multiplier[i] = read8(Battle.Address[i]+ 0x36) Battle.Wingardium_Multiplier[i] = read8(Battle.Address[i]+ 0x37) Battle.Glacius_Multiplier[i] = read8(Battle.Address[i]+ 0x38) Battle.Diffindo_Multiplier[i] = read8(Battle.Address[i]+ 0x39) So spells are 0 Flippendo 1 Informus 2 Verdimillious 3 Diffindo 4 Incendio 5 Wingardium 6 Petrificus 7 Glacius 8 Fumos 9 Spongify 0 -> 0x34 2 -> 0x36 3 -> 0x39 4 -> 0x35 5 -> 0x37 7 -> 0x38 ]]--Battle.Attack_Type[i] == 0 local current_turn = Battle.Current_Turn + 1 local current_id = Battle.Is_NPC[Battle.Current_Turn + 1] local spell = Battle.Spell[current_turn] local text_y = 216 local text_x = 0 local min_damage, multi, damage, damage_2 = 0, 0, 0, 0 if current_id ~= nil and current_id < 3 then --check if current turn is me or npc if Battle.Attack_Type[current_turn] == 0 then --I'm actually using a spell first if spell < 8 and spell ~= 1 and spell ~= 6 then min_damage = Spell[Battle.Spell[current_turn]][Battle.Spell_Tier[current_turn]].Minimum_damage multi = Spell[Battle.Spell[current_turn]][Battle.Spell_Tier[current_turn]].Multiplier damage = min_damage + divide_4a2fc((Battle.Level[current_turn] * multi),9) if current_id == 1 then --If Hermione damage = divide_4a464(17 * damage,16) elseif current_id == 2 then --If Ron damage = divide_4a464(15 * damage,16) end end text(text_x, text_y, string.format('%s used %s\nMin: %d Mult: %d Base damage: %d', Is_NPC[Battle.Is_NPC[current_turn]], Spell[Battle.Spell[current_turn]][Battle.Spell_Tier[current_turn]].Name,min_damage, multi, damage)) text_y = text_y + 16 end for i = 1, Battle.Amount do if Battle.Is_NPC[i] == 255 then if spell < 8 and spell ~= 1 and spell ~= 6 then damage_2 = divide_4a464(damage * read8(Battle.Address[i]+ multi_offset[spell]), 100) + 1 --using read again, so i can use multi offset table text(text_x, text_y, string.format('(%d) %s takes %d damage', Battle.ID[i], NPC[Battle.ID[i]], damage_2)) text_y = text_y + 8 end end end end if current_id == 3 then text(text_x, text_y, string.format('Buckbeak does %d amount of damage!',(read8(Addresses.Harry_Level) >> 1) + 30)) end end --checks the mouse position during a click relative to the client and see if its within some range function get_mouse_pos(x,y,width,height) mx = input.getmouse().X my = input.getmouse().Y --input.getmouse() is already relative to client :) -- gui.drawRectangle(x, y, width, height, "red", nil) --So I know where the heck are the clickboxes if (mx >= x and mx <= x+width) and (my >= y and my <= y+height) then return true end return false end local toggle = 1 function display_battle_struct() local text_x = 0 local text_y = 213 local box_y = 212; local box_Left_x = 40; local box_NPC_x = {[1] = 0, [2] = 12, [3] = 24, [4] = 36, [5] = 48, [6] = 60}; local box_width = 8; local box_height = 8; local l_text = "" local color = "yellow" for i = 1, Battle.Amount do l_text = l_text .. "0" .. i .. " " end text(text_x, text_y, l_text) text_y = text_y + 8 for i = 1, 6 do if i == toggle then color = "yellow" else if Battle.Is_NPC[i] < 4 then color = "green" else color = "red" end end gui.drawRectangle(box_NPC_x[i],box_y,box_width,box_height, color, nil) if (input.getmouse().Left and get_mouse_pos(box_NPC_x[i],box_y,box_width,box_height)) then toggle = i end end if Battle.Is_NPC[toggle] < 4 then text(text_x,text_y, Is_NPC[Battle.Is_NPC[toggle]] .. " " .. bizstring.hex(Battle.Address[toggle])) elseif Battle.Is_NPC[toggle] == 255 then text(text_x,text_y, "(" .. Battle.ID[toggle] .. ") " .. NPC[Battle.ID[toggle]] .. " " .. bizstring.hex(Battle.Address[toggle]), "red") end text_y = text_y + 8 --it loops from starting at 0 to 8 followed by inverse if toggle%2 == 0 then --, read8(Battle.Address[toggle]+ 0x8 + (16 * 1)), read8(Battle.Address[toggle]+ 0x9 + (16 * 1)), read8(Battle.Address[toggle]+ 0xA + (16 * 1)), read8(Battle.Address[toggle]+ 0xB + (16 * 1)), read8(Battle.Address[toggle]+ 0xC + (16 * 1)), read8(Battle.Address[toggle]+ 0xD + (16 * 1)), read8(Battle.Address[toggle]+ 0xE + (16 * 1)), read8(Battle.Address[toggle]+ 0xF + (16 * 1)) text(text_x, text_y, string.format(" %02X %02X %02X %02X %02X %02X %02X %02X", read8(Battle.Address[toggle] + 0x0 + (16 * 0)), read8(Battle.Address[toggle]+ 0x1 + (16 * 0)), read8(Battle.Address[toggle]+ 0x2 + (16 * 0)), read8(Battle.Address[toggle]+ 0x3 + (16 * 0)), read8(Battle.Address[toggle]+ 0x4 + (16 * 0)), read8(Battle.Address[toggle]+ 0x5 + (16 * 0)), read8(Battle.Address[toggle]+ 0x6 + (16 * 0)), read8(Battle.Address[toggle]+ 0x7 + (16 * 0)) )) text_y = text_y + 8 text(text_x, text_y, string.format("%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", read8(Battle.Address[toggle]+ 0x8 + (16 * 0)), read8(Battle.Address[toggle]+ 0x9 + (16 * 0)), read8(Battle.Address[toggle]+ 0xA + (16 * 0)), read8(Battle.Address[toggle]+ 0xB + (16 * 0)), read8(Battle.Address[toggle]+ 0xC + (16 * 0)), read8(Battle.Address[toggle]+ 0xD + (16 * 0)), read8(Battle.Address[toggle]+ 0xE + (16 * 0)), read8(Battle.Address[toggle]+ 0xF + (16 * 0)), read8(Battle.Address[toggle] + 0x0 + (16 * 1)), read8(Battle.Address[toggle]+ 0x1 + (16 * 1)), read8(Battle.Address[toggle]+ 0x2 + (16 * 1)), read8(Battle.Address[toggle]+ 0x3 + (16 * 1)), read8(Battle.Address[toggle]+ 0x4 + (16 * 1)), read8(Battle.Address[toggle]+ 0x5 + (16 * 1)), read8(Battle.Address[toggle]+ 0x6 + (16 * 1)), read8(Battle.Address[toggle]+ 0x7 + (16 * 1)) )) text_y = text_y + 8 text(text_x, text_y, string.format("%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", read8(Battle.Address[toggle]+ 0x8 + (16 * 1)), read8(Battle.Address[toggle]+ 0x9 + (16 * 1)), read8(Battle.Address[toggle]+ 0xA + (16 * 1)), read8(Battle.Address[toggle]+ 0xB + (16 * 1)), read8(Battle.Address[toggle]+ 0xC + (16 * 1)), read8(Battle.Address[toggle]+ 0xD + (16 * 1)), read8(Battle.Address[toggle]+ 0xE + (16 * 1)), read8(Battle.Address[toggle]+ 0xF + (16 * 1)), read8(Battle.Address[toggle] + 0x0 + (16 * 2)), read8(Battle.Address[toggle]+ 0x1 + (16 * 2)), read8(Battle.Address[toggle]+ 0x2 + (16 * 2)), read8(Battle.Address[toggle]+ 0x3 + (16 * 2)), read8(Battle.Address[toggle]+ 0x4 + (16 * 2)), read8(Battle.Address[toggle]+ 0x5 + (16 * 2)), read8(Battle.Address[toggle]+ 0x6 + (16 * 2)), read8(Battle.Address[toggle]+ 0x7 + (16 * 2)) )) text_y = text_y + 8 text(text_x, text_y, string.format("%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", read8(Battle.Address[toggle]+ 0x8 + (16 * 2)), read8(Battle.Address[toggle]+ 0x9 + (16 * 2)), read8(Battle.Address[toggle]+ 0xA + (16 * 2)), read8(Battle.Address[toggle]+ 0xB + (16 * 2)), read8(Battle.Address[toggle]+ 0xC + (16 * 2)), read8(Battle.Address[toggle]+ 0xD + (16 * 2)), read8(Battle.Address[toggle]+ 0xE + (16 * 2)), read8(Battle.Address[toggle]+ 0xF + (16 * 2)), read8(Battle.Address[toggle] + 0x0 + (16 * 3)), read8(Battle.Address[toggle]+ 0x1 + (16 * 3)), read8(Battle.Address[toggle]+ 0x2 + (16 * 3)), read8(Battle.Address[toggle]+ 0x3 + (16 * 3)), read8(Battle.Address[toggle]+ 0x4 + (16 * 3)), read8(Battle.Address[toggle]+ 0x5 + (16 * 3)), read8(Battle.Address[toggle]+ 0x6 + (16 * 3)), read8(Battle.Address[toggle]+ 0x7 + (16 * 3)) )) text_y = text_y + 8 text(text_x, text_y, string.format("%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", read8(Battle.Address[toggle]+ 0x8 + (16 * 3)), read8(Battle.Address[toggle]+ 0x9 + (16 * 3)), read8(Battle.Address[toggle]+ 0xA + (16 * 3)), read8(Battle.Address[toggle]+ 0xB + (16 * 3)), read8(Battle.Address[toggle]+ 0xC + (16 * 3)), read8(Battle.Address[toggle]+ 0xD + (16 * 3)), read8(Battle.Address[toggle]+ 0xE + (16 * 3)), read8(Battle.Address[toggle]+ 0xF + (16 * 3)), read8(Battle.Address[toggle] + 0x0 + (16 * 4)), read8(Battle.Address[toggle]+ 0x1 + (16 * 4)), read8(Battle.Address[toggle]+ 0x2 + (16 * 4)), read8(Battle.Address[toggle]+ 0x3 + (16 * 4)), read8(Battle.Address[toggle]+ 0x4 + (16 * 4)), read8(Battle.Address[toggle]+ 0x5 + (16 * 4)), read8(Battle.Address[toggle]+ 0x6 + (16 * 4)), read8(Battle.Address[toggle]+ 0x7 + (16 * 4)) )) else text(text_x, text_y, string.format("%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", read8(Battle.Address[toggle] + 0x0 + (16 * 0)), read8(Battle.Address[toggle]+ 0x1 + (16 * 0)), read8(Battle.Address[toggle]+ 0x2 + (16 * 0)), read8(Battle.Address[toggle]+ 0x3 + (16 * 0)), read8(Battle.Address[toggle]+ 0x4 + (16 * 0)), read8(Battle.Address[toggle]+ 0x5 + (16 * 0)), read8(Battle.Address[toggle]+ 0x6 + (16 * 0)), read8(Battle.Address[toggle]+ 0x7 + (16 * 0)), read8(Battle.Address[toggle]+ 0x8 + (16 * 0)), read8(Battle.Address[toggle]+ 0x9 + (16 * 0)), read8(Battle.Address[toggle]+ 0xA + (16 * 0)), read8(Battle.Address[toggle]+ 0xB + (16 * 0)), read8(Battle.Address[toggle]+ 0xC + (16 * 0)), read8(Battle.Address[toggle]+ 0xD + (16 * 0)), read8(Battle.Address[toggle]+ 0xE + (16 * 0)), read8(Battle.Address[toggle]+ 0xF + (16 * 0)) )) text_y = text_y + 8 text(text_x, text_y, string.format("%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", read8(Battle.Address[toggle] + 0x0 + (16 * 1)), read8(Battle.Address[toggle]+ 0x1 + (16 * 1)), read8(Battle.Address[toggle]+ 0x2 + (16 * 1)), read8(Battle.Address[toggle]+ 0x3 + (16 * 1)), read8(Battle.Address[toggle]+ 0x4 + (16 * 1)), read8(Battle.Address[toggle]+ 0x5 + (16 * 1)), read8(Battle.Address[toggle]+ 0x6 + (16 * 1)), read8(Battle.Address[toggle]+ 0x7 + (16 * 1)), read8(Battle.Address[toggle]+ 0x8 + (16 * 1)), read8(Battle.Address[toggle]+ 0x9 + (16 * 1)), read8(Battle.Address[toggle]+ 0xA + (16 * 1)), read8(Battle.Address[toggle]+ 0xB + (16 * 1)), read8(Battle.Address[toggle]+ 0xC + (16 * 1)), read8(Battle.Address[toggle]+ 0xD + (16 * 1)), read8(Battle.Address[toggle]+ 0xE + (16 * 1)), read8(Battle.Address[toggle]+ 0xF + (16 * 1)) )) text_y = text_y + 8 text(text_x, text_y, string.format("%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", read8(Battle.Address[toggle] + 0x0 + (16 * 2)), read8(Battle.Address[toggle]+ 0x1 + (16 * 2)), read8(Battle.Address[toggle]+ 0x2 + (16 * 2)), read8(Battle.Address[toggle]+ 0x3 + (16 * 2)), read8(Battle.Address[toggle]+ 0x4 + (16 * 2)), read8(Battle.Address[toggle]+ 0x5 + (16 * 2)), read8(Battle.Address[toggle]+ 0x6 + (16 * 2)), read8(Battle.Address[toggle]+ 0x7 + (16 * 2)), read8(Battle.Address[toggle]+ 0x8 + (16 * 2)), read8(Battle.Address[toggle]+ 0x9 + (16 * 2)), read8(Battle.Address[toggle]+ 0xA + (16 * 2)), read8(Battle.Address[toggle]+ 0xB + (16 * 2)), read8(Battle.Address[toggle]+ 0xC + (16 * 2)), read8(Battle.Address[toggle]+ 0xD + (16 * 2)), read8(Battle.Address[toggle]+ 0xE + (16 * 2)), read8(Battle.Address[toggle]+ 0xF + (16 * 2)) )) text_y = text_y + 8 text(text_x, text_y, string.format("%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", read8(Battle.Address[toggle] + 0x0 + (16 * 3)), read8(Battle.Address[toggle]+ 0x1 + (16 * 3)), read8(Battle.Address[toggle]+ 0x2 + (16 * 3)), read8(Battle.Address[toggle]+ 0x3 + (16 * 3)), read8(Battle.Address[toggle]+ 0x4 + (16 * 3)), read8(Battle.Address[toggle]+ 0x5 + (16 * 3)), read8(Battle.Address[toggle]+ 0x6 + (16 * 3)), read8(Battle.Address[toggle]+ 0x7 + (16 * 3)), read8(Battle.Address[toggle]+ 0x8 + (16 * 3)), read8(Battle.Address[toggle]+ 0x9 + (16 * 3)), read8(Battle.Address[toggle]+ 0xA + (16 * 3)), read8(Battle.Address[toggle]+ 0xB + (16 * 3)), read8(Battle.Address[toggle]+ 0xC + (16 * 3)), read8(Battle.Address[toggle]+ 0xD + (16 * 3)), read8(Battle.Address[toggle]+ 0xE + (16 * 3)), read8(Battle.Address[toggle]+ 0xF + (16 * 3)) )) text_y = text_y + 8 text(text_x, text_y, string.format("%02X %02X %02X %02X %02X %02X %02X %02X", read8(Battle.Address[toggle] + 0x0 + (16 * 4)), read8(Battle.Address[toggle]+ 0x1 + (16 * 4)), read8(Battle.Address[toggle]+ 0x2 + (16 * 4)), read8(Battle.Address[toggle]+ 0x3 + (16 * 4)), read8(Battle.Address[toggle]+ 0x4 + (16 * 4)), read8(Battle.Address[toggle]+ 0x5 + (16 * 4)), read8(Battle.Address[toggle]+ 0x6 + (16 * 4)), read8(Battle.Address[toggle]+ 0x7 + (16 * 4)) )) end end function display_battle() update_battle() display_battle_struct() -- spell_damage() local text_y = 0 local text_x = 240 --[[ 1. check if your turn 2. record what you selected 3. as you go through the rest of the fighters, make a list of ]]-- for i = 1, Battle.Amount do if Battle.Is_NPC[i] < 4 then text(text_x,text_y, Is_NPC[Battle.Is_NPC[i]] .. " " .. bizstring.hex(Battle.Address[i])) elseif Battle.Is_NPC[i] == 255 then text(text_x,text_y, "(" .. Battle.ID[i] .. ") " .. NPC[Battle.ID[i]] .. " " .. bizstring.hex(Battle.Address[i]), "red") end text_y = text_y + 8 text(text_x,text_y, string.format('LV: %d SP: %d/%d MP: %d/%d', Battle.Level[i], Battle.SP[i], Battle.Max_SP[i], Battle.MP[i], Battle.Max_MP[i])) text_y = text_y + 8 text(text_x,text_y, string.format('Status %s (%d)', Status(Battle.Status[i]), Battle.Status_Meter[i])) text_y = text_y + 8 text(text_x,text_y, string.format('Flip: %d Verd: %d Ince: %d', Battle.Flipendo_Multiplier[i], Battle.Verdimillious_Multiplier[i], Battle.Incendio_Multiplier[i])) text_y = text_y + 8 text(text_x,text_y, string.format('Wing: %d Diff: %d Glac: %d', Battle.Wingardium_Multiplier[i], Battle.Diffindo_Multiplier[i], Battle.Glacius_Multiplier[i])) text_y = text_y + 8 end end local i = 4 console.log(string.format("%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t",Battle.Level[i],Battle.Max_SP[i],Battle.Flipendo_Multiplier[i], Battle.Verdimillious_Multiplier[i], Battle.Incendio_Multiplier[i], Battle.Wingardium_Multiplier[i], Battle.Diffindo_Multiplier[i], Battle.Glacius_Multiplier[i])) while true do local pointer = read32(Addresses.Harry_pointer_x) local state = read8(Addresses.Game_State2) local story = read8(Addresses.Story) local area = read8(Addresses.Area) local text_y = 160 if (pointer ~= Harry.x-0x2c and pointer ~= 0) then --this will happen if changed rooms or just started script update() --placing this here as to not lag my computer :P end local text_x = 240 text(0, text_y, string.format("%02d:%02d:%02d.%02d",read8(Addresses.Hours), read8(Addresses.Minutes), read8(Addresses.Seconds), read8(Addresses.Frames))) text_y = text_y + 8 if Story[story] ~= nil then text(0, text_y, story .. ": " .. Story[story]) else text(0, text_y, story) end text_y = text_y + 8 if Area[area] ~= nil then text(0, text_y, area .. ": " .. Area[area]) else text(0, text_y, area) end text_y = text_y + 8 text(0,text_y,string.format('%.6f,%.6f\nPTR: %08X\nX: %08X\nY: %08X',read32(Harry.x)/65536.0, read32(Harry.y)/65536.0,read32(Addresses.Harry_pointer_x), Harry.x, Harry.y)) if (state == 9) then display_battle() end emu.frameadvance() end
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Potato wrote:
Did some TASing today. I managed to be 10 frames ahead of your input file going into the Fawful fight, through some optimizations for camera scrolling and better mashing during textboxes. Unfortunately RNG did not change for the Toad in the first room of Toad Town or for the baddie in the last room of Koopa Cruiser to NPC boost off of them. I will try to see if we can incorporate even more teleports than in your encode with Firedash glitch. From my testing, Firedash glitch works exactly the same as hat teleportation except the setup is a lot faster, as in you don't have to cycle through any of these glitched commands to begin glitched movement. That opens the door to many opportunities for teleports especially in Hoohoo Mountain. The only thing I am curious about is if it's possible to trigger the end credits earlier using the Save block. Also regarding ACE and our research, RETIRE coded a bruteforcing script and I left it running an entire night a few months ago but even after 2 million attempts it didn't find a single combination of inputs that would yield a credits warp. From our research, the memory addresses that we have to modify are stored in BIOS which means we can't really change them during gameplay.
RIP. What was the current strategy to almost ACE? I don't think it was posted here? Can you please elaborate?
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Some discoveries: 1. It turns out that getting OoB from the troll in washroom doesn't mess with position address, so it can be used for ACE. This means RTA-wise, there's more items available for payload. 2. I investigated the stores. Weasley Twins Bargain stocks the following when you first arrive at Hogwarts: Superior Work Robe Superior Gloves Dragonclaw Gloves Superior Pointed Hat Lined Hat Fine Fettle Belt Stamina Belt Superior Boots Hardened Boots Copper Cauldron Brass Cauldron After one of the 5 classses post potions is done, it changes to Superior Work Robe Buckram Robe Dragonclaw Gloves Sorcerous Gloves Lined Hat High Hard Hat Stamina Belt Robust Belt Hardened Boots Brass Cauldron Silver Cauldron That means there's only a short opportunity to obtain Superior Gloves, Superior Pointed Hat, Fine Fettle Belt, Superior Boots. On the 2nd visit to Diagon Alley, Potage's Cauldrons stocks the following: Brass Cauldron Self-stirring Cauldron Madamn Malkin's stock the following: Leather Belt Plain Boots Superior Winter Cloak Nimble Gloves Superlative Hat Vigorous Belt Superlative Boots This makes it very difficult to stock them before you can't buy them again. I'm thinking duping money drops from blue turtle in 6th Floor Secret Hallway https://alpha.vgatlas.net/hp1/enemies/49 These drop 250-500 sickles per fight. 3. You can't sell Bastion Belts to stores. Wandwaving Gloves, Optimum Hat, Blizzard Cloak, Optimum Boots only appear as drop near the very end. 4. You can grind herbs by pausing right infront of respawn points for it. There's 16 herbs, so 16 bytes for payload. 5. 0E01 WRAM is recipies flag 6. 0DDF WRAM is minigames 7. House points are strange. It appears while there are certain points it awards all houses randomly, by the end, it is hardcoded so that either Ravenclaw would be ahead, or Hufflepuff. It doesn't seem possible for Slytherin to win. The shortest dialogue for any% no ACE would be to have Ravenclaw still be ahead after rewarded 170 points at the end.
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
https://tasvideos.org/UserFiles/Info/638650778628629060 I was investigating the use of save/reset to get npcs to appear in different places. On the U version, I found out that Darck's overworld ID at CB9E happened to be 1. This value appears for a a npc in Oasis village 1 (Kalka), as well as an npc in Water village 1 (Yold). None of the npcs in GreatLog appear to have this id. By saving at Yold, then save/reset at Limbo Shrine, I can talk to an invisible NPC to trigger the fight with Darck. This saves 2075 frames (00:34.58) since I don't need to buy the journal, nor visit Limbo itself outside the shrine now. For some reason, on J, the IDs are different, but it still works. On reset however, an invisible npc would appear at your house you can talk to to access the arena. I wasn't able to find a npc in GreatLog that would allow me to skip almost everything in Oasis. I did find out that saving in Asiya top left corner, then save/reset in GreatLog would give me an npc that can be talked to repeatedly for tiny medals in U at least.
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Link to video Since I can't seem to get a high follower index in (U) (every attempt so far gets me a value of 51, which is worthless), I tried making a run on U instead. It still uses save bugs, but it at least shows more of the game? I'm not sure if it should obsolete the longer run, but I think there's some value in this, given a 100% run would probably still need to actually visit other worlds. I'm not exactly sure how to proceed with the tournament however. The lamp fight would simply be using the last cancelled run strat. Pirate should be beatable using OoB to get to last area; the long run for some reason doesn't do this. Ice/Sky can be mostly glitched using save bugs. Not sure how to beat Limbo.
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Woah, a glitched run finally exists! I looked through this thread every time it got an update, and I knew a glitched run was attempted for years without success. Congrats! 1. Does save corruption exist for the other Mario & Luigi games? 2. Assuming a run that does this gets published, would you or others still try to do that ACE run as a "no save glitch" category? 3. What other stuff can you do with this? Anything fun?
Experienced Forum User, Published Author, Skilled player (1749)
Joined: 9/17/2009
Posts: 4998
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
MUGG wrote:
@BioSpark Thank you. But I guess I'm not experienced enough to understand it. Anyway, as it turns out, the 4 bytes before the in-game timer are actually not counted towards the checksum... (!!!) That means, happy glitch run. I don't see how it should not be possible now. Unless it turns out those 0xFF (unitialized values) are not going to be considered legitimate somehow. I'm asking about it here. In the meantime, I will be investigating and then doing a testrun. After that, perhaps the other MLSS runners will agree to collaborate on a run?
If I understand right, you want to start a game where the save file is all 0xFF, except for the 4 bytes before the timer? What are those bytes for? Do they ever change when saving in game?