Jump to content

Item set bonuses


xTrogdorx

Recommended Posts

So I got the idea to make my own armor set, and then while doing so I decided I wanted to add an extra effect (fortify shout cooldown) that would only trigger if you were wearing all 6 pieces (I included the jewelry as part of the set). The Dark Brotherhood set is an example of this; the armor set applies a 25% armor bonus if you are wearing all 4 pieces so I used this as a guide.

 

So I made the keyword TrogdorArmorSet and added it to all 6 pieces of the armor. I then created a new spell, TrogdorFullset, with the same parameters as the DBFullSet spell, except obviously I renamed it and replaced

S WornApparelHasKeywordCount Keyword: ArmorDarkBrotherhood == 4 AND

with

S WornApparelHasKeywordCount Keyword: TrogdorArmorSet == 6 AND

and the set's effect to be EnchFortifyShoutTimerConstantSelf magnitude 1.00.

 

From what I know, everything looks correct and it seems like it should work. But it doesn't; When I put all the set's pieces on, the set bonus does not appear in the active effects and I don't get the set bonus shout reduction.

 

I could just add the shout cooldown effect to one of the armor enchantments, but I'd like to see if I can get this to work. Am I forgetting a step like adding a trigger to activate the spell, which would then check for keywords? Or will it not check jewelry for keywords and it's failing because it's looking for 6 and can only find 4?

 

One more thing to note, when I go to edit the condition for the fortify shout effect, it comes up with a warning. Quests: Failed to get owner quest for unowned conditions.

 

Edit: Hmm. Upon further investigation there does seem to be more to this than I thought. I noticed that DBFullSet had 1 'user' and when I checked its useinfo, it pointed me towards the perk DBWellFitted, which in turn had 1 user, the player. So I made a perk TrogdorWellFitted and filled it out the same way and gave it to the player by default the same way DBWellFitted and TGWellFitted are. Hopefully it'll work now, the only thing that seems to still be odd is that DBFullset and TGFullSet both point to a well fitted perk as being their one and only user. My TrogdorFullSet spell isn't pointing to its TrogdorWellFitted perk even though I'm pretty sure I added it correctly under perk entries. I don't see where else in the perk's info sheet I could further associate the spell with the perk.

 

Final edit: Oh well, this last part seems to have made it work correctly despite the abnormality.

Edited by xTrogdorx
Link to comment
Share on other sites

  • 9 months later...

Welll...

 

This is old... but I will rebirth this...

I have been trying the same process, as the writer above I could reach the effect tru a Perk, and adding this Perk with the condition at the Player actor... but, I realy dont wanna have to mess with the Player object on my mod.

 

The best solution for me would be doing this thru Spell effect, theres any way to trigger a Set Bonus without being thru Perk or Enchant?

 

Ket

Link to comment
Share on other sites

I triggered similar type of thing with my Vampire Hunter Mod via perk, and I put a guide on description how to remove that perk afterwards, so your game wont mess up when uninstalling.

 

I haven't got any "my game is messed up"- messages, so either people read the description, or they never got any problems.

 

Anyhow, I'd suggest you take a look at how the Dawnguard's hunter armor spell effect thingy works.

Maybe you could just put the enchantment as preset ench on one piece of the armors? I don't know if it requires perk or anything to work, but adding the enchantment to, for example, helmet would be just fine. (in my opinion)

Link to comment
Share on other sites

In my Daedric Stealth Suit mod, I wanted to trigger an invisibility effect whenever the player entered sneak mode whilst wearing all four pieces of the set (and they are not in combat).

 

I think the OP is very close. The way I did it was to make an ability, constant effect that is added when the fourth piece is equipped. Each armour piece had the same script with the same ability set as the property. The script added the ability (a constant effect) OnEquip, and removed it OnUnequip. This way it would work irrespective or whatever order the pieces were equipped. The ability would be added and removed with every piece equipped/unequipped, but only worked when the conditions were met.

 

The magic effect was added to the abilty with conditions IsInCombat != 1, IsSneaking == 1 and WornApparelHasKeywordCount == 4.

 

This only works as I didn't specifically need it to show up under active effects. If that is the wish, you could try as follows:

 

- Ensure the spell is a constant effect ability with the appropriate magic effect/magnitude.

- Create a global variable with the value 0 to monitor the number of pieces worn (though this would only work for the player, not for other NPCs, else there would be weird behaviour)

- Attach a script to all six items along these lines:

 

Spell Property YOURSPELL auto
Global Property YOURGLOBAL auto

Event OnEquipped(Wearer)
  If (Wearer == Game.GetPlayer())
       float NumWorn = YOURGLOBAL.GetValue()
       YOURGLOBAL.SetValue(NumWorn + 1)
       If (YOURGLOBAL.GetValue() == 6)
           Wearer.AddSpell(YOURSPELL, True)
       endif
  EndIf
EndEvent

Event OnUnequipped(Wearer)
   If (Wearer == Game.GetPlayer())
       float NumWorn2 = YOURGLOBAL.GetValue()
       YOURGLOBAL.SetValue(NumWorn2 - 1)
       Wearer.RemoveSpell(YOURSPELL)
   EndIf
EndEvent

 

Each piece will increment the count and on equipping the 6th, add the spell. This won't work for NPCs as the same global would get incremented for everyone. Each piece removes the ability if unequipped.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...