Hi, I searched for "Catalog Field Value" and only found some advanced stuff, which goes deep into programming. Could someone give just an example what to write into the trigger, to get to the value one wants to have.
For example, I have an custom ability called let's say Maim. This ability is linked to a buff behavior. What I want is to set the duration of the buff manually during runtime / show it in the tooltip. What do I have to write into
Catalog - Set value of Abilities Entry Field Path for player (Triggering player) to ""
trigger to get what I want? Please keep it simple and write as if you were explaining it to a complete beginner instead of posting links to tutorials I won't understand.
"Catalog" should be easy enough to figure out, since you have to choose a preset value. Entry is the ID of the object you want to change. In the data editor, double click on the ability you want to change and copy/paste the ID value (beneath the name of the ability.) For field path you need to click "View Raw Data" to get the ID of the specific field you want to change. I think most fields have a prefix which can be disregarded for this function (it's usually in the format of "prefix.fieldID" though certain fields are more complex.) You'll have to type the field ID in since I don't think you can copy and paste it.
You'll need to find the data entry for your behavior and modify that. I think the format will be something like "behavior yourbuffID durationfieldID."
Note that some field values can't be changed via this function. Blizzard has, for whatever reason, locked these values out.
Are the catalogs actually some kind of tables created by blizzard, permanently locked into the game or is new stuff added when creating custom stuff? Because if you go into setting a tooltip for a button or behaviour and go to data reference, the entries of custom made behaviors and buttons are empty. Can they be "filled" if they're written into or does it work entirely different? It would be quite a lot of work to write durations from every buff into random pre-made catalog units without getting lost in the structure in the process. Would be much easier if the values of custom buttons and behaviors could be changed and written into the tooltips on runtime.
Catalogs hold all of the information related to each object in the game. Every time you create a new object you create a catalog entry for that unit. I think there's a catalog for each object type (Unit, Behavior, Actor, Weapon, etc.) Each individual unit, for example, is an entry. All of the information for that individual unit is stored in field values.
When you add a description or tooltip to a custom made unit you need to set a new text key for the game to look up when it's trying to find the text. Take a look at some of Blizzard's units for reference.
Okay, the threads helped, now it works. Problem was, that I was indeed writing into a restricted field, which caused the ingame error. But the issue I want to implement is so complicated, I don't even dare to ask for it here. I'll try some stuff myself first and then when I am out of possibilities, I come back annoying you once again :)
Awesome, I did it! It's probably the most inperformant way, but it works.
What I wanted to do is to display the remaining duration of a buff or debuff in the buff or debuff's tooltip, when the player goes with the mouse over the buff or debuff. The problem is, there can be several buffs of the same type on different units simultaneously, though technically it is only one tooltip, that can be displayed on all buff of the type, because they are instances of the original behavior in the Data Editor.
What I did, is save the buff, it's victim and caster and its duration within different arrays, while i made sure, the index of it is always the same number. Then the logical thought was, that the player can only put the mouse over a buff of only one unit at the same time. So I made a trigger, which updates all durations of all buffs in the tooltip, by writing the buff's and debuff's durations from their duration array into their field values and by doing this changing the value, the data reference of the behavior is referring to on the unit he selects the moment he selects it.
Arrays are quite a bit tricky, but when it is made sure, that the index of the equivalent values of a behavior stays the same, one can achieve this update by using only one for-each-int-loop per buff or debuff on the selected unit.
Phew, I'm so glad it works. What is left is to make sure, the arrays are cleared when the unit dies and then it is fully functional :D
Edit: I'll change the topic to something more suitable so others who want to achieve the same effect might find the thread.
Hi, I searched for "Catalog Field Value" and only found some advanced stuff, which goes deep into programming. Could someone give just an example what to write into the trigger, to get to the value one wants to have.
For example, I have an custom ability called let's say Maim. This ability is linked to a buff behavior. What I want is to set the duration of the buff manually during runtime / show it in the tooltip. What do I have to write into
Catalog - Set value of Abilities Entry Field Path for player (Triggering player) to ""
trigger to get what I want? Please keep it simple and write as if you were explaining it to a complete beginner instead of posting links to tutorials I won't understand.
Thank you!
"Catalog" should be easy enough to figure out, since you have to choose a preset value. Entry is the ID of the object you want to change. In the data editor, double click on the ability you want to change and copy/paste the ID value (beneath the name of the ability.) For field path you need to click "View Raw Data" to get the ID of the specific field you want to change. I think most fields have a prefix which can be disregarded for this function (it's usually in the format of "prefix.fieldID" though certain fields are more complex.) You'll have to type the field ID in since I don't think you can copy and paste it.
You'll need to find the data entry for your behavior and modify that. I think the format will be something like "behavior yourbuffID durationfieldID."
Note that some field values can't be changed via this function. Blizzard has, for whatever reason, locked these values out.
Are the catalogs actually some kind of tables created by blizzard, permanently locked into the game or is new stuff added when creating custom stuff? Because if you go into setting a tooltip for a button or behaviour and go to data reference, the entries of custom made behaviors and buttons are empty. Can they be "filled" if they're written into or does it work entirely different? It would be quite a lot of work to write durations from every buff into random pre-made catalog units without getting lost in the structure in the process. Would be much easier if the values of custom buttons and behaviors could be changed and written into the tooltips on runtime.
Catalogs hold all of the information related to each object in the game. Every time you create a new object you create a catalog entry for that unit. I think there's a catalog for each object type (Unit, Behavior, Actor, Weapon, etc.) Each individual unit, for example, is an entry. All of the information for that individual unit is stored in field values.
This thread might be helpful to you.
And maybe this one.
When you add a description or tooltip to a custom made unit you need to set a new text key for the game to look up when it's trying to find the text. Take a look at some of Blizzard's units for reference.
@BasharTeg: Go
Okay, the threads helped, now it works. Problem was, that I was indeed writing into a restricted field, which caused the ingame error. But the issue I want to implement is so complicated, I don't even dare to ask for it here. I'll try some stuff myself first and then when I am out of possibilities, I come back annoying you once again :)
It's not annoying at all. I wouldn't bother replying if I was annoyed :P
Good luck.
@BasharTeg: Go
Awesome, I did it! It's probably the most inperformant way, but it works.
What I wanted to do is to display the remaining duration of a buff or debuff in the buff or debuff's tooltip, when the player goes with the mouse over the buff or debuff. The problem is, there can be several buffs of the same type on different units simultaneously, though technically it is only one tooltip, that can be displayed on all buff of the type, because they are instances of the original behavior in the Data Editor.
What I did, is save the buff, it's victim and caster and its duration within different arrays, while i made sure, the index of it is always the same number. Then the logical thought was, that the player can only put the mouse over a buff of only one unit at the same time. So I made a trigger, which updates all durations of all buffs in the tooltip, by writing the buff's and debuff's durations from their duration array into their field values and by doing this changing the value, the data reference of the behavior is referring to on the unit he selects the moment he selects it.
Arrays are quite a bit tricky, but when it is made sure, that the index of the equivalent values of a behavior stays the same, one can achieve this update by using only one for-each-int-loop per buff or debuff on the selected unit.
Phew, I'm so glad it works. What is left is to make sure, the arrays are cleared when the unit dies and then it is fully functional :D
Edit: I'll change the topic to something more suitable so others who want to achieve the same effect might find the thread.