Code:
public int maxRangeHit()
{
double d = 0.0D;
double d1 = playerLevel[playerRanged];
d += 1.99D + d1 * 0.00125D;
d += d1 * 0.11D;
client AttackingOn2 = (client) server.playerHandler.players[AttackingOn];
if (AttackingOn2 != null) {
if(hasCrystalBow())
{
d *= 1.5D;
} else
if(!hasCrystalBow() && (playerEquipment[playerArrows] == 882 || playerEquipment[playerArrows] == 883))
{
d *= 1.042D;
} else
if(!hasCrystalBow() && (playerEquipment[playerArrows] == 884 || playerEquipment[playerArrows] == 885))
{
d *= 1.044D;
} else
if(!hasCrystalBow() && (playerEquipment[playerArrows] == 886 || playerEquipment[playerArrows] == 887))
{
d *= 1.1339999999999999D;
} else
if(!hasCrystalBow() && (playerEquipment[playerArrows] == 888 || playerEquipment[playerArrows] == 889))
{
d *= 1.2D;
} else
if(!hasCrystalBow() && (playerEquipment[playerArrows] == 890 || playerEquipment[playerArrows] == 891))
{
d *= 1.3500000000000001D;
} else
if(!hasCrystalBow() && (playerEquipment[playerArrows] == 892 || playerEquipment[playerArrows] == 893))
{
d *= 1.6000000000000001D;
} else
if(!hasCrystalBow() && (playerEquipment[playerArrows] == 4740))
{
d *= 1.25D;
} else
if(!hasCrystalBow() && (playerEquipment[playerWeapon] == 837))
{
d *= 1.95D;
} else
if(playerEquipment[playerWeapon] == 4827)
{
d *= 2.30D;
} else
if(playerEquipment[playerWeapon] == 6522)
{
d *= 1.55D;
} else
if(RangePray == 5)
{
d += d1 * 0.021999999999999999D;
}
if(specOn)
{
if(playerEquipment[playerWeapon] == 861)
{
d *= 1.15D;
} else
if(playerEquipment[playerWeapon] == 859)
{
d /= 0.94999999999999996D;
} else
if(playerEquipment[playerWeapon] == 4827)
{
d *= 1.75D;
}
}
if(FullVRange())
{
d += d * 0.20000000000000001D;
}
int hit = (int)Math.floor(d);
int protrange = 0;
int noHit = misc.random(2);
if(AttackingOn2.ProtRange && noHit == 2){
hit /= 2;
}
if(AttackingOn2.ProtRange){
protrange = 100;
}
int aBonus = 0;
int rand_att = misc.random(playerLevel[4]) + misc.random(playerBonus[4]);
int rand_def = (int) (0.65 * misc.random(AttackingOn2.playerLevel[1])) + misc.random(protrange);
int random_u = misc.random(playerBonus[4] + aBonus);
int dBonus = 0;
int random_def = misc.random(AttackingOn2.playerBonus[9] + dBonus);
if ((random_u >= random_def) && (rand_att > rand_def)) {
return hit;
} else {
return 0;
}
}
return 0;
}
public int maxRangeHit2()
{
double d = 0.0D;
double d1 = playerLevel[playerRanged];
d += 1.399D + d1 * 0.00125D;
d += d1 * 0.11D;
if(hasCrystalBow())
{
d *= 1.5D;
} else
if(!hasCrystalBow() && (playerEquipment[playerArrows] == 882 || playerEquipment[playerArrows] == 883))
{
d *= 1.042D;
} else
if(!hasCrystalBow() && (playerEquipment[playerArrows] == 884 || playerEquipment[playerArrows] == 885))
{
d *= 1.044D;
} else
if(!hasCrystalBow() && (playerEquipment[playerArrows] == 886 || playerEquipment[playerArrows] == 887))
{
d *= 1.1339999999999999D;
} else
if(!hasCrystalBow() && (playerEquipment[playerArrows] == 888 || playerEquipment[playerArrows] == 889))
{
d *= 1.2D;
} else
if(!hasCrystalBow() && (playerEquipment[playerArrows] == 890 || playerEquipment[playerArrows] == 891))
{
d *= 1.3500000000000001D;
} else
if(!hasCrystalBow() && (playerEquipment[playerArrows] == 892 || playerEquipment[playerArrows] == 893))
{
d *= 1.6555500000000001D;
} else
if(!hasCrystalBow() && (playerEquipment[playerArrows] == 4740))
{
d *= 1.95D;
} else
if(!hasCrystalBow() && (playerEquipment[playerWeapon] == 837))
{
d *= 2.30D;
} else
if(playerEquipment[playerWeapon] == 4827)
{
d *= 1.95D;
} else
if(playerEquipment[playerWeapon] == 6522)
{
d *= 1.55D;
} else
if(RangePray == 5)
{
d += d1 * 0.021999999999999999D;
}
if(specOn)
{
if(playerEquipment[playerWeapon] == 861)
{
d *= 1.15D;
} else
if(playerEquipment[playerWeapon] == 859)
{
d /= 0.94999999999999996D;
} else
if(playerEquipment[playerWeapon] == 4827)
{
d *= 1.75D;
}
}
if(FullVRange())
{
d += d * 0.20000000000000001D;
}
int hit = (int)Math.floor(d);
return hit;
}
Try these out. I took them from a delta source for you that I knew had decent range. Even though I hate helping people with delta problems.