Tutorial Diablo 2 Item Set: Changing Tooltips and Effects

mr-death

Acolyte
Reaction score
51
This will remind you about [System] Diablo II Item Set Triggers

Fortunately, I found the way to improve it, with tooltips modification and effects. Please read the link above before you continue reading this Tutorial.

This Tutorial's Difficulty is Average with the triggers in GUI.

Diablo II Item Set Tutorial V 1.3
by mr-death

I won't give you anymore word, as fastest I can. Cause it's taking a part of my brain. :nuts:

Steps:

1. Check and test this map
Cause Telling you more means nothing, so you must see it yourself: This is yet a well-efficient example of Set Items.
View attachment Item Set for Diablo II.w3x (Updated on version 1.3)
Please Download this map before you continue further, it's needed to understand the tutorial.

2. Creating Custom Items, and Abilities for your Items
After Seeing that map, now how to create it. Firstly think for your item set, how much items will complete the set? For now, we'll see only the number of items which is need to be created.

2 items for 1 set: 2(no set) + 2(complete set) = 4 items
3 items for 1 set: 3(no set) + 6(half complete) + 3(complete set) = 12 items
4 items for 1 set: 4(no set) + 12(2/4 complete) + 12(3/4 complete) + 4(complete set) = 32 items

So think which is the best deal for you. (All items are needed since we're manipulating tooltips)

For this example map I use 3 items for 1 set.

Barbarian's Set:
Barb's Coral Axe, for next we'll know this as "#1 Item"
Barb's Mithril Axe, for next we'll know this as "#2 Item"
Barb's Spirit, for next we'll know this as "#3 Item"

In total you'll have
4 Coral Axes : 1 no set(default), 1 setted with mithril, 1 setted with spirit, 1 complete set
4 Mithril Axes : 1 no set, 1 setted with corall, 1 setted with spirit, 1 complete set
4 Spirits : 1 no set, 1 setted with mithril, 1 setted with coral, 1 complete set

Second is to give the names after it (As shown in the object editor of map above) as

Coral Axe 1 (default)
Coral Axe 12 (for collection with mithril)
Coral Axe 13 (for collection with spirit)
Coral Axe 123 (for complete set)
Mithril Axe 2 (default)
Mithril Axe 12 (for collection with coral)
Mithril Axe 23 (for collection with spirit)
Mithril Axe 123 (for complete set)
Spirit 3 (default)
Spirit 13 (for collection with coral)
Spirit 23 (for collection with mithril)
Spirit 123 (for complete set)

and edit them as shown in brackets:
Edit what you want the tooltip for the item be when it is collected with another.
______________________________

3. Triggers (Updated on V1.3)
Now is how to connect one item with another, firstly set them all into variables,

Actually, we only have 3 items, but this blueish things are for the loop's flexibility, as shown on ItemSet[4,8,12,16,17]
Code:
Setting
    Events
        Time - Elapsed game time is 0.00 seconds
    Conditions
    Actions
        Set ItemSet[1] = |cff00ff00Barb's Coral Axe|r 1
        Set ItemSet[2] = |cff00ff00Barb's Mithril Axe|r 2
        Set ItemSet[3] = |cff00ff00Barb's Spirit|r 3
        [COLOR="Blue"]Set ItemSet[4] = |cff00ff00Barb's Coral Axe|r 1 [/COLOR]
        -------- - --------
        Set ItemSet[5] = |cff00ff00Barb's Coral Axe|r 12
        Set ItemSet[6] = |cff00ff00Barb's Mithril Axe|r 23
        Set ItemSet[7] = |cff00ff00Barb's Spirit|r 13
        [COLOR="blue"]Set ItemSet[8] = |cff00ff00Barb's Coral Axe|r 12[/COLOR]
        -------- - --------
        Set ItemSet[9] = |cff00ff00Barb's Mithril Axe|r 12
        Set ItemSet[10] = |cff00ff00Barb's Spirit|r 23
        Set ItemSet[11] = |cff00ff00Barb's Coral Axe|r 13
        [COLOR="blue"]Set ItemSet[12] = |cff00ff00Barb's Mithril Axe|r 12[/COLOR]
        -------- - --------
        Set ItemSet[13] = |cff00ff00Barb's Coral Axe|r 123
        Set ItemSet[14] = |cff00ff00Barb's Mithril Axe|r 123
        Set ItemSet[15] = |cff00ff00Barb's Spirit|r 123
        [COLOR="blue"]Set ItemSet[16] = |cff00ff00Barb's Coral Axe|r 123
        Set ItemSet[17] = |cff00ff00Barb's Mithril Axe|r 123[/COLOR]

Good News: Now, In v1.3 Triggers, you can change Coral Axe to your first item, Mithril Axe to your second item, and Spirit to your third item when you want to make 3-items set. Remember to set the variables above to your items. There is the step of Importing on the 4th step of the Tutorial

For Next trigger, see the comments tag (-------- --------)

Code:
For each (Integer A) from 1 to 3, do (Actions)
    Loop - Actions
        [B]-------- For set 1-2, 2-3, 1-3 --------[/B]
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Picked unit) has an item of type ItemSet[(Integer A)]) Equal to True
                ((Picked unit) has an item of type ItemSet[((Integer A) + 1)]) Equal to True
            Then - Actions
                Item - Remove (Item carried by (Picked unit) of type ItemSet[(Integer A)])
                Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 1)])
                Hero - Create ItemSet[((Integer A) + 4)] and give it to (Picked unit)
                Hero - Create ItemSet[((Integer A) + 8)] and give it to (Picked unit)
            Else - Actions
                Do nothing
        [B]-------- For set 1-2-3 --------[/B]
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Picked unit) has an item of type ItemSet[(Integer A)]) Equal to True
                ((Picked unit) has an item of type ItemSet[((Integer A) + 5)]) Equal to True
                ((Picked unit) has an item of type ItemSet[((Integer A) + 9)]) Equal to True
            Then - Actions
                Item - Remove (Item carried by (Picked unit) of type ItemSet[(Integer A)])
                Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 5)])
                Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 9)])
                Hero - Create ItemSet[((Integer A) + 12)] and give it to (Picked unit)
                Hero - Create ItemSet[((Integer A) + 13)] and give it to (Picked unit)
                Hero - Create ItemSet[((Integer A) + 14)] and give it to (Picked unit)
            Else - Actions
                Do nothing
        [B]-------- For set broker 1-2-3 -> 1-2/1-3/2-3 --------[/B]
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Picked unit) has an item of type ItemSet[((Integer A) + 12)]) Equal to False
                ((Picked unit) has an item of type ItemSet[((Integer A) + 13)]) Equal to True
                ((Picked unit) has an item of type ItemSet[((Integer A) + 14)]) Equal to True
            Then - Actions
                Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 13)])
                Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 14)])
                Hero - Create ItemSet[((Integer A) + 5)] and give it to (Picked unit)
                Hero - Create ItemSet[((Integer A) + 9)] and give it to (Picked unit)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Picked unit) has an item of type ItemSet[((Integer A) + 12)]) Equal to True
                ((Picked unit) has an item of type ItemSet[((Integer A) + 13)]) Equal to False
                ((Picked unit) has an item of type ItemSet[((Integer A) + 14)]) Equal to True
            Then - Actions
                Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 12)])
                Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 14)])
                Hero - Create ItemSet[((Integer A) + 6)] and give it to (Picked unit)
                Hero - Create ItemSet[((Integer A) + 10)] and give it to (Picked unit)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Picked unit) has an item of type ItemSet[((Integer A) + 12)]) Equal to True
                ((Picked unit) has an item of type ItemSet[((Integer A) + 13)]) Equal to True
                ((Picked unit) has an item of type ItemSet[((Integer A) + 14)]) Equal to False
            Then - Actions
                Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 12)])
                Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 13)])
                Hero - Create ItemSet[((Integer A) + 4)] and give it to (Picked unit)
                Hero - Create ItemSet[((Integer A) + 8)] and give it to (Picked unit)
            Else - Actions
        [B]-------- For set broker 1-2-3 -> 1/2/3 --------[/B]
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Picked unit) has an item of type ItemSet[((Integer A) + 12)]) Equal to False
                ((Picked unit) has an item of type ItemSet[((Integer A) + 13)]) Equal to False
                ((Picked unit) has an item of type ItemSet[((Integer A) + 14)]) Equal to True
            Then - Actions
                Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 14)])
                Hero - Create ItemSet[((Integer A) + 2)] and give it to (Picked unit)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Picked unit) has an item of type ItemSet[((Integer A) + 12)]) Equal to True
                ((Picked unit) has an item of type ItemSet[((Integer A) + 13)]) Equal to False
                ((Picked unit) has an item of type ItemSet[((Integer A) + 14)]) Equal to False
            Then - Actions
                Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 12)])
                Hero - Create ItemSet[(Integer A)] and give it to (Picked unit)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Picked unit) has an item of type ItemSet[((Integer A) + 12)]) Equal to False
                ((Picked unit) has an item of type ItemSet[((Integer A) + 13)]) Equal to True
                ((Picked unit) has an item of type ItemSet[((Integer A) + 14)]) Equal to False
            Then - Actions
                Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 13)])
                Hero - Create ItemSet[((Integer A) + 1)] and give it to (Picked unit)
            Else - Actions
        [B]-------- For set broker 1-2, 2-3, 1-3 -> 1/2/3 --------[/B]
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Picked unit) has an item of type ItemSet[((Integer A) + 4)]) Equal to True
                ((Picked unit) has an item of type ItemSet[((Integer A) + 8)]) Equal to False
            Then - Actions
                Unit - Remove Item Attack Speed Bonus (Gloves of Haste) from (Picked unit)
                Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 4)])
                Hero - Create ItemSet[(Integer A)] and give it to (Picked unit)
            Else - Actions
                Do nothing
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Picked unit) has an item of type ItemSet[((Integer A) + 4)]) Equal to False
                ((Picked unit) has an item of type ItemSet[((Integer A) + 8)]) Equal to True
            Then - Actions
                Unit - Remove Item Attack Speed Bonus (Gloves of Haste) from (Picked unit)
                Item - Remove (Item carried by (Picked unit) of type ItemSet[((Integer A) + 8)])
                Hero - Create ItemSet[((Integer A) + 1)] and give it to (Picked unit)
            Else - Actions
                Do nothing
        [B]-------- Effects 2 items --------[/B]
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Picked unit) has an item of type ItemSet[((Integer A) + 4)]) Equal to True
                ((Picked unit) has an item of type ItemSet[((Integer A) + 8)]) Equal to True
            Then - Actions
                Unit - Add Item Attack Speed Bonus (Gloves of Haste) to (Picked unit)
            Else - Actions
                [COLOR="Blue"]The Else Actions (Ability Removement) Is replaced on the set broker.[/COLOR]
        [B]-------- Effects 3 items --------[/B]
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Picked unit) has an item of type ItemSet[((Integer A) + 12)]) Equal to True
                ((Picked unit) has an item of type ItemSet[((Integer A) + 13)]) Equal to True
                ((Picked unit) has an item of type ItemSet[((Integer A) + 14)]) Equal to True
            Then - Actions
                Animation - Change (Picked unit)'s vertex coloring to (100.00%, 75.00%, 75.00%) with 0.00% transparency
                Animation - Change (Picked unit)'s size to (110.00%, 110.00%, 110.00%) of its original size
            Else - Actions
                Animation - Change (Picked unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
                Animation - Change (Picked unit)'s size to (100.00%, 100.00%, 100.00%) of its original size

Important: For Abilities Improvements on Set Bonus (Aspd, Evasion, etc.), set the Ability Removal on the Set Broker.
_____________________________

4. Importing?
Given a variable name "ItemSet", change the name into another name, f.e. "Barb", and make sure there's no other variable with the same name on your target map.

Open File, Preferences, tab General: Check the box: "Automatically create unknown variables while pasting trigger data" so the var is copiable.

Then, copy all the items to the new map.
Then, the triggers (Setting and Item Set in v1 3)

Open your target map, then reset all the "Barb" variables again with the copied Items.

Your importing has done!
_____________________________

5. Miscellaneous

Do all you want with the item on the map you're dealing with. ALL, and is really ALL. Cause there's no turnin back. :p

After all the very-very little of business with the items are done, do the next step.
_____________________________

Last, and very-very lastly (this step cannot be undone, so make sure there's nothing left back there), Recheck all the items' tooltips
I told you to put 1, 12, 13, and such of those after the names (as on my map),

the next step that is not in my map, now that you have done all triggers, you can remove the numbers, so it will look flawless.
______________________________

Edit 29 Sep 07 : Updated to 1.1 (More Trigger Explanations)
Edit 30 Sep 07 : Updated to 1.2 (Better Example Map)
Edit 03 Oct 07 : Updated to 1.3 (More Efficient and Modify-able Triggers on map: View attachment Item Set for Diablo II.w3x)
 

~GaLs~

† Ғσſ ŧħə ѕαĸε Φƒ ~Ğ䣚~ †
Reaction score
180
Actually, what do this tutorial does?
 

mr-death

Acolyte
Reaction score
51
As the system does. Now it's just with tooltips modification.

The tutorial simply explains the triggers :banghead:.

I will upgrade it, cause now seems none's going to understand.

Edit: Upgraded it, hope it makes sense now.
Note that if you play Diablo II clearly, you must have known this type of items.
 

mr-death

Acolyte
Reaction score
51
bump. seems none really understand what this tutorial stands for.

It's just how to make reaction between items, as recipe, but with extra effect and without combining it into 1 item. So it's simply become 2 items + spc effect when you got 2 items.
 

Blackveiled

Formerly, Ban-Lord
Reaction score
157
We do understand what it stands for, your basically trying to give us a Recipe tutorial, which has already been done.
 

FireEffect

Gasp!
Reaction score
98
No this is like when you get 2 items they form into one, they have an effect on you but a greater effect than if you had them both seprately. Like a axe gives you 10 damage and a ring adds 10 damage. If you are carrying them both at the same time you get 25 damage. Things like that. So its a little different from a recipe system.
 

darkRae

Ueki Fan (Ueki is watching you)
Reaction score
173
FireEffect is right, and no one has ever thought of this before, so mr-death did a good job.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top