WinDanesz / AncientSpellcraft

An extension mod for the Electroblob's Wizardry Minecraft 1.12.2 mod
https://www.curseforge.com/minecraft/mc-mods/ancient-spellcraft
GNU General Public License v3.0
7 stars 15 forks source link

[Bug] Ancient Spellcraft config for mana cost for a basic hit is not set to 0 by default (and doesn't show that it's allowed in the range) #228

Open KnightCa opened 10 months ago

KnightCa commented 10 months ago

Is there an existing issue for this?

Observed behaviour

From the Ancient Spellcraft config:

    # The amount of mana required & consumed when the spellblade is used to hit a target, based on the tier of the blade
    # Example: if the cost is 5, a novice blade will consume 5 mana, an apprentice sword will consume 2x5 mana, a master blade will consume 20 mana
    # Min: 1
    # Max: 100
    I:"Spellblade base hit mana cost per tier"=5

The mana cost can be set to 0, although it's not listed in the range.

Expected behaviour

I expected the range for mana cost per basic hit to be from 0 to 100, the default to be 0, and the default to be listed in the comment section (would be nice to have the defaults mentioned for each section).

    # The base damage of spellblades, not accounting for the tiers
    # Min: 1
    # Max: 32
    # Default: 2
    I:"Spellblade base damage"=2

    # The damage increase per tier of the spellblade
    # Min: 1
    # Max: 6
    # Default: 1
    I:"Spellblade damage increase per tier"=1

    # The amount of mana required & consumed when the spellblade is used to hit a target, based on the tier of the blade
    # Example: if the cost is 5, a novice blade will consume 5 mana, an apprentice sword will consume 2x5 mana, a master blade will consume 20 mana
    # Min: 0
    # Max: 100
    # Default: 0
    I:"Spellblade base hit mana cost per tier"=0

    # The amount of charge received for each hit with the spellblade
    # Min: 0
    # Max: 100
    # Default: 5
    I:"Spellblade charge progress per hit"=5

    # The amount of charge received for each spellcasts with the spellblade
    # Min: 0
    # Max: 100
    # Default: 20
    I:"Spellblade charge progress per spellcast"=20

Steps to reproduce

  1. Open the Ancient Spellcraft config file and look at the default basic mana cost of a spellblade hit and it's listed range.
  2. Note that the range has 1 as a minimum and is set to 5 by default.

Environment (Singleplayer/Server, etc.)

Issue present on both sides

Mod version

1.5.11-PreRelease-4f214c5

Forge version

1.12.2-forge-14.23.5.2860

Other mods

No response

KnightCa commented 10 months ago

Note that the "Spellblade base hit mana cost per tier" entry (as well as the mana cost for any Melee upgrades) are ignored when using a Spell Blade (with no Storage upgrades) and Runic Shield (can have Storage upgrades).

While using a Spell Blade with Storage upgrades (so that it can be used when the Runic Shield is unavailable or when it is out of mana), then this entry does apply (as well as the mana cost for any Melee upgrades).

Best solution would seem to be making it so that if a Spell Blade has a source of mana (either a Storage upgrade or a off-hand Wand or a Runic Shield), then basic attacks ignore the config mana cost (as well as the mana cost for any Melee upgrades).

This way, a player can choose if they want to go the:

  1. Spell Blade with Storage upgrade and Secondary Weapon: great damage potential when installed mods allow two-weapon fighting. Downside is that mana is very low (maybe 288 mana).
  2. Spell Blade with no Storage upgrade and off-hand Wand: high mana potential, great versatility between melee and ranged attacks (wand is right-click, spell blade is shift-right click to cast)
  3. Spell Blade with no Storage upgrade and Runic Shield: allows Spell Blade upgrades to focus on boosting spells abilities and provides access to the wide range of options found on Runic Shields
  4. Spell Blade with Storage upgrade and Runic Shield: Spell Blade can still be fully effective for basic attacks due to its own mana supply when Runic Shield is lost (perhaps a mobs special disarm ability or through player death and needing to recover the item) or hasn't been gained yet.
WinDanesz commented 10 months ago

I feel like this is becoming way more complicated than it should be for players. For now, I've added these setting & values. This way its a lot simpler as the blade will always have some durability (unless configured otherwise..).

        @Config.Name("Spellblade basic attack mana cost")
        @Config.Comment("The amount of mana required & consumed when the spellblade is used to hit a target")
        @Config.RequiresMcRestart
        @Config.RangeInt(min = 0, max = 100)
        public int spellblade_base_mana_cost = 1;

        @Config.Name("Spellblade base mana per tier")
        @Config.Comment("The amount of mana a spell blade has by default for each tier,")
        @Config.RequiresMcRestart
        public int[] spell_blade_base_mana_per_tier = {150, 300, 600, 900};