It occurred to me that the issue could be caused activating multiple turrets at the same time that are attached to the same host. I tested this by doing the following:
I removed both the create event listed above from the AdvRaxTurretNorth actor (that creates it at morph finish), and the UnitBirth.AdvancedBarracks create event (again from the AdvRaxTurretNorth actor, the actor for the turret itself). Basically I removed any and all creation events from the North Turret actor, while allowing the South Turret actor to create itself as it always has.
Instead, I added these events to the AdvancedBarracks actor:
UnitBirth.AdvancedBarracks
TimerSet 5.000000 MakeTurret
TimerExpired
TimerName MakeTurret
Create AdvRaxTurretNorth
AbilMorph.*.Finish
MorphTo AdvancedBarracks
TimerSet 5.000000 MakeTurret2
TimerExpired
TimerName MakeTurret2
Create AdvRaxTurretNorth
The result of this was the creation of the north turret was delayed by 5 seconds. The south turret was created by the same events as before. The south turret still rotated on the pre-placed model, and did not rotate on the upgraded model or the built model. The north turret did not rotate on any of these models.
Breaking it further, however, has helped me understand what is not going wrong at least....
While the changing the events around as mentioned above did also create the turret, it had no effect on the rotation. Excuse me while a nerd-rage on my desk for a moment.....
No, what I mean is effect.YOUREFFECT is the parent of effect.YOUREFFECT.Start. The .Start is a specific step that YOUREFFECT takes when it is called. When an effect is called, it can take many, many different steps before it completes. The .Start is just the first. If you don't include .Start in the effect.YOUREFFECT event, then what happens is your attack actor is called when YOUREFFECT starts, when YOUREFFECT initializes, when YOUREFFECT stops, etc.
What I'm describing here is kind of a complicated subject if you're not familiar with programming, but basically if you don't tell the event effect.YOUREFFECT what step to use, it will use ALL of them.
An effect has several stages, .start, .stop, .initial, etc, (there are a lot of them, depending on the type of effect). if you have effect.YOUREFFECT > create, then it creates something at every single stage of the effect. That is what was causing your duplication errors. Your attack actor was being called like 12 times every time the marauder attacked.
That event already exists. The turrets being created after the upgrade completes is how I know that event is working.
Edit: Perhaps, though, instead of having the AbilMorph.*.finish > Create on the turret actor, would it work if I put the AbilMorph.*.Finish on the barracks actor, and had a target to the turret actor?
1. Your attack actor events were missing some values, specifically, your nigAttackActor events: effect.NigGrenadeDamage (the top event) and effect.NigMissile (the bottom event). They should both read "effect.NigGrenadeDamage.START" and "effect.NigMissile.START".
2. Your Marauder - Punisher Grenades (Set) effect was not referencing the correct damage effect in the set list.
I have made these changes and uploaded the map. The launch errors stopped after making these corrections.
I chose my words poorly. What I mean is, the Art - Missile entry of the attack actor needs to be defined to the actor off your missile unit. If you don't, the missile will not launch from the weapon of the unit.
edit: oops, should read all posts before responding. Looks like Eiviyn already mentioned this as well....
No, there was no turrets in the combat - turrets section. Only the combat - weapons section. However, after trying to add the turrets into the combat - turrets entry on the unit, there was no change.
And I do have the turret.enable > create event in a turret actor, one for each turret. I also have the turret objects themselves assigned to use the correct actors respectively.
I've messed around with numerous fields quite a bit with no luck. Also, I've discovered even stranger behaviors with the turrets. I've attached a video to the OP to better illustrate, but to describe it briefly, now the turrets work SOMETIMES when upgrading from another lower tier barracks. I've tested it 3 more times in addition to the 3 in the video, and it seems that 2 out of 3 times they work on upgrade. They never work on building the unit from scratch. So strange....
Edit: Also, with further research, I've found that if the turrets are created using the unit.creation event instead of the unit.birth event, they will turn correctly when the unit is built from the command menu. However, they will be floating above the unit during it's construction (which I can work around by setting opacity), however, they do NOT work when upgrading from the lower tier barracks.
0
@swanky_yankie: Go
Edit: I think I spoke too soon. What kind of ability are you talking about?
0
@TacoManStan: Go
Looks like an interesting algorithm, but if I may suggest, perhaps speed up the animation?
0
@Ardnived: Go
I've had good luck with this nvidia .dds converter for photoshop. I've created all my custom buttons using it without issue.
0
@DrSuperEvil: Go
No. I just know how to break it more at this point.
0
It occurred to me that the issue could be caused activating multiple turrets at the same time that are attached to the same host. I tested this by doing the following:
I removed both the create event listed above from the AdvRaxTurretNorth actor (that creates it at morph finish), and the UnitBirth.AdvancedBarracks create event (again from the AdvRaxTurretNorth actor, the actor for the turret itself). Basically I removed any and all creation events from the North Turret actor, while allowing the South Turret actor to create itself as it always has.
Instead, I added these events to the AdvancedBarracks actor:
The result of this was the creation of the north turret was delayed by 5 seconds. The south turret was created by the same events as before. The south turret still rotated on the pre-placed model, and did not rotate on the upgraded model or the built model. The north turret did not rotate on any of these models.
Breaking it further, however, has helped me understand what is not going wrong at least....
0
@DrSuperEvil: Go
What I did was I removed this event from the AdvRaxTurretNorth actor:
and I added this event to the Advanced Barracks actor:
I didn't think I needed to address the supporter in the turret actor at all, using this method. Correct me if I'm wrong.
0
@DrSuperEvil: Go
While the changing the events around as mentioned above did also create the turret, it had no effect on the rotation. Excuse me while a nerd-rage on my desk for a moment.....
0
@BudSMoken: Go
No, what I mean is effect.YOUREFFECT is the parent of effect.YOUREFFECT.Start. The .Start is a specific step that YOUREFFECT takes when it is called. When an effect is called, it can take many, many different steps before it completes. The .Start is just the first. If you don't include .Start in the effect.YOUREFFECT event, then what happens is your attack actor is called when YOUREFFECT starts, when YOUREFFECT initializes, when YOUREFFECT stops, etc.
What I'm describing here is kind of a complicated subject if you're not familiar with programming, but basically if you don't tell the event effect.YOUREFFECT what step to use, it will use ALL of them.
If I misunderstood your questions, let me know.
0
@BudSMoken: Go
An effect has several stages, .start, .stop, .initial, etc, (there are a lot of them, depending on the type of effect). if you have effect.YOUREFFECT > create, then it creates something at every single stage of the effect. That is what was causing your duplication errors. Your attack actor was being called like 12 times every time the marauder attacked.
0
@DrSuperEvil: Go
The lower tier doesn't have a turret.
0
@DrSuperEvil: Go
That event already exists. The turrets being created after the upgrade completes is how I know that event is working.
Edit: Perhaps, though, instead of having the AbilMorph.*.finish > Create on the turret actor, would it work if I put the AbilMorph.*.Finish on the barracks actor, and had a target to the turret actor?
0
@BudSMoken: Go
Solved your problem. You had 2 issues:
I have made these changes and uploaded the map. The launch errors stopped after making these corrections.
Hope this helps!
0
@BudSMoken: Go
I chose my words poorly. What I mean is, the Art - Missile entry of the attack actor needs to be defined to the actor off your missile unit. If you don't, the missile will not launch from the weapon of the unit.
edit: oops, should read all posts before responding. Looks like Eiviyn already mentioned this as well....
0
@BudSMoken: Go
Also, make sure your ammo unit is defined in the attack actor as well as the launch missile effect.
0
@DrSuperEvil: Go
No, there was no turrets in the combat - turrets section. Only the combat - weapons section. However, after trying to add the turrets into the combat - turrets entry on the unit, there was no change.
And I do have the turret.enable > create event in a turret actor, one for each turret. I also have the turret objects themselves assigned to use the correct actors respectively.
I've messed around with numerous fields quite a bit with no luck. Also, I've discovered even stranger behaviors with the turrets. I've attached a video to the OP to better illustrate, but to describe it briefly, now the turrets work SOMETIMES when upgrading from another lower tier barracks. I've tested it 3 more times in addition to the 3 in the video, and it seems that 2 out of 3 times they work on upgrade. They never work on building the unit from scratch. So strange....
Edit: Also, with further research, I've found that if the turrets are created using the unit.creation event instead of the unit.birth event, they will turn correctly when the unit is built from the command menu. However, they will be floating above the unit during it's construction (which I can work around by setting opacity), however, they do NOT work when upgrading from the lower tier barracks.