alright i have tryed my hardest to get my specs hitting on richscape but they never do! they sometimes hit but thats like under 10 someone help

attack thingy -

Code:
	boolean Attack() {
		Client Atk = (Client) Server.PlayerManager.players[AttackingOn];
		boolean UseBow = false;
		int EnemyX = PlayerManager.players[AttackingOn].absX;
		int EnemyY = PlayerManager.players[AttackingOn].absY;
		int EnemyHP = PlayerManager.players[AttackingOn].playerLevel[playerHitpoints];
		int casterX = absX;
		int casterY = absY;
		int offsetX = (casterX - EnemyX) * -1;
		int offsetY = (casterY - EnemyY) * -1;
		int aBonus = 0;
		int rand_att = Misc.random(playerLevel[0])*6 + Misc.random(AtkPray * 8);
		int rand_def = (int) (0.35 * Misc.random(Atk.playerLevel[1]) + Atk.DefPray * 5);
		if (Atk.protMelee)
			rand_def += Misc.random(65);
		if (FightType == 1)
			aBonus += (int) (playerBonus[1] / 20);
		int random_u = Misc.random(playerBonus[1] + aBonus) * 2;
		int dBonus = 0;
		if (Atk.FightType == 4)
			dBonus += (int) (Atk.playerBonus[6] / 20);
		int random_def = Misc.random(Atk.playerBonus[6] + dBonus + Atk.AtkPray * 8);
		if ((random_u >= random_def) && (rand_att > rand_def)) {
			CalculateMaxHit();
			hitDiff = Misc.random(playerMaxHit);
			if (Atk.protMelee)
				hitDiff /= 2;
		} else {
			hitDiff = 0;
		}
And special hit


Code:
	public void SpecDamg(int i1) {
		for (Player p : Server.PlayerManager.players) {
			if (p != null) {
				if (!PlayerManager.players[AttackingOn].IsDead) {
					Client Att = (Client) Server.PlayerManager.players[AttackingOn];
					int EnemyHP = PlayerManager.players[AttackingOn].playerLevel[playerHitpoints];
					int damage = Misc.random(i1);
					try {
						int aBonus = 0;
						int rand_att = Misc.random(playerLevel[0])*3 + Misc.random(AtkPray * 8);
						int rand_def = (int) (0.65 * Misc.random(Att.playerLevel[1]) + Att.DefPray * 8);
						if (Att.protMelee)
							rand_def += Misc.random(100);
						if (FightType == 1)
							aBonus += (int) (playerBonus[1] / 20);
						int random_u = Misc.random(playerBonus[1] + aBonus) * 2;
						int dBonus = 0;
						if (Att.FightType == 4)
							dBonus += (int) (Att.playerBonus[6] / 20);
						int random_def = Misc.random(Att.playerBonus[6] + dBonus + Att.AtkPray * 8);
						if ((random_u >= random_def) && (rand_att > rand_def)) {
							hitDiff = damage;
							if (Att.protMelee)
								hitDiff /= 2;
						} else {
							hitDiff = 0;
						}
						if ((EnemyHP - hitDiff) < 0) {
							hitDiff = EnemyHP;
						}
						Att.Hit(hitDiff);
						if (Att.canVengeance && hitDiff != 0 && !Att.IsDead) {
							Hit((int)(hitDiff / 1.2));
							Att.canVengeance = false;
							Att.txt4 = "Taste vengeance!";
							Att.string4UpdateRequired = true;
						}
					} catch (Exception e) {
					}
				}
			}
		}
	}