Throwing
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);