Jump to content

XML:AISA: Difference between revisions

m
copy edit
m (on further thought, we should be consistent in directing modders to the AE .dats)
m (copy edit)
Line 3: Line 3:
__TOC__
__TOC__


===general information===
===General information===
* The xml code on this page is based on onisplit '''v0.9.61.0'''
* The XML code on this page is based on OniSplit '''v0.9.61.0'''.
* AISAlevel'''''N'''''_scripts.oni is level specific. (It can be found in AE/AEInstaller/vanilla/level'''N'''_Final.dat)
* AISAlevel'''''N'''''_scripts.oni is level specific (it can be found in AE/AEInstaller/vanilla/level'''N'''_Final.dat).
* AISA is still used for a few cutscene characters, even though [[XML:BINA/OBJC/CHAR|BINACJBOCharacters]] has made it redundant.
* AISA is still used for a few cutscene characters, even though [[XML:BINA/OBJC/CHAR|BINACJBOCharacters]] has made it redundant.
* if you upload an AE package containing an AISA file include also the corresponding [[XML:ONLV|ONLV]] or else Oni will crash
* If you make an AE package containing an AISA file, you must also include the corresponding [[XML:ONLV|ONLV]] or else Oni will crash.




===file structure===
===File structure===


  <?xml version="1.0" encoding="utf-8"?>
  <?xml version="1.0" encoding="utf-8"?>
Line 47: Line 47:




===tags===
===Tags===
{| class="wikitable" width="100%"
{| class="wikitable" width="100%"
!width=150px| XML tag
!width=150px| XML tag
Line 55: Line 55:
|valign=top| <?xml version="1.0" encoding="utf-8"?>
|valign=top| <?xml version="1.0" encoding="utf-8"?>
|valign=top| string
|valign=top| string
| There's no reason to change this.
| there's no reason to change this
|-
|-
|valign=top| <Oni>
|valign=top| <Oni>
Line 63: Line 63:
|valign=top| <AISA id="0">
|valign=top| <AISA id="0">
|valign=top| integer
|valign=top| integer
| instance id, don't change it
| instance id, do not change
|-
|-
|valign=top| <Characters>
|valign=top| <Characters>
Line 79: Line 79:
|valign=top| <ScriptId>
|valign=top| <ScriptId>
|valign=top| integer
|valign=top| integer
| ID of the character, which you can spawn with the script command chr_create.
| ID of the character, which you can spawn with the scripting command "chr_create"




;Player character
;Player character


If the Id is 0, the character is spawned as a player character, stealing controls (but not focus) from the current player. Focus is transferred as well if the old player is deleted ''immediately before'' the new one is created.
If the ID is 0, the character is spawned as a player character, stealing controls (but not focus) from the current player. Focus is transferred as well if the old player is deleted ''immediately before'' the new one is created.




Line 95: Line 95:
| flag where character is spawned; must be a valid flag ID (from the BINACJBOFlag collection)
| flag where character is spawned; must be a valid flag ID (from the BINACJBOFlag collection)


In the level Atmospheric Conversion Center (exterior) Bungie used [[XML:FILM|FILM]] files to teleport AI Konoko and Griffin.
In the level Atmospheric Conversion Center (exterior), Bungie used [[XML:FILM|FILM]] files to teleport AI Konoko and Griffin.




;Missing [[XML:BINA/OBJC/FLAG|FLAG]] issue
;Missing [[XML:BINA/OBJC/FLAG|FLAG]] issue


If the flag ID requested by chr_create is obsolete or otherwise unavailable, chr_create will fail with a message to the console.
If the flag ID requested by "chr_create" is obsolete or otherwise unavailable, "chr_create" will fail with a message to the console.
|-
|-
|valign=top| <Flags>
|valign=top| <Flags>
Line 130: Line 130:
;Missing [[XML:ONCC|ONCC]] issue
;Missing [[XML:ONCC|ONCC]] issue


Missing ONCCs are resolved by picking the first available ONCC. If the eventually used ONCC is invalid (e.g., if it has a missing TRAC or if its ONCV is missing from ONVL), Oni will crash. This applies to [[XML:BINA/OBJC/CHAR|CHAR]] a.k.a. ai2_spawn, AISA a.k.a. chr_create, and ai2_chump (hardcoded to spawn ONCCstriker_easy_1).
Missing ONCCs are resolved by picking the first available ONCC. If the eventually used ONCC is invalid (e.g., if it has a missing TRAC or if its ONCV is missing from ONVL), Oni will crash. This applies to [[XML:BINA/OBJC/CHAR|CHAR]] a.k.a. "ai2_spawn", AISA a.k.a. "chr_create", and "ai2_chump" (hardcoded to spawn ONCCstriker_easy_1).
|-
|-
|valign=top| <Scripts>
|valign=top| <Scripts>
Line 146: Line 146:
;Inventory and script events.
;Inventory and script events.


Since nearly all the inventory fields are ignored, AISA characters can't be created with inventory items, and so the "out of ammo" script function is irrelevant. The inventory can still be set with scripting (items that the character can use, not what they drop when killed). The "no path" function doesn't seem to work, neither does it seem to work for [[XML:BINA/OBJC/CHAR|CHAR]].
Since nearly all the inventory fields are ignored, AISA characters can't be created with inventory items, and so the "out of ammo" script function is irrelevant. The inventory can still be set with scripting (items that the character can use, not what they drop when killed). The NoPath function doesn't seem to work, neither does it seem to work for [[XML:BINA/OBJC/CHAR|CHAR]].
|-
|-
|valign=top| <WeaponClass>
|valign=top| <WeaponClass>
Line 158: Line 158:
: ONWCw4_psm (phase stream projector)
: ONWCw4_psm (phase stream projector)
: ONWCw5_sbg (super ball gun)
: ONWCw5_sbg (super ball gun)
: ONWCw6_vdg (shocker)
: ONWCw6_vdg (van de graaff pistol)
: ONWCw7_scc (scram cannon (mini-rockets))
: ONWCw7_scc (scram cannon (mini-rockets))
: ONWCw8_mbo (mercury bow)
: ONWCw8_mbo (mercury bow)
: ONWCw9_scr (screamer gun)
: ONWCw9_scr (screamer gun)
: ONWCw10_sni (Mukade's firework)
: ONWCw10_sni (Mukade's fireball)
: ONWCw11_ba1 (Barabas' gun)
: ONWCw11_ba1 (Barabas' gun)
: ONWCw12_ba2 (-)
: ONWCw12_ba2 (-)