diff --git a/resources/config/v12/en/config.yml b/resources/config/v12/en/config.yml index eee80b8..8457b77 100644 --- a/resources/config/v12/en/config.yml +++ b/resources/config/v12/en/config.yml @@ -442,6 +442,7 @@ recipes: cookingtime: 2 color: BLACK difficulty: 3 + alcohol: -6 lore: + &8Probably a week old effects: - REGENERATION/1/2-5 diff --git a/resources/config/v13/de/config.yml b/resources/config/v13/de/config.yml index 81ae961..418cb2d 100644 --- a/resources/config/v13/de/config.yml +++ b/resources/config/v13/de/config.yml @@ -821,6 +821,7 @@ recipes: # cookingtime: 1 # color: BLACK # difficulty: 4 + # alcohol: -8 # effects: # - REGENERATION/30 # - SPEED/10 diff --git a/resources/config/v13/en/config.yml b/resources/config/v13/en/config.yml index 581b494..c5ece20 100644 --- a/resources/config/v13/en/config.yml +++ b/resources/config/v13/en/config.yml @@ -739,6 +739,7 @@ recipes: cookingtime: 2 color: BLACK difficulty: 3 + alcohol: -6 lore: + &8Probably a week old effects: - REGENERATION/1/2-5 @@ -816,6 +817,7 @@ recipes: # cookingtime: 1 # color: BLACK # difficulty: 4 + # alcohol: -8 # effects: # - REGENERATION/30 # - SPEED/10 diff --git a/resources/config/v13/es/config.yml b/resources/config/v13/es/config.yml index 8f80366..13f8f44 100644 --- a/resources/config/v13/es/config.yml +++ b/resources/config/v13/es/config.yml @@ -739,6 +739,7 @@ recipes: cookingtime: 2 color: BLACK difficulty: 3 + alcohol: -6 lore: + &8Probablemente una semana de edad effects: - REGENERATION/1/2-5 @@ -816,6 +817,7 @@ recipes: # cookingtime: 1 # color: BLACK # difficulty: 4 + # alcohol: -8 # effects: # - REGENERATION/30 # - SPEED/10 diff --git a/resources/config/v13/fr/config.yml b/resources/config/v13/fr/config.yml index fa6e82a..303f891 100644 --- a/resources/config/v13/fr/config.yml +++ b/resources/config/v13/fr/config.yml @@ -746,6 +746,7 @@ recipes: cookingtime: 2 color: BLACK difficulty: 3 + alcohol: -6 lore: + &8Probably a week old effects: - REGENERATION/1/2-5 @@ -822,6 +823,7 @@ recipes: # cookingtime: 1 # color: BLACK # difficulty: 4 + # alcohol: -8 # effects: # - REGENERATION/30 # - SPEED/10 diff --git a/resources/config/v13/it/config.yml b/resources/config/v13/it/config.yml index 6c8beef..45c6de2 100644 --- a/resources/config/v13/it/config.yml +++ b/resources/config/v13/it/config.yml @@ -816,6 +816,7 @@ eggnog: # cookingtime: 1 # color: BLACK # difficulty: 4 + # alcohol: -8 # effects: # - REGENERATION/30 # - SPEED/10 diff --git a/resources/config/v13/zh/config.yml b/resources/config/v13/zh/config.yml index 9171431..4d7304c 100644 --- a/resources/config/v13/zh/config.yml +++ b/resources/config/v13/zh/config.yml @@ -820,6 +820,7 @@ recipes: # cookingtime: 1 # color: BLACK # difficulty: 4 + # alcohol: -6 # effects: # - REGENERATION/30 # - SPEED/10 diff --git a/src/com/dre/brewery/BPlayer.java b/src/com/dre/brewery/BPlayer.java index 1e03e20..3ab2323 100644 --- a/src/com/dre/brewery/BPlayer.java +++ b/src/com/dre/brewery/BPlayer.java @@ -180,31 +180,32 @@ public class BPlayer { int quality = drinkEvent.getQuality(); List effects = getBrewEffects(brew.getEffects(), quality); - if (brewAlc < 1) { - //no alcohol so we dont need to add a BPlayer - applyEffects(effects, player, PlayerEffectEvent.EffectType.DRINK); - if (bPlayer.drunkeness <= 0) { - bPlayer.remove(); - } - return true; - } - - bPlayer.drunkeness += brewAlc; - if (quality > 0) { - bPlayer.quality += quality * brewAlc; - } else { - bPlayer.quality += brewAlc; - } applyEffects(effects, player, PlayerEffectEvent.EffectType.DRINK); - applyEffects(getQualityEffects(quality, brewAlc), player, PlayerEffectEvent.EffectType.QUALITY); - + if (brewAlc < 0) { + bPlayer.drain(player, -brewAlc); + } else if (brewAlc > 0) { + bPlayer.drunkeness += brewAlc; + if (quality > 0) { + bPlayer.quality += quality * brewAlc; + } else { + bPlayer.quality += brewAlc; + } + + applyEffects(getQualityEffects(quality, brewAlc), player, PlayerEffectEvent.EffectType.QUALITY); + } + if (bPlayer.drunkeness > 100) { bPlayer.drinkCap(player); } bPlayer.syncToSQL(false); + if (BConfig.showStatusOnDrink) { bPlayer.showDrunkeness(player); } + + if (bPlayer.drunkeness <= 0) { + bPlayer.remove(); + } return true; } diff --git a/src/com/dre/brewery/Brew.java b/src/com/dre/brewery/Brew.java index 0174dfb..9394efe 100644 --- a/src/com/dre/brewery/Brew.java +++ b/src/com/dre/brewery/Brew.java @@ -373,9 +373,7 @@ public class Brew implements Cloneable { // quality decides 10% - 100% alc *= ((float) quality / 10.0f); } - if (alc > 0) { - return alc; - } + return alc; } return 0; } @@ -516,7 +514,10 @@ public class Brew implements Cloneable { } public int getOrCalcAlc() { - return alc > 0 ? alc : (alc = calcAlcohol()); + if (alc == 0) { + alc = calcAlcohol(); + } + return alc; } public void setAlc(int alc) { diff --git a/src/com/dre/brewery/lore/BrewLore.java b/src/com/dre/brewery/lore/BrewLore.java index 6453f2e..20ab518 100644 --- a/src/com/dre/brewery/lore/BrewLore.java +++ b/src/com/dre/brewery/lore/BrewLore.java @@ -275,7 +275,7 @@ public class BrewLore { } public void updateAlc(boolean inDistiller) { - if (!brew.isUnlabeled() && (inDistiller || BConfig.alwaysShowAlc) && (!brew.hasRecipe() || brew.getCurrentRecipe().getAlcohol() > 0)) { + if (!brew.isUnlabeled() && (inDistiller || BConfig.alwaysShowAlc) && (!brew.hasRecipe() || brew.getCurrentRecipe().getAlcohol() != 0)) { int alc = brew.getOrCalcAlc(); addOrReplaceLore(Type.ALC, "ยง8", P.p.languageReader.get("Brew_Alc", alc + "")); } else { diff --git a/src/com/dre/brewery/recipe/BRecipe.java b/src/com/dre/brewery/recipe/BRecipe.java index 3d3d1e1..2fab5f8 100644 --- a/src/com/dre/brewery/recipe/BRecipe.java +++ b/src/com/dre/brewery/recipe/BRecipe.java @@ -338,10 +338,6 @@ public class BRecipe { P.p.errorLog("Invalid difficulty '" + difficulty + "' in Recipe: " + getRecipeName()); return false; } - if (alcohol < 0) { - P.p.errorLog("Invalid alcohol '" + alcohol + "' in Recipe: " + getRecipeName()); - return false; - } return true; }