Function Dummy_ATB switch 3 ( VAR_LocUInt8_1 ) from 1 { case +0: if ( VAR_LocUInt8_8 ) { set #( VAR_LocUInt16_4 = RandomInTeam(( ( NotMatching(SV_PlayerTeam[STATUS_CURRENT_A], 257) & NotMatching(SV_PlayerTeam[STATUS_CURRENT_B], 64) ) & ( ~( Matching(SV_PlayerTeam[STATUS_CURRENT_B], 32) | Matching(SV_PlayerTeam[STATUS_AUTO_B], 32) ) ) )) ) } else { set #( VAR_LocUInt16_4 = 1 ) } set VAR_LocInt24_24 = ( VAR_LocInt24_21 & 7 ) set VAR_LocInt24_33 = GetRandom set VAR_LocInt24_36 = 128 set VAR_LocInt8_29 = ( VAR_LocUInt8_28 - 1 ) while ( VAR_LocInt8_29 >= 0 ) { if ( VAR_LocInt24_33 > VAR_LocInt24_36 ) { break } set VAR_LocInt24_36 >>= 1 set VAR_LocInt8_29-- } if ( VAR_LocInt8_29 == 65535 ) { set VAR_LocInt8_29 = ( VAR_LocUInt8_28 - 1 ) } if ( VAR_LocInt8_29 == ( VAR_LocUInt8_28 - 1 ) ) { set VAR_LocInt24_21 = ( ( VAR_LocInt24_21 >> 3 ) & 2097151L ) set VAR_LocInt24_21 |= ( VAR_LocInt24_24 << ( VAR_LocInt8_29 * 3 ) ) } else { if ( VAR_LocInt8_29 ) { set VAR_LocInt24_30 = ( VAR_LocInt24_24 << ( VAR_LocInt8_29 * 3 ) ) set VAR_LocInt24_33 = ( ( 1 << ( ( VAR_LocInt8_29 + 1 ) * 3 ) ) - 1 ) set VAR_LocInt24_36 = ( ( VAR_LocInt24_33 & VAR_LocInt24_21 ) >> 3 ) set VAR_LocInt24_36 |= VAR_LocInt24_30 set VAR_LocInt24_33 ^= 16777215L set VAR_LocInt24_21 &= VAR_LocInt24_33 set VAR_LocInt24_21 |= VAR_LocInt24_36 } } set VAR_LocInt8_29 = VAR_LocUInt8_28 while ( VAR_LocInt8_29 >= 0 ) { switch 8 ( VAR_LocInt24_24 ) from 0 { case +0: set #( SV_Target = RandomInTeam(( ( NotMatching(SV_PlayerTeam[STATUS_CURRENT_A], 257) & NotMatching(SV_PlayerTeam[STATUS_CURRENT_B], 64) ) & ( ~( Matching(SV_PlayerTeam[STATUS_CURRENT_B], 32) | Matching(SV_PlayerTeam[STATUS_AUTO_B], 32) ) ) )) ) break case +1: set #( SV_Target = RandomInTeam(( ( NotMatching(SV_PlayerTeam[STATUS_CURRENT_A], 257) & NotMatching(SV_PlayerTeam[STATUS_CURRENT_B], 64) ) & ( ~( Matching(SV_PlayerTeam[STATUS_CURRENT_B], 32) | Matching(SV_PlayerTeam[STATUS_AUTO_B], 32) ) ) )) ) break case +2: set #( SV_Target = SV_PlayerTeam ) break case +3: set #( SV_Target = VAR_LocUInt16_4 ) break case +4: set #( SV_Target = VAR_LocUInt16_4 ) break case +5: set #( SV_Target = RandomInTeam(( ( NotMatching(SV_PlayerTeam[STATUS_CURRENT_A], 257) & NotMatching(SV_PlayerTeam[STATUS_CURRENT_B], 64) ) & ( ~( Matching(SV_PlayerTeam[STATUS_CURRENT_B], 32) | Matching(SV_PlayerTeam[STATUS_AUTO_B], 32) ) ) )) ) break case +6: set #( SV_Target = RandomInTeam(( ( NotMatching(SV_PlayerTeam[STATUS_CURRENT_A], 257) & NotMatching(SV_PlayerTeam[STATUS_CURRENT_B], 64) ) & ( ~( Matching(SV_PlayerTeam[STATUS_CURRENT_B], 32) | Matching(SV_PlayerTeam[STATUS_AUTO_B], 32) ) ) )) ) break case +7: set #( SV_Target = SV_FunctionEnemy ) } if ( VAR_LocInt24_24 >= 4 ) { set VAR_LocInt24_33 = ( ( VAR_LocInt24_18 >> ( ( VAR_LocInt24_24 - 4 ) * 6 ) ) & 63 ) } else { set VAR_LocInt24_33 = ( ( VAR_LocInt24_15 >> ( VAR_LocInt24_24 * 6 ) ) & 63 ) } set VAR_LocInt24_30 = ( #SV_Target ) set VAR_LocInt24_36 = FirstOf(SV_FunctionEnemy[MP]) if ( VAR_LocInt24_30 && ( VAR_LocInt24_33 <= VAR_LocInt24_36 ) ) { break } if ( VAR_LocInt8_29 <= 0 ) { break } set VAR_LocInt24_24 = ( VAR_LocInt24_21 & 7 ) set VAR_LocInt24_21 = ( ( VAR_LocInt24_21 >> 3 ) & 2097151L ) set VAR_LocInt24_21 |= ( VAR_LocInt24_24 << ( ( VAR_LocUInt8_28 - 1 ) * 3 ) ) set VAR_LocInt8_29-- } if ( VAR_LocInt24_24 >= 4 ) { set VAR_LocUInt8_27 = ( ( VAR_LocInt24_12 >> ( ( VAR_LocInt24_24 - 4 ) * 6 ) ) & 63 ) } else { set VAR_LocUInt8_27 = ( ( VAR_LocInt24_9 >> ( VAR_LocInt24_24 * 6 ) ) & 63 ) } if ( VAR_LocUInt8_27 == 9 ) { set VAR_LocUInt8_8 = 1 } break case +1: set VAR_LocInt24_24 = ( VAR_LocInt24_21 & 7 ) set VAR_LocInt24_33 = GetRandom set VAR_LocInt24_36 = 128 set VAR_LocInt8_29 = ( VAR_LocUInt8_28 - 1 ) while ( VAR_LocInt8_29 >= 0 ) { if ( VAR_LocInt24_33 > VAR_LocInt24_36 ) { break } set VAR_LocInt24_36 >>= 1 set VAR_LocInt8_29-- } if ( VAR_LocInt8_29 == 65535 ) { set VAR_LocInt8_29 = ( VAR_LocUInt8_28 - 1 ) } if ( VAR_LocInt8_29 == ( VAR_LocUInt8_28 - 1 ) ) { set VAR_LocInt24_21 = ( ( VAR_LocInt24_21 >> 3 ) & 2097151L ) set VAR_LocInt24_21 |= ( VAR_LocInt24_24 << ( VAR_LocInt8_29 * 3 ) ) } else { if ( VAR_LocInt8_29 ) { set VAR_LocInt24_30 = ( VAR_LocInt24_24 << ( VAR_LocInt8_29 * 3 ) ) set VAR_LocInt24_33 = ( ( 1 << ( ( VAR_LocInt8_29 + 1 ) * 3 ) ) - 1 ) set VAR_LocInt24_36 = ( ( VAR_LocInt24_33 & VAR_LocInt24_21 ) >> 3 ) set VAR_LocInt24_36 |= VAR_LocInt24_30 set VAR_LocInt24_33 ^= 16777215L set VAR_LocInt24_21 &= VAR_LocInt24_33 set VAR_LocInt24_21 |= VAR_LocInt24_36 } } set VAR_LocInt8_29 = VAR_LocUInt8_28 while ( VAR_LocInt8_29 >= 0 ) { switch 8 ( VAR_LocInt24_24 ) from 0 { case +0: set #( SV_Target = SV_PlayerTeam ) break case +1: set #( SV_Target = SV_PlayerTeam ) break case +2: set #( SV_Target = SV_PlayerTeam ) break case +3: set #( SV_Target = SV_FunctionEnemy ) break case +4: set #( SV_Target = SV_FunctionEnemy ) break case +5: set #( SV_Target = SV_FunctionEnemy ) break case +6: set #( SV_Target = SV_FunctionEnemy ) break case +7: set #( SV_Target = SV_FunctionEnemy ) } if ( VAR_LocInt24_24 >= 4 ) { set VAR_LocInt24_33 = ( ( VAR_LocInt24_18 >> ( ( VAR_LocInt24_24 - 4 ) * 6 ) ) & 63 ) } else { set VAR_LocInt24_33 = ( ( VAR_LocInt24_15 >> ( VAR_LocInt24_24 * 6 ) ) & 63 ) } set VAR_LocInt24_30 = ( #SV_Target ) set VAR_LocInt24_36 = FirstOf(SV_FunctionEnemy[MP]) if ( VAR_LocInt24_30 && ( VAR_LocInt24_33 <= VAR_LocInt24_36 ) ) { break } if ( VAR_LocInt8_29 <= 0 ) { break } set VAR_LocInt24_24 = ( VAR_LocInt24_21 & 7 ) set VAR_LocInt24_21 = ( ( VAR_LocInt24_21 >> 3 ) & 2097151L ) set VAR_LocInt24_21 |= ( VAR_LocInt24_24 << ( ( VAR_LocUInt8_28 - 1 ) * 3 ) ) set VAR_LocInt8_29-- } if ( VAR_LocInt24_24 >= 4 ) { set VAR_LocUInt8_27 = ( ( VAR_LocInt24_12 >> ( ( VAR_LocInt24_24 - 4 ) * 6 ) ) & 63 ) } else { set VAR_LocUInt8_27 = ( ( VAR_LocInt24_9 >> ( VAR_LocInt24_24 * 6 ) ) & 63 ) } set #( VAR_LocUInt16_6 = RandomInTeam(( ( NotMatching(SV_PlayerTeam[STATUS_CURRENT_A], 257) & NotMatching(SV_PlayerTeam[STATUS_CURRENT_B], 64) ) & ( ~( Matching(SV_PlayerTeam[STATUS_CURRENT_B], 32) | Matching(SV_PlayerTeam[STATUS_AUTO_B], 32) ) ) )) ) if ( !( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT_A], 4355) & VAR_LocUInt16_6 ) ) ) { set #( SV_Target = 1 ) } break case +2: set #( VAR_LocUInt16_2 = 0 ) if ( ( FirstOf(VAR_GlobUInt16_24[HP]) - 10000 ) < ( ( FirstOf(VAR_GlobUInt16_24[MAX_HP]) - 10000 ) >> 1 ) ) { set #( VAR_LocUInt16_2 = VAR_GlobUInt16_24 ) } else { set #( VAR_LocUInt16_2 = 1 ) } set VAR_LocInt24_24 = ( VAR_LocInt24_21 & 7 ) set VAR_LocInt24_33 = GetRandom set VAR_LocInt24_36 = 128 set VAR_LocInt8_29 = ( VAR_LocUInt8_28 - 1 ) while ( VAR_LocInt8_29 >= 0 ) { if ( VAR_LocInt24_33 > VAR_LocInt24_36 ) { break } set VAR_LocInt24_36 >>= 1 set VAR_LocInt8_29-- } if ( VAR_LocInt8_29 == 65535 ) { set VAR_LocInt8_29 = ( VAR_LocUInt8_28 - 1 ) } if ( VAR_LocInt8_29 == ( VAR_LocUInt8_28 - 1 ) ) { set VAR_LocInt24_21 = ( ( VAR_LocInt24_21 >> 3 ) & 2097151L ) set VAR_LocInt24_21 |= ( VAR_LocInt24_24 << ( VAR_LocInt8_29 * 3 ) ) } else { if ( VAR_LocInt8_29 ) { set VAR_LocInt24_30 = ( VAR_LocInt24_24 << ( VAR_LocInt8_29 * 3 ) ) set VAR_LocInt24_33 = ( ( 1 << ( ( VAR_LocInt8_29 + 1 ) * 3 ) ) - 1 ) set VAR_LocInt24_36 = ( ( VAR_LocInt24_33 & VAR_LocInt24_21 ) >> 3 ) set VAR_LocInt24_36 |= VAR_LocInt24_30 set VAR_LocInt24_33 ^= 16777215L set VAR_LocInt24_21 &= VAR_LocInt24_33 set VAR_LocInt24_21 |= VAR_LocInt24_36 } } set VAR_LocInt8_29 = VAR_LocUInt8_28 while ( VAR_LocInt8_29 >= 0 ) { switch 8 ( VAR_LocInt24_24 ) from 0 { case +0: set #( SV_Target = VAR_LocUInt16_2 ) break case +1: set #( SV_Target = RandomInTeam(( ( NotMatching(SV_EnemyTeam[STATUS_CURRENT_A], 257) & NotMatching(SV_EnemyTeam[STATUS_CURRENT_B], 64) ) & ( ~Matching(SV_EnemyTeam[STATUS_CURRENT_A], 4194304L) ) )) ) break case +2: set #( SV_Target = RandomInTeam(( ( NotMatching(SV_EnemyTeam[STATUS_CURRENT_A], 257) & NotMatching(SV_EnemyTeam[STATUS_CURRENT_B], 64) ) & ( ~Matching(SV_EnemyTeam[STATUS_CURRENT_A], 8388608L) ) )) ) break case +3: set #( SV_Target = SV_FunctionEnemy ) break case +4: set #( SV_Target = SV_FunctionEnemy ) break case +5: set #( SV_Target = SV_FunctionEnemy ) break case +6: set #( SV_Target = SV_FunctionEnemy ) break case +7: set #( SV_Target = SV_FunctionEnemy ) } if ( VAR_LocInt24_24 >= 4 ) { set VAR_LocInt24_33 = ( ( VAR_LocInt24_18 >> ( ( VAR_LocInt24_24 - 4 ) * 6 ) ) & 63 ) } else { set VAR_LocInt24_33 = ( ( VAR_LocInt24_15 >> ( VAR_LocInt24_24 * 6 ) ) & 63 ) } set VAR_LocInt24_30 = ( #SV_Target ) set VAR_LocInt24_36 = FirstOf(SV_FunctionEnemy[MP]) if ( VAR_LocInt24_30 && ( VAR_LocInt24_33 <= VAR_LocInt24_36 ) ) { break } if ( VAR_LocInt8_29 <= 0 ) { break } set VAR_LocInt24_24 = ( VAR_LocInt24_21 & 7 ) set VAR_LocInt24_21 = ( ( VAR_LocInt24_21 >> 3 ) & 2097151L ) set VAR_LocInt24_21 |= ( VAR_LocInt24_24 << ( ( VAR_LocUInt8_28 - 1 ) * 3 ) ) set VAR_LocInt8_29-- } if ( VAR_LocInt24_24 >= 4 ) { set VAR_LocUInt8_27 = ( ( VAR_LocInt24_12 >> ( ( VAR_LocInt24_24 - 4 ) * 6 ) ) & 63 ) } else { set VAR_LocUInt8_27 = ( ( VAR_LocInt24_9 >> ( VAR_LocInt24_24 * 6 ) ) & 63 ) } } switch 9 ( VAR_LocUInt8_27 ) from 7 { case +0: if ( #( SV_FunctionEnemy[MP] <$ 46 ) ) { set VAR_LocUInt8_27 = 16 } break case +1: if ( #( SV_FunctionEnemy[MP] <$ 36 ) ) { set VAR_LocUInt8_27 = 16 } break case +2: if ( #( SV_FunctionEnemy[MP] <$ 40 ) ) { set VAR_LocUInt8_27 = 16 } break case +3: if ( #( SV_FunctionEnemy[MP] <$ 24 ) ) { set VAR_LocUInt8_27 = 16 } break case +4: if ( #( SV_FunctionEnemy[MP] <$ 24 ) ) { set VAR_LocUInt8_27 = 16 } break case +5: if ( #( SV_FunctionEnemy[MP] <$ 24 ) ) { set VAR_LocUInt8_27 = 16 } break case +6: if ( #( SV_FunctionEnemy[MP] <$ 20 ) ) { set VAR_LocUInt8_27 = 16 } break case +7: if ( #( SV_FunctionEnemy[MP] <$ 8 ) ) { set VAR_LocUInt8_27 = 16 } break case +8: if ( #( SV_FunctionEnemy[MP] <$ 8 ) ) { set VAR_LocUInt8_27 = 16 } break } if ( SV_Target == 0 ) { set VAR_LocUInt8_27 = 16 } switch 3 ( VAR_LocUInt8_1 ) from 1 { case +0: if ( ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT_A], 4355) & ( ~Matching(SV_PlayerTeam[STATUS_CURRENT_A], 512) ) ) ) < 4 ) { set #( SV_Target = 0 ) set VAR_LocUInt8_27 = 16 } break case +1: if ( ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT_A], 4355) & ( ~Matching(SV_PlayerTeam[STATUS_CURRENT_A], 512) ) ) ) < 3 ) { set #( SV_Target = 0 ) set VAR_LocUInt8_27 = 16 } break case +2: if ( ( #( NotMatching(SV_PlayerTeam[STATUS_CURRENT_A], 4355) & ( ~Matching(SV_PlayerTeam[STATUS_CURRENT_A], 512) ) ) ) < 2 ) { set #( SV_Target = 0 ) set VAR_LocUInt8_27 = 16 } break } set VAR_LocUInt8_39 = ( #SV_Target ) Attack( VAR_LocUInt8_27 ) return