Correcting more classic Item Maker inconsistencies

Post here if you need help getting started with Daggerfall Unity or just want to clarify a potential bug. Questions about playing or modding classic Daggerfall should be posted to Community.
User avatar
mikeprichard
Posts: 1037
Joined: Sun Feb 19, 2017 6:49 pm

Correcting more classic Item Maker inconsistencies

Post by mikeprichard »

DFU already corrects a couple classic Daggerfall Item Maker inconsistencies:

1) In classic Daggerfall, the "Potent Vs" enchantment may be applied to items other than weapons, even though the enchantment will have no effect for those items. DFU corrects this by simply not listing this enchantment in the Item Maker UI for non-weapon items.
2) In classic Daggerfall, the "Soul Bound" enchantment is listed in the Item Maker UI even when no filled soul gems are in the player's inventory. DFU improves the UI by simply not listing this enchantment in the Item Maker UI when no filled soul gem is present.

I'd like to request that two other similar classic Daggerfall Item Maker inconsistencies be corrected in base DFU as well:

1) "Cast When Strikes" should only be listed in the Item Maker UI for weapons.
2) "Vampiric Effect: When Strikes" should only be listed in the Item Maker UI for weapons.

Finally, "Vampiric Effect: At Range" seems generally broken in both DFU and classic Daggerfall. I've enchanted all types of enchantable items (i.e. weapons, armor, clothes, and miscellaneous such as gems and amulets) with this effect in both games, and can't seem to use the items to apply the effect either from within the inventory ("Use" button) or from the main gameplay screen ("Use Magic Item" keybind - pressing the key gives no message in classic Daggerfall, and the message "You have no usable magic item" in DFU, whether or not I have the items equipped or only in my inventory). Similar apparently unreliable behavior occurs (at least in classic Daggerfall, and possibly in DFU) with some other "use"-type enchanted items ("Cast When Used" and "Health Leech: Whenever Used"). Any help/feedback would be appreciated.

User avatar
pango
Posts: 3347
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Correcting more classic Item Maker inconsistencies

Post by pango »

Fixing the first two should only require modifying enchantment flags to add ItemMakerFlags.WeaponOnly:

Code: Select all

diff --git a/Assets/Scripts/Game/MagicAndEffects/Effects/Enchanting/CastWhenStrikes.cs b/Assets/Scripts/Game/MagicAndEffects/Effects/Enchanting/CastWhenStrikes.cs
index 32a139c1f..e8fca9972 100644
--- a/Assets/Scripts/Game/MagicAndEffects/Effects/Enchanting/CastWhenStrikes.cs
+++ b/Assets/Scripts/Game/MagicAndEffects/Effects/Enchanting/CastWhenStrikes.cs
@@ -35,7 +35,7 @@ namespace DaggerfallWorkshop.Game.MagicAndEffects.MagicEffects
             properties.GroupName = TextManager.Instance.GetText(textDatabase, EffectKey);
             properties.ShowSpellIcon = false;
             properties.AllowedCraftingStations = MagicCraftingStations.ItemMaker;
-            properties.ItemMakerFlags = ItemMakerFlags.AllowMultiplePrimaryInstances | ItemMakerFlags.AlphaSortSecondaryList;
+            properties.ItemMakerFlags = ItemMakerFlags.AllowMultiplePrimaryInstances | ItemMakerFlags.AlphaSortSecondaryList | ItemMakerFlags.WeaponOnly;
             properties.EnchantmentPayloadFlags = EnchantmentPayloadFlags.Strikes;
         }
 
diff --git a/Assets/Scripts/Game/MagicAndEffects/Effects/Enchanting/VampiricEffect.cs b/Assets/Scripts/Game/MagicAndEffects/Effects/Enchanting/VampiricEffect.cs
index 147712743..973749f50 100644
--- a/Assets/Scripts/Game/MagicAndEffects/Effects/Enchanting/VampiricEffect.cs
+++ b/Assets/Scripts/Game/MagicAndEffects/Effects/Enchanting/VampiricEffect.cs
@@ -33,7 +33,7 @@ namespace DaggerfallWorkshop.Game.MagicAndEffects.MagicEffects
             properties.GroupName = TextManager.Instance.GetText(textDatabase, EffectKey);
             properties.ShowSpellIcon = false;
             properties.AllowedCraftingStations = MagicCraftingStations.ItemMaker;
