@Override public void pursue() { if (Me == Me.getBoss()) { replaceAndDoNewQuest(Me, new FindNewMaster(Me)); return; } // test if respect still strong (THIS STUFF SHOULD BE DONE BY WISEMAN) // double resp = Me.conversation(Me.getBoss()); // if (resp < 0 && AGPmain.rand.nextInt(17) > Me.useBeh(M_.PATIENCE)) { // // desert ? // } Ministry proposedMinistry = getMinistryProposal(Me); Service proposedService = proposedMinistry.getService(); // first inquire if proposedMinistry can pay more than current job if (Me.getJob() != Job.NOBLE && proposedService.estimateProfit(Me) > Me.getAvgIncome()) { Me.setJob(proposedMinistry); } Me.MB.finishQ(); if (proposedMinistry == Job.NOBLE) { return; } // TODO causes infinite loop if Allegiance is your only value. find something else for here proposedService.doit(Me); // do it even if it's not your job... this is ALLEGIANCE Quest }