I'm experimenting with magazine-built and -launched units on my map project. At the moment, I'm making it so that instead of training units, loading them into a dropship, flying the dropship to another "planet" and then unloading the units, the Dropship itself serves as a "carrier". It trains the units, stores them inside itself, and when it's above a "planet" it can launch them to attack ground targets. Then it reloads them and flies off to another planet.
At first I set them up to work exactly like Carriers, and it worked alright. But as I ran more test fights, I noticed that the deployed units weren't fighting that effectively because they always attacked a single unit at a time... the one the Dropship's own weapon was targeting. I'm aware that this is a hardcoded behavior inherent to magazine-managed units, so I started looking for ways around it. I've found two so far, but they're not optimal for various reasons.
The first and easiest way is for the mothership unit to attack something that the magazine unit's own weapon is unable to target. If your mothership's weapon can target an air unit, but the magazine units can only attack ground units, then they won't be slaves to the mothership's attack target and are free to engage like any normal unit would. However, it does still require that the mothership unit be in the process of attacking something, and if you want to have them perform adequately without excessive micro-management they need to be able to attack the same kind of object their magazine units are effective against.
The alternative that I'm currently investigating holds more promise, I think. In the Ability : Info+ section of the Arm Magazine ability, where you can set the values for the units that it trains, there's one entry down at the bottom that says Info - Manage. This can be set to Destroy, Recall or Ignore, and it seems to govern what the magazine units do when the mothership is not attacking. Recall is the one that the Protoss Carrier uses, and is the expected behavior: when the mothership stops attacking, the magazine units stop attacking as well and return to the mothership to be stored inside it again. Destroy will kill all deployed magazine units when the mothership stops attacking. Ignore seems the most useful one here, because it does nothing. When there are magazine units deployed and the motherhship stops attacking, Ignore makes the magazine units keep doing what they're doing. It's the most direct way to get them to behave like normal units again.
I've been able to couple this with an Effect - Instant ability that runs a Use Magazine effect, and it works pretty smoothly: the dropship is able to deploy its units without needing to attack, and the deployed units are free to move around and attack normally without all being forced to go after the same target. The problem, however, comes when it's time to get them back into the dropship afterward. Without Recall being enabled there doesn't seem to be any way to achieve this. Even a "Return Magazine" effect, which would seem to be the most logical option, doesn't get them back in. It just orders them to move to the mothership unit's position, but then they just sit there beneath it. If I re-enable "Recall", I can use this to pull them back in, but I'd be able to do that anyway just by telling the dropship to stop attacking for a moment, and if the dropship isn't attacking they get sucked back in the instant they launch.
I've also found that if Info - Manage is set to Ignore and the Retarget flag is not enabled, then the Arm Magazine will let go of the magazine units entirely when they're launched; they'll no longer count as part of the mothership's magazine and it will be free to train new ones. This has some potential, because it would let you build a troop-training facility that could be told to autocast and thus produce a given unit type indefinitely, but that's neither here nor there.
I suppose if I wanted to be really kludgy with it I could give the Dropship a conventional cargo bay and let it re-load its deployed units into that for later use, but I'd rather find a more elegant solution to this problem.
For anyone curious, I think I managed to get this to work. And I wound up using the first method rather than the second, but with an added workaround.
Instead of the player ordering the Dropship to attack a friendly target, the player can't order it to attack at all. Just scan-move like with any other unarmed unit. However, the Dropship has an autocast Effect - Instant ability that it will use whenever enemies are near, or can be ordered to use manually. This ability uses an Issue Order effect to make the Dropship attack itself. I had to create a custom Attack ability and weapon for the Dropship, such that the only valid target is itself. Once it begins attacking itself, it continues to do so until ordered to stop or move by the player, and so long as it keeps attacking it will keep deploying magazine units as they're trained.
Obviously this solution can't be used anytime you want a unit to both deploy magazine units in this fashion and fire a conventional weapon, but in that case they'll be launching anyway so long as you're attacking.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
I'm experimenting with magazine-built and -launched units on my map project. At the moment, I'm making it so that instead of training units, loading them into a dropship, flying the dropship to another "planet" and then unloading the units, the Dropship itself serves as a "carrier". It trains the units, stores them inside itself, and when it's above a "planet" it can launch them to attack ground targets. Then it reloads them and flies off to another planet.
At first I set them up to work exactly like Carriers, and it worked alright. But as I ran more test fights, I noticed that the deployed units weren't fighting that effectively because they always attacked a single unit at a time... the one the Dropship's own weapon was targeting. I'm aware that this is a hardcoded behavior inherent to magazine-managed units, so I started looking for ways around it. I've found two so far, but they're not optimal for various reasons.
The first and easiest way is for the mothership unit to attack something that the magazine unit's own weapon is unable to target. If your mothership's weapon can target an air unit, but the magazine units can only attack ground units, then they won't be slaves to the mothership's attack target and are free to engage like any normal unit would. However, it does still require that the mothership unit be in the process of attacking something, and if you want to have them perform adequately without excessive micro-management they need to be able to attack the same kind of object their magazine units are effective against.
The alternative that I'm currently investigating holds more promise, I think. In the Ability : Info+ section of the Arm Magazine ability, where you can set the values for the units that it trains, there's one entry down at the bottom that says Info - Manage. This can be set to Destroy, Recall or Ignore, and it seems to govern what the magazine units do when the mothership is not attacking. Recall is the one that the Protoss Carrier uses, and is the expected behavior: when the mothership stops attacking, the magazine units stop attacking as well and return to the mothership to be stored inside it again. Destroy will kill all deployed magazine units when the mothership stops attacking. Ignore seems the most useful one here, because it does nothing. When there are magazine units deployed and the motherhship stops attacking, Ignore makes the magazine units keep doing what they're doing. It's the most direct way to get them to behave like normal units again.
I've been able to couple this with an Effect - Instant ability that runs a Use Magazine effect, and it works pretty smoothly: the dropship is able to deploy its units without needing to attack, and the deployed units are free to move around and attack normally without all being forced to go after the same target. The problem, however, comes when it's time to get them back into the dropship afterward. Without Recall being enabled there doesn't seem to be any way to achieve this. Even a "Return Magazine" effect, which would seem to be the most logical option, doesn't get them back in. It just orders them to move to the mothership unit's position, but then they just sit there beneath it. If I re-enable "Recall", I can use this to pull them back in, but I'd be able to do that anyway just by telling the dropship to stop attacking for a moment, and if the dropship isn't attacking they get sucked back in the instant they launch.
I've also found that if Info - Manage is set to Ignore and the Retarget flag is not enabled, then the Arm Magazine will let go of the magazine units entirely when they're launched; they'll no longer count as part of the mothership's magazine and it will be free to train new ones. This has some potential, because it would let you build a troop-training facility that could be told to autocast and thus produce a given unit type indefinitely, but that's neither here nor there.
I suppose if I wanted to be really kludgy with it I could give the Dropship a conventional cargo bay and let it re-load its deployed units into that for later use, but I'd rather find a more elegant solution to this problem.
For anyone curious, I think I managed to get this to work. And I wound up using the first method rather than the second, but with an added workaround.
Instead of the player ordering the Dropship to attack a friendly target, the player can't order it to attack at all. Just scan-move like with any other unarmed unit. However, the Dropship has an autocast Effect - Instant ability that it will use whenever enemies are near, or can be ordered to use manually. This ability uses an Issue Order effect to make the Dropship attack itself. I had to create a custom Attack ability and weapon for the Dropship, such that the only valid target is itself. Once it begins attacking itself, it continues to do so until ordered to stop or move by the player, and so long as it keeps attacking it will keep deploying magazine units as they're trained.
Obviously this solution can't be used anytime you want a unit to both deploy magazine units in this fashion and fire a conventional weapon, but in that case they'll be launching anyway so long as you're attacking.