private decimal GetGuildElementBonus(Armor armor, Guild guild)
        {
            decimal elementBonus = 1;
            if (armor.Element1 != Element.All)
            {
                if (armor.HasElement(Element.Air)) elementBonus += (guild.AirBonus / 100m);
                if (armor.HasElement(Element.Earth)) elementBonus += (guild.EarthBonus / 100m);
                if (armor.HasElement(Element.Fire)) elementBonus += (guild.FireBonus / 100m);
                if (armor.HasElement(Element.Spirit)) elementBonus += (guild.SpiritBonus / 100m);
                if (armor.HasElement(Element.Water)) elementBonus += (guild.WaterBonus / 100m);
            }

            return elementBonus;
        }
Esempio n. 2
0
        public bool IsPossibleFusionResultByElement(Armor armor1, Armor armor2)
        {
            if (Element2 == null) return (SameElementAs(armor1) || SameElementAs(armor2));

            return ((armor1.HasElement(Element1) && !armor1.HasElement(Element2.Value) && !armor2.HasElement(Element1) && armor2.HasElement(Element2.Value)) ||
                    (!armor1.HasElement(Element1) && armor1.HasElement(Element2.Value) && armor2.HasElement(Element1) && !armor2.HasElement(Element2.Value)));
        }