From cd6fa039905fac26cfe090c65aff937700a1582b Mon Sep 17 00:00:00 2001 From: Electroblob77 <35599699+Electroblob77@users.noreply.github.com> Date: Sun, 31 Jan 2021 15:50:55 +0000 Subject: [PATCH] Limit cooldowns to a minimum of 1 tick and replace armour cooldown reductions with correct values, fixes #603 --- src/main/java/electroblob/wizardry/item/ItemWizardArmour.java | 4 ++-- src/main/java/electroblob/wizardry/util/WandHelper.java | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/electroblob/wizardry/item/ItemWizardArmour.java b/src/main/java/electroblob/wizardry/item/ItemWizardArmour.java index 10ccec3a..548795d3 100644 --- a/src/main/java/electroblob/wizardry/item/ItemWizardArmour.java +++ b/src/main/java/electroblob/wizardry/item/ItemWizardArmour.java @@ -59,8 +59,8 @@ public class ItemWizardArmour extends ItemArmor implements IWorkbenchItem, IMana WIZARD(Materials.SILK, () -> null, "wizard", 0.1f, 0, "hat", "robe", "leggings", "boots"), SAGE(Materials.SAGE, () -> WizardryItems.resplendent_thread, "sage", 0.2f, 0, "hat", "robe", "leggings", "boots"), - BATTLEMAGE(Materials.BATTLEMAGE, () -> WizardryItems.crystal_silver_plating, "battlemage", 0.05f, 0.15f, "helmet", "chestplate", "leggings", "boots"), - WARLOCK(Materials.WARLOCK, () -> WizardryItems.ethereal_crystalweave, "warlock", 0.1f, 0.3f, "hood", "robe", "leggings", "boots"); + BATTLEMAGE(Materials.BATTLEMAGE, () -> WizardryItems.crystal_silver_plating, "battlemage", 0.05f, 0.05f, "helmet", "chestplate", "leggings", "boots"), + WARLOCK(Materials.WARLOCK, () -> WizardryItems.ethereal_crystalweave, "warlock", 0.1f, 0.1f, "hood", "robe", "leggings", "boots"); /** The armour material to use for this armour class. */ final ArmorMaterial material; diff --git a/src/main/java/electroblob/wizardry/util/WandHelper.java b/src/main/java/electroblob/wizardry/util/WandHelper.java index 526500a7..4f3a2707 100644 --- a/src/main/java/electroblob/wizardry/util/WandHelper.java +++ b/src/main/java/electroblob/wizardry/util/WandHelper.java @@ -251,6 +251,7 @@ public final class WandHelper { for(int i = 0; i < cooldowns.length; i++){ if(cooldowns[i] > 0) cooldowns[i]--; + if(cooldowns[i] < 0) cooldowns[i] = 0; // In case it got broken } setCooldowns(wand, cooldowns); @@ -312,6 +313,8 @@ public final class WandHelper { // cast, which is impossible if there are no spells. if(cooldowns.length <= selectedSpell) cooldowns = new int[spellCount]; + if(cooldown <= 0) cooldown = 1; + cooldowns[selectedSpell] = cooldown; setCooldowns(wand, cooldowns);