• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Weapon launch attatchment points

Status
Not open for further replies.
Level 3
Joined
Jun 11, 2007
Messages
43
Well, this is definitely a headache.

When I started editing with the editor, one of the first things I wanted to do was give the Marine a laser attack. I started out by just taking off his Gauss rifle and replacing it with the Battlecruiser's ground weapon.

It worked...except for the fact that the laser kept shooting from his feet.

That's when I learned about actors, and I started to understand a little about how it affected the appearance of things. I was just doing direct editing, so I didn't really use copies or duplicates for the moment. I just directly edited the Battlecruiser Ground Attack actor (which now applied to the Marine) and went to the Launch Attatchment Query section of the actor, where I found the values that determined where the lasers fired from the battlecruiser (as well as the pattern of turret selection).

I simply changed it to the same value that the Marine Attack uses and voila! The marine shoots lasers from his rifle.

Now I want to make a mod, and I wanted to make an entirely seperate laser weapon to give to the marine so that (if I chose to) I could have both the marine and the battlecruiser shooting laser weapons that came out of the correct barrels (I.e., the laser would come out of the marine's gun, while on the battlecruiser it'd come out of its ground weapon set, which has a different attatchment reference).

I started by duplicating the weapon entirely, which copied all of the related effects and such. Unfortunately, this didnt copy the actors that were related to the weapon. So I went to those actors and duplicated them as well, so that all of the models and sounds relating to it were duplicated. The actors I duplicated were as follows.

-Battlecruiser Ground Attack
-Battlecruiser Ground Attack Missile

I went to the "token" area of the data panel so that I could associate them with their respective effects. I set the ground attack actor to apply to the missile and damage effect copies while the attack missile actor was set to the weapon unit copy.

I tested the map and, lo and behold...the marine was still shooting from his feet.

I thought I might have missed something, and decided perhaps my problem was working from the top down. I should have duplicated the effects first, which would have duplicated the actors with them, and THEN duplicate the weapon. I reset things to default and tried it again.

And...he still shoots from his feet.

The oddest thing is, if I just give the marine the Battlecruiser weapon and change the original Battlecruiser Ground Attack actor so that it shoots from the Marine's rifle, it works perfectly.

Where did I go wrong? Did I miss something when I tried to set everything to default? Should I try it again from scratch? Is there some sort of link that wasn't copied right that just isn't registering?

I think this is what frustrates me the most about this editor. In the War3 editor, if you wanted to make a copy of a spell, it was -easy-. You could just hit the custom spell button, select the spell to copy as your template, and edit it from there. With the Galaxy Editor, you can still copy something based off of an existing template ability or weapon, but it doesnt do that for everything related to that ability. You can sortof achieve that effect using duplicate, but that only goes as far as duplicating so much, since you end up finding things it DIDN'T duplicate (such as duplicating a weapon, which duplicates its related effects, but doesn't duplicate the actors that concern said effects).

I shouldn't say War3's editor was perfect, though. If I remember correctly, certain fields like target effects and other effects worked -exactly- the same way as the problem I'm facing. Copying the Carrion Storm ability forced you to use the same impact effect unless you edited the original ability, which I think screwed up the Crushing Wave ability by not using its intended impact model...a model they -made- for the game. I was surprised that they didn't even fix that with the editor. How hard could it be to do that? If they're gonna hardcode that stuff, why even give fields to edit it?

Could this be a similar case? Am I doomed to settle for editing the original weapon rather than making a completely new one? That'd be fine for some mods, but then it just breaks the weapon for the Battlecruiser.

Sorry in advance for the long post. I try to give as much description as possible. >< I'm inserting the map as well. Maybe someone can tell me what I'm missing.
 

Attachments

  • moddevelopment.SC2Map
    53.8 KB · Views: 181
Level 1
Joined
May 8, 2010
Messages
3
make sure to relink everything correctly.

The only explanation i can think of for Duplicate's odd behavior is that blizz didn't know how to please everyone at the same time.

just remember how everything links together

inside Actors you set the models,sounds, and link it to the correct unit.

I usually use duplicate purely to get all the attribute values, then delete the unnessary clutter and remake elements separately and relink after.
 
Level 3
Joined
Jun 11, 2007
Messages
43
But we can't ignore them.

It was easier to ignore things like that in War3, because when you had to deal with spells like Carrion Swarm (I just realized I said "Carrion Storm" earlier :/) and wanted to make a copy without the damage effect, you'd just remove it from the spell entirely, and it wasn't much of a problem. I think Impale was a different story, but it didn't entail to the majority of the game.

Actors, on the other hand, entail to EVERYTHING, just about. Ignoring them is impossible, and if we're forced to work within their current bounds of simply editing them and not copying them ourselves, it severely limits the creative power of the editor, and I'm sure that isn't something Blizzard wants to do.

Otherwise, it's not really a true mod-maker. It just becomes a tool where you have to hack and slash your way through the data fields to create certain things that you want, and leave everything else in a pile of useless scrap. By making the battlecruiser weapon suitable for the Marine, I ruin it for the Battlecruiser.

