• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Magic Item Sets

jephkay

Member
Suppose I have a helm, breastplate and gauntlets that each have effects, but when worn together, a fourth effect is available.

I can reuse the eval scripts that equip the items, shutting off their effects when not worn, but that only affects a single item. How do the other two items "know" that the third is being worn? Is it possible to have effects that only activate when 2 of them are equipped?

I could easily see this being applicable to a series of feats as well, but a PC might not find the items in order, and so the items need to be kind of clever about keying off one another.

This method appears in the Magic Item Compendium, and I think its a great mechanic, if a little MMO-ish.
 
I would go about this by creating a Simple Thing that is set to unique so that no matter how many times it is added to the Hero it actually only exists once. Then this central Simple Thing would get bootstrapped to each Item Thing that is part of the set. So that when any of them are added the hidden simple Thing comes along.

Then this central Thing would be able to count up the number of Matched set items are actually worn by the character. Then after it knows the number it could then apply the correct affect to the character. So if only two are found then apply affect 1, if three found then apply effect 1 & 2.

Sorry don't have time to actually write sample scripts for you but hopefully it helps some.
 
On the abilities tab, create a new ability, and make sure you set the uniqueness to "Unique"

Now, in its script, have it look for each of the items, and collect a total of how many are equipped:

Code:
var equipped as number
 
~this first script is for when you want to look for armors
~or other magic items
if (hero.childlives[First Item] <> 0) then
  if (hero.child[First Item].field[gIsEquip].value <> 0) then
    equipped += 1
    endif
  endif
 
~this second script should be used for weapons
~(it also looks for weapons held in the off-hand)
if (hero.childlives[Second Item] <> 0) then
  if (hero.child[Second Item].field[gIsEquip].value + hero.child[Second Item].field[wIs2nd].value <> 0) then
    equipped += 1
    endif
  endif
 
~this is the ability that activates if we have 2 items from the set
if (equipped < 2) then
  ~if there aren't at least 2 worn, we'll disable ourselves and note
  ~why we're disabled, then get out
  perform assign[Helper.SpcDisable]
  perform assign[Helper.SpcNotWorn]
  done
  endif
 
~you can only have gotten to this point if at least 2 of the items in the
~set are equipped
 
~set effects go here

So, copy the first of those tests for an equipped item for each piece of armor, wondrous item, ring, staff,, etc., and replace the "First Item" with the Id of that item.

The second test is for weapons. Remember to replace "Second Item" with the Id of that weapon.

Each of the items in the set will apply its own abilties as if it was a normal item, and you'll add this ability as a bootstrap from each item. Since the ability is unique, no matter how many items from the set are present, only one copy of this ability will be present.

You can create a separate ability for each level of powers - one for the 2 items equipped power, another for the 3 items equipped power, etc.
 
Back
Top