Elin:Code Analysis/Combat: Difference between revisions

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]]
28

edits