This can't be done in the data editor, since there's nothing for it to distinguish between a keypress and a held key for a button hotkey. What you could do, if you really wanted this done, is use triggers to accomplish it. Have a key pressed trigger that issues an order for a random unit in currently selected unit group whose ability isn't on cooldown to cast the spell, of course removing the hotkey for the actual ability itself.
I have a unit that I would like to be unselectable and untargetable, but it has a behavior duration that I'd like to display on it as well. I realized that the untargetable flag for some reason automatically removes the unit's bars despite your actor settings. Is there a way for my unit to be untargetable but still show a duration bar?
The search effects are applied by a persistent started by the launch effect. I tried just excluding caster, but that didn't work either.
Here's my effects flow:
Persistent (creates two missiles) -> each missile's Launch, with launch effect -> persistent (to apply the search) -> search (This is where I'm adding Exclude: Caster) -> unit impact (destroys the missile and stuff)
EDIT: Figured out the problem, it wasn't that the missiles were colliding with the casters, they were colliding with each other.
I have a missile ability, where the caster shoots out missiles to a target point with a customized mover, applying searches on the missile to destroy it when it comes into contact with something. Everything works fine, except now I would like for it to hit the player's other units as well, but obviously not the caster himself. I've tried adding "(Persistent that created the missile) - Caster" to the Excludes list of the search area, but that didn't do anything. I'm guessing the missile may not retain the memory of who casted it, similar to having a behavior. Does anyone know how to properly use this field so that it would work for missiles? I think a long workaround would be to apply a behavior on the caster for the duration of the missile's flight, so it knows not to collide with the caster, but surely there's a better way to do this?
Thanks for all the suggestions, I've actually used a dummy unit missile before for a blink style ability, so I might go with that. The morph air unit also seems like a good idea. I'll give them a shot and report back here which I went with.
I'm trying to create a custom ability where the unit, let's say an ultralisk, would charge toward the target location in a straight line, without regard for pathing, and stops when it reaches the point or encounters a pathing blocker in between. For anyone that knows the map star strikers, essentially I want it to behave very similarly to "push" from that map that every hero has.
I have tried using an issue order -> move and apply a behavior to the unit that checks for collisions to deal damage to enemy units, and that sort of works, but the issue order move would cause the unit to try to circumvent obstacles, instead of just charging in a straight line. Also, in order to get the unit to stop "charging", I use a queued ability that stops the charge and removes the behavior and whatnot, that I learned from a tutorial, but this causes the green waypoints to appear whenever the ability is used. Is there a way to disable the waypoints for this particular ability?
Better yet, anyone have any better ideas for doing this? Clearly it can be done, since it's in star strikers, but I can't think of an elegant way to go about implementing this.
Just off the top of my head, you could maybe add a behavior "Repair if not attacked" to the building with duration 3, with effect-final to be your repair effect, and, in "damage response", set the handler to be a set that removes the behavior and applies it again, to refresh the duration. The repair itself would need to be a similar behavior where it would periodically repair, but apply the repair if not attacked behavior as a damage response. (I'm not entirely sure if that's how the repair ability works, I haven't used the repair ability yet)
Hi, I'm trying to create a custom attribute hero, and I'm at the point where I want a learn ability that takes you to a submenu, where you would be able to select which custom attribute to train. I know of two methods to do this:
1. Have an ability of type "Behavior", and have it apply the behavior you want, putting that behavior in the unit's list of behaviors, with a requirement.
Problem: This needs a different behavior for every single attribute upgrade you want, as well as a different ability at each "level" of the upgrade, whereas I simply want the exact same thing at each level (Increase a custom attribute by 1). And, at 3 points per level, and who knows how many levels, this is completely infeasible (For my sanity).
2. Have an ability of type "Apply Behavior", and put it into the command card of the learn ability's command card, so it applies another buff every time it's leveled.
This works how I want the buff to work, but there is a problem: The learn ability counter doesn't go down, so there's no limit to how many behaviors you could add.
I could also theoretically tie the apply behavior to a resource, and use that resource as the counter, with triggers to add a set number of resources per level up, but this doesn't seem elegant at all, and wouldn't have the nice counters on the ability to allow the player to know exactly how many points they have to spend (They would have to look at the resources on the top right instead). This is probably what I'm going to have to settle for, but I was wondering if anyone knew of a more elegant solution that would allow me to use the learn ability counters, but not have to make a million behaviors+abilities.
Update: What I ended up doing is creating an additional attribute "attribute points", (In hindsight, the way I'm doing things doesn't need an actual attribute) that kept track of how many attribute points I had, and then every time I increase a stat, make an apply behavior "Remove Attribute Point", which doesn't actually need to remove the attribute. Then, in the requirements, I check that the remove attribute point count is less than 3 * Hero level, since I want 3 attributes per level. This ends up working perfectly, aside from the fact that I cannot show how many attributes I have left, until they give us function functionality in tooltips so I can go Hero Level * 3 - "Remove attribute point" count.
However, I've run into another problem. When my hero dies, and gets respawned, all the buffs disappear, so the stat bonuses, and the used attribute points are all gone. Is there a way for the hero to retain his buffs? I think it might be possible to do this in triggers, but if we use "Unit death", aren't the buffs already gone by the time the trigger to reapply buffs executes?
Update: I figured out how to do this, I made a behavior buff with a damage response "fatal", that calls an empty set effect. In the triggers, if that effect is used, it means that player's hero died, so I just move it somewhere, and restore it to full life, possibly on a timer.
Thanks for the reply, I figured out what went wrong, the problem was, the buff durations weren't long enough, so by the time it got to the third bounce, the first buff had already worn off, so it would target that one again, making it look like the chain wasn't going.
Ok, I'm completely stumped on this one. I followed some tutorials for a chain lightning effect, and it works fine, except no matter how many bounces I set, it refuses to go past 3 targets. Right now I'm even making it a recursive call, but still it refuses to go past three targets. I saw a similar thread, but my issue is not that I'm killing off units, my damage is low enough that units don't die, but it still doesn't go past 3.
Here's my effects break down:
Initial - Set, calls Attack Set 1
Attack Set 1 - Set, calls Attack Buff 1 (With a validator to make sure that it only applies when behavior count for the behavior is less than 1, doesn't work without the validator either)
Attack Buff 1 - Applies behavior Bounce 1
Bounce 1 - Behavior, initial set to Attack Search 1, final set to Attack Damage 1
Attack Search 1 - Searches within a 10 radius. Target sort: Distance sort sorting on distance, Buff behavior count = 1 (Doesn't work with = 0 either). At target, call Attack Set 1.
I suspect the problem may have something to do with my target sort, I'm very confused about how it works. Can anyone help with a quick rundown of what things like "Request Count", and "Request Percentage" mean, and also, for behavior count target sort, if I want a search to sort so that it looks for things without the buff, rather than things with the buff, what is the target behavior count supposed to be set to? Also, how does combining different target sorts work? Do they all have to pass in order for the target to pass? Which ones get priority?
The lack of documentation plus the ambiguous naming for certain things in the editor is driving me nuts.
Update: Eventually I just gave up on having another launch effect happen, and just used site operations to attach the missile to the original missile. For the effects, the original missile had a persist until destroyed persistent starting at the launch location, so i just created a persistent at the launch to call the original persistent at an offset. This achieves what I wanted it to do.
Thanks, I tried working with periodic offsets before, but all I could get it to do was specify the location where the missile fired to, and not the location where the missile fired from. I have made some progress though, if I change the launch location of the missile to "target point", I can get the missile to originate from the offset I want from the persistent. However, now that "target point" is overwritten, I have no idea how to specify a second destination offset. Is there anyway to chain two persistents together in a way that one specifies the launch offset location, while the other specifies the impact offset location?
Edit: To clarify what I mean, no matter what I do, it seems persistent overwrites the target location field for the effects it generates, but if there was a way to get the persistent to overwrite another point, like, say, the "origin point"/"outer point", which I have never seen a use for since caster point / source point seem to do the job, it would be possible to create two persistents that would do the effect I want.
I'm trying to create an effect - target ability where the caster would send out a missile to a target point, but there would also be other missiles that spawn at an offset from the caster point, and travel with the original missile. I can get the first missile working fine, but I can't figure out how to launch a missile from an offset off the caster, and also have it arrive at the same offset off the target point. Anyone have any thoughts? I tried the launch offset and impact offset of the launch ability itself, but that only seemed to change the location of the effects, and not necessarily the missile trajectory itself.
Thanks for the reply, I actually know how to make the custom attribute like "Intelligence" that displays in the unit box, and also making it increase spell damage. However, I'm looking for a bit more control than that. For example, I don't want all the ability effects to scale exactly the same way. Some spells may have other effects, so their damage would scale at, say, half intelligence, whereas the primary nuke spells would scale at 1.0 * intelligence. Or, for my physical attack classes, I want their spells to not scale off intelligence, but rather to scale off of a custom attribute "Damage", which would increase their basic attack as well as certain spell effect damages they have.
Is there any way to have more control over how spells scale with regard to attributes (Or even with regard to spell damage, it'd be easy enough to make the attribute simply increase nonscaled spell damage by 1, and use spell damage as the modifier), or are we stuck with each hero's' skills scaling the exact same way?
I'm trying to make a hero system where there are custom attributes, for example intelligence. I want to use intelligence to factor into the damage dealt for that hero's abilities. For example, some maps in war3 would have "Damage = Base + 1.2*int", or something like that. Is this at all possible to do in the SC2 map editor? I noticed the "spell damage" part when creating custom attributes, but it didn't seem like that allowed for a great amount of control, unless the spell damage stat can be used in the numbers for the ability.
0
This can't be done in the data editor, since there's nothing for it to distinguish between a keypress and a held key for a button hotkey. What you could do, if you really wanted this done, is use triggers to accomplish it. Have a key pressed trigger that issues an order for a random unit in currently selected unit group whose ability isn't on cooldown to cast the spell, of course removing the hotkey for the actual ability itself.
0
I have a unit that I would like to be unselectable and untargetable, but it has a behavior duration that I'd like to display on it as well. I realized that the untargetable flag for some reason automatically removes the unit's bars despite your actor settings. Is there a way for my unit to be untargetable but still show a duration bar?
0
The search effects are applied by a persistent started by the launch effect. I tried just excluding caster, but that didn't work either.
Here's my effects flow:
Persistent (creates two missiles) -> each missile's Launch, with launch effect -> persistent (to apply the search) -> search (This is where I'm adding Exclude: Caster) -> unit impact (destroys the missile and stuff)
EDIT: Figured out the problem, it wasn't that the missiles were colliding with the casters, they were colliding with each other.
0
I have a missile ability, where the caster shoots out missiles to a target point with a customized mover, applying searches on the missile to destroy it when it comes into contact with something. Everything works fine, except now I would like for it to hit the player's other units as well, but obviously not the caster himself. I've tried adding "(Persistent that created the missile) - Caster" to the Excludes list of the search area, but that didn't do anything. I'm guessing the missile may not retain the memory of who casted it, similar to having a behavior. Does anyone know how to properly use this field so that it would work for missiles? I think a long workaround would be to apply a behavior on the caster for the duration of the missile's flight, so it knows not to collide with the caster, but surely there's a better way to do this?
0
Thanks for all the suggestions, I've actually used a dummy unit missile before for a blink style ability, so I might go with that. The morph air unit also seems like a good idea. I'll give them a shot and report back here which I went with.
0
I'm trying to create a custom ability where the unit, let's say an ultralisk, would charge toward the target location in a straight line, without regard for pathing, and stops when it reaches the point or encounters a pathing blocker in between. For anyone that knows the map star strikers, essentially I want it to behave very similarly to "push" from that map that every hero has.
I have tried using an issue order -> move and apply a behavior to the unit that checks for collisions to deal damage to enemy units, and that sort of works, but the issue order move would cause the unit to try to circumvent obstacles, instead of just charging in a straight line. Also, in order to get the unit to stop "charging", I use a queued ability that stops the charge and removes the behavior and whatnot, that I learned from a tutorial, but this causes the green waypoints to appear whenever the ability is used. Is there a way to disable the waypoints for this particular ability?
Better yet, anyone have any better ideas for doing this? Clearly it can be done, since it's in star strikers, but I can't think of an elegant way to go about implementing this.
0
Just off the top of my head, you could maybe add a behavior "Repair if not attacked" to the building with duration 3, with effect-final to be your repair effect, and, in "damage response", set the handler to be a set that removes the behavior and applies it again, to refresh the duration. The repair itself would need to be a similar behavior where it would periodically repair, but apply the repair if not attacked behavior as a damage response. (I'm not entirely sure if that's how the repair ability works, I haven't used the repair ability yet)
0
Hi, I'm trying to create a custom attribute hero, and I'm at the point where I want a learn ability that takes you to a submenu, where you would be able to select which custom attribute to train. I know of two methods to do this:
1. Have an ability of type "Behavior", and have it apply the behavior you want, putting that behavior in the unit's list of behaviors, with a requirement. Problem: This needs a different behavior for every single attribute upgrade you want, as well as a different ability at each "level" of the upgrade, whereas I simply want the exact same thing at each level (Increase a custom attribute by 1). And, at 3 points per level, and who knows how many levels, this is completely infeasible (For my sanity).
2. Have an ability of type "Apply Behavior", and put it into the command card of the learn ability's command card, so it applies another buff every time it's leveled. This works how I want the buff to work, but there is a problem: The learn ability counter doesn't go down, so there's no limit to how many behaviors you could add.
I could also theoretically tie the apply behavior to a resource, and use that resource as the counter, with triggers to add a set number of resources per level up, but this doesn't seem elegant at all, and wouldn't have the nice counters on the ability to allow the player to know exactly how many points they have to spend (They would have to look at the resources on the top right instead). This is probably what I'm going to have to settle for, but I was wondering if anyone knew of a more elegant solution that would allow me to use the learn ability counters, but not have to make a million behaviors+abilities.
Update: What I ended up doing is creating an additional attribute "attribute points", (In hindsight, the way I'm doing things doesn't need an actual attribute) that kept track of how many attribute points I had, and then every time I increase a stat, make an apply behavior "Remove Attribute Point", which doesn't actually need to remove the attribute. Then, in the requirements, I check that the remove attribute point count is less than 3 * Hero level, since I want 3 attributes per level. This ends up working perfectly, aside from the fact that I cannot show how many attributes I have left, until they give us function functionality in tooltips so I can go Hero Level * 3 - "Remove attribute point" count.
However, I've run into another problem. When my hero dies, and gets respawned, all the buffs disappear, so the stat bonuses, and the used attribute points are all gone. Is there a way for the hero to retain his buffs? I think it might be possible to do this in triggers, but if we use "Unit death", aren't the buffs already gone by the time the trigger to reapply buffs executes?
Update: I figured out how to do this, I made a behavior buff with a damage response "fatal", that calls an empty set effect. In the triggers, if that effect is used, it means that player's hero died, so I just move it somewhere, and restore it to full life, possibly on a timer.
0
Thanks for the reply, I figured out what went wrong, the problem was, the buff durations weren't long enough, so by the time it got to the third bounce, the first buff had already worn off, so it would target that one again, making it look like the chain wasn't going.
0
Ok, I'm completely stumped on this one. I followed some tutorials for a chain lightning effect, and it works fine, except no matter how many bounces I set, it refuses to go past 3 targets. Right now I'm even making it a recursive call, but still it refuses to go past three targets. I saw a similar thread, but my issue is not that I'm killing off units, my damage is low enough that units don't die, but it still doesn't go past 3.
Here's my effects break down:
Initial - Set, calls Attack Set 1
Attack Set 1 - Set, calls Attack Buff 1 (With a validator to make sure that it only applies when behavior count for the behavior is less than 1, doesn't work without the validator either)
Attack Buff 1 - Applies behavior Bounce 1
Bounce 1 - Behavior, initial set to Attack Search 1, final set to Attack Damage 1
Attack Search 1 - Searches within a 10 radius. Target sort: Distance sort sorting on distance, Buff behavior count = 1 (Doesn't work with = 0 either). At target, call Attack Set 1.
I suspect the problem may have something to do with my target sort, I'm very confused about how it works. Can anyone help with a quick rundown of what things like "Request Count", and "Request Percentage" mean, and also, for behavior count target sort, if I want a search to sort so that it looks for things without the buff, rather than things with the buff, what is the target behavior count supposed to be set to? Also, how does combining different target sorts work? Do they all have to pass in order for the target to pass? Which ones get priority?
The lack of documentation plus the ambiguous naming for certain things in the editor is driving me nuts.
0
Update: Eventually I just gave up on having another launch effect happen, and just used site operations to attach the missile to the original missile. For the effects, the original missile had a persist until destroyed persistent starting at the launch location, so i just created a persistent at the launch to call the original persistent at an offset. This achieves what I wanted it to do.
0
Thanks, I tried working with periodic offsets before, but all I could get it to do was specify the location where the missile fired to, and not the location where the missile fired from. I have made some progress though, if I change the launch location of the missile to "target point", I can get the missile to originate from the offset I want from the persistent. However, now that "target point" is overwritten, I have no idea how to specify a second destination offset. Is there anyway to chain two persistents together in a way that one specifies the launch offset location, while the other specifies the impact offset location?
Edit: To clarify what I mean, no matter what I do, it seems persistent overwrites the target location field for the effects it generates, but if there was a way to get the persistent to overwrite another point, like, say, the "origin point"/"outer point", which I have never seen a use for since caster point / source point seem to do the job, it would be possible to create two persistents that would do the effect I want.
0
I'm trying to create an effect - target ability where the caster would send out a missile to a target point, but there would also be other missiles that spawn at an offset from the caster point, and travel with the original missile. I can get the first missile working fine, but I can't figure out how to launch a missile from an offset off the caster, and also have it arrive at the same offset off the target point. Anyone have any thoughts? I tried the launch offset and impact offset of the launch ability itself, but that only seemed to change the location of the effects, and not necessarily the missile trajectory itself.
0
Thanks for the reply, I actually know how to make the custom attribute like "Intelligence" that displays in the unit box, and also making it increase spell damage. However, I'm looking for a bit more control than that. For example, I don't want all the ability effects to scale exactly the same way. Some spells may have other effects, so their damage would scale at, say, half intelligence, whereas the primary nuke spells would scale at 1.0 * intelligence. Or, for my physical attack classes, I want their spells to not scale off intelligence, but rather to scale off of a custom attribute "Damage", which would increase their basic attack as well as certain spell effect damages they have.
Is there any way to have more control over how spells scale with regard to attributes (Or even with regard to spell damage, it'd be easy enough to make the attribute simply increase nonscaled spell damage by 1, and use spell damage as the modifier), or are we stuck with each hero's' skills scaling the exact same way?
0
I'm trying to make a hero system where there are custom attributes, for example intelligence. I want to use intelligence to factor into the damage dealt for that hero's abilities. For example, some maps in war3 would have "Damage = Base + 1.2*int", or something like that. Is this at all possible to do in the SC2 map editor? I noticed the "spell damage" part when creating custom attributes, but it didn't seem like that allowed for a great amount of control, unless the spell damage stat can be used in the numbers for the ability.