Considering I got it to work by using the original battlecruiser weapon with its original actor, I'm not 100% sure if it's a problem with the actor or the weapon in general. This does require additional tests, but I'd really like to see if someone who has knowledge of the subject can help me out with what's wrong here.
 
Level 4
Joined
Jul 4, 2009
Messages
77
Attach points for weapons.

Thank you for pointing out where to find the weapon launch points, Ive been looking everywhere.

Now. If I want to add a weapon launch point to a sensor tower (which has no original weapon) and I want it to fire from the attachpoint on the tower that is called 'Target', since that is the only centralized attach point off the ground besides overhead. (Heck Ive noticed the battlecruiser has 18 weapon attachpoints, but some buildings have none, so we have to use random other points to attach the weapons, unless we edit the models themselves somehow.) What do I change in the ACTION actor for the weapon I am attaching?

I see two fields.

Launch Attachment Query FALLBACK
and
Launch Attachment Query Methods

Ive tried chaning both Launch Fallback AND Launch Methods to "Target"
but it still launches from the towers base...

what would I have to set it to to launch from the towers TARGET attach point?
Ive tried using overhead as well, but neither works.

Do I have to change any other fields in any other data types as well?
Weapons? Units? Effects?
 
Level 3
Joined
Jun 11, 2007
Messages
43
That's actually the easy part. Well, maybe not TOO easy, but here's what I mean.

You have to go under Launch Attatchment Query and edit the "Methods". Now, the reason why this isn't working for the Sensor tower is because you're probably not setting it to an Attatchment Method that incorporates it's specific attatchment point.

If you go to the Data Editor, click on the "Data Type" pulldown menu and select "Attatch Methods". You'll see a list of fields that are essentially all named the same thing you see in the "Methods" section of the Launch Attatchment Query section. They all have different sets of data, and seem to be divided up into different types. Filters, Patterns, Randoms, Proximities, etc. I don't know what all of them mean, but I seem to have the grasp of "Filter", "Pattern" and "Random".

"Filters" are the one your'e looking for. The fields they use determine the name of the attatchment points being referenced.

"Patterns" seem to pertain to the pattern of going between multiple points, like the Marauder or the Viking.

"Random" seems to be a similar thing to pattern...except it's a random pattern.

For example, the Battlecruiser ground attack actor has two things listed under Launch Attatchment Query:

AMFilterWeaponSetA1
AMPatternRandomUniform

The first one, the filter, specifies that the attacks launch from the set of attatchment points pertaining to the six cannons aiming towards the ground (though I think it should be fixed, since four of them are aiming down and the other two are aiming forwards, while the top two that are also aiming forwards are the only ones used for the air attack. 4 to 4 ratio sounds better than 6 to 2. Then again, that may have something to do with the different kind of attacks...). I also haven't the foggiest idea just what exactly determines the "Weapon Set" attatchment points are grouped into, so it's pretty much a matter of looking at the original actor with regards to what it makes the model already do and figuring it out from there.

...anyhow, moving on.

The second one, the random, is responsible for the blasts firing from each cannon in a random fashion rather than in a specific pattern.

Now, you said you changed both fields to "Target". For now, I'd leave the Fallback part alone. Leave it on "Center". I don't know what it means, but you should be concerned with the methods.

There's a method called "Filter Target" that seems to use the "Target" key as the reference, but it's index is set so that it refers to all attatchment points named "Target". Looking at the model in the previewer, there are two attatchment points known as "Target" on the sensor tower.

One of them is just called "Target", and it appears to be the one you want it to fire from since it's not overheat and it isn't at the origin.

The other is called "Target 01", and it's pretty close to the bottom where the origin is.

My guess is that it's firing from there, and without a pattern or random motion it isnt going between those spots. You may want to create your own attatchment method made specifically for the tower referring to that point. Since the point you want is just called "Target", I'd make a copy of the "Filter Target" Attatchment Method and change it so that instead of the index being "-1", it's "0", since there is no number next to the attatchment point.

I HOPE that works. If it doesnt, then it must be some sort of index issue. honestly, depending on the kind of attack you want to do, it wouldnt look that bad coming out of the overhead. At least if it was some sort of energy attack.

If that still doesn't work, the only other thing I could figure it'd be is some problem with the Launch Attatchmen Query...

...which, of course, brings me to some good news. It seems I've solved my own problem.

After some testing and fiddling around, I found out just how confusing actors really are. From what I've learned, duplicating an actor is a bad idea. I don't know WHY it screws up, but I surmise it has something to do with a parent-child relation. When you duplicate an item, the parent becomes the original ability. I don't know why that screws things up, but I think it just does.

I'll explain my methodology.

1. I tested my original idea by working from the bottom up again, making complete duplicates of the laser weapon effect (not the weapon itself, just the effects and everything under it), as well as copies of the actor pertaining to the missile (which connects the model to the ammo unit).

