Elin:Code Analysis/Combat: Difference between revisions

From Ylvapedia
Jump to navigation Jump to search
m (Created a new category, Elin Spoiler.)
Line 25: Line 25:
==Martial Arts==
==Martial Arts==
<syntaxhighlight lang="c#" line="1">
<syntaxhighlight lang="c#" line="1">
else if (this.IsMartial)
else if (this.IsMartial || this.IsMartialWeapon)
{
    this.weaponSkill = this.CC.elements.GetOrCreateElement(100);
    this.attackType = (this.CC.race.meleeStyle.IsEmpty() ? ((EClass.rnd(2) == 0) ? AttackType.Kick : AttackType.Punch) : this.CC.race.meleeStyle.ToEnum(true));
    this.dBonus = this.CC.DMG + this.CC.encLV + (int)Mathf.Sqrt((float)(this.CC.STR / 5 + this.weaponSkill.Value / 4));
    this.dNum = 2 + Mathf.Min(this.weaponSkill.Value / 10, 4);
    this.dDim = 5 + (int)Mathf.Sqrt((float)(this.weaponSkill.Value / 3));
    this.dMulti = 0.6f + (float)(this.CC.STR / 2 + this.weaponSkill.Value / 2 + this.CC.Evalue(132) / 2) / 50f;
    this.dMulti += 0.05f * (float)this.CC.Evalue(1400);
    this.toHitBase = EClass.curve(this.CC.DEX / 3 + this.CC.STR / 3 + this.weaponSkill.Value, 50, 25, 75) + 50;
    this.toHitFix = this.CC.HIT;
    if (this.attackStyle == AttackStyle.Shield)
    {
        this.toHitBase = this.toHitBase * 75 / 100;
    }
    this.penetration = Mathf.Clamp(this.weaponSkill.Value / 10 + 5, 5, 20) + this.CC.Evalue(92);
    if (this.IsMartialWeapon)
    {
        this.dBonus += this.weapon.DMG;
        this.dNum += this.weapon.source.offense[0];
        this.dDim = Mathf.Max(this.dDim / 2 + this.weapon.c_diceDim, 1);
        this.toHitFix += this.weapon.HIT;
        this.penetration += this.weapon.Penetration;
        if (!this.weapon.source.attackType.IsEmpty())
         {
         {
             this.weaponSkill = this.CC.elements.GetOrCreateElement(100);
             this.attackType = this.weapon.source.attackType.ToEnum(true);
            this.attackType = (this.CC.race.meleeStyle.IsEmpty() ? ((EClass.rnd(2) == 0) ? AttackType.Kick : AttackType.Punch) : this.CC.race.meleeStyle.ToEnum(true));
            this.dBonus = this.CC.DMG + this.CC.encLV + (int)Mathf.Sqrt((float)(this.CC.STR / 5 + this.weaponSkill.Value / 4));
            this.dNum = 2 + Mathf.Min(this.weaponSkill.Value / 10, 4);
            this.dDim = 5 + (int)Mathf.Sqrt((float)(this.weaponSkill.Value / 3));
            this.dMulti = 0.6f + (float)(this.CC.STR / 2 + this.weaponSkill.Value / 2 + this.CC.Evalue(132) / 2) / 50f;
            this.dMulti += 0.05f * (float)this.CC.Evalue(1400);
            this.toHitBase = EClass.curve(this.CC.DEX / 3 + this.CC.STR / 3 + this.weaponSkill.Value, 50, 25, 75) + 50;
            this.toHitFix = this.CC.HIT;
            if (this.attackStyle == AttackStyle.Shield)
            {
                this.toHitBase = this.toHitBase * 75 / 100;
            }
            this.penetration = Mathf.Clamp(this.weaponSkill.Value / 10 + 5, 5, 20) + this.CC.Evalue(92);
         }
         }
    }
}
</syntaxhighlight>The player kicks or punches using the Martial Arts skill. The player will kick or punch based on melee style or character specifications.
</syntaxhighlight>The player kicks or punches using the Martial Arts skill. The player will kick or punch based on melee style or character specifications.


Line 57: Line 69:


