public int calculateMeleeAttack() {
		int attackLevel = c.playerLevel[0];
        if (c.prayerActive[2])
            attackLevel += c.getLevelForXP(c.playerXP[c.playerAttack]) * 0.05;
        else if (c.prayerActive[7])
            attackLevel += c.getLevelForXP(c.playerXP[c.playerAttack]) * 0.1;
        else if (c.prayerActive[15])
            attackLevel += c.getLevelForXP(c.playerXP[c.playerAttack]) * 0.15;
        else if (c.prayerActive[24])
            attackLevel += c.getLevelForXP(c.playerXP[c.playerAttack]) * 0.15;
        else if (c.prayerActive[25])
            attackLevel += c.getLevelForXP(c.playerXP[c.playerAttack]) * 0.2;
		else if (c.curseActive[c.curses().TURMOIL])
			attackLevel = (int)(attackLevel * c.curses().getTurmoilMultiplier("Attack"));
        if (c.fullVoidMelee())
            attackLevel += c.getLevelForXP(c.playerXP[c.playerAttack]) * 0.1;
		attackLevel *= c.specAccuracy;
        int i = c.playerBonus[bestMeleeAtk()];
		i += c.bonusAttack;
		if (c.playerEquipment[c.playerAmulet] == 11128 && c.playerEquipment[c.playerWeapon] == 6528) {
			i *= 1.30;
		}
		return (int)(attackLevel + (attackLevel * 0.15) + (i + i * 0.05));
	}