A structure that will hold an Attribute and a ratio that will be added as a modifying attribute to our ModifiedStats
Beispiel #1
0
 public void AddModifier(ModifyingAttribute mod)
 {
     mods.Add(mod);
 }
Beispiel #2
0
 public void AddModifier(ModifyingAttribute mod)
 {
     _mods.Add(mod);
     CalculateModValue();
 }
Beispiel #3
0
 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));
 }
Beispiel #4
0
 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;
 }
Beispiel #7
0
 private void AddSkillModifier(SkillName skillName, AttributeName attributeName,
     float ratio)
 {
     ModifyingAttribute modifyingAttribute = new ModifyingAttribute();
     modifyingAttribute.attribute = GetPrimaryAttribute(attributeName);
     modifyingAttribute.ratio = ratio;
     GetSkill(skillName).AddModifier(modifyingAttribute);
 }
Beispiel #8
0
    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);
    }
Beispiel #9
0
 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);
 }
Beispiel #10
0
 /// <summary>
 /// Adds an attribute which modifies this statistic.
 /// </summary>
 public void addModifier(ModifyingAttribute mod)
 {
     mods.Add(mod);
 }
Beispiel #11
0
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    public void AddModifier(ModifyingAttribute mod)
    {
        mods.Add(mod);

        Update();
    }
Beispiel #12
0
    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);
    }
Beispiel #13
0
    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
    }