public static FormulaVersion CreateFormulaVersion(string dataAreaId,
                                                          string manufacturedItemNumber,
                                                          string formulaId,
                                                          string productionSiteId,
                                                          string productConfigurationId,
                                                          string productColorId,
                                                          string productSizeId,
                                                          string productStyleId,
                                                          global::System.DateTimeOffset validFromDate,
                                                          decimal fromQuantity,
                                                          decimal formulaBatchSizeMultiples,
                                                          decimal catchWeightSize,
                                                          decimal fromCatchWeightQuantity,
                                                          global::System.DateTimeOffset changedDate,
                                                          decimal yieldPercentage,
                                                          global::System.DateTimeOffset validToDate,
                                                          decimal formulaBatchSize)
        {
            FormulaVersion formulaVersion = new FormulaVersion();

            formulaVersion.dataAreaId             = dataAreaId;
            formulaVersion.ManufacturedItemNumber = manufacturedItemNumber;
            formulaVersion.FormulaId                 = formulaId;
            formulaVersion.ProductionSiteId          = productionSiteId;
            formulaVersion.ProductConfigurationId    = productConfigurationId;
            formulaVersion.ProductColorId            = productColorId;
            formulaVersion.ProductSizeId             = productSizeId;
            formulaVersion.ProductStyleId            = productStyleId;
            formulaVersion.ValidFromDate             = validFromDate;
            formulaVersion.FromQuantity              = fromQuantity;
            formulaVersion.FormulaBatchSizeMultiples = formulaBatchSizeMultiples;
            formulaVersion.CatchWeightSize           = catchWeightSize;
            formulaVersion.FromCatchWeightQuantity   = fromCatchWeightQuantity;
            formulaVersion.ChangedDate               = changedDate;
            formulaVersion.YieldPercentage           = yieldPercentage;
            formulaVersion.ValidToDate               = validToDate;
            formulaVersion.FormulaBatchSize          = formulaBatchSize;
            return(formulaVersion);
        }
示例#2
0
        public static double CalcAttack(int str, int dex, int inte, int luk, int pad, int mad,
                                        GearType WeaponType, FormulaVersion version)
        {
            switch (WeaponType)
            {
            case GearType.ohSword:
            case GearType.ohAxe:
            case GearType.ohBlunt:
                return((str * 4 + dex) * 1.2 * pad * 0.01);

            case GearType.dagger:
                return((str + dex + luk * 4) * 1.3 * pad * 0.01);

            case GearType.cane:
                return((dex + luk * 4) * 1.3 * pad * 0.01);

            case GearType.wand:
            case GearType.staff:
                return((inte * 4 + luk) * 1.0 * mad * 0.01);

            case GearType.barehand:
                return((str * 4 + dex) * 1.43 * 1 * 0.01);

            case GearType.thSword:
            case GearType.thAxe:
            case GearType.thBlunt:
                if (version == FormulaVersion.Bigbang)
                {
                    return((str * 4 + dex) * 1.32 * pad * 0.01);
                }
                else if (version == FormulaVersion.Chaos)
                {
                    return((str * 4 + dex) * 1.34 * pad * 0.01);
                }
                break;

            case GearType.spear:
            case GearType.polearm:
                return((str * 4 + dex) * 1.49 * pad * 0.01);

            case GearType.bow:
                if (version == FormulaVersion.Bigbang)
                {
                    return((dex * 4 + str) * 1.2 * pad * 0.01);
                }
                else if (version == FormulaVersion.Chaos)
                {
                    return((dex * 4 + str) * 1.3 * pad * 0.01);
                }
                break;

            case GearType.crossbow:
                return((dex * 4 + str) * 1.35 * pad * 0.01);

            case GearType.throwingGlove:
                return((dex + luk * 4) * 1.75 * pad * 0.01);

            case GearType.knuckle:
                return((str * 4 + dex) * 1.7 * pad * 0.01);

            case GearType.gun:
                return((dex * 4 + str) * 1.5 * pad * 0.01);

            case GearType.dualBow:
                return((dex * 4 + str) * 1.3 * pad * 0.01);

            case GearType.handCannon:
                return((str * 4 + dex) * 1.5 * pad * 0.01);
            }
            return(0);
        }