const unsigned short D_007B7748[] = { /*007B7748*/0x04,0x3C,0x04,0x20, /*007B7750*/0x01,0x24,0x10,0x10, /*007B7758*/0x04,0x02,0x02,0x02, /*007B7760*/0x02,0x01,0x20,0x04, /*007B7768*/0x24,0x10,0x10,0x04, /*007B7770*/0x20,0x10,0x10,0x10, /*007B7778*/0x30,0x10,0x20,0x10, /*007B7780*/0x10,0x14,0x01,0x01, /*007B7788*/0x01,0x01,0x01,0x18};int C_005DC880(int bp08) { struct { int bp_5c; int bp_58; int bp_54; int bp_50; int bp_4c; int bp_48; int bp_44; int bp_40; int bp_3c; int bp_38; int bp_34; int bp_30; int bp_2c; int bp_28; int bp_24; int bp_20; unsigned short bp_1c; char _p_1c[2]; int bp_18; int bp_14; struct t_temp_034 *bp_10; int bp_0c; int bp_08; int bp_04; }lolo; lolo.bp_04 = 0; if(D_0099CE0C->f_0bc == -1) return lolo.bp_04; if(D_007B7748[D_0099CE0C->f_0bc] & BIT(bp08)) {//else 005DD653 lolo.bp_14 = D_0099CE0C->f_000; lolo.bp_10 = &(D_009A8B10.f_02a8[lolo.bp_14]); switch(D_0099CE0C->f_0bc) { case 0: D_0099CE0C->f_0b0 = D_0099CE0C->f_0c0; break; case 1: switch(bp08) { case 2: D_0099CE0C->f_090 |= 0x40000; break; case 3: if(D_0099CE0C->f_230 & 0x80) D_0099CE0C->f_218 |= 1; break; case 4: if(D_0099CE0C->f_208 >= 4) D_009A8B10.f_2228 |= BIT(D_0099CE0C->f_208); break; case 5: if(D_0099CE0C->f_0e0 == 0) { D_0099CE0C->f_0b4 ++; D_0099CE0C->f_098 = 0x61; C_00436C4B();//restore indexes D_009AEA9C & D_009AEAA0 C_005CAC07(D_0099CE0C->f_098); } break; }//end switch break; case 2: if(C_005C8BA1() < D_0099CE0C->f_0c0) {//Battle.random:get unsigned char? D_0099CE0C->f_02c = 0x60; D_0099CE0C->f_098 = D_0099CE0C->f_02c; C_005CA807();//calls "CMD script_0C" } break; case 3: C_005DF95A(); break; case 4: lolo.bp_18 = (D_009AB0A0.f_03c[D_0099CE0C->f_208].f_04 & 0x80)?1:0; lolo.bp_18 ^= D_0099CE0C->f_0c0; D_0099CE0C->f_234 &= ~1; D_0099CE0C->f_220 &= ~2; if(lolo.bp_18 == 0) D_0099CE0C->f_234 |= 1; break; case 5: switch(bp08) { case 2: if((D_009A8748.f_008.f_10 & 4) == 0) D_0099CE0C->f_0dc = 0x36; break; case 5: D_009AB0A0.f_022 |= 8; break; }//end switch break; case 6: if(D_0099CE0C->f_208 < 3) {//else 005DCC01 lolo.bp_1c = D_0099CE0C->f_004 * 0x14; if(lolo.bp_1c > D_00DBFD38.dwGIL) lolo.bp_1c = D_00DBFD38.dwGIL; if(lolo.bp_1c && lolo.bp_1c + D_009AB0A0.f_03c[lolo.bp_14].f_50 < 0xffff) {//else 005DCC01 D_009AB0A0.f_03c[lolo.bp_14].f_50 += lolo.bp_1c; D_00DBFD38.dwGIL -= lolo.bp_1c; C_005C7D59(lolo.bp_14, 0x55, 1, &lolo.bp_1c); } } if(D_0099CE0C->f_048 == 0) { D_0099CE0C->f_218 |= 2; D_0099CE0C->f_224 = D_009AB0A0.f_03c[D_0099CE0C->f_208].f_11; } break; case 7: if(D_009AB0A0.f_03c[lolo.bp_14].f_52 == (unsigned short)0xffff && D_0099CE0C->f_208 < 3) C_00435139(0, lolo.bp_14, 0xb, 0); if(D_0099CE0C->f_048 == 0) { D_0099CE0C->f_218 |= 2; D_0099CE0C->f_224 = D_009AB0A0.f_03c[D_0099CE0C->f_208].f_11; } break; case 8: D_0099CE0C->f_048 = C_005C8BDC(7);//Battle.random:get unsigned char(with max)? D_0099CE0C->f_024 += D_0099CE0C->f_048; D_0099CE0C->f_048 += 4; D_0099CE0C->f_048 *= 8; break; case 9: if(D_0099CE0C->f_004 == D_0099CE0C->f_254) D_0099CE0C->f_214 *= 8; break; case 0xa: C_005DFB5C(); break; case 0xb: C_005DFBEE(); break; case 0xc: C_005DFD5B(); break; case 0xd: if(1) { lolo.bp_20 = 0; lolo.bp_24 = 0; for(lolo.bp_28 = 4; lolo.bp_28 < 0xa; lolo.bp_28 ++) { if(D_0099CE0C->f_018 & BIT(lolo.bp_28)) { lolo.bp_20 += D_009AB0A0.f_03c[lolo.bp_28].f_09; lolo.bp_24 ++; } } if(lolo.bp_24) lolo.bp_20 /= lolo.bp_24; D_0099CE0C->f_048 = lolo.bp_20; } break; case 0xe: for(lolo.bp_08 = 0; lolo.bp_08 < 3; lolo.bp_08 ++) { if(D_009AB0A0.f_03c[lolo.bp_08].f_00 & 1) { D_009AB0A0.f_03c[lolo.bp_08].f_00 &= ~1; D_009AB0A0.f_03c[lolo.bp_08].f_2c = D_009AB0A0.f_03c[lolo.bp_08].f_30; } } break; case 0xf: C_005DF460(); break; case 0x10: switch(bp08) { case 2: if(1) { lolo.bp_2c = 0; for(lolo.bp_08 = 0; lolo.bp_08 < 3; lolo.bp_08 ++) { if(D_009AB0A0.f_03c[lolo.bp_08].f_08 != -1) lolo.bp_2c ++; } if(lolo.bp_2c < 2) D_0099CE0C->f_0dc = 0x50; } break; case 5: C_005DF5D7(); break; }//end switch break; case 0x11: if(D_0099CE0C->f_208 < 3) { lolo.bp_30 = BIT(D_0099CE0C->f_208); C_00435139(2, D_0099CE0C->f_208, 0x13, lolo.bp_30); } D_0099CE0C->f_224 = C_005CABBA(); break; case 0x12: if(1) { lolo.bp_34 = BIT(D_0099CE0C->f_208); if(D_0099CE0C->f_208 < 3) C_00435139(2, D_0099CE0C->f_208, 0x13, lolo.bp_34); D_009A8B10.f_2214 |= lolo.bp_34; D_0099CE0C->f_224 = C_005CABBA(); } break; case 0x13: if(1) { D_0099CE0C->f_018 = 0; D_0099CE0C->f_0b4 = 0; lolo.bp_40 = D_009A8748.f_0ac[lolo.bp_14].f_00; lolo.bp_38 = D_009A8B10.f_02a8[lolo.bp_14].f_00->f_22; lolo.bp_3c = C_005C8684(lolo.bp_40, 0); for(lolo.bp_08 = 0; lolo.bp_08 < 7; lolo.bp_08 ++) { lolo.bp_44 = D_009A8748.f_16c[lolo.bp_08]; lolo.bp_48 = 0x7f; for(lolo.bp_0c = 0; lolo.bp_0c < 0xc; lolo.bp_0c ++) { if(lolo.bp_38 & BIT(lolo.bp_0c)) { lolo.bp_48 = C_005C8684(lolo.bp_40, lolo.bp_0c); lolo.bp_38 &= ~BIT(lolo.bp_0c); break; } } if(lolo.bp_44 && lolo.bp_48 - lolo.bp_3c < 7) {//else 005DD0FB lolo.bp_48 -= lolo.bp_3c; lolo.bp_48 += 0x62; if(lolo.bp_44 > 1) lolo.bp_48 |= 0x80; C_005CAC07(lolo.bp_48); D_0099CE0C->f_0b4 ++; } } D_0099CE0C->f_090 |= 0x10000; } break; case 0x14: for(lolo.bp_08 = 0; lolo.bp_08 < 3; lolo.bp_08 ++) { if(lolo.bp_14 != lolo.bp_08) D_009A8B10.f_02a8[lolo.bp_08].f_08 = 0xff; }//end for break; case 0x15: C_005C7EE5(D_0099CE0C->f_208, D_0099CE0C->f_0c0 - 0x64, 0xf); break; case 0x16: C_005C7EE5(lolo.bp_14, D_0099CE0C->f_0c0 - 0x64, 0x10); break; case 0x17: C_005C7EE5(lolo.bp_14, D_0099CE0C->f_0c0 - 0x64, 1); break; case 0x18: switch(bp08) { case 4: if(D_0099CE0C->f_208 >= 4) D_009A8B10.f_2228 |= BIT(D_0099CE0C->f_208); break; case 5: D_0099CE0C->f_0b4 ++; D_0099CE0C->f_098 = D_0099CE0C->f_0c0; D_0099CE0C->f_0ec = D_0099CE0C->f_018; C_005CAC07(D_0099CE0C->f_098); D_0099CE0C->f_090 |= 0x81000; break; }//end switch break; case 0x19: if(C_005C7F60() && D_0099CE0C->f_208 < 3) { D_0099CE0C->f_224 = (D_009AB0A0.f_03c[D_0099CE0C->f_208].f_04 & 0x40)?0x32:0x31; D_009AB0A0.f_03c[D_0099CE0C->f_208].f_04 ^= 0x40; } break; case 0x1a: if(1) { lolo.bp_4c = D_0099CE0C->f_018; lolo.bp_50 = (lolo.bp_4c & 0xf)?0xf:0x3f0; lolo.bp_54 = D_009A8748.f_14c & ~D_009A8748.f_15a; lolo.bp_54 &= lolo.bp_50; lolo.bp_54 &= ~lolo.bp_4c; D_0099CE0C->f_0ec = lolo.bp_54; D_0099CE0C->f_0b4 ++; D_0099CE0C->f_098 = D_0099CE0C->f_0c0; C_005CAC07(D_0099CE0C->f_098); D_0099CE0C->f_090 |= 0x281000; } break; case 0x1b: if(D_0099CE0C->f_208 >= 4) { lolo.bp_58 = BIT(D_0099CE0C->f_208); D_009A8B10.f_2214 |= lolo.bp_58; } break; case 0x1c: C_005C7EE5(D_0099CE0C->f_208, D_0099CE0C->f_0c0 - 0x64, 0xc); break; case 0x1d: switch(bp08) { case 2: D_0099CE0C->f_090 |= 0x1000000; break; case 4: D_0099CE0C->f_224 = 0x33; break; }//end switch break; case 0x1e: D_0099CE0C->f_048 = (D_0099CE0C->f_0c4 * 3 * D_009A8B10.f_0000[lolo.bp_14].f_3c) / D_009AB0A0.f_03c[lolo.bp_14].f_30 + 1; break; case 0x1f: D_0099CE0C->f_048 = (D_0099CE0C->f_0c4 * 3 * D_009A8B10.f_0000[lolo.bp_14].f_3e) / D_009AB0A0.f_03c[lolo.bp_14].f_2a + 1; break; case 0x20: C_005DFC52(); break; case 0x21: D_0099CE0C->f_048 = (lolo.bp_10->f_00->f_24 / 0x80) * D_0099CE0C->f_0c4 / 0x10 + 0xa; break; case 0x22: D_0099CE0C->f_048 = ((lolo.bp_10->f_0a * (lolo.bp_10->f_05 + 1)) >> 4) * D_0099CE0C->f_0c4 / 0x10 + 1; break; case 0x23: switch(bp08) { case 3: if(D_0099CE0C->f_230 & 0x80) D_0099CE0C->f_218 |= 1; break; case 4: if(D_0099CE0C->f_208 >= 4) { lolo.bp_5c = BIT(D_0099CE0C->f_208); D_009A8B10.f_2228 |= lolo.bp_5c; D_009A8B10.f_0000[D_0099CE0C->f_208].f_29 |= 1; D_009AB0A0.f_03c[D_0099CE0C->f_208].f_58 = 0; } break; }//end switch break; }//end switch } return lolo.bp_04;}