Just adding something I found. P.S. I don't know if it even fits P99 code
Code:
// Logic that causes Bowquest
if (Hand == 13) { // 13 is the internal constant for the Primary Hand
int damage_bonus = GetWeaponDamageBonus(primary_weapon);
min_hit += damage_bonus;
max_hit += damage_bonus;
}
Code:
// The Fix: Specifically checking for Archery
if (skill == ARCHERY) {
// Instead of looking at Hand 13 (Primary), we look at Slot 22 (Range)
ItemInst* archery_weapon = GetInv().GetItem(slotRange);
if (archery_weapon) {
// Apply the specific Archery Damage Bonus formula
// derived from the bow's delay, NOT the primary weapon's delay.
int bow_bonus = CalculateArcheryBonus(archery_weapon->GetItem()->Delay);
min_hit += bow_bonus;
max_hit += bow_bonus;
}
} else if (Hand == 13) {
// Standard Melee logic for Primary hand...
int damage_bonus = GetWeaponDamageBonus(primary_weapon);
// ...
}
please ignore this all if way off.
Edit this would be for the attack.cpp file