Esempio n. 1
0
        private Double _baseWill; //max energy, elemental armor, skill power

        #endregion Fields

        #region Constructors

        protected PartyMemberStats(String partyMemberId,
            Double baseVitality, Double vitalityPerLevel,
            Double baseFocus, Double focusPerLevel,
            Double baseStrength, Double strengthPerLevel,
            Double baseWill, Double willPerLevel,
            Double baseDexterity, Double dexterityPerLevel,
            Double baseKnowledge, Double knowledgePerLevel,
            Double baseSpeed, Double speedPerLevel,
            Double baseLuck, Double luckPerLevel,
            BattleEntityStatCalculationData maxHealthCalculation,
            BattleEntityStatCalculationData maxEnergyCalculation,
            BattleEntityStatCalculationData attackPowerCalculation,
            BattleEntityStatCalculationData skillPowerCalculation,
            BattleEntityStatCalculationData attackCritCalculation,
            BattleEntityStatCalculationData skillCritCalculation,
            BattleEntityStatCalculationData evadeCalculation,
            BattleEntityStatCalculationData physicalArmorCalculation,
            BattleEntityStatCalculationData fireArmorCalculation,
            BattleEntityStatCalculationData iceArmorCalculation,
            BattleEntityStatCalculationData lightningArmorCalculation,
            BattleEntityStatCalculationData airArmorCalculation,
            BattleEntityStatCalculationData poisonArmorCalculation,
            BattleEntityStatCalculationData earthArmorCalculation)
            : base(partyMemberId)
        {
            Id = partyMemberId;
            BaseVitality = baseVitality;
            VitalityPerLevel = vitalityPerLevel;
            BaseFocus = baseFocus;
            FocusPerLevel = focusPerLevel;
            BaseStrength = baseStrength;
            StrengthPerLevel = strengthPerLevel;
            BaseWill = baseWill;
            WillPerLevel = willPerLevel;
            BaseDexterity = baseDexterity;
            DexterityPerLevel = dexterityPerLevel;
            BaseKnowledge = baseKnowledge;
            KnowledgePerLevel = knowledgePerLevel;
            BaseSpeed = baseSpeed;
            SpeedPerLevel = speedPerLevel;
            BaseLuck = baseLuck;
            LuckPerLevel = luckPerLevel;

            MaxHealthCalculation = maxHealthCalculation;
            MaxEnergyCalculation = maxEnergyCalculation;
            AttackPowerCalculation = attackPowerCalculation;
            SkillPowerCalculation = skillPowerCalculation;
            AttackCritCalculation = attackCritCalculation;
            SkillCritCalculation = skillCritCalculation;
            EvadeCalculation = evadeCalculation;
            PhysicalArmorCalculation = physicalArmorCalculation;
            FireArmorCalculation = fireArmorCalculation;
            IceArmorCalculation = iceArmorCalculation;
            LightningArmorCalculation = lightningArmorCalculation;
            AirArmorCalculation = airArmorCalculation;
            PoisonArmorCalculation = poisonArmorCalculation;
            EarthArmorCalculation = earthArmorCalculation;
        }
 private static MultiBinding GetStatBinding(BattleEntity source, BattleEntityStatCalculationData calculationData)
 {
     var statBinding = new MultiBinding { Converter = new BattleEntityStatCalculationConverter() };
     statBinding.Bindings.Add(new Binding { Source = calculationData.CalculationFunction });
     foreach (var bindingPath in calculationData.BindingPaths)
     {
         statBinding.Bindings.Add(new Binding(bindingPath) { Source = source });
     }
     return statBinding;
 }
 public static void SetEnemyStatBinding(Enemy source, DependencyProperty targetProperty, BattleEntityStatCalculationData calculationData)
 {
     var statBinding = GetStatBinding(source, calculationData);
     BindingOperations.SetBinding(source.Stats, targetProperty, statBinding); 
 }
Esempio n. 4
0
 public static PartyMemberStats New(String partyMemberId,
     Double baseVitality, Double vitalityPerLevel,
     Double baseFocus, Double focusPerLevel,
     Double baseStrength, Double strengthPerLevel,
     Double baseWill, Double willPerLevel,
     Double baseDexterity, Double dexterityPerLevel,
     Double baseKnowledge, Double knowledgePerLevel,
     Double baseSpeed, Double speedPerLevel,
     Double baseLuck, Double luckPerLevel,
     BattleEntityStatCalculationData maxHealthCalculation,
     BattleEntityStatCalculationData maxEnergyCalculation,
     BattleEntityStatCalculationData attackPowerCalculation,
     BattleEntityStatCalculationData skillPowerCalculation,
     BattleEntityStatCalculationData attackCritCalculation,
     BattleEntityStatCalculationData skillCritCalculation,
     BattleEntityStatCalculationData evadeCalculation,
     BattleEntityStatCalculationData physicalArmorCalculation,
     BattleEntityStatCalculationData fireArmorCalculation,
     BattleEntityStatCalculationData iceArmorCalculation,
     BattleEntityStatCalculationData lightningArmorCalculation,
     BattleEntityStatCalculationData airArmorCalculation,
     BattleEntityStatCalculationData poisonArmorCalculation,
     BattleEntityStatCalculationData earthArmorCalculation)
 {
     return new PartyMemberStats(partyMemberId,
         baseVitality, vitalityPerLevel,
         baseFocus, focusPerLevel,
         baseStrength, strengthPerLevel,
         baseWill, willPerLevel,
         baseDexterity, dexterityPerLevel,
         baseKnowledge, knowledgePerLevel,
         baseSpeed, speedPerLevel,
         baseLuck, luckPerLevel,
         maxHealthCalculation, maxEnergyCalculation,
         attackPowerCalculation, skillPowerCalculation,
         attackCritCalculation, skillCritCalculation,
         evadeCalculation, physicalArmorCalculation,
         fireArmorCalculation, iceArmorCalculation,
         lightningArmorCalculation, airArmorCalculation,
         poisonArmorCalculation, earthArmorCalculation);
 }