/* ---------------------------------------------------------
    ÀüÅõ·Â Å¬·¡½º

    LAST UPDATE : 2008.10.30
    CREATER     : [HG]ErrorDa
    MAIL TO     : hespnk@hanmail.net

    IE7.0¿¡¼­ Å×½ºÆ® µÈ ÄÚµåÀÔ´Ï´Ù.
    ¼Ò½ºÄÚµå¿¡ ´ëÇÏ¿©´Â ºÒÆß±ÝÁöÀÔ´Ï´Ù.
    »ç¿ëÀ» ¿øÇÏ½Ã´Â ºÐÀº À§ÀÇ ¸ÞÀÏ·Î ¿¬¶ôÁÖ¼¼¿ä.
--------------------------------------------------------- */

//---------------------------------------------
// ÀüÅõ·Â °è»ê Å¬·¡½º
//---------------------------------------------
clsCombatPower = function()
{
    this.skPoint = 0;
    this.stPoint = 0;

    //             lf  mn  st str int dex wil luk
    this.baseSTp = [0,  0,  0,  0,  0,  0,  0,  0];
    this.calcSTp = [0,  0,  0,  0,  0,  0,  0,  0];

    this.monCp = new Array();
}

clsCombatPower.prototype =
{
    // ±âÃÊ µ¥ÀÌÅÍ µî·Ï
    // skp = ap½Ã¹Ä¿¡¼­ ¿Ã¸° ½ºÅ³ÀÇ ÀüÅõ·Â
    // skp = ap½Ã¹Ä¿¡¼­ ¿Ã¸° ½ºÅ³µéÀÇ ½ºÅ×ÀÌÅÍ½º °ª
    setBaseData : function( skp, argStp )
    {
        this.skPoint = skp;
        for(var i=0; i<this.baseSTp.length; i++)
        {
            this.baseSTp[i] = argStp[i];
        }
    },

    // ¸ó½ºÅÍ ÀüÅõ·Â µî·Ï
    // arg = ¸ó½ºÅÍ ÀüÅõ·Â ¹× ÀÌ¸§
    addMonCpData : function( arg )
    {
        this.monCp[this.monCp.length] = arg;
    },

    // ¸ó½ºÅÍ ÀüÅõ·Â Á¤º¸ ¾ò±â
    getMonCpData : function( index )
    {
        return this.monCp[index];
    },

    // »ý¸í·Â Áõ°¡
    incLP : function( val )
    {
        if( isNaN(val) || val == '' )
        {
            val = 0;
        }
        this.calcSTp[0] = parseInt(val);

        var tmp = parseInt(this.calcSTp[0]) + parseInt(this.baseSTp[0]);
        if(  tmp < 0 )
        {
             this.calcSTp[0] = -this.baseSTp[0];
        }
        else if( tmp > 999 )
        {
            this.calcSTp[0] = 999 - this.baseSTp[0];
        }
    },

    // »ý¸í·Â ¾ò±â
    getLP : function()
    {
        return (parseInt(this.calcSTp[0]) + parseInt(this.baseSTp[0]));
    },

    // ¸¶³ª Áõ°¡
    incMP : function( val )
    {
        if( isNaN(val) || val == '' )
        {
            val = 0;
        }
        this.calcSTp[1] = parseInt(val);

        var tmp = parseInt(this.calcSTp[1]) + parseInt(this.baseSTp[1]);
        if( tmp < 0 )
        {
            this.calcSTp[1] = -this.baseSTp[1];
        }
        else if( tmp > 999 )
        {
            this.calcSTp[1] = 999 - this.baseSTp[1];
        }
    },

    // ¸¶³ª ¾ò±â
    getMP : function()
    {
        return (parseInt(this.calcSTp[1]) + parseInt(this.baseSTp[1]));
    },

    // ½ºÅÂ¹Ì³Ê Áõ°¡
    incSP : function( val )
    {
        if( isNaN(val) || val == '' )
        {
            val = 0;
        }
        this.calcSTp[2] = parseInt(val);

        var tmp = parseInt(this.calcSTp[2]) + parseInt(this.baseSTp[2]);
        if( tmp < 0 )
        {
            this.calcSTp[2] = -this.baseSTp[2];
        }
        else if( tmp > 999 )
        {
            this.calcSTp[2] = 999 - this.baseSTp[2];
        }
    },

    // ½ºÅÂ¹Ì³Ê ¾ò±â
    getSP : function()
    {
        return (parseInt(this.calcSTp[2]) + parseInt(this.baseSTp[2]));
    },

    // Ã¼·Â Áõ°¡
    incSTR : function( val )
    {
        if( isNaN(val) || val == '' )
        {
            val = 0;
        }
        this.calcSTp[3] = parseInt(val);

        var tmp = parseInt(this.calcSTp[3]) + parseInt(this.baseSTp[3]);
        if( tmp < 0 )
        {
            this.calcSTp[3] = -this.baseSTp[3];
        }
        else if( tmp > 999 )
        {
            this.calcSTp[3] = 999 - this.baseSTp[3];
        }
    },

    // Ã¼·Â ¾ò±â
    getSTR : function()
    {
        return (parseInt(this.calcSTp[3]) + parseInt(this.baseSTp[3]));
    },

    // Áö·Â Áõ°¡
    incINT : function( val )
    {
        if( isNaN(val) || val == '' )
        {
            val = 0;
        }
        this.calcSTp[4] = parseInt(val);

        var tmp = parseInt(this.calcSTp[4]) + parseInt(this.baseSTp[4]);
        if( tmp < 0 )
        {
            this.calcSTp[4] = -this.baseSTp[4];
        }
        else if( tmp > 999 )
        {
            this.calcSTp[4] = 999 - this.baseSTp[4];
        }
    },

    // Áö·Â ¾ò±â
    getINT : function()
    {
        return (parseInt(this.calcSTp[4]) + parseInt(this.baseSTp[4]));
    },

    // ¼Ø¾¾ Áõ°¡
    incDEX : function( val )
    {
        if( isNaN(val) || val == '' )
        {
            val = 0;
        }
        this.calcSTp[5] = parseInt(val);

        var tmp = parseInt(this.calcSTp[5]) + parseInt(this.baseSTp[5]);
        if( tmp < 0 )
        {
            this.calcSTp[5] = -this.baseSTp[5];
        }
        else if( tmp > 999 )
        {
            this.calcSTp[5] = 999 - this.baseSTp[5];
        }
    },

    // ¼Ø¾¾ ¾ò±â
    getDEX : function()
    {
        return (parseInt(this.calcSTp[5]) + parseInt(this.baseSTp[5]));
    },

    // ÀÇÁö Áõ°¡
    incWILL : function( val )
    {
        if( isNaN(val) || val == '' )
        {
            val = 0;
        }
        this.calcSTp[6] = parseInt(val);

        var tmp = parseInt(this.calcSTp[6]) + parseInt(this.baseSTp[6]);
        if( tmp < 0 )
        {
            this.calcSTp[6] = -this.baseSTp[6];
        }
        else if( tmp > 999 )
        {
            this.calcSTp[6] = 999 - this.baseSTp[6];
        }
    },

    // ÀÇÁö ¾ò±â
    getWILL : function()
    {
        return (parseInt(this.calcSTp[6]) + parseInt(this.baseSTp[6]));
    },

    // Çà¿î Áõ°¡
    incLUCK : function( val )
    {
        if( isNaN(val) || val == '' )
        {
            val = 0;
        }
        this.calcSTp[7] = parseInt(val);

        var tmp = parseInt(this.calcSTp[7]) + parseInt(this.baseSTp[7]);
        if( tmp < 0 )
        {
            this.calcSTp[7] = -this.baseSTp[7];
        }
        else if( tmp > 999 )
        {
            this.calcSTp[7] = 999 - this.baseSTp[7];
        }
    },

    // Çà¿î ¾ò±â
    getLUCK : function()
    {
        return (parseInt(this.calcSTp[7]) + parseInt(this.baseSTp[7]));
    },

    // ½ºÅÈ ÀüÅõ·Â °è»ê
    calcCp : function()
    {
        // ½ºÅ×ÀÌÅÍ½º ÀüÅõ·Â = Life ¡¿1 + Mana ¡¿0.5 + Stamina ¡¿0.5 + Str ¡¿1 + Int ¡¿0.2 + Dex ¡¿0.1 + Will ¡¿0.5 + Luck ¡¿0.1
        // °¢ ½ºÅÈ¿¡¼­ Ä³¸¯ »ý¼º(È¯»ý)½Ã ÁÖ¾îÁö´Â ±âº» °ª 10À» Á¦¿Ü
        this.stPoint = ((parseInt(this.calcSTp[0]) + this.baseSTp[0] - 10) * 1.0)  //Life
                     + ((parseInt(this.calcSTp[1]) + this.baseSTp[1] - 10) * 0.5)  //Mana
                     + ((parseInt(this.calcSTp[2]) + this.baseSTp[2] - 10) * 0.5)  //Stamina
                     + ((parseInt(this.calcSTp[3]) + this.baseSTp[3] - 10) * 1.0)  //Str
                     + ((parseInt(this.calcSTp[4]) + this.baseSTp[4] - 10) * 0.2)  //Int
                     + ((parseInt(this.calcSTp[5]) + this.baseSTp[5] - 10) * 0.1)  //Dex
                     + ((parseInt(this.calcSTp[6]) + this.baseSTp[6] - 10) * 0.5)  //Will
                     + ((parseInt(this.calcSTp[7]) + this.baseSTp[7] - 10) * 0.1); //Luck
    }
}