Penetration is calculated at '''(Martial Arts/10)+5''', with a minimum of '''5%''' and a maximum of '''20%+Evalue(92).'''
Penetration is calculated at '''(Martial Arts/10)+5''', with a minimum of '''5%''' and a maximum of '''20%+Evalue(92).'''
If weilding Martial Art Weapon:
Damage Bonus is your empty hand Damage Bonus + '''weapon's''' '''Damage Bonus'''
Dice Number is your empty hand Dice Number + '''weapon's''' '''Dice Number'''
Dice Face is your empty hand Dice Face / 2 + '''weapon's Dice Face'''
Dice Number is your empty hand Dice Number + '''weapon's''' '''Dice Number'''
To Hit Bonus is your empty hand To Hit Bonus + '''weapon's''' '''To Hit Bonus'''
Penetration is your empty hand Penetration  + '''weapon's''' '''Penetration'''


==Throwing==
==Throwing==
[[Category:EN]]
[[Category:EN]]
[[Category:Elin Spoiler]]
[[Category:Elin Spoiler]]

Revision as of 02:36, 17 November 2024

Evalue List

Value# Element Notes
(92) Penetration
(132) Tactics
(1400) Feat: Weapon Mastery 1, 2

Martial Arts

else if (this.IsMartial || this.IsMartialWeapon)
{
    this.weaponSkill = this.CC.elements.GetOrCreateElement(100);
    this.attackType = (this.CC.race.meleeStyle.IsEmpty() ? ((EClass.rnd(2) == 0) ? AttackType.Kick : AttackType.Punch) : this.CC.race.meleeStyle.ToEnum(true));
    this.dBonus = this.CC.DMG + this.CC.encLV + (int)Mathf.Sqrt((float)(this.CC.STR / 5 + this.weaponSkill.Value / 4));
    this.dNum = 2 + Mathf.Min(this.weaponSkill.Value / 10, 4);
    this.dDim = 5 + (int)Mathf.Sqrt((float)(this.weaponSkill.Value / 3));
    this.dMulti = 0.6f + (float)(this.CC.STR / 2 + this.weaponSkill.Value / 2 + this.CC.Evalue(132) / 2) / 50f;
    this.dMulti += 0.05f * (float)this.CC.Evalue(1400);
    this.toHitBase = EClass.curve(this.CC.DEX / 3 + this.CC.STR / 3 + this.weaponSkill.Value, 50, 25, 75) + 50;
    this.toHitFix = this.CC.HIT;
    if (this.attackStyle == AttackStyle.Shield)
    {
        this.toHitBase = this.toHitBase * 75 / 100;
    }
    this.penetration = Mathf.Clamp(this.weaponSkill.Value / 10 + 5, 5, 20) + this.CC.Evalue(92);
    if (this.IsMartialWeapon)
    {
        this.dBonus += this.weapon.DMG;
        this.dNum += this.weapon.source.offense[0];
        this.dDim = Mathf.Max(this.dDim / 2 + this.weapon.c_diceDim, 1);
        this.toHitFix += this.weapon.HIT;
        this.penetration += this.weapon.Penetration;
        if (!this.weapon.source.attackType.IsEmpty())
        {
            this.attackType = this.weapon.source.attackType.ToEnum(true);
        }
    }
}

The player kicks or punches using the Martial Arts skill. The player will kick or punch based on melee style or character specifications.

Damage is determined by Martial Arts, Strength, Dexterity, Enchantment Value

Damage dice is 2+(Martial Arts / 10), to a maximum of d6.

The damage value of the dice is 5+√(Martial Arts / 3).

Damage multiplier is 0.6 + ((Strength / 2 + Martial Arts / 2 + Evalue(132) / 2) / 50.0).

If the player has the Weapon Mastery feat, additional damage is provided at a rate of 0.05x(Weapon Mastery Rank). (Effectively, +0.05 or +0.10)

Accuracy is ((Strength /3 + Dexterity /3 + Martial Arts)+50)), with a minimum value of 25+50 and a maximum of 75+50. If the player is wielding a Shield, there is a -25% downward adjustment.

Penetration is calculated at (Martial Arts/10)+5, with a minimum of 5% and a maximum of 20%+Evalue(92).

If weilding Martial Art Weapon:

Damage Bonus is your empty hand Damage Bonus + weapon's Damage Bonus

Dice Number is your empty hand Dice Number + weapon's Dice Number

Dice Face is your empty hand Dice Face / 2 + weapon's Dice Face

Dice Number is your empty hand Dice Number + weapon's Dice Number

To Hit Bonus is your empty hand To Hit Bonus + weapon's To Hit Bonus

Penetration is your empty hand Penetration + weapon's Penetration

Throwing