|
@@ -9,11 +9,16 @@ import com.gmail.nossr50.datatypes.SkillType;
|
|
|
|
|
|
public class Hardcore {
|
|
public class Hardcore {
|
|
public static void invokeStatPenalty(Player player) {
|
|
public static void invokeStatPenalty(Player player) {
|
|
|
|
+ if(Config.getInstance().getHardcoreDeathStatPenaltyPercentage() <= 0)
|
|
|
|
+ return;
|
|
|
|
+
|
|
PlayerProfile PP = Users.getProfile(player);
|
|
PlayerProfile PP = Users.getProfile(player);
|
|
|
|
|
|
for(SkillType st : SkillType.values()) {
|
|
for(SkillType st : SkillType.values()) {
|
|
|
|
+
|
|
if(st.equals(SkillType.ALL))
|
|
if(st.equals(SkillType.ALL))
|
|
continue;
|
|
continue;
|
|
|
|
+
|
|
int newValue = (int) (PP.getSkillLevel(st) - (PP.getSkillLevel(st) * (Config.getInstance().getHardcoreDeathStatPenaltyPercentage() * 0.01D)));
|
|
int newValue = (int) (PP.getSkillLevel(st) - (PP.getSkillLevel(st) * (Config.getInstance().getHardcoreDeathStatPenaltyPercentage() * 0.01D)));
|
|
|
|
|
|
if(newValue < 0)
|
|
if(newValue < 0)
|
|
@@ -26,16 +31,29 @@ public class Hardcore {
|
|
}
|
|
}
|
|
|
|
|
|
public static void invokeVampirism(Player killer, Player defender) {
|
|
public static void invokeVampirism(Player killer, Player defender) {
|
|
|
|
+ if(Config.getInstance().getHardcoreVampirismStatLeechPercentage() <= 0)
|
|
|
|
+ return;
|
|
|
|
+
|
|
PlayerProfile PPk = Users.getProfile(killer);
|
|
PlayerProfile PPk = Users.getProfile(killer);
|
|
PlayerProfile PPd = Users.getProfile(defender);
|
|
PlayerProfile PPd = Users.getProfile(defender);
|
|
|
|
|
|
for(SkillType st : SkillType.values()) {
|
|
for(SkillType st : SkillType.values()) {
|
|
if(st.equals(SkillType.ALL))
|
|
if(st.equals(SkillType.ALL))
|
|
continue;
|
|
continue;
|
|
|
|
+
|
|
|
|
+ if(PPd.getSkillLevel(st) <= 0)
|
|
|
|
+ continue;
|
|
|
|
+
|
|
int newValue = (int) (PPd.getSkillLevel(st) * (Config.getInstance().getHardcoreVampirismStatLeechPercentage() * 0.01D));
|
|
int newValue = (int) (PPd.getSkillLevel(st) * (Config.getInstance().getHardcoreVampirismStatLeechPercentage() * 0.01D));
|
|
|
|
+
|
|
|
|
+ if(newValue <= 0)
|
|
|
|
+ newValue = 1;
|
|
|
|
+
|
|
PPk.modifySkill(st, newValue+PPk.getSkillLevel(st));
|
|
PPk.modifySkill(st, newValue+PPk.getSkillLevel(st));
|
|
|
|
+ PPd.modifySkill(st, PPd.getSkillLevel(st)-newValue);
|
|
}
|
|
}
|
|
|
|
|
|
killer.sendMessage(ChatColor.GOLD+"[mcMMO] "+ChatColor.DARK_AQUA+"You've stolen knowledge from that player.");
|
|
killer.sendMessage(ChatColor.GOLD+"[mcMMO] "+ChatColor.DARK_AQUA+"You've stolen knowledge from that player.");
|
|
|
|
+ defender.sendMessage(ChatColor.GOLD+"[mcMMO] "+ChatColor.YELLOW+killer.getName()+ChatColor.DARK_AQUA+" has stolen knowledge from you!");
|
|
}
|
|
}
|
|
}
|
|
}
|