This project has moved. For the latest updates, please go here.

This is the code for the back end of the requirement. This may help you understand how the item is tested against the requirement.

 

        public override bool Match(GameItemInfo id)
        {
            double val = id.GetValueDouble(vk, 0);

            // Add buffs to the maxdamage, this is broken if the weapon is equipped/activated/buffed
            System.Collections.ObjectModel.ReadOnlyCollection<uTank2.MySpell> Spells = id.Spells;
            foreach (uTank2.MySpell sp in Spells)
            {
                switch (vk)
                {
                    case DoubleValueKey.AttackBonus:
                        if (sp.Id == 2603) val += .03; // Minor Heart Thirst
                        if (sp.Id == 2591) val += .05; // Major Heart Thirst
                        if (sp.Id == 4666) val += .07; // Epic Heart Thirst
                        break;

                    case DoubleValueKey.ElementalDamageVersusMonsters:
                        if (sp.Id == 4414) val += .01; // Incantation of Spirit Drinker, this spell on the item adds 1 more % of damage over a user casted 8
                        if (sp.Id == 3251) val += .01; // Minor Spirit Thirst
                        if (sp.Id == 3250) val += .03; // Major Spirit Thirst
                        if (sp.Id == 4670) val += .04; // Epic Spirit Thirst
                        break;

                    case DoubleValueKey.ManaCBonus:
                        if (sp.Id == 3201) val *= 1.05; // Feeble Hermetic Link
                        if (sp.Id == 3199) val *= 1.10; // Minor Hermetic Link
                        if (sp.Id == 3302) val *= 1.15; // Moderate Hermetic Link
                        if (sp.Id == 3200) val *= 1.20; // Major Hermetic Link
                        break;

                    case DoubleValueKey.MeleeDefenseBonus:
                        if (sp.Id == 2600) val += .03; // Minor Defender
                        if (sp.Id == 2588) val += .05; // Major Defender
                        if (sp.Id == 4633) val += .07; // Epic Defender
                        break;
                }
            }

            return (float)val >= (float)keyval;
        }

Last edited Dec 6, 2011 at 2:25 AM by Mag_nus, version 8