public void giveRewardsToMember(L2Character member, int xpReward, int spReward, float penalty) { _log.warning("xpReward: " + xpReward); _log.warning("spReward: " + spReward); double xpToReward = 0; double spToReward = 0; int sum = 0; int sqd = 0; for (L2PcInstance character : getPartyMembers()) { sum += (character.getLevel() * character.getLevel()); } sqd = member.getLevel() * member.getLevel(); xpToReward = (xpReward * (sqd/sum) * getExpBonus()) * (1 - penalty); spToReward = spReward * (sqd/sum); _log.warning("sum: " + sum); _log.warning("sqd: " + sqd); _log.warning("bon: " + getExpBonus()); _log.warning("pen: " + penalty); _log.warning("xpR: " + xpToReward); _log.warning("spR: " + spToReward); member.addExpAndSp((int)xpToReward, (int)spToReward); }