How to Ini Edit: (From: Attorney Online Official Discord)
Extra help here (AO User Manual)
What is ini-editing, exactly? Ini-editing is modifying a character's .ini file to change the way it interacts with the game client. Failed attempts at ini-editing may cause errors, which nobody likes. This guide aims to cover every aspect of ini-editing as in-depth as possible.
Starting from the top with the [Options] segment, the "name =" parameter tells the game client which folder to look for character assets, i.e. this should be named the same as the character folder.
Additionally, you can add a line underneath "name =" called "showname =". This name will appear on the nameplate whenever the character speaks, however it is fetched locally which means if you write "showname = FINIX RAIT", only you will see it. You won't have to relog for this to take effect, like most other edits.
Next line is "Side =". This modifies where in the courtroom the character appears. The valid arguments are def, pro, jud, hlp and hld. This one also treads in effect without needing to relog.
Now for the [Time] section. This dictates the duration of pre-animations. Simply explained; how long it'll take for the character to start talking after pressing enter. The pre-animation gif will loop as long as the delay lasts. Each point is 60 milliseconds(i.e. 2 = 120 milliseconds). Note that these as well are fetched locally, therefore you won't be able to set "deskslam = 9001" and potentially freeze a server.
Onward to the [Emotions] section. This is where you configure what emotes your character has and how they work. If your character has more than 10 emotes, "firstmode =" will most likely be 10. Or else, they won't display properly as it tells the game client how many emotes will be on the first page.
The line "number =" is pretty self-explanatory. It specifies the number of emotes.
Now, for the specific emotions. The odd symbols might put you off a little, but this is merely because the creator of Attorney Online(FanatSors) happens to be Russian and has written something with the cyrillic alphabeth, which I don't seem to have support for on notepad. You can really write whatever you want here, because the section before the first '#' is merely a comment that doesn't affect the emote at all.
The next section defines the pre-animation, or the gif played before the character actually starts speaking. If there is none, a placeholder called "normal" is typically used as seen in fig. 5.
Between the next #'s is the actual animation when the character is idle and speaking, ending with -(a).gif and -(b).gif in the character folder, respectively.
Finally, there's a numbered modifier. The valid inputs here are: 0,1 and 5. Where 0 tells the client to not play the pre-animation or sound effect associated with the emote(will be covered) unless 'Take that'/'Objection'/'Hold it' is used. 1 means it will play the pre-animation and associated sound and 5 means zoom, in which an eventual desk or witness stand in the foreground will not be displayed. Additionally, the background is replaced by (non-moving, sadly) speedlines.
The template then looks like this;
[emotion number] = comment#pre-animation#animation#modifier#
Now, for the sound section.
Under [SoundN], we see a list of numbers equalling something else. The leftmost number is the emotion number and the value to the right is the sound effect associated with that emotion. In many cases, there isn't one, and therefore the default sound '1.wav' is used, which is effectively nothing. Other than that, we see for example emotion number seven being the desk slam, looking at the sound effect name.
[SoundT] is essentially the delay before the sound effect is played. The only significant value here is '7 = 4', which is once again the deskslam emote. As you probably know, the deskslam sound is only supposed to play when hands actually come in contact with the desk and not in the start of the animation. The '4' value makes sure of that. Again, each point is 60 milliseconds.
I believe that pretty much sums it up. Happy ini-editing!