Exemple #1
0
    public int EnchantCost(int grade)
    {
        EquipStat stat = Stats.Find(e => e.Enchant == grade);

        if (stat == null)
        {
            throw new System.Exception(string.Format("can't find enchant cost info :  grade {0}", grade));
        }
        return(stat.EnchantCost);
    }
Exemple #2
0
    public StatInfo AddStats(eEquipType type, eAttackType attack_type, int equip_grade, int enchant, StatInfo stat_info)
    {
        EquipStat stat = null;

        switch (type)
        {
        case eEquipType.weapon:
            stat = StatInfo.Weapons.Find(e => e.Grade == equip_grade && e.Enchant == enchant);
            if (stat == null)
            {
                throw new System.Exception(string.Format("Can't Find Weapon Stat Info : grade({0}), enchant({1})", equip_grade, enchant));
            }
            stat_info.AddValue(eStatType.PhysicAttack, stat.Value);
            stat_info.AddValue(eStatType.MagicAttack, stat.Value);
            stat_info.AddValue(eStatType.Heal, stat.Value);
            break;

        case eEquipType.armor:
            stat = StatInfo.Armors.Find(e => e.Grade == equip_grade && e.Enchant == enchant);
            if (stat == null)
            {
                throw new System.Exception(string.Format("Can't Find Armor Stat Info : grade({0}), enchant({1})", equip_grade, enchant));
            }
            switch (attack_type)
            {
            case eAttackType.physic:
                stat_info.AddValue(eStatType.PhysicDefense, stat.Value);
                stat_info.AddValue(eStatType.MagicDefense, (int)(stat.Value * stat.DefenseRate));
                break;

            case eAttackType.magic:
                stat_info.AddValue(eStatType.MagicDefense, stat.Value);
                stat_info.AddValue(eStatType.PhysicDefense, (int)(stat.Value * stat.DefenseRate));
                break;

            case eAttackType.heal:
                stat_info.AddValue(eStatType.PhysicDefense, (int)(stat.Value * stat.DefenseRate));
                stat_info.AddValue(eStatType.MagicDefense, (int)(stat.Value * stat.DefenseRate));
                break;
            }
            break;
        }

        return(stat_info);
    }