Exemple #1
0
    private void  LevelChange(int nValue, bool bKill)
    {
        int MAX_LEVEL = 100;

        if (nValue < 0 || nValue > MAX_LEVEL)
        {
            return;
        }

        if (m_nLevel == nValue)
        {
            return;
        }


        tagTeamLevelEffect pEffect = CProtoManager.inst.GetTeamEffectLevel(m_nLevel);

        if (pEffect != null)
        {
            SetTeamMaxPhysical(pEffect.nPhysique);
        }

        int nMaxPhysical = m_nMaxPhysical;

        SetTeamMaxPhysical(nMaxPhysical);

        OnChangeEvent();
    }
Exemple #2
0
    public int ChangeTeamExp(int nVal)
    {
        if (nVal < 0)
        {
            m_nCurExp += nVal;
        }

        if (nVal > 0)
        {
            tagTeamLevelEffect pEffect = CProtoManager.inst.GetTeamEffectLevel(m_nLevel);
            int nLevelUpExpRemain      = pEffect.nExpLevelUp - m_nCurExp;
            if (nLevelUpExpRemain > nVal)
            {
                m_nCurExp += nVal;
            }
            else
            {
                int MAX_LEVEL = 100;
                m_nCurExp += nLevelUpExpRemain;
                if (m_nLevel == MAX_LEVEL)
                {
                    return(0);
                }

                nVal -= nLevelUpExpRemain;
                int nNextLevel = m_nLevel + 1;

                for ( ; nNextLevel <= MAX_LEVEL; nNextLevel++)
                {
                    pEffect = CProtoManager.inst.GetTeamEffectLevel(nNextLevel);
                    if (pEffect.nExpLevelUp <= nVal)
                    {
                        nVal -= pEffect.nExpLevelUp;
                    }
                    else
                    {
                        break;
                    }
                }

                if (nNextLevel > MAX_LEVEL)
                {
                    nNextLevel = MAX_LEVEL;
                    nVal       = pEffect.nExpLevelUp;
                }

                LevelChange(nNextLevel, false);
                m_nCurExp = nVal;
            }
        }

        OnChangeEvent();
        return(m_nCurExp);
    }
Exemple #3
0
    private void LoadTeamLevelExp( )
    {
        CXmlContainer xml  = new CXmlContainer();
        List <string> list = new List <string> ();

        if (xml.LoadXML("data/team_uplevel", "id", list))
        {
            for (int i = 0; i < list.Count; i++)
            {
                tagTeamLevelEffect item = new tagTeamLevelEffect();
                item.nLevel      = xml.GetInt("id", list[i], 0);
                item.nExpLevelUp = xml.GetInt("ExpLevelUp", list[i], 0);
                item.nPhysique   = xml.GetInt("Physique", list[i], 0);

                m_mapTeamUpExp.Add(item);
            }
        }
    }