Page 1 of 3

Correcting more classic Item Maker inconsistencies

Posted: Sat Apr 11, 2020 9:32 pm
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.

Re: Correcting more classic Item Maker inconsistencies

Posted: Sat Apr 11, 2020 11:24 pm
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...

Re: Correcting more classic Item Maker inconsistencies

Posted: Sun Apr 12, 2020 1:07 am
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.

Re: Correcting more classic Item Maker inconsistencies

Posted: Sun Apr 12, 2020 2:16 am
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!

Re: Correcting more classic Item Maker inconsistencies

Posted: Sun Apr 12, 2020 2:21 am
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/

Re: Correcting more classic Item Maker inconsistencies

Posted: Sun Apr 12, 2020 2:32 am
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!

Re: Correcting more classic Item Maker inconsistencies

Posted: Sun Apr 12, 2020 2:44 am
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.

Re: Correcting more classic Item Maker inconsistencies

Posted: Sun Apr 12, 2020 2:49 am
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?

Re: Correcting more classic Item Maker inconsistencies

Posted: Sun Apr 12, 2020 2:53 am
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.

Re: Correcting more classic Item Maker inconsistencies

Posted: Sun Apr 12, 2020 2:54 am
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.