I used the catalog trigger at first, it was fine until my brain screamed "OH GAWD IT SHOULD BE FUN IN MULTIPLAYER, too bad catalog method is bad for that, eh ?".
Catalog triggers work perfectly fine in multiplayer, but the changes are applied to all abilities of the player. Abilities casted by other players are unaffected.
So if you don't use multiple instances of the same ability for the same player, which can have different attribute bonuses, you should be fine.
Also, upgrades do exactly the same thing, they are the data equivalent of catalog triggers.
Galaxy++ still works to some extend, however since the author doesn't support it anymore, I wouldn't recommend it. There are no other extentions I know of.
You can make the buff use an issue order effect, which deactivates the autocast, but you would need one effect for all abilities which can be affected by this. I do not know a general-case solution.
If you need that specific damage pattern, I would suggest dealing the damage via trigger.
Otherwise, you can increase the damage fraction instead, for example make each point of intelligence increase spell damage by 1% or something, this would affect all spell damage instances equally, regardless of interval.
The Effect - Final field runs when the behaviour is forcefully terminated like through using validators or the Remove Behaviour effect. The Effect - Expire field runs when the behaviour's timer runs out.
The closest thing to classes in Galaxy are the Structs (or Records in Gui). They are instanciated, can hold a variety of variables, but no methods or static members. So basically, they are just a way to group up arrays. Still, you can probably use them for your desired application, store one instance in each unit's custom script and store the buffs in the struct.
Data tables are an option as well, certain language extensions used it to simulate functional classes or several other things. However, data table's access times (especcially writing) are significantly longer than variables/structs, something to keep in mind.
It depends on how you want to create your selection. Most likely, you will want to use a dialog for that, in which case you could easily send the Teture Select By Id actor message via trigger. You can also make an ability system and handle the swapping via the actor events defined in data, but that would be quite clunky and a lot more work.
So triggers are probably the correct section, the configuration of the model and textures has to be done in data (but you are not asking how to do that), the actual swap can be done with triggers.
I bought Borderlands 2 for a couple of friends. I owned it before and had a lot of fun with it, the 66% deal today (10$ game + 10$ season pass, if you want the DLC's) made my friends want to try it :D (and they were too lazy to setup a PayPal account, so they gave me the money instead >.<)
I don't know of any repercussions. You can also disable any error displaying in the map options.
Some actions even throw trigger errors, if they are working perfectly and are not used wrong, notably when using CatalogFieldValueSet for various fields of Persistent effects. They get modified and the modifications work ingame, but you get an error message that the modification didn't work.
Unfortunately, damage responses are only capable of modifying the damage if they are set to 'defender'. There is a workaround that can be used for 'attacker' damage responses:
Use the Handled effect of the attacker damage response to apply a secondary behavior to the target.
The secondary behavior's damage response modifys the damage to the desired value and uses its own Handled effect to remove itself via Remove Behavior effect.
You might think intuitively, that this cannot work, because the behavior gets applied by the damage instance it should modify, but for some strange reason it works and the behavior can modify the same damage instance which applied it in the first place.
Not in general, no. You could try various approaches to make it work anyway, for example:
Don't use weapon damage types for abilities. Since you specifically state you are doing that, I assume, this would not be a possibliity. But you could for example make all weapons use 1 type (unless you need the melee/ranged differentiation as well), so you have 3 different types for abilities to choose from. If certain abilities should benefit from all buffs to weapon damage as well, make 1 type deditated to do that (all weapon type buffs also apply to this type, except the blind ability).
Edit all weapons to not cause damage when the unit has the debuff.
Try a damage response behavior, which excludes or includes specific damage effects.
0
Catalog triggers work perfectly fine in multiplayer, but the changes are applied to all abilities of the player. Abilities casted by other players are unaffected.
So if you don't use multiple instances of the same ability for the same player, which can have different attribute bonuses, you should be fine.
Also, upgrades do exactly the same thing, they are the data equivalent of catalog triggers.
0
Blizzard does it by making the "item" a unit, which just uses an autocast ability on you, which executes the desired effect and suicides the item.
0
Galaxy
++
still works to some extend, however since the author doesn't support it anymore, I wouldn't recommend it. There are no other extentions I know of.0
You can make the buff use an issue order effect, which deactivates the autocast, but you would need one effect for all abilities which can be affected by this. I do not know a general-case solution.
0
If you need that specific damage pattern, I would suggest dealing the damage via trigger.
Otherwise, you can increase the damage fraction instead, for example make each point of intelligence increase spell damage by 1% or something, this would affect all spell damage instances equally, regardless of interval.
0
Final also runs when timed out.
0
The closest thing to classes in Galaxy are the Structs (or Records in Gui). They are instanciated, can hold a variety of variables, but no methods or static members. So basically, they are just a way to group up arrays. Still, you can probably use them for your desired application, store one instance in each unit's custom script and store the buffs in the struct.
Data tables are an option as well, certain language extensions used it to simulate functional classes or several other things. However, data table's access times (especcially writing) are significantly longer than variables/structs, something to keep in mind.
0
Use triggers, specifically the Set Alliance Aspect action.
0
It depends on how you want to create your selection. Most likely, you will want to use a dialog for that, in which case you could easily send the Teture Select By Id actor message via trigger. You can also make an ability system and handle the swapping via the actor events defined in data, but that would be quite clunky and a lot more work.
So triggers are probably the correct section, the configuration of the model and textures has to be done in data (but you are not asking how to do that), the actual swap can be done with triggers.
0
I bought Borderlands 2 for a couple of friends. I owned it before and had a lot of fun with it, the 66% deal today (10$ game + 10$ season pass, if you want the DLC's) made my friends want to try it :D (and they were too lazy to setup a PayPal account, so they gave me the money instead >.<)
0
I don't know of any repercussions. You can also disable any error displaying in the map options.
Some actions even throw trigger errors, if they are working perfectly and are not used wrong, notably when using CatalogFieldValueSet for various fields of Persistent effects. They get modified and the modifications work ingame, but you get an error message that the modification didn't work.
0
Works for me.
0
Unfortunately, damage responses are only capable of modifying the damage if they are set to 'defender'. There is a workaround that can be used for 'attacker' damage responses:
You might think intuitively, that this cannot work, because the behavior gets applied by the damage instance it should modify, but for some strange reason it works and the behavior can modify the same damage instance which applied it in the first place.
0
Not in general, no. You could try various approaches to make it work anyway, for example:
0
You could create a custom function