@Override
    public boolean canBeLearnedBy(int job) {
	int jid = job;
	int skillForJob = id / 10000;

	if (job < 1000) {
	    if (jid / 100 != skillForJob / 100 && skillForJob / 100 != 0) { // wrong job
		return false;
	    }
	} else {
	    if (jid / 1000 != skillForJob / 1000 && skillForJob / 1000 != 0) { // wrong job
		return false;
	    }
	}
	if ((skillForJob / 10) % 10 > (jid / 10) % 10) { // wrong 2nd job
	    return false;
	}
	if (skillForJob % 10 > jid % 10) { // wrong 3rd/4th job
	    return false;
	}
	return true;
    }