Elin:Code Analysis/Combat: Difference between revisions
Sakumashiki (talk | contribs) 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. | this.attackType = this.weapon.source.attackType.ToEnum(true); | ||
} | } | ||
} | |||
} | |||
</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