New mounts %problems

05/23/2022 10:17 kibutsuji#1
Mounts like red fox and gold bull in the game are the same as I gave them, but they show different in the stat part in c. Because it's a 5% cladding on mounts. Any ideas how we can get these down to the stat screen in C? Thank you so much. :) I'm sorry for my bad english:o
05/23/2022 14:54 lnwnuyhodd#2
Code:
//Draw when pressed "C"
void __thiscall STATUSUI::Draw(STATUSUI *self, int mX, int mY)
{
    char *v3; // eax
    int v4; // esi
    unsigned __int16 v5; // ax
    int v6; // esi
    unsigned __int16 v7; // ax
    int v8; // esi
    unsigned __int16 v9; // ax
    int v10; // eax
    int v11; // esi
    unsigned __int16 v12; // ax
    int v13; // eax
    int v14; // esi
    unsigned __int16 v15; // ax
    int v16; // eax
    int v17; // esi
    unsigned __int16 v18; // ax
    int v19; // eax
    int v20; // esi
    unsigned __int16 v21; // ax
    int v22; // esi
    unsigned __int16 v23; // ax
    int v24; // eax
    int v25; // esi
    unsigned __int16 v26; // ax
    int v27; // eax
    int v28; // esi
    unsigned __int16 v29; // ax
    int v30; // eax
    int v31; // esi
    unsigned __int16 v32; // ax
    int v33; // eax
    int v34; // esi
    unsigned __int16 v35; // ax
    int v36; // eax
    int v37; // esi
    unsigned __int16 v38; // ax
    int v39; // eax
    int v40; // esi
    unsigned __int16 v41; // ax
    int v42; // eax
    int v43; // esi
    unsigned __int16 v44; // ax
    int v45; // eax
    int v46; // esi
    unsigned __int16 v47; // ax
    int v48; // eax
    int v49; // esi
    unsigned __int16 v50; // ax
    int v51; // eax
    int v52; // esi
    unsigned __int16 v53; // ax
    int v54; // [esp-8h] [ebp-400h]
    int v55; // [esp-8h] [ebp-400h]
    int v56; // [esp-8h] [ebp-400h]
    int v57; // [esp-8h] [ebp-400h]
    int v58; // [esp-8h] [ebp-400h]
    int v59; // [esp-8h] [ebp-400h]
    int v60; // [esp-8h] [ebp-400h]
    int v61; // [esp-8h] [ebp-400h]
    int v62; // [esp-8h] [ebp-400h]
    int v63; // [esp-8h] [ebp-400h]
    int v64; // [esp-8h] [ebp-400h]
    int v65; // [esp-8h] [ebp-400h]
    int v66; // [esp-8h] [ebp-400h]
    int v67; // [esp-8h] [ebp-400h]
    int v68; // [esp-8h] [ebp-400h]
    int v69; // [esp-8h] [ebp-400h]
    int v70; // [esp-8h] [ebp-400h]
    int v71; // [esp-8h] [ebp-400h]
    char tString[1004]; // [esp+8h] [ebp-3F0h] BYREF

    if ( self->mActive )
    {
        MYINFO::AdjustScreenCoord(297, 115, 105, &self->uX, &self->uY);
        if ( GIMAGE2D::CheckIn(&mGDATA[0].mUI_MAIN[297], self->uX, self->uY, mX, mY) )
            POINTER::Set(0);
        if ( mMYINFO[0].mUseAvatar.aLevel2 >= 1 )
        {
            GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[2728], self->uX, self->uY);
        }
        else if ( mMYINFO[0].mUseAvatar.aLevel1 >= 113 )
        {
            GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[1045], self->uX, self->uY);
        }
        else
        {
            GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[297], self->uX, self->uY);
        }
        if ( mMYINFO[0].mUseAvatar.aTitle >= 1 )
        {
            v3 = UTIL::ReturnTribeCallName(mMYINFO[0].iTribeCallType, mMYINFO[0].mUseAvatar.aTitle);
            sprintf(tString, "%s(%s)", mMYINFO[0].mUseAvatar.aName, v3);
        }
        else
        {
            strcpy(tString, mMYINFO[0].mUseAvatar.aName);
        }
        v54 = self->uY + 43;
        v4 = self->uX + 154;
        v5 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v4 - v5 / 2, v54, 1);
        if ( mMYINFO[0].mUseAvatar.aLevel2 >= 1 )
        {
            sprintf(tString, "%d(+%d)", mMYINFO[0].mUseAvatar.aLevel2, mMYINFO[0].mUseAvatar.aHalo);
        }
        else if ( mMYINFO[0].mUseAvatar.aLevel1 >= 113 )
        {
            sprintf(tString, "%d(+%d)", mMYINFO[0].mUseAvatar.aLevel1 - 112, mMYINFO[0].mUseAvatar.aHalo);
        }
        else
        {
            sprintf(tString, "%d(+%d)", mMYINFO[0].mUseAvatar.aLevel1, mMYINFO[0].mUseAvatar.aHalo);
        }
        v55 = self->uY + 65;
        v6 = self->uX + 154;
        v7 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v6 - v7 / 2, v55, 1);
        sprintf(tString, "%d", mMYINFO[0].mUseAvatar.aKillOtherTribe);
        v56 = self->uY + 87;
        v8 = self->uX + 154;
        v9 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v8 - v9 / 2, v56, 1);
        v10 = FACTOR::GetStrength(mFACTOR);
        sprintf(tString, "%d", v10);
        v57 = self->uY + 110;
        v11 = self->uX + 107;
        v12 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v11 - v12, v57, 1);
        v13 = FACTOR::GetWisdom(mFACTOR);
        sprintf(tString, "%d", v13);
        v58 = self->uY + 110;
        v14 = self->uX + 203;
        v15 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v14 - v15, v58, 1);
        v16 = FACTOR::GetVitality(mFACTOR);
        sprintf(tString, "%d", v16);
        v59 = self->uY + 132;
        v17 = self->uX + 107;
        v18 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v17 - v18, v59, 1);
        v19 = FACTOR::GetKi(mFACTOR);
        sprintf(tString, "%d", v19);
        v60 = self->uY + 132;
        v20 = self->uX + 203;
        v21 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v20 - v21, v60, 1);
        sprintf(tString, "%d", mMYINFO[0].mUseAvatar.aStatPoint);
        v61 = self->uY + 155;
        v22 = self->uX + 203;
        v23 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v22 - v23, v61, 1);
        v24 = FACTOR::GetMaxLife();
        sprintf(tString, "%d", v24);
        v62 = self->uY + 177;
        v25 = self->uX + 107;
        v26 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v25 - v26, v62, 1);
        v27 = FACTOR::GetMaxMana();
        sprintf(tString, "%d", v27);
        v63 = self->uY + 177;
        v28 = self->uX + 203;
        v29 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v28 - v29, v63, 1);
        v30 = FACTOR::GetAttackPower(mFACTOR);
        sprintf(tString, "%d", v30);
        v64 = self->uY + 199;
        v31 = self->uX + 107;
        v32 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v31 - v32, v64, 1);
        v33 = FACTOR::GetDefensePower(mFACTOR);
        sprintf(tString, "%d", v33);
        v65 = self->uY + 199;
        v34 = self->uX + 203;
        v35 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v34 - v35, v65, 1);
        v36 = FACTOR::GetAttackSuccess(mFACTOR);
        sprintf(tString, "%d", v36);
        v66 = self->uY + 221;
        v37 = self->uX + 107;
        v38 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v37 - v38, v66, 1);
        v39 = FACTOR::GetAttackBlock(mFACTOR);
        sprintf(tString, "%d", v39);
        v67 = self->uY + 221;
        v40 = self->uX + 203;
        v41 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v40 - v41, v67, 1);
        v42 = FACTOR::GetCritical(mFACTOR);
        sprintf(tString, "%d", v42);
        v68 = self->uY + 243;
        v43 = self->uX + 107;
        v44 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v43 - v44, v68, 1);
        v45 = FACTOR::GetLuck(mFACTOR);
        sprintf(tString, "%d", v45);
        v69 = self->uY + 243;
        v46 = self->uX + 203;
        v47 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v46 - v47, v69, 1);
        v48 = FACTOR::GetElementAttackPower(mFACTOR);
        sprintf(tString, "%d", v48);
        v70 = self->uY + 298;
        v49 = self->uX + 203;
        v50 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v49 - v50, v70, 1);
        v51 = FACTOR::GetElementDefensePower(mFACTOR);
        sprintf(tString, "%d", v51);
        v71 = self->uY + 320;
        v52 = self->uX + 203;
        v53 = UTIL::ReturnStringLength(tString);
        UTIL::DrawFont2D(tString, v52 - v53, v71, 1);
        if ( mMYINFO[0].mUseAvatar.aStatPoint > 0 )
        {
            if ( self->bIsClick[0] )
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[316], self->uX + 52, self->uY + 109);
            else
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[315], self->uX + 52, self->uY + 109);
            if ( self->bIsClick[1] )
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[316], self->uX + 148, self->uY + 109);
            else
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[315], self->uX + 148, self->uY + 109);
            if ( self->bIsClick[2] )
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[316], self->uX + 52, self->uY + 131);
            else
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[315], self->uX + 52, self->uY + 131);
            if ( self->bIsClick[3] )
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[316], self->uX + 148, self->uY + 131);
            else
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[315], self->uX + 148, self->uY + 131);
        }
        if ( mMYINFO[0].mUseAvatar.aStatPoint >= 5 )
        {
            if ( self->bIsClick[4] )
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[2421], self->uX + 67, self->uY + 109);
            else
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[2420], self->uX + 67, self->uY + 109);
            if ( self->bIsClick[5] )
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[2421], self->uX + 163, self->uY + 109);
            else
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[2420], self->uX + 163, self->uY + 109);
            if ( self->bIsClick[6] )
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[2421], self->uX + 67, self->uY + 131);
            else
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[2420], self->uX + 67, self->uY + 131);
            if ( self->bIsClick[7] )
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[2421], self->uX + 163, self->uY + 131);
            else
                GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[2420], self->uX + 163, self->uY + 131);
        }
        if ( self->bIsClick[8] )
            GIMAGE2D::Display(&mGDATA[0].mUI_MAIN[298], self->uX + 8, self->uY + 6);
    }
}