Jump to content

OBD:AISA: Difference between revisions

1,223 bytes added ,  6 October 2008
note on ONCC lookup; game crashes if ONCC is unavailable
(whatever)
(note on ONCC lookup; game crashes if ONCC is unavailable)
Line 17: Line 17:
{{OBDtr | 0x024 | int16    |C8FFFF| 00 00      | 0    | ignored }}
{{OBDtr | 0x024 | int16    |C8FFFF| 00 00      | 0    | ignored }}
{{OBDtr | 0x026 | int16    |FFC8FF| 00 00      | 0    | team ID (see [[CHAR]] for possible values) }}
{{OBDtr | 0x026 | int16    |FFC8FF| 00 00      | 0    | team ID (see [[CHAR]] for possible values) }}
{{OBDtr | 0x028 | link    |FFC800| 01 DF 03 00 | 991  | link to [[OBD:ONCC|00991-ONCCkonoko_generic]] }}
{{OBDtr | 0x028 | link    |FFC800| 01 DF 03 00 | 991  | link to [[OBD:ONCC|00991-ONCCkonoko_generic]]; must be a valid ONCC }}
{{OBDtr2| 0x02C | char[32] |C87C64| unused            | ignored  }}
{{OBDtr2| 0x02C | char[32] |C87C64| unused            | ignored  }}
{{OBDtr | 0x04C | int32    |C800C8| 00 00 00 00 | 0    | ignored  }}
{{OBDtr | 0x04C | int32    |C800C8| 00 00 00 00 | 0    | ignored  }}
{{OBDtr2| 0x050 | char[32] |B0C3D4| intro              | name of the function which is called up when Oni spawns the character }}
{{OBDtr2| 0x050 | char[32] |B0C3D4| intro              | script event called when character is created; see [[CHAR]] }}
{{OBDtr2| 0x070 | char[32] |E7CEA5| unused            | name of the function which is called up when the character dies }}
{{OBDtr2| 0x070 | char[32] |E7CEA5| unused            | script event called when the character dies; see [[CHAR]]... }}
{{OBDtr2| 0x090 | char[32] |FFDDDD| unused            | name of the function which is called up when the character notices the player }}
{{OBDtr2| 0x090 | char[32] |FFDDDD| unused            | script event called when the character first notices an enemy }}
{{OBDtr2| 0x0B0 | char[32] |64AAAA| unused            | alarm function name; see [[CHAR]] }}
{{OBDtr2| 0x0B0 | char[32] |64AAAA| unused            | script event called when the character is alarmed (group event)}}
{{OBDtr2| 0x0D0 | char[32] |EBEBEB| unused            | name of the function, which is called up when someone hits the character the first time }}
{{OBDtr2| 0x0D0 | char[32] |EBEBEB| unused            | script event called when the character is hurt for the first time }}
{{OBDtr2| 0x0F0 | char[32] |8C8CCC| unused            | name of the function, which is called up when the health of the character is equal 1 }}
{{OBDtr2| 0x0F0 | char[32] |8C8CCC| unused            | script event called when the health of the character reaches 1 for the first time }}
{{OBDtr2| 0x110 | char[32] |FF00C8| unused            | name of the function, which is called up when the character reloads its weapon with its last ammo/cell; works only, if the character has some ammo/cells when Oni spawns it }}
{{OBDtr2| 0x110 | char[32] |FF00C8| unused            | script event called when the character uses up its initial ammo clips or cells }}
{{OBDtr2| 0x130 | char[32] |F0F096| unused            | no path function name; see [[CHAR]] }}
{{OBDtr2| 0x130 | char[32] |F0F096| unused            | script event supposed to be called when the character can't pathfind }}
{{OBDtr | 0x150 | link    |00C864| 00 00 00 00 |unused| link to an [[OBD:ONWC|ONWC]] file }}
{{OBDtr | 0x150 | link    |00C864| 00 00 00 00 |unused| link to an [[OBD:ONWC|ONWC]] file }}
{{OBDtr | 0x154 | int16    |00C8FF| 00 00      | 0    | weapon ammo }}
{{OBDtr | 0x154 | int16    |00C8FF| 00 00      | 0    | weapon ammo (in %?) }}
{{OBDtr | 0x156 | int16    |C80040| FF FF      | -1  | ignored  }}
{{OBDtr | 0x156 | int16    |C80040| FF FF      | -1  | ignored  }}
{{OBDtr | 0x158 | int16    |FFCD96| 00 00      | 0    | ignored  }}
{{OBDtr | 0x158 | int16    |FFCD96| 00 00      | 0    | ignored  }}
Line 37: Line 37:
{{OBDtr | 0x15F | int8    |C8C864| 00          | 0    | ignored  }}
{{OBDtr | 0x15F | int8    |C8C864| 00          | 0    | ignored  }}
|}
|}
 
;Player character
:If the index 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.
;Automatic naming
:If the name field is left blank, the engine will generate an automatic name "ai_#", where # is the runtime ID of the character (first empty slot in memory at the time of the spawning). The ID is not zero-padded: "ai_0, "ai_1", ...
;Missing ONCC issue
:For [[CHAR]] a.k.a. [[ai2_spawn]], a missing ONCC is resolved by picking the first available ONCC. For [[AISA]] a.k.a. [[chr_create]], as well as for [[ai2_chump]] (hardcoded to spawn ONCCstriker_easy_1), a missing ONCC results in a crash.
;Missing FLAG issue
:If the flag ID requested by [[chr_create]] is obsolete or otherwise unavailable, the game will crash.
;Inventory and script events.
:Since nearly all the inventory fields are ignored, AISA characters can't be spawned 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 [[CHAR]].




{{OBD_File_Footer | type=ASIA | prev=AGQR | next=AITR | name=AI Character Setup Array | family=Level}}
{{OBD_File_Footer | type=ASIA | prev=AGQR | next=AITR | name=AI Character Setup Array | family=Level}}