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); }