public void AddModifier(ModifyingAttribute mod) { mods.Add(mod); }
public void AddModifier(ModifyingAttribute mod) { _mods.Add(mod); CalculateModValue(); }
private void SetupSkillModifier() { // Old way Melee Offence ModifyingAttribute melee_Offence_1 = new ModifyingAttribute(); ModifyingAttribute melee_Offence_2 = new ModifyingAttribute(); melee_Offence_1.attribute = GetPrimaryAttribute((int)AttributeName.Strength); melee_Offence_1.ratio = .33f; melee_Offence_2.attribute = GetPrimaryAttribute((int)AttributeName.Nimbleness); melee_Offence_2.ratio = .33f; GetSkill((int)SkillName.Melee_Offence).AddModifer(melee_Offence_1); GetSkill((int)SkillName.Melee_Offence).AddModifer(melee_Offence_2); // new way Melee Defence GetSkill((int)SkillName.Melee_Deffence).AddModifer(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f)); GetSkill((int)SkillName.Melee_Deffence).AddModifer(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Constitution), .33f)); // Magic Defence GetSkill((int)SkillName.Magic_Defence).AddModifer(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration), .33f)); GetSkill((int)SkillName.Magic_Defence).AddModifer(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), .33f)); // Magic Offence GetSkill((int)SkillName.Magic_Offence).AddModifer(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration), .33f)); GetSkill((int)SkillName.Magic_Offence).AddModifer(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Willpower), .33f)); //Range Offence GetSkill((int)SkillName.Ranged_Offence).AddModifer(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Concentration), .33f)); GetSkill((int)SkillName.Ranged_Offence).AddModifer(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f)); //Range Defence GetSkill((int)SkillName.Ranged_Deffence).AddModifer(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Speed), .33f)); GetSkill((int)SkillName.Ranged_Deffence).AddModifer(new ModifyingAttribute(GetPrimaryAttribute((int)AttributeName.Nimbleness), .33f)); }
private void SetupVitalModifier() { //heath ModifyingAttribute health = new ModifyingAttribute(); health.attribute = GetPrimaryAttribute((int)AttributeName.Constitution); health.ratio = .5f; GetVital((int)VitalName.Health).AddModifer(health); //energy ModifyingAttribute energyModifier = new ModifyingAttribute(); energyModifier.attribute = GetPrimaryAttribute((int)AttributeName.Constitution); energyModifier.ratio = 1f; GetVital((int)VitalName.Energy).AddModifer(energyModifier); //Mana ModifyingAttribute manaModifier = new ModifyingAttribute(); manaModifier.attribute = GetPrimaryAttribute((int)AttributeName.Willpower); manaModifier.ratio = 1f; GetVital((int)VitalName.Mana).AddModifer(manaModifier); }
private void SetupSkillModifiers() { ModifyingAttribute MeleeOffenceModifier1 = new ModifyingAttribute(); ModifyingAttribute MeleeOffenceModifier2 = new ModifyingAttribute(); MeleeOffenceModifier1.attribute = GetPrimaryAttribute((int)AttributeName.Strength); MeleeOffenceModifier1.ratio = 0.33f; MeleeOffenceModifier2.attribute = GetPrimaryAttribute((int)AttributeName.Dexterity); MeleeOffenceModifier2.ratio = 0.33f; GetSkill((int)SkillName.Melee_Offense).AddModifier(MeleeOffenceModifier1); GetSkill((int)SkillName.Melee_Offense).AddModifier(MeleeOffenceModifier2); }
/// <summary> /// Adds the modifier to the list /// registered to the StatChanged event of the attribute /// </summary> /// <param name="mod">Modifying Attribute.</param> public void AddModifier(ModifyingAttribute mod) { mods.Add(mod); mod.Attribute.StatChanged += Update; }
private void AddSkillModifier(SkillName skillName, AttributeName attributeName, float ratio) { ModifyingAttribute modifyingAttribute = new ModifyingAttribute(); modifyingAttribute.attribute = GetPrimaryAttribute(attributeName); modifyingAttribute.ratio = ratio; GetSkill(skillName).AddModifier(modifyingAttribute); }
private void SetupVitalModifiers() { // Health ModifyingAttribute health = new ModifyingAttribute(); health.attribute = GetPrimaryAttribute(AttributeName.Constitution); health.ratio = 0.5f; GetVital(VitalName.Health).AddModifier(health); // Enery ModifyingAttribute energy = new ModifyingAttribute(); energy.attribute = GetPrimaryAttribute(AttributeName.Constitution); energy.ratio = 1; GetVital(VitalName.Energy).AddModifier(energy); // Mana ModifyingAttribute mana = new ModifyingAttribute(); mana.attribute = GetPrimaryAttribute(AttributeName.Constitution); mana.ratio = 1; GetVital(VitalName.Mana).AddModifier(mana); }
public void AddModifier(ModifyingAttribute mod) { if(_mods.Any(m=>m.attribute.Name == mod.attribute.Name)) throw new InvalidOperationException("duplicate mod added:"+mod.attribute.Name); _mods.Add(mod); }
/// <summary> /// Adds an attribute which modifies this statistic. /// </summary> public void addModifier(ModifyingAttribute mod) { mods.Add(mod); }
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public void AddModifier(ModifyingAttribute mod) { mods.Add(mod); Update(); }
private void setupVitalModifiers() { // Health ModifyingAttribute Health1 = new ModifyingAttribute(); ModifyingAttribute Health2 = new ModifyingAttribute(); Health1.attribute = getPrimaryAttribute((int)AttributeName.Durability); Health1.ratio = .75f; Health2.attribute = getPrimaryAttribute((int)AttributeName.Endurance); Health2.ratio = .25f; //getVital((int)VitalName.Health).AddModifier(new ModifyingAttribute(getPrimaryAttribute((int)AttributeName.Durability),.75f)); getVital((int)VitalName.Health).AddModifier(Health1); getVital((int)VitalName.Health).AddModifier(Health2); // Energy -- Voltage? ModifyingAttribute Energy = new ModifyingAttribute(); Energy.attribute = getPrimaryAttribute((int)AttributeName.Capacity); Energy.ratio = 0.5f; getVital((int)VitalName.Energy).AddModifier(Energy); // Power -- Horse Power ModifyingAttribute Power = new ModifyingAttribute(); Power.attribute = getPrimaryAttribute((int)AttributeName.Strength); Power.ratio = 1.0f; getVital((int)VitalName.Power).AddModifier(Power); }
private void setupSkillModifiers() { #region Setup of the Skills Modifiers // stab ModifyingAttribute Stab1 = new ModifyingAttribute(); ModifyingAttribute Stab2 = new ModifyingAttribute(); ModifyingAttribute Stab3 = new ModifyingAttribute(); ModifyingAttribute Stab4 = new ModifyingAttribute(); Stab1.attribute = getPrimaryAttribute((int)AttributeName.Speed); Stab2.attribute = getPrimaryAttribute((int)AttributeName.Strength); Stab3.attribute = getPrimaryAttribute((int)AttributeName.Agility); Stab4.attribute = getPrimaryAttribute((int)AttributeName.Capacity); Stab1.ratio = 0.25f; Stab2.ratio = 0.25f; Stab3.ratio = 0.25f; Stab4.ratio = 0.25f; getSkill((int)SkillName.stab).AddModifier(Stab1); getSkill((int)SkillName.stab).AddModifier(Stab2); getSkill((int)SkillName.stab).AddModifier(Stab3); getSkill((int)SkillName.stab).AddModifier(Stab4); // slash ModifyingAttribute Slash1 = new ModifyingAttribute(); ModifyingAttribute Slash2 = new ModifyingAttribute(); ModifyingAttribute Slash3 = new ModifyingAttribute(); Slash1.attribute = getPrimaryAttribute((int)AttributeName.Strength); Slash2.attribute = getPrimaryAttribute((int)AttributeName.Capacity); Slash3.attribute = getPrimaryAttribute((int)AttributeName.Speed); Slash1.ratio = 0.5f; Slash2.ratio = 0.25f; Slash3.ratio = 0.25f; getSkill((int)SkillName.slash).AddModifier(Slash1); getSkill((int)SkillName.slash).AddModifier(Slash2); getSkill((int)SkillName.slash).AddModifier(Slash3); // parry ModifyingAttribute Parry1 = new ModifyingAttribute(); ModifyingAttribute Parry2 = new ModifyingAttribute(); Parry1.attribute = getPrimaryAttribute((int)AttributeName.Agility); Parry2.attribute = getPrimaryAttribute((int)AttributeName.Speed); Parry1.ratio = 0.75f; Parry2.ratio = 0.25f; getSkill((int)SkillName.parry).AddModifier(Parry1); getSkill((int)SkillName.parry).AddModifier(Parry1); // throwing ModifyingAttribute Throw1 = new ModifyingAttribute(); ModifyingAttribute Throw2 = new ModifyingAttribute(); Throw1.attribute = getPrimaryAttribute((int)AttributeName.Strength); Throw2.attribute = getPrimaryAttribute((int)AttributeName.Speed); Throw1.ratio = 0.75f; Throw2.ratio = 0.25f; getSkill((int)SkillName.throwing).AddModifier(Throw1); getSkill((int)SkillName.throwing).AddModifier(Throw2); // kick ModifyingAttribute Kick1 = new ModifyingAttribute(); ModifyingAttribute Kick2 = new ModifyingAttribute(); ModifyingAttribute Kick3 = new ModifyingAttribute(); Kick1.attribute = getPrimaryAttribute((int)AttributeName.Strength); Kick2.attribute = getPrimaryAttribute((int)AttributeName.Agility); Kick3.attribute = getPrimaryAttribute((int)AttributeName.Speed); Kick1.ratio = 0.5f; Kick2.ratio = 0.25f; Kick3.ratio = 0.25f; getSkill((int)SkillName.kick).AddModifier(Kick1); getSkill((int)SkillName.kick).AddModifier(Kick2); getSkill((int)SkillName.kick).AddModifier(Kick3); // jump_kick ModifyingAttribute JumpKick1 = new ModifyingAttribute(); ModifyingAttribute JumpKick2 = new ModifyingAttribute(); ModifyingAttribute JumpKick3 = new ModifyingAttribute(); ModifyingAttribute JumpKick4 = new ModifyingAttribute(); JumpKick1.attribute = getPrimaryAttribute((int)AttributeName.Speed); JumpKick2.attribute = getPrimaryAttribute((int)AttributeName.Strength); JumpKick3.attribute = getPrimaryAttribute((int)AttributeName.Agility); JumpKick4.attribute = getPrimaryAttribute((int)AttributeName.Capacity); JumpKick1.ratio = 0.3f; JumpKick2.ratio = 0.2f; JumpKick3.ratio = 0.3f; JumpKick4.ratio = 0.2f; getSkill((int)SkillName.jump_kick).AddModifier(JumpKick1); getSkill((int)SkillName.jump_kick).AddModifier(JumpKick2); getSkill((int)SkillName.jump_kick).AddModifier(JumpKick3); getSkill((int)SkillName.jump_kick).AddModifier(JumpKick4); // spin_slash ModifyingAttribute SpinSlash1 = new ModifyingAttribute(); ModifyingAttribute SpinSlash2 = new ModifyingAttribute(); ModifyingAttribute SpinSlash3 = new ModifyingAttribute(); ModifyingAttribute SpinSlash4 = new ModifyingAttribute(); SpinSlash1.attribute = getPrimaryAttribute((int)AttributeName.Speed); SpinSlash2.attribute = getPrimaryAttribute((int)AttributeName.Strength); SpinSlash3.attribute = getPrimaryAttribute((int)AttributeName.Agility); SpinSlash4.attribute = getPrimaryAttribute((int)AttributeName.Capacity); SpinSlash1.ratio = 0.2f; SpinSlash2.ratio = 0.2f; SpinSlash3.ratio = 0.4f; SpinSlash4.ratio = 0.2f; getSkill((int)SkillName.spin_slash).AddModifier(SpinSlash1); getSkill((int)SkillName.spin_slash).AddModifier(SpinSlash2); getSkill((int)SkillName.spin_slash).AddModifier(SpinSlash3); getSkill((int)SkillName.spin_slash).AddModifier(SpinSlash4); // whirlwind ModifyingAttribute WhirlWind1 = new ModifyingAttribute(); ModifyingAttribute WhirlWind2 = new ModifyingAttribute(); ModifyingAttribute WhirlWind3 = new ModifyingAttribute(); ModifyingAttribute WhirlWind4 = new ModifyingAttribute(); WhirlWind1.attribute = getPrimaryAttribute((int)AttributeName.Speed); WhirlWind2.attribute = getPrimaryAttribute((int)AttributeName.Strength); WhirlWind3.attribute = getPrimaryAttribute((int)AttributeName.Agility); WhirlWind4.attribute = getPrimaryAttribute((int)AttributeName.Capacity); WhirlWind1.ratio = 0.3f; WhirlWind2.ratio = 0.3f; WhirlWind3.ratio = 0.3f; WhirlWind4.ratio = 0.1f; getSkill((int)SkillName.whirlwind).AddModifier(WhirlWind1); getSkill((int)SkillName.whirlwind).AddModifier(WhirlWind2); getSkill((int)SkillName.whirlwind).AddModifier(WhirlWind3); getSkill((int)SkillName.whirlwind).AddModifier(WhirlWind4); // block ModifyingAttribute Block1 = new ModifyingAttribute(); ModifyingAttribute Block2 = new ModifyingAttribute(); Block1.attribute = getPrimaryAttribute((int)AttributeName.Durability); Block2.attribute = getPrimaryAttribute((int)AttributeName.Endurance); Block1.ratio = 0.75f; Block2.ratio = 0.25f; getSkill((int)SkillName.block).AddModifier(Block1); getSkill((int)SkillName.block).AddModifier(Block2); // block_attack ModifyingAttribute BlockAttack1 = new ModifyingAttribute(); ModifyingAttribute BlockAttack2 = new ModifyingAttribute(); ModifyingAttribute BlockAttack3 = new ModifyingAttribute(); ModifyingAttribute BlockAttack4 = new ModifyingAttribute(); BlockAttack1.attribute = getPrimaryAttribute((int)AttributeName.Speed); BlockAttack2.attribute = getPrimaryAttribute((int)AttributeName.Agility); BlockAttack3.attribute = getPrimaryAttribute((int)AttributeName.Durability); BlockAttack4.attribute = getPrimaryAttribute((int)AttributeName.Strength); BlockAttack1.ratio = 0.3f; BlockAttack2.ratio = 0.3f; BlockAttack3.ratio = 0.3f; BlockAttack4.ratio = 0.1f; getSkill((int)SkillName.block_attack).AddModifier(BlockAttack1); getSkill((int)SkillName.block_attack).AddModifier(BlockAttack2); getSkill((int)SkillName.block_attack).AddModifier(BlockAttack3); getSkill((int)SkillName.block_attack).AddModifier(BlockAttack4); // mega_shove ModifyingAttribute Shove1 = new ModifyingAttribute(); ModifyingAttribute Shove2 = new ModifyingAttribute(); Shove1.attribute = getPrimaryAttribute((int)AttributeName.Strength); Shove2.attribute = getPrimaryAttribute((int)AttributeName.Capacity); Shove1.ratio = 0.75f; Shove2.ratio = 0.25f; getSkill((int)SkillName.mega_shove).AddModifier(Shove1); getSkill((int)SkillName.mega_shove).AddModifier(Shove2); #endregion }