HashMap<String, Integer> levelChangedVictim = eventVictim.getLevelChanged();
HashMap<String, Float> experienceChangedVictim = eventVictim.getExperienceChanged();
McMMOPlayer killerPlayer = UserManager.getPlayer(killer);
PlayerProfile victimProfile = UserManager.getPlayer(victim).getProfile();
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
String skillName = skillType.toString();
int victimSkillLevel = victimProfile.getSkillLevel(skillType);
killerPlayer.addLevels(skillType, levelChangedKiller.get(skillName));
killerPlayer.beginUnsharedXpGain(skillType, experienceChangedKiller.get(skillName), XPGainReason.VAMPIRISM);
victimProfile.modifySkill(skillType, victimSkillLevel - levelChangedVictim.get(skillName));
victimProfile.removeXp(skillType, experienceChangedVictim.get(skillName));
if (victimProfile.getSkillXpLevel(skillType) < 0) {
victimProfile.setSkillXpLevel(skillType, 0);
}
if (victimProfile.getSkillLevel(skillType) < 0) {
victimProfile.modifySkill(skillType, 0);
}
}
}
return !isCancelled;