Example #1
0
        public static AbilityStats Create(AAbilityType type, int level, int quantity, StaticsDB statics)
        {
            var factory = new AbilityStatsFactory(level, statics);

            type.Accept(factory);

            return(new AbilityStats(type, level, quantity, factory.range, factory.isInstantDamage, factory.targetColony, factory.targetShips, factory.targetStar,
                                    factory.firePower, factory.accuracy, factory.energyCost, factory.ammo,
                                    factory.accuracyRangePenalty, factory.armorEfficiency, factory.shieldEfficiency, factory.planetEfficiency,
                                    factory.appliesTrait));
        }
Example #2
0
        public static AbilityStats Create(AAbilityType type, AComponentType provider, int level, int quantity, StaticsDB statics)
        {
            var factory = new AbilityStatsFactory(level, statics);

            type.Accept(factory);

            return(new AbilityStats(type, provider, level, quantity, factory.range, factory.isInstantDamage, factory.isProjectile,
                                    factory.targetColony, factory.targetShips, factory.targetStar,
                                    factory.firePower, factory.accuracy, factory.energyCost, factory.ammo,
                                    factory.accuracyRangePenalty, factory.armorEfficiency, factory.shieldEfficiency, factory.planetEfficiency,
                                    factory.appliesTrait, factory.projectileImage, factory.speed, factory.splashMaxTargets,
                                    factory.splashFirePower, factory.splashShieldEfficiency, factory.splashArmorEfficiency));
        }