Difference between revisions of "Throwing"

From IvanWiki
Jump to navigation Jump to search
m
m
Line 4: Line 4:
 
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 [[Dwarven Gas Grenade|gas grenades]] at enemies or surfaces in order to unleash their contents. However, any item can be thrown to inflict damage on an opponent.
 
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 [[Dwarven Gas Grenade|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.<br>
+
'''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.<br>
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.
+
Therefore, damage is largely dependent on the '''object used.''' <br>
 +
It can be '''improved''' with a higher '''throwing skill''' and '''weapon skill''', and reducing your '''distance to target'''.
  
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.
+
'''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.<br>
 +
It '''improves''' with a higher '''DEX''', '''PER''', '''throwing skill''' and '''weapon skill''', and a lower '''[[burden]]''' value.<br>
 +
It '''decreases''' with a higher '''item weight''' and '''distance to target'''.<br>
 
<pre>  if(Thrower)
 
<pre>  if(Thrower)
 
   {
 
   {

Revision as of 00:33, 13 August 2014

Coding: This article contains code which is for experienced users only, and may reveal game secrets

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.
It can be improved with a higher throwing skill and weapon skill, and reducing your distance to target.

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.
It improves with a higher DEX, PER, throwing skill and weapon skill, and a lower burden value.
It decreases with a higher item weight and distance to target.

  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 it is thrown, and the item's weight.

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