Add bow force multiplier to Archery XP.

This commit is contained in:
GJ
2013-05-15 01:19:14 -04:00
parent 9ec376a228
commit 8d5696507a
6 changed files with 26 additions and 3 deletions

View File

@ -250,7 +250,9 @@ public final class CombatUtils {
}
archeryManager.distanceXpBonus(target);
startGainXp(mcMMOPlayer, target, SkillType.ARCHERY);
double forceMultiplier = damager.hasMetadata(mcMMO.bowForceKey) ? damager.getMetadata(mcMMO.bowForceKey).get(0).asDouble() : 1.0;
startGainXp(mcMMOPlayer, target, SkillType.ARCHERY, forceMultiplier);
}
break;
@ -424,6 +426,10 @@ public final class CombatUtils {
}
}
public static void startGainXp(McMMOPlayer mcMMOPlayer, LivingEntity target, SkillType skillType) {
startGainXp(mcMMOPlayer, target, skillType, 1.0);
}
/**
* Start the task that gives combat XP.
*
@ -431,7 +437,7 @@ public final class CombatUtils {
* @param target The defending entity
* @param skillType The skill being used
*/
public static void startGainXp(McMMOPlayer mcMMOPlayer, LivingEntity target, SkillType skillType) {
public static void startGainXp(McMMOPlayer mcMMOPlayer, LivingEntity target, SkillType skillType, double multiplier) {
double baseXP = 0;
if (target instanceof Player) {
@ -514,6 +520,8 @@ public final class CombatUtils {
baseXP *= 10;
}
baseXP *= multiplier;
if (baseXP != 0) {
new AwardCombatXpTask(mcMMOPlayer, skillType, baseXP, target).runTaskLater(mcMMO.p, 0);
}