public static void ApplyElementDamages(BaseWeapon weapon, int cold, int nrgy, int fire, int pois, int chaos, int direct)
        {
            int weapPhys, weapCold, weapNrgy, weapFire, weapPois, weapChaos, weapDirect;

            weapon.GetDamageTypes(null, out weapPhys, out weapFire, out weapCold, out weapPois, out weapNrgy, out weapChaos, out weapDirect);

            weapPhys = weapon.ApplyAttributeElementDamage(cold, ref weapCold, weapPhys);
            weapPhys = weapon.ApplyAttributeElementDamage(nrgy, ref weapNrgy, weapPhys);
            weapPhys = weapon.ApplyAttributeElementDamage(fire, ref weapFire, weapPhys);
            weapPhys = weapon.ApplyAttributeElementDamage(pois, ref weapPois, weapPhys);
            weapPhys = weapon.ApplyAttributeElementDamage(chaos, ref weapChaos, weapPhys);
            weapPhys = weapon.ApplyAttributeElementDamage(direct, ref weapDirect, weapPhys);

            weapon.AosElementDamages.Physical = weapPhys;
            weapon.AosElementDamages.Cold     = weapCold;
            weapon.AosElementDamages.Energy   = weapNrgy;
            weapon.AosElementDamages.Fire     = weapFire;
            weapon.AosElementDamages.Poison   = weapPois;
            weapon.AosElementDamages.Chaos    = weapChaos;
            weapon.AosElementDamages.Direct   = weapDirect;
        }