diff --git a/src/main/java/electroblob/wizardry/client/gui/GuiSpellDisplay.java b/src/main/java/electroblob/wizardry/client/gui/GuiSpellDisplay.java index 96a7121e..93e25d45 100644 --- a/src/main/java/electroblob/wizardry/client/gui/GuiSpellDisplay.java +++ b/src/main/java/electroblob/wizardry/client/gui/GuiSpellDisplay.java @@ -44,7 +44,8 @@ import java.util.Map.Entry; public class GuiSpellDisplay { private static final ResourceLocation INDEX = new ResourceLocation(Wizardry.MODID, "textures/gui/spell_hud/_index.json"); - + private static final ResourceLocation CHARGE_METER = new ResourceLocation(Wizardry.MODID, "textures/gui/spell_charge_meter.png"); + /** A map which stores all loaded HUD skin objects. This gets wiped on resource pack reload and repopulated with * mappings as specified by {@code _index.json} (these stack between resource packs). The keys in the map correspond * to the keys in {@code _index.json}, and are sorted in that order, with skins belonging to resource packs sorted @@ -55,6 +56,11 @@ public class GuiSpellDisplay { private static final Gson gson = new Gson(); private static final Random random = new Random(); + /** Width of the charge meter. */ + private static final int CHARGE_METER_WIDTH = 25; + /** Height of the charge meter. */ + private static final int CHARGE_METER_HEIGHT = 9; + /** Width and height of the spell icon (very unlikely to change!) */ private static final int SPELL_ICON_SIZE = 32; /** Number of ticks the spell switching animation plays for. */ @@ -99,12 +105,7 @@ public class GuiSpellDisplay { @SubscribeEvent public static void draw(RenderGameOverlayEvent.Post event){ - if(event.getType() != RenderGameOverlayEvent.ElementType.TEXT - && event.getType() != RenderGameOverlayEvent.ElementType.HOTBAR) return; - - Minecraft mc = Minecraft.getMinecraft(); - - EntityPlayer player = mc.player; + EntityPlayer player = Minecraft.getMinecraft().player; if(player.isSpectator()) return; // Spectators shouldn't have the spell HUD! @@ -117,12 +118,74 @@ public class GuiSpellDisplay { wand = player.getHeldItemOffhand(); mainHand = false; // If the player isn't holding a spellcasting item that shows the HUD, then nothing else needs to be done. - if(!(wand.getItem() instanceof ISpellCastingItem && ((ISpellCastingItem)wand.getItem()).showSpellHUD(player, wand))) return; + if(!(wand.getItem() instanceof ISpellCastingItem && ((ISpellCastingItem)wand.getItem()).showSpellHUD(player, wand))) + return; } int width = event.getResolution().getScaledWidth(); int height = event.getResolution().getScaledHeight(); + switch(event.getType()){ + case CROSSHAIRS: + renderChargeMeter(player, wand, width, height, event.getPartialTicks()); + break; + case HOTBAR: + renderSpellHUD(player, wand, mainHand, width, height, event.getPartialTicks(), false); + break; + case TEXT: + renderSpellHUD(player, wand, mainHand, width, height, event.getPartialTicks(), true); + break; + } + + } + + /** + * Renders the spell charge meter around the crosshairs. + * @param player A reference to the client player + * @param wand The wand the HUD is for + * @param width The width of the screen + * @param height The height of the screen + * @param partialTicks The current partial tick time + */ + private static void renderChargeMeter(EntityPlayer player, ItemStack wand, int width, int height, float partialTicks){ + + if(Minecraft.getMinecraft().gameSettings.showDebugInfo) return; // Don't show charge meter in the debug screen + if(Minecraft.getMinecraft().gameSettings.thirdPersonView != 0) return; // Don't show in third person + + Spell spell = WandHelper.getCurrentSpell(wand); + + if(spell.getChargeup() <= 0) return; + + // WHY WHY WHY are these methods named so misleadingly?! Sort yourselves out MCP! + // (getItemInUseCount returns the max count MINUS the use count, and getItemInUseMaxCount returns the use count) + if(player.getItemInUseMaxCount() == 0) return; // Not charging + float charge = (player.getItemInUseMaxCount() + partialTicks) / spell.getChargeup(); + if(charge > 1) return; // Done charging + + Minecraft.getMinecraft().renderEngine.bindTexture(CHARGE_METER); + + int x1 = width/2 - CHARGE_METER_WIDTH/2; + int y = height/2 - CHARGE_METER_HEIGHT/2; + int w = (int)(CHARGE_METER_WIDTH/2 * charge); + int u = CHARGE_METER_WIDTH - w; + + DrawingUtils.drawTexturedRect(x1, y, 0, 0, w, CHARGE_METER_HEIGHT, 32, 32); + DrawingUtils.drawTexturedRect(x1 + u, y, u, 0, w, CHARGE_METER_HEIGHT, 32, 32); + + } + + /** + * Renders the main spell HUD in the corner of the screen. + * @param player A reference to the client player + * @param wand The wand the HUD is for + * @param mainHand True if the wand is in the player's main hand, false if it is in their offhand + * @param width The width of the screen + * @param height The height of the screen + * @param partialTicks The current partial tick time + * @param textLayer True to render the text layer, false to render the background (hotbar layer) + */ + private static void renderSpellHUD(EntityPlayer player, ItemStack wand, boolean mainHand, int width, int height, float partialTicks, boolean textLayer){ + boolean flipX = Wizardry.settings.spellHUDPosition.flipX; boolean flipY = Wizardry.settings.spellHUDPosition.flipY; @@ -130,16 +193,16 @@ public class GuiSpellDisplay { // ............. | This bit is true if the wand is on the left, false if it is on the right flipX = flipX == ((mainHand ? player.getPrimaryHand() : player.getPrimaryHand().opposite()) == EnumHandSide.LEFT); } - + Skin skin = skins.get(Wizardry.settings.spellHUDSkin); - + if(skin == null){ - + Wizardry.logger.info("The spell HUD skin '" + Wizardry.settings.spellHUDSkin + "' specified in the config" + " did not match any of the loaded skins; using the default skin as a fallback."); - + skin = skins.get(Settings.DEFAULT_HUD_SKIN_KEY); - + if(skin == null){ Wizardry.logger.warn("The default spell HUD skin is missing! A resource pack must have overridden it" + " with an invalid JSON file (default.json), please try again without any resource packs."); @@ -148,7 +211,7 @@ public class GuiSpellDisplay { } GlStateManager.pushMatrix(); - + // 'Origin' of the spell hud (bottom left corner of the actual texture, always in the corner of the screen) int x = flipX ? width : 0; int y = flipY ? 0: height; @@ -169,45 +232,46 @@ public class GuiSpellDisplay { y = MathHelper.ceil(y/scale); } + // TODO: Maybe convert this to use ISpellCastingItem Spell spell = WandHelper.getCurrentSpell(wand); int cooldown = WandHelper.getCurrentCooldown(wand); int maxCooldown = WandHelper.getCurrentMaxCooldown(wand); - if(event.getType() == RenderGameOverlayEvent.ElementType.TEXT){ - + if(textLayer){ + float animationProgress = Math.signum(switchTimer) * ((SPELL_SWITCH_TIME - Math.abs(switchTimer) + - event.getPartialTicks()) / SPELL_SWITCH_TIME); - + partialTicks) / SPELL_SWITCH_TIME); + String prevSpellName = getFormattedSpellName(WandHelper.getPreviousSpell(wand), player, WandHelper.getPreviousCooldown(wand)); String spellName = getFormattedSpellName(spell, player, cooldown); String nextSpellName = getFormattedSpellName(WandHelper.getNextSpell(wand), player, WandHelper.getNextCooldown(wand)); skin.drawText(x, y, flipX, flipY, prevSpellName, spellName, nextSpellName, animationProgress); - }else if(event.getType() == RenderGameOverlayEvent.ElementType.HOTBAR){ + }else{ boolean discovered = true; if(!player.isCreative() && WizardData.get(player) != null){ discovered = WizardData.get(player).hasSpellBeenDiscovered(spell); } - + ResourceLocation icon = discovered ? spell.getIcon() : Spells.none.getIcon(); float progress = 1; // Doesn't really matter what progress is when in creative, but we might as well avoid the calculation. if(!player.isCreative() && !spell.isContinuous){ // Subtracted partial tick time to make it smoother - progress = maxCooldown == 0 ? 1 : (maxCooldown - (float)cooldown + event.getPartialTicks()) / maxCooldown; + progress = maxCooldown == 0 ? 1 : (maxCooldown - (float)cooldown + partialTicks) / maxCooldown; } - + skin.drawBackground(x, y, flipX, flipY, icon, progress, player.isCreative(), player.isPotionActive(WizardryPotions.arcane_jammer)); - + } GlStateManager.popMatrix(); } - + /** * Gets the name of the given spell, with formatting added according to its cooldown and whether the given player * has discovered it. diff --git a/src/main/java/electroblob/wizardry/event/SpellCastEvent.java b/src/main/java/electroblob/wizardry/event/SpellCastEvent.java index ec471598..756cc77b 100644 --- a/src/main/java/electroblob/wizardry/event/SpellCastEvent.java +++ b/src/main/java/electroblob/wizardry/event/SpellCastEvent.java @@ -134,9 +134,9 @@ public abstract class SpellCastEvent extends Event { /** * SpellCastEvent.Pre is fired just before a spell is cast. Use this event to change the spell modifiers and * generally alter the behaviour of the spell, or stop it from being cast entirely. For example, wizardry uses this - * event to cancel spells cast by entities that have the arcane jammer effect. Note that for wands, this is called - * before mana, tier and cooldowns are checked. Also note that this event is only fired once for continuous - * spells, when they start casting.
+ * event to cancel spells cast by entities that have the arcane jammer effect. For wands, this is called + * before mana, tier and cooldowns are checked, and before charge-up. Also note that this event is only fired + * once for continuous spells, when they start casting.
*
* This event is {@link Cancelable}. If this event is canceled, the spell is not cast, mana is not consumed, and the * right-click action that caused it (if any) returns a result of FAIL, meaning that the right-click is passed to diff --git a/src/main/java/electroblob/wizardry/item/ISpellCastingItem.java b/src/main/java/electroblob/wizardry/item/ISpellCastingItem.java index 2666a5bb..cc1e9884 100644 --- a/src/main/java/electroblob/wizardry/item/ISpellCastingItem.java +++ b/src/main/java/electroblob/wizardry/item/ISpellCastingItem.java @@ -117,7 +117,8 @@ public interface ISpellCastingItem { /** * Casts the given spell using the given item stack. This method does not perform any checks; these are done * in {@link ISpellCastingItem#canCast(ItemStack, Spell, EntityPlayer, EnumHand, int, SpellModifiers)}. This method - * also performs any post-casting logic, such as mana costs and cooldowns. + * also performs any post-casting logic, such as mana costs and cooldowns. This method does not handle charge-up + * times. *

* N.B. Continuous spell casting from outside of the items requires a bit of extra legwork, see * {@link WizardData} for an example. diff --git a/src/main/java/electroblob/wizardry/item/ItemWand.java b/src/main/java/electroblob/wizardry/item/ItemWand.java index e6820105..efff9c4b 100644 --- a/src/main/java/electroblob/wizardry/item/ItemWand.java +++ b/src/main/java/electroblob/wizardry/item/ItemWand.java @@ -355,18 +355,19 @@ public class ItemWand extends Item implements IWorkbenchItem, ISpellCastingItem, SpellModifiers modifiers = this.calculateModifiers(stack, player, spell); if(canCast(stack, spell, player, hand, 0, modifiers)){ - // Now we can cast continuous spells with scrolls! - if(spell.isContinuous){ + + if(spell.isContinuous || spell.getChargeup() > 0){ + // Spells that need the mouse to be held (continuous, charge-up or both) if(!player.isHandActive()){ player.setActiveHand(hand); - // Store the modifiers for use each tick + // Store the modifiers for use later if(WizardData.get(player) != null) WizardData.get(player).itemCastingModifiers = modifiers; - // Return the player's held item so spells can change it if they wish (e.g. possession) - return new ActionResult<>(EnumActionResult.SUCCESS, player.getHeldItem(hand)); + return new ActionResult<>(EnumActionResult.SUCCESS, stack); } }else{ + // All other (instant) spells if(cast(stack, spell, player, hand, 0, modifiers)){ - return new ActionResult<>(EnumActionResult.SUCCESS, player.getHeldItem(hand)); + return new ActionResult<>(EnumActionResult.SUCCESS, stack); } } } @@ -374,7 +375,8 @@ public class ItemWand extends Item implements IWorkbenchItem, ISpellCastingItem, return new ActionResult<>(EnumActionResult.FAIL, stack); } - // For continuous spells. The count argument actually decrements by 1 each tick. + // For continuous spells and spells with a charge-up time. The count argument actually decrements by 1 each tick. + // N.B. The first time this gets called is the tick AFTER onItemRightClick is called, not the same tick @Override public void onUsingTick(ItemStack stack, EntityLivingBase user, int count){ @@ -384,8 +386,6 @@ public class ItemWand extends Item implements IWorkbenchItem, ISpellCastingItem, Spell spell = WandHelper.getCurrentSpell(stack); - if(!spell.isContinuous) return; - SpellModifiers modifiers; if(WizardData.get(player) != null){ @@ -394,15 +394,29 @@ public class ItemWand extends Item implements IWorkbenchItem, ISpellCastingItem, modifiers = this.calculateModifiers(stack, (EntityPlayer)user, spell); // Fallback to the old way, should never be used } - int castingTick = stack.getMaxItemUseDuration() - count; + int useTick = stack.getMaxItemUseDuration() - count; - // Continuous spells (these must check if they can be cast each tick since the mana changes) - // Don't call canCast when castingTick == 0 because we already did it in onItemRightClick - if(castingTick == 0 || canCast(stack, spell, player, player.getActiveHand(), castingTick, modifiers)){ - cast(stack, spell, player, player.getActiveHand(), castingTick, modifiers); + if(spell.isContinuous){ + // Continuous spell charge-up is simple, just don't do anything until it's charged + if(useTick >= spell.getChargeup()){ + // castingTick needs to be relative to when the spell actually started + int castingTick = useTick - spell.getChargeup(); + // Continuous spells (these must check if they can be cast each tick since the mana changes) + // Don't call canCast when castingTick == 0 because we already did it in onItemRightClick - even + // with charge-up times, because we don't want to trigger events twice + if(castingTick == 0 || canCast(stack, spell, player, player.getActiveHand(), castingTick, modifiers)){ + cast(stack, spell, player, player.getActiveHand(), castingTick, modifiers); + }else{ + // Stops the casting if it was interrupted, either by events or because the wand ran out of mana + player.stopActiveHand(); + } + } }else{ - // Stops the casting if it was interrupted, either by events or because the wand ran out of mana - player.stopActiveHand(); + // Non-continuous spells need to check they actually have a charge-up since ALL spells call setActiveHand + if(spell.getChargeup() > 0 && useTick == spell.getChargeup()){ + // Once the spell is charged, it's exactly the same as in onItemRightClick + cast(stack, spell, player, player.getActiveHand(), 0, modifiers); + } } } } @@ -450,8 +464,6 @@ public class ItemWand extends Item implements IWorkbenchItem, ISpellCastingItem, WizardryPacketHandler.net.sendToDimension(msg, world.provider.getDimension()); } - caster.setActiveHand(hand); - // Mana cost int cost = (int)(spell.getCost() * modifiers.get(SpellModifiers.COST) + 0.1f); // Weird floaty rounding // As of wizardry 4.2 mana cost is only divided over two intervals each second @@ -461,6 +473,8 @@ public class ItemWand extends Item implements IWorkbenchItem, ISpellCastingItem, } + caster.setActiveHand(hand); + // Cooldown if(!spell.isContinuous && !caster.isCreative()){ // Spells only have a cooldown in survival WandHelper.setCurrentCooldown(stack, (int)(spell.getCooldown() * modifiers.get(WizardryItems.cooldown_upgrade))); diff --git a/src/main/resources/assets/ebwizardry/spells/arcane_jammer.json b/src/main/resources/assets/ebwizardry/spells/arcane_jammer.json index 0192d840..336ca013 100644 --- a/src/main/resources/assets/ebwizardry/spells/arcane_jammer.json +++ b/src/main/resources/assets/ebwizardry/spells/arcane_jammer.json @@ -14,7 +14,7 @@ "element": "healing", "type": "alteration", "cost": 30, - "chargeup": 0, + "chargeup": 5, "cooldown": 50, "base_properties": { "range": 10, diff --git a/src/main/resources/assets/ebwizardry/spells/arrow_rain.json b/src/main/resources/assets/ebwizardry/spells/arrow_rain.json index e0c5602b..f3d3a3d9 100644 --- a/src/main/resources/assets/ebwizardry/spells/arrow_rain.json +++ b/src/main/resources/assets/ebwizardry/spells/arrow_rain.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "attack", "cost": 75, - "chargeup": 0, + "chargeup": 20, "cooldown": 300, "base_properties": { "range": 20, diff --git a/src/main/resources/assets/ebwizardry/spells/black_hole.json b/src/main/resources/assets/ebwizardry/spells/black_hole.json index 290ad352..22ddd6ca 100644 --- a/src/main/resources/assets/ebwizardry/spells/black_hole.json +++ b/src/main/resources/assets/ebwizardry/spells/black_hole.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "construct", "cost": 150, - "chargeup": 0, + "chargeup": 25, "cooldown": 400, "base_properties": { "duration": 400, diff --git a/src/main/resources/assets/ebwizardry/spells/blizzard.json b/src/main/resources/assets/ebwizardry/spells/blizzard.json index cda68e4c..b467d1c2 100644 --- a/src/main/resources/assets/ebwizardry/spells/blizzard.json +++ b/src/main/resources/assets/ebwizardry/spells/blizzard.json @@ -14,7 +14,7 @@ "element": "ice", "type": "construct", "cost": 40, - "chargeup": 0, + "chargeup": 10, "cooldown": 100, "base_properties": { "duration": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/chain_lightning.json b/src/main/resources/assets/ebwizardry/spells/chain_lightning.json index 0f7fcc3c..3eec3ace 100644 --- a/src/main/resources/assets/ebwizardry/spells/chain_lightning.json +++ b/src/main/resources/assets/ebwizardry/spells/chain_lightning.json @@ -14,7 +14,7 @@ "element": "lightning", "type": "attack", "cost": 25, - "chargeup": 0, + "chargeup": 5, "cooldown": 50, "base_properties": { "primary_damage": 10, diff --git a/src/main/resources/assets/ebwizardry/spells/clairvoyance.json b/src/main/resources/assets/ebwizardry/spells/clairvoyance.json index e8b43887..3ec742cc 100644 --- a/src/main/resources/assets/ebwizardry/spells/clairvoyance.json +++ b/src/main/resources/assets/ebwizardry/spells/clairvoyance.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "utility", "cost": 20, - "chargeup": 0, + "chargeup": 10, "cooldown": 100, "base_properties": { "range": 256, diff --git a/src/main/resources/assets/ebwizardry/spells/conjure_armour.json b/src/main/resources/assets/ebwizardry/spells/conjure_armour.json index 7c688fc6..078b543b 100644 --- a/src/main/resources/assets/ebwizardry/spells/conjure_armour.json +++ b/src/main/resources/assets/ebwizardry/spells/conjure_armour.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "defence", "cost": 45, - "chargeup": 0, + "chargeup": 10, "cooldown": 50, "base_properties": { "item_lifetime": 1800 diff --git a/src/main/resources/assets/ebwizardry/spells/containment.json b/src/main/resources/assets/ebwizardry/spells/containment.json index 4c5d86c5..0626f068 100644 --- a/src/main/resources/assets/ebwizardry/spells/containment.json +++ b/src/main/resources/assets/ebwizardry/spells/containment.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "alteration", "cost": 40, - "chargeup": 0, + "chargeup": 5, "cooldown": 60, "base_properties": { "range": 10, diff --git a/src/main/resources/assets/ebwizardry/spells/cure_effects.json b/src/main/resources/assets/ebwizardry/spells/cure_effects.json index 5d9c7b3e..8121a2df 100644 --- a/src/main/resources/assets/ebwizardry/spells/cure_effects.json +++ b/src/main/resources/assets/ebwizardry/spells/cure_effects.json @@ -14,7 +14,7 @@ "element": "healing", "type": "defence", "cost": 25, - "chargeup": 0, + "chargeup": 10, "cooldown": 40, "base_properties": {} } \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/spells/curse_of_enfeeblement.json b/src/main/resources/assets/ebwizardry/spells/curse_of_enfeeblement.json index 8fbb4684..0f39a656 100644 --- a/src/main/resources/assets/ebwizardry/spells/curse_of_enfeeblement.json +++ b/src/main/resources/assets/ebwizardry/spells/curse_of_enfeeblement.json @@ -14,7 +14,7 @@ "element": "necromancy", "type": "alteration", "cost": 60, - "chargeup": 0, + "chargeup": 20, "cooldown": 150, "base_properties": { "range": 10, diff --git a/src/main/resources/assets/ebwizardry/spells/curse_of_soulbinding.json b/src/main/resources/assets/ebwizardry/spells/curse_of_soulbinding.json index 12adc02a..bfac23df 100644 --- a/src/main/resources/assets/ebwizardry/spells/curse_of_soulbinding.json +++ b/src/main/resources/assets/ebwizardry/spells/curse_of_soulbinding.json @@ -14,7 +14,7 @@ "element": "necromancy", "type": "alteration", "cost": 35, - "chargeup": 0, + "chargeup": 10, "cooldown": 100, "base_properties": { "range": 10 diff --git a/src/main/resources/assets/ebwizardry/spells/curse_of_undeath.json b/src/main/resources/assets/ebwizardry/spells/curse_of_undeath.json index f77ecc30..5e490e3f 100644 --- a/src/main/resources/assets/ebwizardry/spells/curse_of_undeath.json +++ b/src/main/resources/assets/ebwizardry/spells/curse_of_undeath.json @@ -14,7 +14,7 @@ "element": "necromancy", "type": "alteration", "cost": 40, - "chargeup": 0, + "chargeup": 10, "cooldown": 100, "base_properties": { "range": 10, diff --git a/src/main/resources/assets/ebwizardry/spells/decay.json b/src/main/resources/assets/ebwizardry/spells/decay.json index 1c3673ef..b2ca5024 100644 --- a/src/main/resources/assets/ebwizardry/spells/decay.json +++ b/src/main/resources/assets/ebwizardry/spells/decay.json @@ -14,7 +14,7 @@ "element": "necromancy", "type": "attack", "cost": 50, - "chargeup": 0, + "chargeup": 10, "cooldown": 200, "base_properties": { "range": 12, diff --git a/src/main/resources/assets/ebwizardry/spells/decoy.json b/src/main/resources/assets/ebwizardry/spells/decoy.json index 6d684c52..0a53ef69 100644 --- a/src/main/resources/assets/ebwizardry/spells/decoy.json +++ b/src/main/resources/assets/ebwizardry/spells/decoy.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "utility", "cost": 40, - "chargeup": 0, + "chargeup": 10, "cooldown": 200, "base_properties": { "decoy_lifetime": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/diamondflesh.json b/src/main/resources/assets/ebwizardry/spells/diamondflesh.json index 9a969105..2867ca12 100644 --- a/src/main/resources/assets/ebwizardry/spells/diamondflesh.json +++ b/src/main/resources/assets/ebwizardry/spells/diamondflesh.json @@ -14,7 +14,7 @@ "element": "healing", "type": "defence", "cost": 100, - "chargeup": 0, + "chargeup": 25, "cooldown": 300, "base_properties": { "resistance_duration": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/earthquake.json b/src/main/resources/assets/ebwizardry/spells/earthquake.json index 18401a07..90616d27 100644 --- a/src/main/resources/assets/ebwizardry/spells/earthquake.json +++ b/src/main/resources/assets/ebwizardry/spells/earthquake.json @@ -14,7 +14,7 @@ "element": "earth", "type": "attack", "cost": 75, - "chargeup": 0, + "chargeup": 25, "cooldown": 250, "base_properties": { "effect_radius": 8, diff --git a/src/main/resources/assets/ebwizardry/spells/entrapment.json b/src/main/resources/assets/ebwizardry/spells/entrapment.json index c6dc3d24..2e973aa7 100644 --- a/src/main/resources/assets/ebwizardry/spells/entrapment.json +++ b/src/main/resources/assets/ebwizardry/spells/entrapment.json @@ -14,7 +14,7 @@ "element": "necromancy", "type": "attack", "cost": 35, - "chargeup": 0, + "chargeup": 10, "cooldown": 75, "base_properties": { "range": 10, diff --git a/src/main/resources/assets/ebwizardry/spells/fire_breath.json b/src/main/resources/assets/ebwizardry/spells/fire_breath.json index aaf9401b..b89837e5 100644 --- a/src/main/resources/assets/ebwizardry/spells/fire_breath.json +++ b/src/main/resources/assets/ebwizardry/spells/fire_breath.json @@ -14,7 +14,7 @@ "element": "fire", "type": "attack", "cost": 15, - "chargeup": 0, + "chargeup": 15, "cooldown": 0, "base_properties": { "range": 10, diff --git a/src/main/resources/assets/ebwizardry/spells/fire_resistance.json b/src/main/resources/assets/ebwizardry/spells/fire_resistance.json index e143b964..2ac239a6 100644 --- a/src/main/resources/assets/ebwizardry/spells/fire_resistance.json +++ b/src/main/resources/assets/ebwizardry/spells/fire_resistance.json @@ -14,7 +14,7 @@ "element": "fire", "type": "defence", "cost": 20, - "chargeup": 0, + "chargeup": 15, "cooldown": 80, "base_properties": { "fire_resistance_duration": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/flaming_axe.json b/src/main/resources/assets/ebwizardry/spells/flaming_axe.json index cbfab3ec..3014de16 100644 --- a/src/main/resources/assets/ebwizardry/spells/flaming_axe.json +++ b/src/main/resources/assets/ebwizardry/spells/flaming_axe.json @@ -14,7 +14,7 @@ "element": "fire", "type": "utility", "cost": 45, - "chargeup": 0, + "chargeup": 10, "cooldown": 50, "base_properties": { "item_lifetime": 1200, diff --git a/src/main/resources/assets/ebwizardry/spells/font_of_mana.json b/src/main/resources/assets/ebwizardry/spells/font_of_mana.json index c4bac0d8..66da2de7 100644 --- a/src/main/resources/assets/ebwizardry/spells/font_of_mana.json +++ b/src/main/resources/assets/ebwizardry/spells/font_of_mana.json @@ -14,7 +14,7 @@ "element": "healing", "type": "utility", "cost": 100, - "chargeup": 0, + "chargeup": 15, "cooldown": 250, "base_properties": { "effect_radius": 5, diff --git a/src/main/resources/assets/ebwizardry/spells/font_of_vitality.json b/src/main/resources/assets/ebwizardry/spells/font_of_vitality.json index f858b6ed..4d486150 100644 --- a/src/main/resources/assets/ebwizardry/spells/font_of_vitality.json +++ b/src/main/resources/assets/ebwizardry/spells/font_of_vitality.json @@ -14,7 +14,7 @@ "element": "healing", "type": "defence", "cost": 75, - "chargeup": 0, + "chargeup": 20, "cooldown": 300, "base_properties": { "absorption_duration": 1200, diff --git a/src/main/resources/assets/ebwizardry/spells/forcefield.json b/src/main/resources/assets/ebwizardry/spells/forcefield.json index bb6cbf3a..9e34fe86 100644 --- a/src/main/resources/assets/ebwizardry/spells/forcefield.json +++ b/src/main/resources/assets/ebwizardry/spells/forcefield.json @@ -14,7 +14,7 @@ "element": "healing", "type": "defence", "cost": 45, - "chargeup": 0, + "chargeup": 15, "cooldown": 200, "base_properties": { "duration": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/forest_of_thorns.json b/src/main/resources/assets/ebwizardry/spells/forest_of_thorns.json index 4d5e2414..a8d44cad 100644 --- a/src/main/resources/assets/ebwizardry/spells/forest_of_thorns.json +++ b/src/main/resources/assets/ebwizardry/spells/forest_of_thorns.json @@ -14,7 +14,7 @@ "element": "earth", "type": "construct", "cost": 100, - "chargeup": 0, + "chargeup": 20, "cooldown": 250, "base_properties": { "effect_radius": 3, diff --git a/src/main/resources/assets/ebwizardry/spells/forests_curse.json b/src/main/resources/assets/ebwizardry/spells/forests_curse.json index 1e12f461..fb84dc46 100644 --- a/src/main/resources/assets/ebwizardry/spells/forests_curse.json +++ b/src/main/resources/assets/ebwizardry/spells/forests_curse.json @@ -14,7 +14,7 @@ "element": "earth", "type": "attack", "cost": 75, - "chargeup": 0, + "chargeup": 15, "cooldown": 200, "base_properties": { "effect_radius": 5, diff --git a/src/main/resources/assets/ebwizardry/spells/frost_axe.json b/src/main/resources/assets/ebwizardry/spells/frost_axe.json index e0d8912f..594de077 100644 --- a/src/main/resources/assets/ebwizardry/spells/frost_axe.json +++ b/src/main/resources/assets/ebwizardry/spells/frost_axe.json @@ -14,7 +14,7 @@ "element": "ice", "type": "utility", "cost": 45, - "chargeup": 0, + "chargeup": 10, "cooldown": 50, "base_properties": { "item_lifetime": 1200, diff --git a/src/main/resources/assets/ebwizardry/spells/greater_fireball.json b/src/main/resources/assets/ebwizardry/spells/greater_fireball.json index d94fc93c..8c2f6c44 100644 --- a/src/main/resources/assets/ebwizardry/spells/greater_fireball.json +++ b/src/main/resources/assets/ebwizardry/spells/greater_fireball.json @@ -14,7 +14,7 @@ "element": "fire", "type": "projectile", "cost": 20, - "chargeup": 0, + "chargeup": 5, "cooldown": 30, "base_properties": { "range": 20, diff --git a/src/main/resources/assets/ebwizardry/spells/greater_heal.json b/src/main/resources/assets/ebwizardry/spells/greater_heal.json index 5797115c..614285a5 100644 --- a/src/main/resources/assets/ebwizardry/spells/greater_heal.json +++ b/src/main/resources/assets/ebwizardry/spells/greater_heal.json @@ -14,7 +14,7 @@ "element": "healing", "type": "defence", "cost": 15, - "chargeup": 0, + "chargeup": 10, "cooldown": 40, "base_properties": { "health": 8 diff --git a/src/main/resources/assets/ebwizardry/spells/greater_ward.json b/src/main/resources/assets/ebwizardry/spells/greater_ward.json index 9fde216e..e3aecb09 100644 --- a/src/main/resources/assets/ebwizardry/spells/greater_ward.json +++ b/src/main/resources/assets/ebwizardry/spells/greater_ward.json @@ -14,7 +14,7 @@ "element": "healing", "type": "buff", "cost": 20, - "chargeup": 0, + "chargeup": 10, "cooldown": 65, "base_properties": { "ward_duration": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/group_heal.json b/src/main/resources/assets/ebwizardry/spells/group_heal.json index c1449e69..5ecaa49b 100644 --- a/src/main/resources/assets/ebwizardry/spells/group_heal.json +++ b/src/main/resources/assets/ebwizardry/spells/group_heal.json @@ -14,7 +14,7 @@ "element": "healing", "type": "defence", "cost": 35, - "chargeup": 0, + "chargeup": 10, "cooldown": 150, "base_properties": { "effect_radius": 5, diff --git a/src/main/resources/assets/ebwizardry/spells/hailstorm.json b/src/main/resources/assets/ebwizardry/spells/hailstorm.json index b7dd6e29..0d99a628 100644 --- a/src/main/resources/assets/ebwizardry/spells/hailstorm.json +++ b/src/main/resources/assets/ebwizardry/spells/hailstorm.json @@ -14,7 +14,7 @@ "element": "ice", "type": "attack", "cost": 75, - "chargeup": 0, + "chargeup": 20, "cooldown": 300, "base_properties": { "range": 20, diff --git a/src/main/resources/assets/ebwizardry/spells/healing_aura.json b/src/main/resources/assets/ebwizardry/spells/healing_aura.json index 18d81c27..44e855bf 100644 --- a/src/main/resources/assets/ebwizardry/spells/healing_aura.json +++ b/src/main/resources/assets/ebwizardry/spells/healing_aura.json @@ -14,7 +14,7 @@ "element": "healing", "type": "construct", "cost": 35, - "chargeup": 0, + "chargeup": 15, "cooldown": 150, "base_properties": { "duration": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/ice_age.json b/src/main/resources/assets/ebwizardry/spells/ice_age.json index f7befce5..1dcdc711 100644 --- a/src/main/resources/assets/ebwizardry/spells/ice_age.json +++ b/src/main/resources/assets/ebwizardry/spells/ice_age.json @@ -14,7 +14,7 @@ "element": "ice", "type": "attack", "cost": 70, - "chargeup": 0, + "chargeup": 20, "cooldown": 250, "base_properties": { "effect_radius": 7, diff --git a/src/main/resources/assets/ebwizardry/spells/ice_lance.json b/src/main/resources/assets/ebwizardry/spells/ice_lance.json index a259d9b1..1e99c6e7 100644 --- a/src/main/resources/assets/ebwizardry/spells/ice_lance.json +++ b/src/main/resources/assets/ebwizardry/spells/ice_lance.json @@ -14,7 +14,7 @@ "element": "ice", "type": "projectile", "cost": 20, - "chargeup": 0, + "chargeup": 5, "cooldown": 20, "base_properties": { "range": 15, diff --git a/src/main/resources/assets/ebwizardry/spells/invisibility.json b/src/main/resources/assets/ebwizardry/spells/invisibility.json index 04fe24b1..18a95b75 100644 --- a/src/main/resources/assets/ebwizardry/spells/invisibility.json +++ b/src/main/resources/assets/ebwizardry/spells/invisibility.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "buff", "cost": 35, - "chargeup": 0, + "chargeup": 15, "cooldown": 200, "base_properties": { "invisibility_duration": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/invoke_weather.json b/src/main/resources/assets/ebwizardry/spells/invoke_weather.json index 9c4ba918..2064207e 100644 --- a/src/main/resources/assets/ebwizardry/spells/invoke_weather.json +++ b/src/main/resources/assets/ebwizardry/spells/invoke_weather.json @@ -14,7 +14,7 @@ "element": "lightning", "type": "utility", "cost": 30, - "chargeup": 0, + "chargeup": 15, "cooldown": 100, "base_properties": { "thunderstorm_chance": 0.2 diff --git a/src/main/resources/assets/ebwizardry/spells/ironflesh.json b/src/main/resources/assets/ebwizardry/spells/ironflesh.json index 31a017a7..089f63bd 100644 --- a/src/main/resources/assets/ebwizardry/spells/ironflesh.json +++ b/src/main/resources/assets/ebwizardry/spells/ironflesh.json @@ -14,7 +14,7 @@ "element": "healing", "type": "defence", "cost": 30, - "chargeup": 0, + "chargeup": 15, "cooldown": 100, "base_properties": { "resistance_duration": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/lightning_bolt.json b/src/main/resources/assets/ebwizardry/spells/lightning_bolt.json index 9be2d4a5..716e6bd9 100644 --- a/src/main/resources/assets/ebwizardry/spells/lightning_bolt.json +++ b/src/main/resources/assets/ebwizardry/spells/lightning_bolt.json @@ -14,7 +14,7 @@ "element": "lightning", "type": "attack", "cost": 40, - "chargeup": 0, + "chargeup": 10, "cooldown": 80, "base_properties": { "range": 80 diff --git a/src/main/resources/assets/ebwizardry/spells/lightning_disc.json b/src/main/resources/assets/ebwizardry/spells/lightning_disc.json index fd2f9ff9..6d9f49f7 100644 --- a/src/main/resources/assets/ebwizardry/spells/lightning_disc.json +++ b/src/main/resources/assets/ebwizardry/spells/lightning_disc.json @@ -14,7 +14,7 @@ "element": "lightning", "type": "projectile", "cost": 25, - "chargeup": 0, + "chargeup": 5, "cooldown": 60, "base_properties": { "range": 30, diff --git a/src/main/resources/assets/ebwizardry/spells/lightning_hammer.json b/src/main/resources/assets/ebwizardry/spells/lightning_hammer.json index 3d93cbb4..3ebeb686 100644 --- a/src/main/resources/assets/ebwizardry/spells/lightning_hammer.json +++ b/src/main/resources/assets/ebwizardry/spells/lightning_hammer.json @@ -14,7 +14,7 @@ "element": "lightning", "type": "attack", "cost": 100, - "chargeup": 0, + "chargeup": 25, "cooldown": 300, "base_properties": { "range": 40, diff --git a/src/main/resources/assets/ebwizardry/spells/lightning_web.json b/src/main/resources/assets/ebwizardry/spells/lightning_web.json index cc16ee60..27929704 100644 --- a/src/main/resources/assets/ebwizardry/spells/lightning_web.json +++ b/src/main/resources/assets/ebwizardry/spells/lightning_web.json @@ -14,7 +14,7 @@ "element": "lightning", "type": "attack", "cost": 15, - "chargeup": 0, + "chargeup": 15, "cooldown": 0, "base_properties": { "primary_damage": 5, diff --git a/src/main/resources/assets/ebwizardry/spells/meteor.json b/src/main/resources/assets/ebwizardry/spells/meteor.json index d56985aa..aa27a909 100644 --- a/src/main/resources/assets/ebwizardry/spells/meteor.json +++ b/src/main/resources/assets/ebwizardry/spells/meteor.json @@ -14,7 +14,7 @@ "element": "fire", "type": "attack", "cost": 100, - "chargeup": 0, + "chargeup": 20, "cooldown": 200, "base_properties": { "range": 40, diff --git a/src/main/resources/assets/ebwizardry/spells/mind_control.json b/src/main/resources/assets/ebwizardry/spells/mind_control.json index e019a77f..bb3402c8 100644 --- a/src/main/resources/assets/ebwizardry/spells/mind_control.json +++ b/src/main/resources/assets/ebwizardry/spells/mind_control.json @@ -14,7 +14,7 @@ "element": "necromancy", "type": "attack", "cost": 40, - "chargeup": 0, + "chargeup": 10, "cooldown": 150, "base_properties": { "range": 8, diff --git a/src/main/resources/assets/ebwizardry/spells/paralysis.json b/src/main/resources/assets/ebwizardry/spells/paralysis.json index 8691b64b..226df1e6 100644 --- a/src/main/resources/assets/ebwizardry/spells/paralysis.json +++ b/src/main/resources/assets/ebwizardry/spells/paralysis.json @@ -14,7 +14,7 @@ "element": "lightning", "type": "alteration", "cost": 20, - "chargeup": 0, + "chargeup": 10, "cooldown": 60, "base_properties": { "range": 10, diff --git a/src/main/resources/assets/ebwizardry/spells/petrify.json b/src/main/resources/assets/ebwizardry/spells/petrify.json index 9add942a..53ff72d4 100644 --- a/src/main/resources/assets/ebwizardry/spells/petrify.json +++ b/src/main/resources/assets/ebwizardry/spells/petrify.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "attack", "cost": 40, - "chargeup": 0, + "chargeup": 20, "cooldown": 100, "base_properties": { "range": 10, diff --git a/src/main/resources/assets/ebwizardry/spells/plague_of_darkness.json b/src/main/resources/assets/ebwizardry/spells/plague_of_darkness.json index 3da3cc81..d3d4d1ff 100644 --- a/src/main/resources/assets/ebwizardry/spells/plague_of_darkness.json +++ b/src/main/resources/assets/ebwizardry/spells/plague_of_darkness.json @@ -14,7 +14,7 @@ "element": "necromancy", "type": "attack", "cost": 75, - "chargeup": 0, + "chargeup": 15, "cooldown": 200, "base_properties": { "effect_radius": 5, diff --git a/src/main/resources/assets/ebwizardry/spells/possession.json b/src/main/resources/assets/ebwizardry/spells/possession.json index ade443bb..2ef90fee 100644 --- a/src/main/resources/assets/ebwizardry/spells/possession.json +++ b/src/main/resources/assets/ebwizardry/spells/possession.json @@ -14,7 +14,7 @@ "element": "necromancy", "type": "alteration", "cost": 100, - "chargeup": 0, + "chargeup": 15, "cooldown": 300, "base_properties": { "range": 8, diff --git a/src/main/resources/assets/ebwizardry/spells/ray_of_purification.json b/src/main/resources/assets/ebwizardry/spells/ray_of_purification.json index 940eb3e5..ee5b3f02 100644 --- a/src/main/resources/assets/ebwizardry/spells/ray_of_purification.json +++ b/src/main/resources/assets/ebwizardry/spells/ray_of_purification.json @@ -14,7 +14,7 @@ "element": "healing", "type": "attack", "cost": 10, - "chargeup": 0, + "chargeup": 10, "cooldown": 0, "base_properties": { "range": 10, diff --git a/src/main/resources/assets/ebwizardry/spells/remove_curse.json b/src/main/resources/assets/ebwizardry/spells/remove_curse.json index ca69c0bf..dce3fb10 100644 --- a/src/main/resources/assets/ebwizardry/spells/remove_curse.json +++ b/src/main/resources/assets/ebwizardry/spells/remove_curse.json @@ -14,7 +14,7 @@ "element": "healing", "type": "defence", "cost": 50, - "chargeup": 0, + "chargeup": 20, "cooldown": 80, "base_properties": {} } \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/spells/resurrection.json b/src/main/resources/assets/ebwizardry/spells/resurrection.json index 402e2f2d..d9124f5f 100644 --- a/src/main/resources/assets/ebwizardry/spells/resurrection.json +++ b/src/main/resources/assets/ebwizardry/spells/resurrection.json @@ -14,7 +14,7 @@ "element": "healing", "type": "alteration", "cost": 150, - "chargeup": 0, + "chargeup": 25, "cooldown": 400, "base_properties": { "effect_radius": 8, diff --git a/src/main/resources/assets/ebwizardry/spells/ring_of_fire.json b/src/main/resources/assets/ebwizardry/spells/ring_of_fire.json index 79f7510e..4b31b96a 100644 --- a/src/main/resources/assets/ebwizardry/spells/ring_of_fire.json +++ b/src/main/resources/assets/ebwizardry/spells/ring_of_fire.json @@ -14,7 +14,7 @@ "element": "fire", "type": "construct", "cost": 30, - "chargeup": 0, + "chargeup": 10, "cooldown": 100, "base_properties": { "duration": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/satiety.json b/src/main/resources/assets/ebwizardry/spells/satiety.json index 06dc1140..a28a120e 100644 --- a/src/main/resources/assets/ebwizardry/spells/satiety.json +++ b/src/main/resources/assets/ebwizardry/spells/satiety.json @@ -14,7 +14,7 @@ "element": "healing", "type": "buff", "cost": 40, - "chargeup": 0, + "chargeup": 15, "cooldown": 50, "base_properties": { "hunger_points": 16, diff --git a/src/main/resources/assets/ebwizardry/spells/shockwave.json b/src/main/resources/assets/ebwizardry/spells/shockwave.json index c2fbf6dd..c84556dc 100644 --- a/src/main/resources/assets/ebwizardry/spells/shockwave.json +++ b/src/main/resources/assets/ebwizardry/spells/shockwave.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "attack", "cost": 65, - "chargeup": 0, + "chargeup": 20, "cooldown": 150, "base_properties": { "blast_radius": 5, diff --git a/src/main/resources/assets/ebwizardry/spells/silverfish_swarm.json b/src/main/resources/assets/ebwizardry/spells/silverfish_swarm.json index 9390042c..8bf95392 100644 --- a/src/main/resources/assets/ebwizardry/spells/silverfish_swarm.json +++ b/src/main/resources/assets/ebwizardry/spells/silverfish_swarm.json @@ -14,7 +14,7 @@ "element": "earth", "type": "minion", "cost": 80, - "chargeup": 0, + "chargeup": 20, "cooldown": 300, "base_properties": { "minion_lifetime": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/slow_time.json b/src/main/resources/assets/ebwizardry/spells/slow_time.json index ec7eee50..0f4b666d 100644 --- a/src/main/resources/assets/ebwizardry/spells/slow_time.json +++ b/src/main/resources/assets/ebwizardry/spells/slow_time.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "alteration", "cost": 100, - "chargeup": 0, + "chargeup": 15, "cooldown": 200, "base_properties": { "slow_time_duration": 300, diff --git a/src/main/resources/assets/ebwizardry/spells/spectral_pathway.json b/src/main/resources/assets/ebwizardry/spells/spectral_pathway.json index 0e775f40..a7a91e1e 100644 --- a/src/main/resources/assets/ebwizardry/spells/spectral_pathway.json +++ b/src/main/resources/assets/ebwizardry/spells/spectral_pathway.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "utility", "cost": 40, - "chargeup": 0, + "chargeup": 15, "cooldown": 300, "base_properties": { "length": 25, diff --git a/src/main/resources/assets/ebwizardry/spells/spider_swarm.json b/src/main/resources/assets/ebwizardry/spells/spider_swarm.json index ffdc4197..c6358c95 100644 --- a/src/main/resources/assets/ebwizardry/spells/spider_swarm.json +++ b/src/main/resources/assets/ebwizardry/spells/spider_swarm.json @@ -14,7 +14,7 @@ "element": "earth", "type": "minion", "cost": 45, - "chargeup": 0, + "chargeup": 10, "cooldown": 200, "base_properties": { "minion_lifetime": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/stormcloud.json b/src/main/resources/assets/ebwizardry/spells/stormcloud.json index 20a33a0a..96711f1a 100644 --- a/src/main/resources/assets/ebwizardry/spells/stormcloud.json +++ b/src/main/resources/assets/ebwizardry/spells/stormcloud.json @@ -14,7 +14,7 @@ "element": "lightning", "type": "construct", "cost": 60, - "chargeup": 0, + "chargeup": 10, "cooldown": 150, "base_properties": { "duration": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/summon_blaze.json b/src/main/resources/assets/ebwizardry/spells/summon_blaze.json index 7621260f..cd3707e6 100644 --- a/src/main/resources/assets/ebwizardry/spells/summon_blaze.json +++ b/src/main/resources/assets/ebwizardry/spells/summon_blaze.json @@ -14,7 +14,7 @@ "element": "fire", "type": "minion", "cost": 40, - "chargeup": 0, + "chargeup": 10, "cooldown": 200, "base_properties": { "minion_lifetime": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/summon_ice_giant.json b/src/main/resources/assets/ebwizardry/spells/summon_ice_giant.json index 810f0c67..92738b1a 100644 --- a/src/main/resources/assets/ebwizardry/spells/summon_ice_giant.json +++ b/src/main/resources/assets/ebwizardry/spells/summon_ice_giant.json @@ -14,7 +14,7 @@ "element": "ice", "type": "minion", "cost": 100, - "chargeup": 0, + "chargeup": 20, "cooldown": 400, "base_properties": { "minion_lifetime": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/summon_ice_wraith.json b/src/main/resources/assets/ebwizardry/spells/summon_ice_wraith.json index 934b94b6..77a51efe 100644 --- a/src/main/resources/assets/ebwizardry/spells/summon_ice_wraith.json +++ b/src/main/resources/assets/ebwizardry/spells/summon_ice_wraith.json @@ -14,7 +14,7 @@ "element": "ice", "type": "minion", "cost": 40, - "chargeup": 0, + "chargeup": 10, "cooldown": 200, "base_properties": { "minion_lifetime": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/summon_iron_golem.json b/src/main/resources/assets/ebwizardry/spells/summon_iron_golem.json index 01991e04..fca50afc 100644 --- a/src/main/resources/assets/ebwizardry/spells/summon_iron_golem.json +++ b/src/main/resources/assets/ebwizardry/spells/summon_iron_golem.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "minion", "cost": 175, - "chargeup": 0, + "chargeup": 20, "cooldown": 400, "base_properties": { "summon_radius": 2 diff --git a/src/main/resources/assets/ebwizardry/spells/summon_lightning_wraith.json b/src/main/resources/assets/ebwizardry/spells/summon_lightning_wraith.json index e04aa12b..b2baf94e 100644 --- a/src/main/resources/assets/ebwizardry/spells/summon_lightning_wraith.json +++ b/src/main/resources/assets/ebwizardry/spells/summon_lightning_wraith.json @@ -14,7 +14,7 @@ "element": "lightning", "type": "minion", "cost": 40, - "chargeup": 0, + "chargeup": 10, "cooldown": 200, "base_properties": { "minion_lifetime": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/summon_phoenix.json b/src/main/resources/assets/ebwizardry/spells/summon_phoenix.json index 13664fcf..827beb31 100644 --- a/src/main/resources/assets/ebwizardry/spells/summon_phoenix.json +++ b/src/main/resources/assets/ebwizardry/spells/summon_phoenix.json @@ -14,7 +14,7 @@ "element": "fire", "type": "minion", "cost": 150, - "chargeup": 0, + "chargeup": 20, "cooldown": 400, "base_properties": { "minion_lifetime": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/summon_shadow_wraith.json b/src/main/resources/assets/ebwizardry/spells/summon_shadow_wraith.json index e699bf4b..2c30faaa 100644 --- a/src/main/resources/assets/ebwizardry/spells/summon_shadow_wraith.json +++ b/src/main/resources/assets/ebwizardry/spells/summon_shadow_wraith.json @@ -14,7 +14,7 @@ "element": "necromancy", "type": "minion", "cost": 100, - "chargeup": 0, + "chargeup": 20, "cooldown": 400, "base_properties": { "minion_lifetime": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/summon_skeleton_legion.json b/src/main/resources/assets/ebwizardry/spells/summon_skeleton_legion.json index 3bc7f2a8..524a1c3f 100644 --- a/src/main/resources/assets/ebwizardry/spells/summon_skeleton_legion.json +++ b/src/main/resources/assets/ebwizardry/spells/summon_skeleton_legion.json @@ -14,7 +14,7 @@ "element": "necromancy", "type": "minion", "cost": 100, - "chargeup": 0, + "chargeup": 20, "cooldown": 400, "base_properties": { "minion_lifetime": 1200, diff --git a/src/main/resources/assets/ebwizardry/spells/summon_spirit_horse.json b/src/main/resources/assets/ebwizardry/spells/summon_spirit_horse.json index 73b29590..55e5a9ff 100644 --- a/src/main/resources/assets/ebwizardry/spells/summon_spirit_horse.json +++ b/src/main/resources/assets/ebwizardry/spells/summon_spirit_horse.json @@ -14,7 +14,7 @@ "element": "earth", "type": "minion", "cost": 50, - "chargeup": 0, + "chargeup": 10, "cooldown": 150, "base_properties": { "summon_radius": 2 diff --git a/src/main/resources/assets/ebwizardry/spells/summon_storm_elemental.json b/src/main/resources/assets/ebwizardry/spells/summon_storm_elemental.json index 02c1f50d..51d117d6 100644 --- a/src/main/resources/assets/ebwizardry/spells/summon_storm_elemental.json +++ b/src/main/resources/assets/ebwizardry/spells/summon_storm_elemental.json @@ -14,7 +14,7 @@ "element": "lightning", "type": "minion", "cost": 100, - "chargeup": 0, + "chargeup": 20, "cooldown": 400, "base_properties": { "minion_lifetime": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/summon_wither_skeleton.json b/src/main/resources/assets/ebwizardry/spells/summon_wither_skeleton.json index f16431f2..c1e77a0d 100644 --- a/src/main/resources/assets/ebwizardry/spells/summon_wither_skeleton.json +++ b/src/main/resources/assets/ebwizardry/spells/summon_wither_skeleton.json @@ -14,7 +14,7 @@ "element": "necromancy", "type": "minion", "cost": 35, - "chargeup": 0, + "chargeup": 10, "cooldown": 150, "base_properties": { "minion_lifetime": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/thunderstorm.json b/src/main/resources/assets/ebwizardry/spells/thunderstorm.json index c414078e..5df426ea 100644 --- a/src/main/resources/assets/ebwizardry/spells/thunderstorm.json +++ b/src/main/resources/assets/ebwizardry/spells/thunderstorm.json @@ -14,7 +14,7 @@ "element": "lightning", "type": "attack", "cost": 100, - "chargeup": 0, + "chargeup": 20, "cooldown": 250, "base_properties": { "effect_radius": 10, diff --git a/src/main/resources/assets/ebwizardry/spells/tornado.json b/src/main/resources/assets/ebwizardry/spells/tornado.json index 87d8cfbd..e62b097f 100644 --- a/src/main/resources/assets/ebwizardry/spells/tornado.json +++ b/src/main/resources/assets/ebwizardry/spells/tornado.json @@ -14,7 +14,7 @@ "element": "earth", "type": "attack", "cost": 35, - "chargeup": 0, + "chargeup": 10, "cooldown": 80, "base_properties": { "duration": 200, diff --git a/src/main/resources/assets/ebwizardry/spells/transience.json b/src/main/resources/assets/ebwizardry/spells/transience.json index ff5886c2..651eae30 100644 --- a/src/main/resources/assets/ebwizardry/spells/transience.json +++ b/src/main/resources/assets/ebwizardry/spells/transience.json @@ -14,7 +14,7 @@ "element": "healing", "type": "buff", "cost": 50, - "chargeup": 0, + "chargeup": 15, "cooldown": 100, "base_properties": { "effect_duration": 400 diff --git a/src/main/resources/assets/ebwizardry/spells/transportation.json b/src/main/resources/assets/ebwizardry/spells/transportation.json index 0dbfcbfb..8ba20ce8 100644 --- a/src/main/resources/assets/ebwizardry/spells/transportation.json +++ b/src/main/resources/assets/ebwizardry/spells/transportation.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "utility", "cost": 100, - "chargeup": 0, + "chargeup": 20, "cooldown": 100, "base_properties": { "teleport_countdown": 75 diff --git a/src/main/resources/assets/ebwizardry/spells/vanishing_box.json b/src/main/resources/assets/ebwizardry/spells/vanishing_box.json index c6e1eab5..aff160d6 100644 --- a/src/main/resources/assets/ebwizardry/spells/vanishing_box.json +++ b/src/main/resources/assets/ebwizardry/spells/vanishing_box.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "utility", "cost": 45, - "chargeup": 0, + "chargeup": 10, "cooldown": 70, "base_properties": {} } \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/spells/vex_swarm.json b/src/main/resources/assets/ebwizardry/spells/vex_swarm.json index e54c7cc3..7c7c5f09 100644 --- a/src/main/resources/assets/ebwizardry/spells/vex_swarm.json +++ b/src/main/resources/assets/ebwizardry/spells/vex_swarm.json @@ -14,7 +14,7 @@ "element": "sorcery", "type": "minion", "cost": 50, - "chargeup": 0, + "chargeup": 10, "cooldown": 200, "base_properties": { "minion_lifetime": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/wall_of_frost.json b/src/main/resources/assets/ebwizardry/spells/wall_of_frost.json index 87e3daf6..844c2150 100644 --- a/src/main/resources/assets/ebwizardry/spells/wall_of_frost.json +++ b/src/main/resources/assets/ebwizardry/spells/wall_of_frost.json @@ -14,7 +14,7 @@ "element": "ice", "type": "utility", "cost": 15, - "chargeup": 0, + "chargeup": 15, "cooldown": 0, "base_properties": { "duration": 600, diff --git a/src/main/resources/assets/ebwizardry/spells/water_breathing.json b/src/main/resources/assets/ebwizardry/spells/water_breathing.json index 9cee0e43..cb03821e 100644 --- a/src/main/resources/assets/ebwizardry/spells/water_breathing.json +++ b/src/main/resources/assets/ebwizardry/spells/water_breathing.json @@ -14,7 +14,7 @@ "element": "earth", "type": "buff", "cost": 30, - "chargeup": 0, + "chargeup": 15, "cooldown": 250, "base_properties": { "water_breathing_duration": 1200, diff --git a/src/main/resources/assets/ebwizardry/spells/wither_skull.json b/src/main/resources/assets/ebwizardry/spells/wither_skull.json index e1bc8083..a8fca3bb 100644 --- a/src/main/resources/assets/ebwizardry/spells/wither_skull.json +++ b/src/main/resources/assets/ebwizardry/spells/wither_skull.json @@ -14,7 +14,7 @@ "element": "necromancy", "type": "attack", "cost": 20, - "chargeup": 0, + "chargeup": 5, "cooldown": 30, "base_properties": { "acceleration": 0.1 diff --git a/src/main/resources/assets/ebwizardry/spells/zombie_apocalypse.json b/src/main/resources/assets/ebwizardry/spells/zombie_apocalypse.json index 0b565af8..d6686e9e 100644 --- a/src/main/resources/assets/ebwizardry/spells/zombie_apocalypse.json +++ b/src/main/resources/assets/ebwizardry/spells/zombie_apocalypse.json @@ -14,7 +14,7 @@ "element": "necromancy", "type": "construct", "cost": 150, - "chargeup": 0, + "chargeup": 25, "cooldown": 300, "base_properties": { "duration": 500, diff --git a/src/main/resources/assets/ebwizardry/textures/gui/spell_charge_meter.png b/src/main/resources/assets/ebwizardry/textures/gui/spell_charge_meter.png new file mode 100644 index 00000000..dd8b6019 Binary files /dev/null and b/src/main/resources/assets/ebwizardry/textures/gui/spell_charge_meter.png differ