Jump to content

Elin:Code Analysis/Combat: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 20: Line 20:
|(132)
|(132)
|Tactics
|Tactics
|
|-
|(133)
|Marksman
|
|-
|(305)
|Magic Device
|
|-
|(482)
|Force Weapon
|
|
|-
|-
|(1400)
|(1400)
|Feat: Weapon Mastery
|Feat: Weapon Mastery
|1, 2
|-
|(1404)
|Feat: Ranged Mastery
|1, 2
|1, 2
|}
|}
Line 126: Line 142:


Penetration is always '''25'''
Penetration is always '''25'''
==Ranged==
<syntaxhighlight lang="c#" line="1">
else
{
    if (this.IsRanged)
    {
        this.weaponSkill = this.CC.elements.GetOrCreateElement(this.toolRange.WeaponSkill);
    }
    else
    {
        this.weaponSkill = this.CC.elements.GetOrCreateElement(this.weapon.category.skill);
    }
    if (!this.weapon.source.attackType.IsEmpty())
    {
        this.attackType = this.weapon.source.attackType.ToEnum(true);
    }
    bool flag2 = this.IsCane || this.weapon.Evalue(482) > 0;
    if (flag2)
    {
        this.weaponSkill = this.CC.elements.GetOrCreateElement(305);
    }
    this.dBonus = this.CC.DMG + this.CC.encLV + this.weapon.DMG;
    this.dNum = this.weapon.source.offense[0];
    this.dDim = this.weapon.c_diceDim;
    this.dMulti = 0.6f + (float)(this.weaponSkill.GetParent(this.CC).Value + this.weaponSkill.Value / 2 + this.CC.Evalue(flag2 ? 304 : (this.IsRanged ? 133 : 132))) / 50f;
    this.dMulti += 0.05f * (float)this.CC.Evalue(this.IsRanged ? 1404 : 1400);
    this.toHitBase = EClass.curve((this.IsCane ? this.CC.WIL : this.CC.DEX) / 4 + this.weaponSkill.GetParent(this.CC).Value / 3 + this.weaponSkill.Value, 50, 25, 75) + 50;
    this.toHitFix = this.CC.HIT + this.weapon.HIT;
    this.penetration = this.weapon.Penetration + this.CC.Evalue(92);
    if (this.IsCane)
    {
        this.toHitBase += 50;
    }
}
if (this.ammo != null)
{
    this.dNumAmmo = ((this.ammo.source.offense.Length != 0) ? this.ammo.source.offense[0] : 0);
    this.dDimAmmo = this.ammo.c_diceDim;
    this.dBonusAmmo = this.ammo.DMG;
    if (this.dNumAmmo < 1)
    {
        this.dNumAmmo = 1;
    }
    if (this.dDimAmmo < 1)
    {
        this.dDimAmmo = 1;
    }
    this.dBonus += this.ammo.DMG;
    this.toHitFix += this.ammo.HIT;
}
else
{
    this.dNumAmmo = 0;
    this.dDimAmmo = 0;
}
</syntaxhighlight>The player shoot thier weapon using the Marksman skill. The weapons are Bows, Crossbows, Guns or Canes.
If the weapon is '''Cane''' or it has '''Force Weapon''' enchantment it uses '''Magic Device''' skill instead of Marksman skill
Damage Bonus is '''Player Character Damage Bonus''' + '''Weapon Mod Tool Damage Bonus''' + '''Weapon Damage Bonus'''
Damage Multiplier is 0.6 + ('''Weapon''' '''Main Stat''' + '''Weapon''' '''Skill / 2''' + ('''Marksman''' if not '''Cane''' or '''Force Weapon,''' otherwise '''Magic Device''')) / 50
If the player has the Ranged Mastery feat, additional damage is provided at a rate of  '''0.05x(Ranged Mastery Rank).''' <sub>''(Effectively, +0.05 or +0.10)''</sub>
Accuracy is ('''Dexterty''' if not '''Cane''' or '''Force Weapon,''' otherwise '''Will''') / 4 + '''Weapon Skill''' / 3 + ('''Marksman''' if not '''Cane''' or '''Force Weapon,''' otherwise '''Magic Device''') with a minimum value of '''25+50''' and a maximum of '''75+50'''
If it's '''Cane''' accuracy addtional + 50
To Hit Bonus is '''Character To Hit Bonus''' + '''Weapon To Hit Bonus''' + '''Ammo To Hit Bonus''' (if load with ammo)
Damage Bonus is '''Character Damage Bonus''' + '''Weapon Damage Bonus''' + '''Ammo Damage Bonus''' (if load with ammo)
Penetration is '''Character Penetration''' + '''Weapon Penetration'''
[[Category:EN]]
[[Category:EN]]
[[Category:Elin Spoiler]]
[[Category:Elin Spoiler]]
28

edits