-            properties.ItemMakerFlags = ItemMakerFlags.AllowMultiplePrimaryInstances;
+            properties.ItemMakerFlags = ItemMakerFlags.AllowMultiplePrimaryInstances | ItemMakerFlags.WeaponOnly;
             properties.EnchantmentPayloadFlags = EnchantmentPayloadFlags.Held | EnchantmentPayloadFlags.Strikes;
         }
 
Not sure about the others...
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Correcting more classic Item Maker inconsistencies

Post by Interkarma »

mikeprichard wrote: Sat Apr 11, 2020 9:32 pm Finally, "Vampiric Effect: At Range" seems generally broken in both DFU and classic Daggerfall.
Vampiric Effect at Range passively transfers 1 point of health from a nearby enemy to player every 4 magic rounds (ticks every 20 real-time seconds). You need to be within about melee range for effect to operate.

It's a minor effect that will trickle away a little bit of health. Because you need to be right next to an enemy, you're most likely going to be in a fight and kill them with melee before Vampiric Effect at Range has any appreciable effect. It does stack however (every item contributes to overall drain every 4 rounds) so it might be effective if you enchant several slots on a close-range fighter character.

So yeah, pretty ordinary overall. As a player, I much prefer smacking monsters with Vampiric Effect on Strike. It costs less EP and gives me a more direct result.

User avatar
mikeprichard
Posts: 1037
Joined: Sun Feb 19, 2017 6:49 pm

Re: Correcting more classic Item Maker inconsistencies

Post by mikeprichard »

Oh, I didn't know it worked that way - thanks; this is helpful.

I've also now confirmed that items enchanted with "Health Leech: Whenever Used" aren't listed in the "Use Magic Items" pop-up, but can be used from within the inventory. However, a) this is consistent with classic, and b) I assume this being a "side effect"/disadvantageous enchantment as opposed to a "power"/advantageous custom enchantment like the "Cast When Used" options, this is intentional: you're not likely to want to use an item to damage yourself, though the damage will happen when that enchantment is on the same item as other useful enchantments.

So, I guess if Pango or another dev would please do the two quick UI fixes I suggested in the top post (i.e. remove the "Cast When Strikes" and "Vampiric Effect: When Strikes" options from the Item Maker UI for all items other than weapons), that should cover it. Thanks again, all!

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Correcting more classic Item Maker inconsistencies

Post by Interkarma »

Only items enchanted with "Cast When Used" specifically are visible to the Use Item popup. These are just regular spells the player can cast from an item.

By comparison, "Health Leech Whenever Used" is a embedded effect, not a spell. The concept of "use" here is variable. I break this down in detail in the following reddit post, if that helps.

https://www.reddit.com/r/Daggerfall/com ... ment_work/

User avatar
mikeprichard
Posts: 1037
Joined: Sun Feb 19, 2017 6:49 pm

Re: Correcting more classic Item Maker inconsistencies

Post by mikeprichard »

Thanks for the link; as I mentioned above, this makes sense. However, note that in the reddit post you stated the "Health Leech: Whenever Used" enchantment damages you by 8 points when used, but in game the damage is in fact 16 points/use. The 16-point tick is consistent with classic.

It sounds like Pango is handling my two requests from above, so that should do it. Still learning a lot about a 24-year-old game!

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Correcting more classic Item Maker inconsistencies

Post by Interkarma »

Just to clarify that one, it's 8 points on striking with weapon and 16 points on casting a spell from item. You're right that I neglected to cover that in the reddit post.

User avatar
mikeprichard
Posts: 1037
Joined: Sun Feb 19, 2017 6:49 pm

Re: Correcting more classic Item Maker inconsistencies

Post by mikeprichard »

Ah - how could I think anything in Daggerfall was that simple? :lol: And there is no "Health Leech" enchantment for weapon strikes, so I assume you're talking about something else with the 8-point tick - maybe that's the Vampiric Effect on-strike advantage health increase value, which I was also curious about?

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Correcting more classic Item Maker inconsistencies

Post by Interkarma »

If you enchant a weapon with Health Leech Whenever Used, striking with that weapon is considered use and leeches 8 points as I outline above.

The concept of "use" doesn't just stop at clicking the Use button. It also means operating that item.

User avatar
mikeprichard
Posts: 1037
Joined: Sun Feb 19, 2017 6:49 pm

Re: Correcting more classic Item Maker inconsistencies

Post by mikeprichard »

Oh, right again - sorry, I need to read more closely. That's unexpected - will again update the UESP page (Daggerfall:Enchanting Items) accordingly.

Post Reply