2. I tried using the copied actors, but nothing was working right. I tried taking the original actors and associating them with the copied effects, while taking the new actors and associating them with the old effects. Not only did that not work, but it caused some really weird bug that ended up attatching the laser model to all of the units on the map, which originally showed up as a bunch of spheres because the actor model wasn't associating properly.

What this told me is that, regardless of what it's attatched to, actors made through duplication seem to screw stuff up.

So I started over...again. This time, rather than duplicate the actor, I duplicated everything BUT the actor. Instead, I created completely new actors. The first time I did it, I based it off of the battlecruiser ground attack actor with the fields set so that it copies from said actor so it'd be easy to implement...but for some reason that just didn't work. It still caused both the marine AND the battlecruiser to shoot from their origins.

I deleted the actor and recreated them. This time I based it off of the GenericAttack actor default from the core file, and set it to parent rather than copying the data from the battlecruiser. I punched in the Effects into the event keys under "Events", and tested it out.

Voila! The battlecruiser was no longer firing from its center again!

Then it was just a simple matter of assigning everything to a seperate weapon, giving it the Marine's attatchment method, and giving the BC back its original weapon. The end result was two completely different laser weapons.

Before I ran that test, I had run another test back when it was still firing from the origin point to see if the actors really were broken or not. I tested other parts of the actors, like the stuff that controls the sounds of the laser blasts and its impact, and set them to different values. To my surprise, THEY worked, but the changes to the Launch Attatchment Query didn't.

I don't know if it's related to a parent issue that results from the duplication process or when you make a new actor based off of an existing actor instead of the core defaults, but I would say the real problem lies within the Launch Attatchment Query field itself.

I remember that when changing values in it, I couldn't just remove all the attatchment methods and replace them with newly added ones, or just delete them all and have no attatchment method. It doesn't work for some reason. Every time I clicked "Ok" it'd just go back to the original as if I didn't do anything. Instead, I had to delete one (I keep forgetting which one, because if I dont delete the right one it wont stay deleted) and then -change- the remaining one. I didn't record which was which...I just kept changing it until it stayed changed.

In the end, I think all this means is that the Launch Attatchment Query field is bugged, and doesn't change correctly unless you finnagle it a bit. Duplicating the actor or basing it off something other than the core mod default just seems to fudge it up even more.

Though I haven't tested if this means that setting the field values to copy from an existing actor will screw it up. I think it just pertains to whether or not you base it off of the defaults or not. I should test that soon, as I sure hope you CAN just have the field values copied, otherwise you'd have to edit each actor manually piece by piece. Not a hard thing with simple actors like with events, but I'm sure it's a pain in the ass for the complex ones.
 
Level 4
Joined
Jul 4, 2009
Messages
77
That did it.

Thanks your step by step helped.

That and the fact I discovered I had to make sure the LAUNCH EFFECT itself was set to have the LAUNCH LOCATION as SOURCE UNIT/POINT

I had it on CASTER UNIT. Which was not helping things. lol

+Rep BTW.
 
Level 3
Joined
Jun 11, 2007
Messages
43
@tagg1080: Understanding actors is very important with regards to modding with SC2, as it seems. You can still make good mods by ignoring them, but I still think it's best to try and understand them the way they are now in case it doesn't get fixed by the time the retail comes out. That way people will be able to have a more complete understanding of the editor by the time the game comes out, and the mods will start rolling sooner.

That, and since this is Beta, Blizzard does need to know these problems. I'm almost 100% sure it has something to do with the entry field being bugged with regards to how the actor is produced.

For all I know someone could be writing up a tutorial on understanding actors as we speak. I'd do one myself, but I don't know -everything- there is to know about a type of actor. >< A lot of it is trial and error.

Though I'll agree, it is a headache. A lot of the things we need to go through actors to do are so simple that they should be handled somewhere else. I don't know what the point is to having color tint on model data if setting it does nothing, and that the only way to tint a model is to enter it in the Events field. It must be some sort of bug, and if I recall, I think Blizzard mentioned something about map publishing in the Beta. Perhaps Blizzard's simply planning another beta patch that will fix the current build of the Editor as well as add some additional things.

@BlueStudios: Thanks :3 I'm glad I could help.

Yeah, Caster unit sounds like it'd be reference to an ability. Source sounds like it means the general source of the effect, which is what you want if you're talking about weapons.
 
Level 2
Joined
Nov 12, 2004
Messages
14
in regards to the error of when something is duplicated it made the attachment work for 'all units', this is a VERY simple fix. its in the events field. the specific event tag got erased during the dupicating process, so you just need to reattatch the 'ability' 'whateveryounameit' 'start' for the event for the action that does create{||}. its in the events field. thanks for the help though with all this, the actors and attachment points/methods have been the hardest part to understand, you helped a lot!

edit: when that specific events+ field is erased it usually replaces it with like 'damage' or 'action' something really generic that makes it 'workable' for all units. it hsouldm ake sense when you look at it.
 
Status
Not open for further replies.
Top