Ejemplo n.º 1
0
def f_clickedUnit():
    # (Line 13) foreach(cp: EUDLoopPlayer())  {
    for cp in EUDLoopPlayer():
        # (Line 14) var ptr;
        ptr = EUDVariable()
        # (Line 15) var epd;
        epd = EUDVariable()
        # (Line 16) var unitType;
        unitType = EUDVariable()
        # (Line 18) const prevPtrs, prevEPDs = PVariable(), PVariable();
        EUDTraceLog(18)
        prevPtrs, prevEPDs = List2Assignable([PVariable(), PVariable()])
        # (Line 19) const clickedUnitEPD = EPD(0x6284E8) + 12 * cp;
        EUDTraceLog(19)
        clickedUnitEPD = EPD(0x6284E8) + 12 * cp
        # (Line 20) EUDContinueIf(MemoryEPD(clickedUnitEPD, AtMost, 0x59CCA7));
        EUDTraceLog(20)
        EUDContinueIf(MemoryEPD(clickedUnitEPD, AtMost, 0x59CCA7))
        # (Line 21) const prevPtr = prevPtrs[cp];
        EUDTraceLog(21)
        prevPtr = prevPtrs[cp]
        # (Line 22) setcurpl(cp);
        EUDTraceLog(22)
        f_setcurpl(cp)
        # (Line 23) if(MemoryEPD(clickedUnitEPD, (10), prevPtr)) {
        _t1 = EUDIf()
        EUDTraceLog(23)
        if _t1(MemoryEPD(clickedUnitEPD, (10), prevPtr)):
            # (Line 25) const prevEPD = prevEPDs[cp];
            EUDTraceLog(25)
            prevEPD = prevEPDs[cp]
            # (Line 26) SetVariables(list(ptr, epd), list(prevPtr, prevEPD));
            EUDTraceLog(26)
            SetVariables(FlattenList([ptr, epd]), FlattenList([prevPtr, prevEPD]))
            # (Line 27) }
            # (Line 28) else {
        if EUDElse()():
            # (Line 30) SetVariables(list(ptr, epd), cunitepdread_epd(clickedUnitEPD));
            EUDTraceLog(30)
            SetVariables(FlattenList([ptr, epd]), f_cunitepdread_epd(clickedUnitEPD))
            # (Line 31) prevPtrs[cp] = ptr;
            EUDTraceLog(31)
            _ARRW(prevPtrs, cp) << (ptr)
            # (Line 32) prevEPDs[cp] = epd;
            EUDTraceLog(32)
            _ARRW(prevEPDs, cp) << (epd)
            # (Line 34) unitType = wread_epd(epd + 0x64 / 4, 0x64 % 4);
            EUDTraceLog(34)
            unitType << (f_wread_epd(epd + 0x64 // 4, 0x64 % 4))
            # (Line 36) var temp = maskread_epd(epd + 0x026 / 4, 0xFF0000) / 65536;
            EUDTraceLog(36)
            temp = EUDVariable()
            temp << (f_maskread_epd(epd + 0x026 // 4, 0xFF0000) // 65536)
            # (Line 37) v.s.print("\x07[clickedUnit.eps] \x1f유닛 타입 \x04: ", unitType, "  \x1f0x026 \x04: ", temp);
            EUDTraceLog(37)
            v.s.print("\x07[clickedUnit.eps] \x1f유닛 타입 \x04: ", unitType, "  \x1f0x026 \x04: ", temp)
            # (Line 38) if(IsUserCP()) {
            _t2 = EUDIf()
            EUDTraceLog(38)
            if _t2(IsUserCP()):
                # (Line 39) settbl2(16, 0, "\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D");
                EUDTraceLog(39)
                f_settbl2(16, 0, "\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D\x0D")
                # (Line 40) if(temp == 0) settbl2(16, 0, "\x05시민");
                _t3 = EUDIf()
                EUDTraceLog(40)
                if _t3(temp == 0):
                    EUDTraceLog(40)
                    f_settbl2(16, 0, "\x05시민")
                    # (Line 41) else if(temp == 1) settbl2(16, 0, "\x04리아");
                _t4 = EUDElseIf()
                EUDTraceLog(41)
                if _t4(temp == 1):
                    EUDTraceLog(41)
                    f_settbl2(16, 0, "\x04리아")
                    # (Line 42) else if(temp == 2) settbl2(16, 0, "\x04경비병");
                _t5 = EUDElseIf()
                EUDTraceLog(42)
                if _t5(temp == 2):
                    EUDTraceLog(42)
                    f_settbl2(16, 0, "\x04경비병")
                    # (Line 43) else if(temp == 3) settbl2(16, 0, "\x04전사");
                _t6 = EUDElseIf()
                EUDTraceLog(43)
                if _t6(temp == 3):
                    EUDTraceLog(43)
                    f_settbl2(16, 0, "\x04전사")
                    # (Line 44) else if(temp == 4) settbl2(16, 0, "\x04궁수");
                _t7 = EUDElseIf()
                EUDTraceLog(44)
                if _t7(temp == 4):
                    EUDTraceLog(44)
                    f_settbl2(16, 0, "\x04궁수")
                    # (Line 45) }
                EUDEndIf()
                # (Line 46) sys.ButtonRefresh();
            EUDEndIf()
            EUDTraceLog(46)
            sys.ButtonRefresh()
            # (Line 47) }
            # (Line 49) UseHPPtn(unitType);
        EUDEndIf()
        EUDTraceLog(49)
        UseHPPtn(unitType)
        # (Line 50) UseMPPtn(unitType);
        EUDTraceLog(50)
        UseMPPtn(unitType)
        # (Line 52) if(MemoryEPD(epd + 0x98/4, Exactly, 0xE400E4) && MemoryEPD(epd + 0x9C/4, Exactly, 0xE400E4) && MemoryXEPD(epd + 0xA0/4, Exactly, 0xE4, 0xFFFF)) {
        _t8 = EUDIf()
        EUDTraceLog(52)
        if _t8(EUDSCAnd()(MemoryEPD(epd + 0x98 // 4, Exactly, 0xE400E4))(MemoryEPD(epd + 0x9C // 4, Exactly, 0xE400E4))(MemoryXEPD(epd + 0xA0 // 4, Exactly, 0xE4, 0xFFFF))()):
            # (Line 53) continue;
            EUDTraceLog(53)
            EUDContinue()
            # (Line 54) };
        EUDEndIf()