Look in the Actors tab for actors with "infestor" or "tentacle" in their name, one of them must be the tentacle with events that reference the old infestor actor.
You were right, found the one I needed. It was called NeuralParasiteTentacle. Had to update the "Abil.NeuralParasite.SourceChannelStop" to point to my new ability (in case anyone else needs to know). I also had to duplicate all 3 effects tied to NeuralParasite in order to use the right actor without breaking the ability. Thanks for the help.
I made a duplicate of the Infestor so I could scale it larger. Then I made a duplicate of the Neural Parasite ability so that I could target air units with it. For the most part it works great. Everything works like it should until I go to kill the Infestor controlling another unit. When it dies the unit being controlled reverts control correctly, but the tentacle that was going from the Infestor to the controlled unit stays behind. It still follows the controlled unit around as if the Infestor were still alive. The Neural Parasite buff on the target even goes away, but the graphic of the tentacle stays behind.
I've spent a bunch of time messing around with Validators and even tried re-cloning the ability, but to no avail. Any help would be most appreciated.
In the Requirement where you set the Type/Alias/State also make sure "Tech Tree Cheat" is checked. Not sure if that will fix it or not, but it's checked for the ability I made. Sorry I missed that.
But if you want them to gain access to the ability at different times then the Upgrade/Requirement approach won't work. That only works if you have 1 unit or if u want all units to gain access to the ability at the same time. You'll have to hide the ability with triggers at map init or each time the unit is created, then show it when you want that particular unit to have access to it. If the units start off already created when the map loads then you could do something like:
Otherwise just have a trigger that fires each time a unit of the given unit type is created and call Hide on the Triggering Unit. Then have another one that triggers based off whichever event you want and calls Show for the Triggering Unit.
If you want each unit to gain access to the ability at a different time then yes. But if you want all units who have the ability to learn it at the same time then an upgrade is the way to go.
Long answer:
If you want multiple abilities at different levels across multiple units then go with the 'hide at map init' approach. Because using Upgrades/Requirements will make all units of that type for that player have the ability when you trigger the upgrade. If some of these abilities are different levels of the same ability then make some arrays so you can call "Hide <abilityA>[x]" and "Show <abilityA>[x+1]". If not then get ready for some slogging.
There are two ways you can accomplish this that I know of:
The less complicated way is to have a trigger that runs on map initialization and call "Unit - Hide the <ability name> ability for <specific unit>". Note that this only hides the ability for that specific unit. Any newly created units of that unit type will not have the ability hidden. Not sure about reviving units, you'll have to test that. As a side note, this will not work if you are just using a button on the command card with no ability attached to it as the trigger requires an ability.
The harder way is to create a new upgrade for that ability. The upgrade doesn't need to do anything, just exist. Under "Affected Unit Array" add in the unit that will be using the ability. Now make a new Requirement and double click "Requirement - Node Link". There are two folders, "Use" and "Show". Since you want the ability to be invisible from the start, right-click the "Show" folder and choose "Add Requirement Node". Set the following:
Type: Count Upgrade
Alias: <the upgrade you created previously>
State: Completed
And hit OK. Now go back to your unit and into the command card. Add the ability to the command card and for the "Requirement" field choose the Requirement you created. When you start up the game the ability should be gone. And whenever you want to give the ability to the unit just call " Tech Tree - Add 1 to <upgrade name> upgrade for player (Owner of (Triggering unit))" from a trigger.
A side note. Unless I miss my guess it sounds like you have a lot of abilities that will be constantly hiding and showing. Might I recommend that you make a couple ability arrays for like abilities (divided up however you need it) and set them up when the map initializes. From there you can use for loops and switch statements to do what you want rather than a whole lot of if/then/elseif statements.
Glad I asked. That would have taken me hours if not days to figure out on my own. Thanks for putting it all together for me. A little duplicating, some renaming, works like a charm. Thanks again.
As for the cursor, you need an actor of type Splat -> Cursor Splat. Like the "PsiStormCursorSplat (Unnamed)" actor for Psi Storm.
Note: in your ability, you also need to set the field Cursor Effect to your search area effect, so the splat know which radius it should be at.
My ability already points to the search effect. And I get making a new actor. But where do I tell the search effect what actor to link to? There's no "Actor" field in the list of fields inside a search effect.
As for the lightning effect in Psi Storm, this is done by the actor "High Templar Psi Storm Model". I assume you can use them as a refference, and do something similar with your ability.
And this pretty much amounts to the same question as above, where do I link it to the Actor. I don't see an "Actor" field.
So I created an ability that is designed to lay down a patch of ooze that slows down anything crossing over it. I created a Search Area effect and a Persistent effect going off Psi Storm as a reference. The ability itself works, but the bigger problem is that when I go to use the ability it only shows the single target reticule like it's looking for one target. However the AoE is working correctly because it highlights units that come within range of the cursor.
How do I make it show the circle that represents the AoE where the ooze will land, like in Psi Storm or Grenade?
And while I'm asking, how do you create a persistent display like the psionic lightning created by Psi Storm? I know you have to add some actors, but I haven't found where those actors are linked to the ability.
So after much trial and error I managed to get charges for my Spider Mine ability to recharge correctly over time without triggers. I noticed a lot of help requests on this topic but no real answers, so here is what I found. There are some bugs and/or some poorly labeled fields that have to be worked around. The important fields are:
Cost - Charge - Count (Max) >>> The maximum number of charges the ability can have at any one time.
Cost - Charge - Count (Start) >>> The number of charges the ability has from the start.
Cost - Charge - Count (Use) >>> How many charges are consumed when the unit uses the ability.
Cost - Charge - Hide Count >>> Whether or not the player can see how many charges remain (Disabled means the player can see the number).
Cost - Charge - Time Start >>> The amount of time it initially takes for one charge to regenerate.
Cost - Charge - Time Use >>> The amount of time added to the recharge timer each time the ability is used. (At least I am 99% certain that's what this does. If anyone finds out otherwise post your update down below.)
Alright, so now we want to make an ability. For me I did Spider Mines. Duplicate your ability and come down to these fields.
Set the Count (Max) to whatever you want. Now the tricky part, set the Count (Start) to anything LESS than the max. Do not set it equal to or greater than Count (Max) or your ability will not recharge at all. Clearly a bug, but until it gets fixed you have to work around it.
Now determine how long you want it to take for the ability to regenerate one charge, like 5 seconds. Put 5 into the Time Start field, not the Time Use field. And yes, the labeling for these fields it terrible. Set Time Use to 0.
Now save and test your ability. If everything is working correctly it should recharge once every 5 seconds. You will only get it to display the time remaining for the next charge if their are 0 charges. No idea how to change this. Also have not tested item charges to see if they follow the same pattern. Hope that helps.
0
You were right, found the one I needed. It was called NeuralParasiteTentacle. Had to update the "Abil.NeuralParasite.SourceChannelStop" to point to my new ability (in case anyone else needs to know). I also had to duplicate all 3 effects tied to NeuralParasite in order to use the right actor without breaking the ability. Thanks for the help.
0
I made a duplicate of the Infestor so I could scale it larger. Then I made a duplicate of the Neural Parasite ability so that I could target air units with it. For the most part it works great. Everything works like it should until I go to kill the Infestor controlling another unit. When it dies the unit being controlled reverts control correctly, but the tentacle that was going from the Infestor to the controlled unit stays behind. It still follows the controlled unit around as if the Infestor were still alive. The Neural Parasite buff on the target even goes away, but the graphic of the tentacle stays behind.
I've spent a bunch of time messing around with Validators and even tried re-cloning the ability, but to no avail. Any help would be most appreciated.
0
In the Requirement where you set the Type/Alias/State also make sure "Tech Tree Cheat" is checked. Not sure if that will fix it or not, but it's checked for the ability I made. Sorry I missed that.
But if you want them to gain access to the ability at different times then the Upgrade/Requirement approach won't work. That only works if you have 1 unit or if u want all units to gain access to the ability at the same time. You'll have to hide the ability with triggers at map init or each time the unit is created, then show it when you want that particular unit to have access to it. If the units start off already created when the map loads then you could do something like:
Otherwise just have a trigger that fires each time a unit of the given unit type is created and call Hide on the Triggering Unit. Then have another one that triggers based off whichever event you want and calls Show for the Triggering Unit.
0
@Chairmang: Go
Short answer:
If you want each unit to gain access to the ability at a different time then yes. But if you want all units who have the ability to learn it at the same time then an upgrade is the way to go.
Long answer:
If you want multiple abilities at different levels across multiple units then go with the 'hide at map init' approach. Because using Upgrades/Requirements will make all units of that type for that player have the ability when you trigger the upgrade. If some of these abilities are different levels of the same ability then make some arrays so you can call "Hide <abilityA>[x]" and "Show <abilityA>[x+1]". If not then get ready for some slogging.
0
@Chairmang: Go
There are two ways you can accomplish this that I know of:
The less complicated way is to have a trigger that runs on map initialization and call "Unit - Hide the <ability name> ability for <specific unit>". Note that this only hides the ability for that specific unit. Any newly created units of that unit type will not have the ability hidden. Not sure about reviving units, you'll have to test that. As a side note, this will not work if you are just using a button on the command card with no ability attached to it as the trigger requires an ability.
The harder way is to create a new upgrade for that ability. The upgrade doesn't need to do anything, just exist. Under "Affected Unit Array" add in the unit that will be using the ability. Now make a new Requirement and double click "Requirement - Node Link". There are two folders, "Use" and "Show". Since you want the ability to be invisible from the start, right-click the "Show" folder and choose "Add Requirement Node". Set the following:
Type: Count Upgrade
Alias: <the upgrade you created previously>
State: Completed
And hit OK. Now go back to your unit and into the command card. Add the ability to the command card and for the "Requirement" field choose the Requirement you created. When you start up the game the ability should be gone. And whenever you want to give the ability to the unit just call " Tech Tree - Add 1 to <upgrade name> upgrade for player (Owner of (Triggering unit))" from a trigger.
A side note. Unless I miss my guess it sounds like you have a lot of abilities that will be constantly hiding and showing. Might I recommend that you make a couple ability arrays for like abilities (divided up however you need it) and set them up when the map initializes. From there you can use for loops and switch statements to do what you want rather than a whole lot of if/then/elseif statements.
0
@SBeier: Go
Glad I asked. That would have taken me hours if not days to figure out on my own. Thanks for putting it all together for me. A little duplicating, some renaming, works like a charm. Thanks again.
0
My ability already points to the search effect. And I get making a new actor. But where do I tell the search effect what actor to link to? There's no "Actor" field in the list of fields inside a search effect.
And this pretty much amounts to the same question as above, where do I link it to the Actor. I don't see an "Actor" field.
0
So I created an ability that is designed to lay down a patch of ooze that slows down anything crossing over it. I created a Search Area effect and a Persistent effect going off Psi Storm as a reference. The ability itself works, but the bigger problem is that when I go to use the ability it only shows the single target reticule like it's looking for one target. However the AoE is working correctly because it highlights units that come within range of the cursor.
How do I make it show the circle that represents the AoE where the ooze will land, like in Psi Storm or Grenade?
And while I'm asking, how do you create a persistent display like the psionic lightning created by Psi Storm? I know you have to add some actors, but I haven't found where those actors are linked to the ability.
Thanks for any help you can provide.
0
So after much trial and error I managed to get charges for my Spider Mine ability to recharge correctly over time without triggers. I noticed a lot of help requests on this topic but no real answers, so here is what I found. There are some bugs and/or some poorly labeled fields that have to be worked around. The important fields are:
Cost - Charge - Count (Max) >>> The maximum number of charges the ability can have at any one time.
Cost - Charge - Count (Start) >>> The number of charges the ability has from the start.
Cost - Charge - Count (Use) >>> How many charges are consumed when the unit uses the ability.
Cost - Charge - Hide Count >>> Whether or not the player can see how many charges remain (Disabled means the player can see the number).
Cost - Charge - Time Start >>> The amount of time it initially takes for one charge to regenerate.
Cost - Charge - Time Use >>> The amount of time added to the recharge timer each time the ability is used. (At least I am 99% certain that's what this does. If anyone finds out otherwise post your update down below.)
Alright, so now we want to make an ability. For me I did Spider Mines. Duplicate your ability and come down to these fields.
Set the Count (Max) to whatever you want. Now the tricky part, set the Count (Start) to anything LESS than the max. Do not set it equal to or greater than Count (Max) or your ability will not recharge at all. Clearly a bug, but until it gets fixed you have to work around it.
Now determine how long you want it to take for the ability to regenerate one charge, like 5 seconds. Put 5 into the Time Start field, not the Time Use field. And yes, the labeling for these fields it terrible. Set Time Use to 0.
Now save and test your ability. If everything is working correctly it should recharge once every 5 seconds. You will only get it to display the time remaining for the next charge if their are 0 charges. No idea how to change this. Also have not tested item charges to see if they follow the same pattern. Hope that helps.