| 09-10-2007, 09:42 PM | #1 |
ok, this might be the wrong place to ask, but your system is really great and I was wondering if anyone can help me use it to create a good solution for a problem I have... I'm making a map that rely on masses of trainable units that should be able to shoot while they are moving. I know that this could be done with a Phoenix Fire ability (if I just remove the burn duration), but the problem I have is that Phoenix Fire counts as a spell and therefore ignores damage reduction gained from hardened skin (an ability almost every unit in my map will have). Is there a possibility to write an efficient code (most probably using your caster system), that will mimic the phoenix fire ability. In order to allow units to "auto-attack" while moving, without ignoring hardened skin? I have no problem with having the units display damage 0-0, and having a dummy ability that tells the player the damage they really inflicts. (In either case I will use your Caster System anyway, as that will work great for having my Siege units projectiles deviate from their intended targets ) |
| 09-10-2007, 11:11 PM | #2 |
"Efficiently" is a wide word, if you make a super optimized turret system it would not cause lag to your map yet it wouldn't be called efficient by some since it requires a constant time. I think this thread would do better in triggers and scripts. Bassically, it depends on the kind of attack you want, for example a tank-like thing could just use a turret, a knight should even customize the movement itself... |
| 09-11-2007, 06:16 AM | #3 |
as for the actual ability you could do something like this event every x gametime condition action pick every unit with ability w/e set U = random unit within 600 of picked unit order picked unit to damage S for x damage of type w/e call removeunit(udgU) just add the special effect and change the specific values |
| 09-11-2007, 12:21 PM | #4 |
You could always make a dummy unit to attack if you wanted to add a model to it... less effort and more customizable that way. |
| 09-11-2007, 12:48 PM | #5 |
dummy unit... humm ya do that, forget what I said earlier :P |
| 09-11-2007, 01:21 PM | #6 |
The problem is having attack animation and walking animations at the same time, something that is barely doable in wc3, and virtually impossible without custom models. |
| 09-11-2007, 04:32 PM | #7 |
the easy war is a custom model that has a walk2 animation the hard (and worse looking) way is to make the unit play the animation while you "slide" it |
| 09-11-2007, 04:56 PM | #8 |
Even with a walk2 it's only be able to shoot forwards, and sincing the shooting with actually attacking would be hard as hell. I think the best way would actually be to make two models, one for the legs, and one for the torso. You can then have the torso play attack animations and slightly turn to sides for a strafing effect, and you can have the legs move normally. This would however require really close cooperation between animator and coder. |
| 09-11-2007, 08:50 PM | #9 |
humm maby have a set of 4 animations (attack 3-7 or w/e) that are a moving attack that is 90 degrees off the other one. @erw - that would cause lots of problems with selection and the preview camera. The only feesable fix i can think of would be to make the legs invunerable and have locust, as well as make the legs also take all move orders that the torso takes... i must say tho it would be a pain to animate/model something that precise... but i suppose it COULD be done. |
| 09-11-2007, 10:21 PM | #10 |
Whoa! Heh, I'm thinking of just scaling down the models and add some special effects to them when they are shooting (or something like that). The important thing will be to get it working, there is no need for it to look fancy ;-P At first I didn't like the "every x gametime" event type, as it will make all units fire at the same time, but it seems like a reasonable option. I am thinking of either creating a dummy unit and have it fire a standard attack against the target or to use the DamagingProjectileLaunchTargetLoc(...) from Vexorian's system. What would be the most efficient of those two? A third option would be to create an invisible unit (with their animation backswing point set to zero) over the head of every newly spawned unit, and instantly move them to the position of the unit at short intervals. But how would I then know what "invisible unit" I would need to move to what "moving unit"? And how would I know which "invisible unit" to destroy when their "moving unit" dies? |
| 09-11-2007, 10:55 PM | #11 |
pick all unit with ability w/e pick unit within x of picked unit |
| 09-12-2007, 04:46 PM | #12 |
yeah, but then there will not be a projectile (and that might look a bit strange, as that will be the only obvious thing that tells the player that his units are actually shooting). There does not seem to be any way to detect when a "Phoenix Fire" attack hits a target, and I guess that there is no way around this I'll try to use Vex function for my projectiles for now. |
| 09-12-2007, 04:56 PM | #13 |
ok well here is the whole thing of what I ment then pick all unit with ability w/e set U = random unit within x of picked unit create Dummy at position of picked unit order dummy to attack U |
| 09-12-2007, 05:07 PM | #14 | |
Quote:
|
| 09-12-2007, 05:42 PM | #15 | |
Quote:
|
