1,051
edits
m (me and my silly line formatting...)  | 
				m (design)  | 
				||
| Line 1: | Line 1: | ||
{{OBD OBJC Header|align=center|type=CHAR|prev=WEAP|next=CMBT|name=Character  | {{OBD OBJC Header | align=center | type=CHAR | prev=WEAP | next=CMBT | name=Character}}  | ||
==Basic setup - Apperance, weapon, position, misc spawn flags==  | |||
==  | |||
[[image:bin_r_ch.gif]]  | |||
{{Table}}  | |||
{{OBDth}}  | |||
|  | {{OBDtr| 0x000 | char[4]  |FFC8C8| 52 41 48 43 | CHAR       | character }}  | ||
|   | {{OBDtr| 0x004 | int32    |FFFFC8| 87 19 00 00 | 6535       | old file ID }}  | ||
{{OBDtr| 0x008 | int32    |C8FFC8| 00 00 00 00 | 0          | unknwon }}  | |||
{{OBDtr| 0x00C | float    |C8FFFF| A5 7D 9D 43 | 314.981597 | x-position of the character }}  | |||
{{OBDtr| 0x010 | float    |C8FFFF| 00 00 D8 C1 | -27.000000 | y-position (height) of the character }}  | |||
|   | {{OBDtr| 0x014 | float    |C8FFFF| 98 09 1E 42 | 39.509368  | z-position of the character }}  | ||
| CHAR  | {{OBDtr| 0x018 | float    |FFC8FF| 00 00 00 00 | 0.000000   | rotation on the x-axis in degrees }}  | ||
{{OBDtr| 0x01C | float    |FFC8FF| 00 00 87 43 | 270.000000 | rotation on the y-axis in degrees }}  | |||
|  | {{OBDtr| 0x020 | float    |FFC8FF| 00 00 00 00 | 0.000000   | rotation on the z-axis in degrees }}  | ||
|   | {{OBDtr| 0x024 | bitset32 |FFC800| 01 00 00 00 | 1, 0, 0, 0 | character options; the folowing bits are used:  | ||
| 6535  | |||
|  | :0x '''01''' 00 00 00 - player character  | ||
|   | :0x '''02''' 00 00 00 - random skin  | ||
| 0  | :0x '''04''' 00 00 00 - not prespawned  | ||
|   | :0x '''08''' 00 00 00 - non-combatant  | ||
:0x '''10''' 00 00 00 - multi-spawnable  | |||
|   | :0x '''20''' 00 00 00 - unknown  | ||
A5 7D 9D 43  | :0x '''40''' 00 00 00 - unkillable  | ||
| 314.981597  | :0x '''80''' 00 00 00 - superammo  | ||
:0x 00 '''01''' 00 00 - boss (whatever that means)  | |||
|  | :0x 00 '''02''' 00 00 - has LSI  | ||
|   | :0x 00 '''04''' 00 00 - no auto-drop (whatever that means <nowiki>==></nowiki> maybe drops nothing when killed )  | ||
| -27.000000  | :0x 00 '''08''' 00 00 - upgrade difficulty (spawns a stronger enemy if you play on medium or hard)  | ||
:0x 00 '''10''' 00 00 - omniscient (whatever that means)  | |||
|  | |||
|   | |||
| 39.509368  | }}  | ||
{{OBDtr2|0x028 | char[64] |B0C3D4| konoko_generic           | character class name (reference to [[OBD:ONCC|00991-konoko_generic.ONCC]]) }}  | |||
|  | {{OBDtr2|0x068 | char[32] |E7CEA5| konoko                   | character name }}  | ||
|   | {{OBDtr2|0x088 | char[32] |FFDDDD| w1_tap                   | weapon name (reference to [[OBD:ONWC|03701-w1_tap.ONWC]] of level 0) }}  | ||
| 0.000000  | {{OBDtr2|0x0A8 | char[32] |64AAAA| unused                   | unknown; never used in Oni (maybe second weapon or it belongs to the weapon name part above) }}  | ||
|  | |||
|   | |||
| 270.000000  | |||
|  | |||
|   | |||
| 0.000000  | |||
|  | |||
|   | |||
| 1  | |||
|   | |||
|  | |||
|   | |||
|  | |||
|   | |||
|   | |||
|  | |||
|   | |||
|}  | |}  | ||
==Script functions - Called by engine when certain things happen to a character==  | |||
{{Table}}  | |||
{{OBDth}}  | |||
{{OBDtr2|0x0C8 | char[32] |EBEBEB| unused                   | script function called when character is spawned }}  | |||
{{OBDtr2|0x0E8 | char[32] |8C8CCC| you_lose                 | script function called when character dies (health reaches 0); can work multiple times }}  | |||
{{OBDtr2|0x108 | char[32] |FF00C8| unused                   | script function called when character notices an enemy; works only once }}  | |||
{{OBDtr2|0x128 | char[32] |F0F096| unused                   | alarm function; never used in Oni, it is called when character is alarmed }}  | |||
{{OBDtr2|0x148 | char[32] |00C864| unused                   | script function called when character is hurt for the first time; works only once }}  | |||
{{OBDtr2|0x168 | char[32] |00C8FF| unused                   | script function called when character is "defeated" (health reaches 1); works only once }}  | |||
{{OBDtr2|0x188 | char[32] |C80040| unused                   | script function called when character runs out of ammo (reloads a weapon with the last clip/cell); works only once, and the character must have the ammo at spawn-time }}  | |||
{{OBDtr2|0x1A8 | char[32] |FFCD96| unused                   | nopath function, some exotic script function call ("should" be called when a character has trouble pathfinding, but isn't) }}  | |||
|}  | |}  | ||
==Less basic setup - Inventory, team, jobs, alert/pursuit==  | |||
==  | |||
{{Table}}  | |||
{{OBDth}}  | |||
{{OBDtr| 0x1C8 | int32    |C8C864| 00 00 00 00 | 0          | additional health (the basic health is stored in the [[OBD:ONCC|ONCC]] file of the character) }}  | |||
{{OBDtr| 0x1CC | int32    |0096C8| 00 00 00 00 | 0          | job ID; the following jobs are possible:  | |||
:0 - none  | :0 - none  | ||
:1 - idle  | :1 - idle  | ||
| Line 278: | Line 75: | ||
:3 - patrol  | :3 - patrol  | ||
:4 - teambattle (never used in Oni)  | :4 - teambattle (never used in Oni)  | ||
;  | |||
}}  | |||
{{OBDtr| 0x1D0 | int16    |FF80C0| 00 00       | 0          | patrol path ID (reference to the [[OBD:BINA/OBJC/PATR|Patrol_Path.BINA]] file) }}  | |||
{{OBDtr| 0x1D2 | int16    |FF80C0| 00 00       | 0          | combat ID (reference to the [[OBD:BINA/OBJC/CMBT|Combat.BINA]] file) }}  | |||
{{OBDtr| 0x1D4 | int16    |D0C0AF| 00 00       | 0          | melee ID (reference to the [[OBD:BINA/OBJC/MELE|Melee Profile.BINA]] file) }}  | |||
{{OBDtr| 0x1D6 | int16    |D0C0AF| 00 00       | 0          | neutral ID (reference to the [[OBD:BINA/OBJC/NEUT|Neutral.BINA]] file) }}  | |||
{{OBDtr| 0x1D8 | int16    |EEDDFF| 01 00       | 1          | amount of ammo (red clips) that can be used }}  | |||
{{OBDtr| 0x1DA | int16    |EEDDFF| 00 00       | 0          | amount of ammo (red clips) that can be dropped }}  | |||
{{OBDtr| 0x1DC | int16    |C5FF8A| 00 00       | 0          | amount of energy cells (green clips) that can be used }}  | |||
{{OBDtr| 0x1DE | int16    |C5FF8A| 00 00       | 0          | amount of energy cells (green clips) that can be dropped }}  | |||
{{OBDtr| 0x1E0 | int16    |C0C0C0| 00 00       | 0          | amount of hypos that can be used }}  | |||
{{OBDtr| 0x1E2 | int16    |C0C0C0| 00 00       | 0          | amount of hypos that can be dropped }}  | |||
{{OBDtr| 0x1E4 | int16    |FF0080| 00 00       | 0          | amount of force shields that can be used }}  | |||
{{OBDtr| 0x1E6 | int16    |FF0080| 00 00       | 0          | amount of force shields that can be dropped }}  | |||
{{OBDtr| 0x1E8 | int16    |FFFFA6| 00 00       | 0          | amount of phase cloaking that can be used (60 = 1 second) }}  | |||
{{OBDtr| 0x1EA | int16    |FFFFA6| 00 00       | 0          | amount of phase cloaking that can be dropped }}  | |||
{{OBDtr| 0x1EC | int32    |71FFB8| 00 00 00 00 | 0          | unknown; always zero }}  | |||
{{OBDtr| 0x1F0 | int32    |0000BF| 00 00 00 00 | 0          | team ID; the following teams are possible:  | |||
:0 - Konoko  | :0 - Konoko  | ||
:1 - TCTF  | :1 - TCTF  | ||
| Line 287: | Line 104: | ||
:6 - Switzerland  | :6 - Switzerland  | ||
:7 - SyndicateAccessory  | :7 - SyndicateAccessory  | ||
;  | |||
}}  | |||
{{OBDtr| 0x1F4 | int32    |804040| 64 00 00 00 | 100        | ammo filling in percent }}  | |||
{{OBDtr| 0x1F8 | int32    |FF22FF| 00 00 00 00 | 0          | initial alert level; the following alert levels are possible:  | |||
:0 - lull  | :0 - lull  | ||
:1 - low  | :1 - low  | ||
| Line 293: | Line 116: | ||
:3 - high  | :3 - high  | ||
:4 - combat  | :4 - combat  | ||
}}  | |||
{{OBDtr| 0x1FC | int32    |808080| 00 00 00 00 | 0          | minimal alert level }}  | |||
{{OBDtr| 0x200 | int32    |FFAA82| 01 00 00 00 | 1          | alert level when starting a job }}  | |||
{{OBDtr| 0x204 | int32    |00D900| 02 00 00 00 | 2          | alert level when investigating }}  | |||
{{OBDtr| 0x208 | bitset32 |CACAFF| 00 00 00 00 | 0, 0, 0, 0 | alarm groups, see below this table }}  | |||
{{OBDtr| 0x20C | int32    |F0F000| 04 00 00 00 | 4          | unknown (pm_pursue_strong?) }}  | |||
{{OBDtr| 0x210 | int32    |E7FFCE| 01 00 00 00 | 1          | unknown (pm_pursue_weak?) }}  | |||
{{OBDtr| 0x214 | int32    |4F7291| 04 00 00 00 | 4          | unknown (pm_pursue_strong_seen?) }}  | |||
{{OBDtr| 0x218 | int32    |FFD6C1| 04 00 00 00 | 4          | unknown (pm_pursue_weak_seen?) }}  | |||
{{OBDtr| 0x21C | int32    |FF5E5E| 00 00 00 00 | 0          | unknown (pm_pursue_lost?) }}  | |||
|}  | |||
;Alarm groups  | ;Alarm groups  | ||
:Stored as a bitset  | :Stored as a bitset  | ||
| Line 299: | Line 137: | ||
-  | ==Bluebox image - Screenshot of the developer character window==  | ||
http://ssg.oni2.net/subfold/bluebox/images/bina_chara.gif (Coming soon...)  | |||
http://  | |||
{{OBD OBJC Footer | type=CHAR | prev=WEAP | next=CMBT | name=Character}}  | |||
{{OBD OBJC Footer|type=CHAR|prev=WEAP|next=CMBT|name=Character}}  | |||
edits