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