예제 #1
0
        public static Characteristic parseJSON(string aJSON)
        {
            Console.WriteLine("parse Characteristic " + aJSON);
            JSONNode       obj            = JSON.Parse(aJSON);
            Characteristic characteristic = new Characteristic();

            switch (obj[Constants.Type].Value)
            {
            case "MELE":
                characteristic.Type = CharacterType.MELE;
                break;

            case "RANGER":
                characteristic.Type = CharacterType.RANGER;
                break;

            default:
                characteristic.Type = CharacterType.MELE;
                break;
            }
            switch (obj[Constants.Class].Value)
            {
            case "Assassin":
                characteristic.Class = CharacterClass.Assassin;
                break;

            case "Paladin":
                characteristic.Class = CharacterClass.Paladin;
                break;

            case "Zealot":
                characteristic.Class = CharacterClass.Zealot;
                break;

            case "Sorceress":
                characteristic.Class = CharacterClass.Sorceress;
                break;

            case "Wizard":
                characteristic.Class = CharacterClass.Wizard;
                break;

            case "Marksman":
                characteristic.Class = CharacterClass.Marksman;
                break;

            case "Org":
                characteristic.Class = CharacterClass.Org;
                break;

            case "Barbarian":
                characteristic.Class = CharacterClass.Barbarian;
                break;

            default:
                characteristic.Class = CharacterClass.Assassin;
                break;
            }

            switch (characteristic.Class)
            {
            case CharacterClass.Assassin:
            case CharacterClass.Paladin:
                characteristic.Damage = DamageType.Physic;
                break;

            case CharacterClass.Wizard:
                characteristic.Damage = DamageType.Magic;
                break;

            default:
                characteristic.Damage = DamageType.Magic;
                break;
            }

            //characteristic.Level = Convert.Tofloat32(obj[Constants.Level].Value);
            //characteristic.Strength = Convert.Tofloat32(obj[Constants.Strength].Value);
            //characteristic.floatelligence = Convert.Tofloat32(obj[Constants.floatelligence].Value);
            //characteristic.Dexterity = Convert.Tofloat32(obj[Constants.Dexterity].Value);
            //characteristic.Focus = Convert.Tofloat32(obj[Constants.Focus].Value);
            //characteristic.Vitality = Convert.Tofloat32(obj[Constants.Vitality].Value);
            //characteristic.Agility = Convert.Tofloat32(obj[Constants.Agility].Value);
            //characteristic.Luck = Convert.Tofloat32(obj[Constants.Luck].Value);
            //characteristic.Endurance = Convert.Tofloat32(obj[Constants.Endurance].Value);
            //characteristic.Protection = Convert.Tofloat32(obj[Constants.Protection].Value);
            //characteristic.Blessing = Convert.Tofloat32(obj[Constants.Blessing].Value);

            //characteristic.Max_Health = 100 + Constants.HP_PER_TIMES[characteristic.Level - 1] + Constants.HP_PER_TIMES[characteristic.Vitality - characteristic.Level + 1];
            //characteristic.Health = characteristic.Max_Health;

            //characteristic.PhysicalDamage = 0;// Increases the damage from physical attacks - thể hiện damage vật lý
            //characteristic.PhysicalReinforce = 0;// Increases the damage from physical attacks based on a percentage of physical damage – Tăng thêm damage vật lý theo tỉ lệ phần trăm của damage vật lý
            //characteristic.PhysicalDefense = 0;// Take less damage from opponent's physical attack – Giảm lượng damage vật lý phải nhận
            //characteristic.MagicalDamage = 0;// Increases the damage from Magical attacks - thể hiện damage phép thuật
            //characteristic.MagicalReinforce = 0;// Increases the damage from magical attacks based on a percentage of magical damage - Tăng thêm damage phép theo tỉ lệ phần trăm của damage phép
            //characteristic.MagicalDefense = 0;// Take less damage from opponent's magical attack – Giảm lượng damage phép thuật phải nhận
            //characteristic.CriticalChance = 0;// Increases the chance to perform a critical attack - thể hiện tỉ lệ ra đòn chí mạng
            //characteristic.CriticalDamage = 0.01f * characteristic.Dexterity;// Damage of the critical attacks – thể hiện lượng Sát thương cộng thêm khi người chơi ra đòn Chí mạng(mặc định tăng thêm 100% Sát thương vật lý)
            //characteristic.MulticastChance = 0.01f * characteristic.Focus;// Increases the chance to perform a double casting spells - thể hiện tỉ lệ đánh 2 lần 1 phép bất kỳ
            //characteristic.BlockingChance = 0;// Increases the chance to block attacks with a shield - thể hiện tỉ lệ ngăn chặn hoàn toàn 1 đòn tấn công vật lý bất kỳ
            //characteristic.DodgeChance = 0.01f * characteristic.Agility; //Increases the chance to dodge attacks - thể hiện tỉ lệ tránh né hoàn toàn 1 đòn tấn công vật lý hoặc phép thuật bất kỳ
            //characteristic.HealthRecovery = 0.01f * characteristic.Vitality * characteristic.Max_Health;// Restores health on the target unit over time – Tự động hồi 1 lượng HP nhất định sau mỗi turn
            //characteristic.Reputation = 0;// (Fame): Số danh tiếng người chơi đang có(Cộng sau mỗi lần hoàn thành nhiệm vụ)
            //characteristic.AttackRate = 0;// Increases the chance to do maximum damage – Tăng tỉ lệ ra đòn max damage
            //characteristic.ParryRate = 0;// Increases the chance to take minimum damage – Tăng tỉ lệ nhận đòn min damage


            return(characteristic);
        }