Difference between revisions of "Throwing"

From IvanWiki
Jump to navigation Jump to search
(Created page with "{{spoiler}} Throwing is the act of (t)hrowing any item in your inventory in any direction. It is generally best used to launch breakable containers such as bottles or [[Dwar...")
 
Line 21: Line 21:
 
A thrown object's range is determined by the force with which is it thrown, and the item's weight.
 
A thrown object's range is determined by the force with which is it thrown, and the item's weight.
 
<pre>int Range = Force * 25 / Max(long(sqrt(GetWeight())), 1L);</pre>
 
<pre>int Range = Force * 25 / Max(long(sqrt(GetWeight())), 1L);</pre>
 +
[[Category:Game Mechanics]]

Revision as of 08:52, 12 August 2014

Spoiler Warning: This page contains spoilers which may affect your IVAN experience negatively


Throwing is the act of (t)hrowing any item in your inventory in any direction. It is generally best used to launch breakable containers such as bottles or gas grenades at enemies or surfaces in order to unleash their contents. However, any item can be thrown to inflict damage on an opponent.

Damage done is dependent on the players throwing skill, the item's category and your skill in that category, the item's weapon strength, and the force with which it was thrown divided by the range it traveled.
Therefore, damage is largely dependent on the object used but can be further improved by reducing the range to your target and training your throwing and relevant item/weapon skill.

To-hit value is also dependent on your throwing skill and item category skill, but is also influenced by your dexterity, perception, burden value, and the object's weight.

  if(Thrower)
  {
    int Bonus = Thrower->IsHumanoid() ? Thrower->GetCWeaponSkill(GetWeaponCategory())->GetBonus() : 1000;
    BaseDamage = sqrt(5e-12 * GetWeaponStrength() * Force / Range) * Bonus;
    BaseToHitValue = 10 * Bonus * Thrower->GetMoveEase() / (500 + GetWeight()) * Thrower->GetAttribute(DEXTERITY) * sqrt(2.5e-8 * Thrower->GetAttribute(PERCEPTION)) / Range;
  }
  else
  {
    BaseDamage = sqrt(5e-6 * GetWeaponStrength() * Force / Range);
    BaseToHitValue = 10 * 100 / (500 + GetWeight()) / Range;
  }

A thrown object's range is determined by the force with which is it thrown, and the item's weight.

int Range = Force * 25 / Max(long(sqrt(GetWeight())), 1L);