posted 04-24-20 06:22 AM CT (US)   
Hi!

I will color the important bits, so if you just care about the dos and dont's, skip ahead to colored parts! Red are don'ts, green are dos and blue are some important information if you want to mess around with it more.

I'm very new to scenario design, but I stumbled upon a problem that I haven't found a solution to online. After a lot of testing and digging around I found a solution and wanted to make a post about in case someone wants to do similar things, without the need to do all the reverse engineering I had to do.


1) Ballistics as a Unit Attribute - My Journey


I started out from wanting to be able to reverse technology upgrades within a scenario. For example, I wanted to be able to research forging for a while and then unresearch it. So far, it seems this is impossible directly (please comment if you know about a way to do this), however in most cases you can do a decent workaround - imitate the uprgade by changing the according units and their stats when you want it "researched" and changing them back when you want it "unresearched".

One upgrade of particular interest to me was ballistics, which proved a lot harder to manipulate than anticipated.

Researching ballistics and disabling it afterwards DOES NOT undo its effects.

Archer accuracy, which might be another idea, also affects the ability of a unit to shoot exactly where it wants. It doesn't change where it wants to shoot (i.e. ahead of a moving unit, predicting where the arrow should land, instead of exactly where the unit is at). So changing the accuracy of a unit does not affect ballistics.

That's where Enable Smart Projectiles attribute in Modify Attribute effect comes in. Smart projectiles are exactly those that follow the ballistics curve, rather than shoot directly towards the target's position.


2) Enable Smart Projectiles Effect


Now this is where it got tricky to me and it took me a while to figure this out: so, actually, the unit itself DOES NOT have the property of "Smart Projectiles". You can trigger Modify Attributes with Archer as its target, "Enable Smart Projectiles" and value "1" (for "on", it's a boolean) and it will do nothing.

The "Smart Projectile" attribute is a property of the projectile itself! (In hindsight, this should've been obvious at least as an option, but I didn't know back then that projectiles had their own IDs)

So, if you want the Feudal Age Archer to shoot with ballistics, you:
-use Modify Attributes
-in the ID field you put in 363 (the ID of archer's arrow)
-in the attribute field you select Enable Smart Projectiles
-in the value field you put in 1 (for it to be enabled. If you want to turn it off later, you do the same but with 0)


Now the important thing is - this affects all units that shoot this kind of projectile and not any others. So you'll need to do this for all projectiles of units you want ballistics for.

A very important note here: some units have more than one projectile type they shoot (e.g. mangonels and watch towers), so you if you want to be thorough, you need to check the "Secondary Projectile Unit" ID of a unit as well to make sure it's got ballistics fully on/off.

From what I understand, chemistry changes some (all?) of the projectiles into their fire'y version, so your ballistics triggers might stop working depending on if chemistry is researched or not.

3) Projectiles of a Unit and Some Resources


You can also change the kind of projectile a unit is using. Others have written about this, so I'll just post links:
-some great ideas here: https://aok.heavengames.com/cgi-bin/forums/display.cgi?action=ct&f=4,44681,30,500
-projectile IDs here: https://aok.heavengames.com/cgi-bin/forums/display.cgi?action=st&fn=4&tn=44676&st=1#post2

And a very important issue if you want to modify a projectile's properties: how to know what unit shoots what projectile? On the list you have at least 10 separate projectiles called "arrow". How do I know that archers shoot the 363 one?

The list I linked to proves a great resource for this, but if you want more information on IDs and to do more in-depth analysis, use the Advanced Genie Editor 3.0, that's shipped with the game. It's in the ../(game folder)/Tools_builds/ folder.

The steps are pretty straightforward:
-open Advanced Genie Editor 3.0
-click open
-click "Age of Empires II: Definitive Edition" on top
-click open
-to the left you have a list of IDs with descriptions. You can sort by type in a dropdown menu over that list - type 60 is projectiles (in particular you can check the IDs of all projectiles)
-select an item and its properties will show to the right (if you scroll down a bit, there'll be a section about projectiles of this unit)
-additionally: select "types 70+" in the first dropdown menu, "Projectile Unit" in the second and you will get a list of units and their projectile units (i.e. PU 363 Archer, PU 380
Hand Cannoneer means that Archer shoots an arrow with ID 363 and Hand Cannoneer shoots an arrow with ID 380)
-similarly, check "Secondary Projectile Unit" for information on a possible additional projectile a unit is shooting.




Ok, so that's it for me. I hope this is clear and useful to someone. If you have questions, some info here is wrong or you have something to add, please comment!

Love,
Bouli

[This message has been edited by Bouli (edited 04-24-2020 @ 09:14 AM).]