tridents/xbows WIP part 1

This commit is contained in:
nossr50
2020-07-06 20:44:10 -07:00
parent 919907f46a
commit ea448dfa47
29 changed files with 622 additions and 36 deletions

View File

@@ -18,6 +18,7 @@ import com.gmail.nossr50.skills.archery.ArcheryManager;
import com.gmail.nossr50.skills.axes.AxesManager;
import com.gmail.nossr50.skills.swords.SwordsManager;
import com.gmail.nossr50.skills.taming.TamingManager;
import com.gmail.nossr50.skills.tridents.TridentManager;
import com.gmail.nossr50.skills.unarmed.UnarmedManager;
import com.gmail.nossr50.util.*;
import com.gmail.nossr50.util.player.NotificationManager;
@@ -90,6 +91,26 @@ public final class CombatUtils {
processCombatXP(mcMMOPlayer, target, PrimarySkillType.SWORDS);
}
public static void processTridentCombat(LivingEntity target, Player player, EntityDamageByEntityEvent entityDamageByEntityEvent) {
if (entityDamageByEntityEvent.getCause() == DamageCause.THORNS) {
return;
}
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
//Make sure the profiles been loaded
if(mcMMOPlayer == null) {
return;
}
TridentManager tridentManager = mcMMOPlayer.getTridentManager();
// double initialDamage = entityDamageByEntityEvent.getDamage();
// double finalDamage = initialDamage;
processCombatXP(mcMMOPlayer, target, PrimarySkillType.TRIDENTS);
}
// public static void strengthDebug(Player player) {
// BukkitPlatform bukkitPlatform = (BukkitPlatform) mcMMO.getPlatformManager().getPlatform();
// Bukkit.broadcastMessage("Strength: "+bukkitPlatform.getPlayerAttackStrength(player));
@@ -387,6 +408,15 @@ public final class CombatUtils {
processUnarmedCombat(target, player, event);
}
}
else if (ItemUtils.isTrident(heldItem)) {
if(!PrimarySkillType.TRIDENTS.shouldProcess(target)) {
return;
}
if(PrimarySkillType.TRIDENTS.getPermissions(player)) {
processTridentCombat(target, player, event);
}
}
}
else if (entityType == EntityType.WOLF) {

View File

@@ -15,6 +15,7 @@ import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.ItemUtils;
import com.gmail.nossr50.util.Misc;
import com.gmail.nossr50.util.StringUtils;
import com.gmail.nossr50.util.experience.ExperienceBarManager;
import com.gmail.nossr50.util.player.NotificationManager;
import com.gmail.nossr50.util.player.UserManager;
import org.bukkit.Bukkit;
@@ -31,6 +32,7 @@ import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -44,6 +46,34 @@ public class SkillUtils {
mcMMOPlayer.beginXpGain(skill, xp, xpGainReason, xpGainSource);
}
public static HashMap<PrimarySkillType, ExperienceBarManager.BarState> generateDefaultBarStateMap() {
HashMap<PrimarySkillType, ExperienceBarManager.BarState> barStateHashMap = new HashMap<>();
setBarStateDefaults(barStateHashMap);
return barStateHashMap;
}
public static ExperienceBarManager.BarState asBarState(String str) {
for(ExperienceBarManager.BarState barState : ExperienceBarManager.BarState.values()) {
if(barState.toString().equalsIgnoreCase(str)) {
return barState;
}
}
return ExperienceBarManager.BarState.NORMAL;
}
public static void setBarStateDefaults(HashMap<PrimarySkillType, ExperienceBarManager.BarState> barStateHashMap) {
for(PrimarySkillType skillType : PrimarySkillType.values()) {
if(skillType.isChildSkill()) {
barStateHashMap.put(skillType, ExperienceBarManager.BarState.DISABLED);
} else {
barStateHashMap.put(skillType, ExperienceBarManager.BarState.NORMAL);
}
}
}
/*
* Skill Stat Calculations
*/