19,580
edits
(restoring padding after impact array; removing unneeded and duplicate wikilinks) |
(removed note about MELE overriding dazed frame fields; minor wording tweaks) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 12: | Line 12: | ||
{{OBDtr| 0x014 | float |00FF00| 00 00 80 C0 | -4.000000 | maximum velocity for jumping and falling }} | {{OBDtr| 0x014 | float |00FF00| 00 00 80 C0 | -4.000000 | maximum velocity for jumping and falling }} | ||
{{OBDtr| 0x018 | float |00FF00| 8F C2 F5 3C | 0.030000 | upward acceleration as long as you hold JUMP }} | {{OBDtr| 0x018 | float |00FF00| 8F C2 F5 3C | 0.030000 | upward acceleration as long as you hold JUMP }} | ||
{{OBDtr| 0x01C | | {{OBDtr| 0x01C | uint16 |00FFFF| 07 00 | 7 | fall timer (always 7) (mostly unused, see below) }} | ||
{{OBDtr| 0x01E | | {{OBDtr| 0x01E | uint16 |00FFFF| 14 00 | 20 | how long you can continue holding down JUMP to increase the height of your jump }} | ||
{{OBDtr| 0x020 | float |FF00FF| 00 00 34 42 | 45.000000 | maximum falling height without damage }} | {{OBDtr| 0x020 | float |FF00FF| 00 00 34 42 | 45.000000 | maximum falling height without damage }} | ||
{{OBDtr| 0x024 | float |FF00FF| 00 00 07 43 | 135.000000 | maximum falling height with damage }} | {{OBDtr| 0x024 | float |FF00FF| 00 00 07 43 | 135.000000 | maximum falling height with damage }} | ||
Line 20: | Line 20: | ||
;Units | ;Units | ||
: | :Times are in frames | ||
: | :Heights are in world units (0.1m or 4") | ||
: | :Velocities are in world units per tick (1/60s) | ||
: | :Accelerations are in world units per tick squared | ||
;Fall speed and timer | ;Fall speed and timer | ||
: | :The fields 0x008 and 0x01C are only looked at when predicting whether an attack will hit a target while the attacker is in midair. They are probably a development relic that is looked at in error, as the actual falling speed is determined by the gravity setting at 0x00C and the actual "fall timer" is the jump timer at 0x01E. | ||
; | ;Jump timer | ||
:You can press JUMP multiple times during the time window when it's large enough. See the [http://mods.oni2.net/node/83 Barabas Jetpack mod] for an application of this principle. | :You can press JUMP multiple times during the time window when it's large enough. See the [http://mods.oni2.net/node/83 Barabas Jetpack mod] for an application of this principle. | ||
Line 53: | Line 53: | ||
{{OBDtr| 0x038 | float |FF8000| 00 00 90 40 | 4.500000 | diameter that the shadow shrinks to when 0x030 is reached }} | {{OBDtr| 0x038 | float |FF8000| 00 00 90 40 | 4.500000 | diameter that the shadow shrinks to when 0x030 is reached }} | ||
{{OBDtr| 0x03C | float |FF8000| 00 00 40 40 | 3.000000 | minimum diameter of the shadow }} | {{OBDtr| 0x03C | float |FF8000| 00 00 40 40 | 3.000000 | minimum diameter of the shadow }} | ||
{{OBDtr| 0x040 | | {{OBDtr| 0x040 | uint16 |FF8000| 30 00 | 48 | starting transparency of the shadow as the character rises towards 0x030 }} | ||
{{OBDtr| 0x042 | | {{OBDtr| 0x042 | uint16 |FF8000| 30 00 | 48 | starting transparency of the shadow when the character begins to get above 0x030 }} | ||
|} | |} | ||
;Jump Constants | ;Jump Constants | ||
These fields were deprecated at some point in Oni's development and do nothing. | |||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr| 0x044 | float |FF0080| 00 00 C8 41 | 25.000000 | unused (always 25) }} | {{OBDtr| 0x044 | float |FF0080| 00 00 C8 41 | 25.000000 | "jump distance"; unused (always 25) }} | ||
{{OBDtr| 0x048 | | {{OBDtr| 0x048 | uint8 |FFC8C8| 16 | 22 | "jump height"; unused (always 22) }} | ||
{{OBDtr| 0x049 | | {{OBDtr| 0x049 | uint8 |FFC8C8| 06 | 6 | "jump distance squares"; unused (always 6) }} | ||
{{OBDtr| 0x04A | char[2] |FFC8C8| AD DE | dead | | {{OBDtr| 0x04A | char[2] |FFC8C8| AD DE | dead | padding }} | ||
|} | |} | ||
;Cover Constants | ;Cover Constants | ||
These fields were deprecated at some point in Oni's development and do nothing. | |||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr| 0x04C | float |FFFFC8| 00 00 20 42 | 40.000000 | unused (always 40) }} | {{OBDtr| 0x04C | float |FFFFC8| 00 00 20 42 | 40.000000 | "ray increment"; unused (always 40) }} | ||
{{OBDtr| 0x050 | float |FFFFC8| 00 00 96 43 | 300.000000 | unused (always 300) }} | {{OBDtr| 0x050 | float |FFFFC8| 00 00 96 43 | 300.000000 | "ray max"; unused (always 300) }} | ||
{{OBDtr| 0x054 | float |FFFFC8| 35 FA 8E 3C | 0.017453 | unused (always π/180) }} | {{OBDtr| 0x054 | float |FFFFC8| 35 FA 8E 3C | 0.017453 | "ray angle"; unused (always π/180) }} | ||
{{OBDtr| 0x058 | float |FFFFC8| DB 0F C9 3F | 1.570796 | unused (always π/2) }} | {{OBDtr| 0x058 | float |FFFFC8| DB 0F C9 3F | 1.570796 | "ray angle max"; unused (always π/2) }} | ||
|} | |} | ||
;Autofreeze Constants | ;Autofreeze Constants | ||
These fields were deprecated at some point in Oni's development and do nothing. | |||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr| 0x05C | float |FFFFC8| 00 00 A0 40 | 5.000000 | unused (always 5) }} | {{OBDtr| 0x05C | float |FFFFC8| 00 00 A0 40 | 5.000000 | "distance XZ"; unused (always 5) }} | ||
{{OBDtr| 0x060 | float |FFFFC8| 00 00 80 3F | 1.000000 | unused (always 1) }} | {{OBDtr| 0x060 | float |FFFFC8| 00 00 80 3F | 1.000000 | "distance Y"; unused (always 1) }} | ||
|} | |} | ||
Line 93: | Line 93: | ||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr| 0x064 | | {{OBDtr| 0x064 | uint16 |C8FFC8| 06 00 | 6 | hypo regeneration rate in ticks per hit point restored }} | ||
{{OBDtr| 0x066 | char[2] |C8FFC8| AD DE | dead | | {{OBDtr| 0x066 | char[2] |C8FFC8| AD DE | dead | padding }} | ||
|} | |} | ||
;LOD Constants | ;LOD Constants | ||
Squares of the distance from the camera at which each LOD kicks in | Squares of the distance from the camera at which each LOD kicks in; see {{SectionLink|XML:ONCC|<LODConstants>}} for an explanation of this table, and {{SectionLink|Graphics|LOD}} for the full calculation on which LOD to use. | ||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr| 0x068 | float |C8FFFF| 00 10 3D 48 |193600.000000| always | {{OBDtr| 0x068 | float |C8FFFF| 00 10 3D 48 |193600.000000| min. distance for super-low LOD; always 440² }} | ||
{{OBDtr| 0x06C | float |C8FFFF| 00 10 3D 47 | 48400.000000| always | {{OBDtr| 0x06C | float |C8FFFF| 00 10 3D 47 | 48400.000000| min. distance for low LOD; always 220² }} | ||
{{OBDtr| 0x070 | float |C8FFFF| 00 10 3D 46 | 12100.000000| always | {{OBDtr| 0x070 | float |C8FFFF| 00 10 3D 46 | 12100.000000| min. distance for medium LOD; always 110² }} | ||
{{OBDtr| 0x074 | float |C8FFFF| 00 00 00 00 | 0.000000 | {{OBDtr| 0x074 | float |C8FFFF| 00 00 00 00 | 0.000000| min. distance for high LOD; always 0 }} | ||
{{OBDtr| 0x078 | float |C8FFFF| 00 00 00 00 | 0.000000 | {{OBDtr| 0x078 | float |C8FFFF| 00 00 00 00 | 0.000000| min. distance for super-high LOD; always 0 }} | ||
|} | |} | ||
;Hurt Sound Constants | ;Hurt Sound Constants | ||
The numbers below cannot be understood without some elaboration. See [[XML:ONCC#.3CHurtSoundConstants.3E|HERE]] for the full calculation of whether to play a hurt sound and which sound to play. | |||
See [[XML:ONCC#.3CHurtSoundConstants.3E|HERE]] for the full calculation of whether to play a hurt sound and which sound to play. | |||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr| 0x07C | | {{OBDtr| 0x07C | uint16 |FFC8FF| 23 00 | 35 | minimum % chance of playing a pain sound if char. has not been hurt before (always 35) }} | ||
{{OBDtr| 0x07E | | {{OBDtr| 0x07E | uint16 |FFC8FF| 5A 00 | 90 | maximum % chance of playing a pain sound if char. has not been hurt before (always 90) }} | ||
{{OBDtr| 0x080 | | {{OBDtr| 0x080 | uint16 |FFC8FF| 0F 00 | 15 | damage threshold; used to calculate a percentage chance of pain sound between min % and max % (always 15) }} | ||
{{OBDtr| 0x082 | | {{OBDtr| 0x082 | uint16 |FFC8FF| 78 00 | 120 | time in ticks before the damage tracker used for this AI's pain sounds resets (always 120) }} | ||
{{OBDtr| 0x084 | | {{OBDtr| 0x084 | uint16 |FFC8FF| 23 00 | 35 | time in ticks that must pass between pain sounds being played (always 35) }} | ||
{{OBDtr| 0x086 | | {{OBDtr| 0x086 | uint16 |FFC8FF| 01 00 | 1 | number of times that AI will play light pain sound before "upgrading" to a medium pain sound (always 1) }} | ||
{{OBDtr| 0x088 | | {{OBDtr| 0x088 | uint16 |FFC8FF| 02 00 | 2 | number of times that AI will play medium pain sound before "upgrading" to a heavy pain sound (always 2) }} | ||
{{OBDtr| 0x08A | | {{OBDtr| 0x08A | uint16 |FFC8FF| 64 00 | 100 | chance of playing a death sound (always 100) }} | ||
{{OBDtr| 0x08C | | {{OBDtr| 0x08C | uint16 |FFC8FF| 0A 00 | 10 | minimum damage required for an AI to play the pain sound at maximum volume (always 10) }} | ||
{{OBDtr| 0x08E | | {{OBDtr| 0x08E | uint16 |FFC8FF| 0C 00 | 12 | cumulative damage before a light pain sound gets upgraded to a medium pain sound (always 12) }} | ||
{{OBDtr| 0x090 | | {{OBDtr| 0x090 | uint16 |FFC8FF| 16 00 | 22 | cumulative damage before a medium pain sound gets upgraded to a heavy pain sound (always 22) }} | ||
{{OBDtr| 0x092 | | {{OBDtr| 0x092 | bool |FFC800| 00 | 0 | runtime only: if sound pointers have been set (if sounds are found) }} | ||
{{OBDtr| 0x093 | char[1] |C800C8| DE | dead | | {{OBDtr| 0x093 | char[1] |C800C8| DE | dead | padding }} | ||
{{OBDtr| 0x094 | float |C87C64| 00 00 00 3F | 0.500000 | minimum volume of pain sound (before 0x08C is reached and volume becomes 100%) }} | {{OBDtr| 0x094 | float |C87C64| 00 00 00 3F | 0.500000 | minimum volume of pain sound (before 0x08C is reached and volume becomes 100%) }} | ||
{{OBDtr2|0x098 | char[32] |B0C3D4| konoko_hurt_light | light hurt sound (reference to 08121-konoko_hurt_light.[[OBD:OSBD|imp.OSBD]] of level 0) }} | {{OBDtr2|0x098 | char[32] |B0C3D4| konoko_hurt_light | light hurt sound (reference to 08121-konoko_hurt_light.[[OBD:OSBD|imp.OSBD]] of level 0) }} | ||
Line 134: | Line 132: | ||
{{OBDtr2|0x0D8 | char[32] |B0C3D4| konoko_hurt_heavy | heavy hurt sound (reference to 08119-konoko_hurt_heavy.imp.OSBD of level 0) }} | {{OBDtr2|0x0D8 | char[32] |B0C3D4| konoko_hurt_heavy | heavy hurt sound (reference to 08119-konoko_hurt_heavy.imp.OSBD of level 0) }} | ||
{{OBDtr2|0x0F8 | char[32] |B0C3D4| konoko_death | death sound (reference to 08115-konoko_death.imp.OSBD of level 0) }} | {{OBDtr2|0x0F8 | char[32] |B0C3D4| konoko_death | death sound (reference to 08115-konoko_death.imp.OSBD of level 0) }} | ||
{{OBDtr| 0x118 | | {{OBDtr| 0x118 | offset |E7CEA5| 00 00 00 00 | 0 | runtime only: raw offset of light hurt sound }} | ||
{{OBDtr| 0x11C | | {{OBDtr| 0x11C | offset |E7CEA5| 00 00 00 00 | 0 | runtime only: raw offset of medium hurt sound }} | ||
{{OBDtr| 0x120 | | {{OBDtr| 0x120 | offset |E7CEA5| 00 00 00 00 | 0 | runtime only: raw offset of heavy hurt sound }} | ||
{{OBDtr| 0x124 | | {{OBDtr| 0x124 | offset |E7CEA5| 00 00 00 00 | 0 | runtime only: raw offset of death sound }} | ||
|} | |} | ||
Line 146: | Line 145: | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr| 0x128 | bitset |E7CEA5| 17 00 00 00 | 23 | AI options bitset; see below }} | {{OBDtr| 0x128 | bitset |E7CEA5| 17 00 00 00 | 23 | AI options bitset; see below }} | ||
{{OBDtr| 0x12C | float |FFDDDD| 00 00 80 3F | 1.000000 | AI rotation speed factor }} | {{OBDtr| 0x12C | float |FFDDDD| 00 00 80 3F | 1.000000 | AI rotation speed factor; always 1.0 except for ninjabots, ninjas and super_ninja, which use 2.0 }} | ||
{{OBDtr| 0x130 | | {{OBDtr| 0x130 | uint16 |64AAAA| 06 00 | 6 | minimum number of frames AI can remain dazed (in fallen position) when it is knocked down }} | ||
{{OBDtr| 0x132 | | {{OBDtr| 0x132 | uint16 |64AAAA| 18 00 | 24 | maximum number of frames AI can remain dazed (in fallen position) when it is knocked down (actual number used is picked randomly from the range {min ... max}) }} | ||
{{OBDtr| 0x134 | uint32 |EBEBEB| 0F 00 00 00 | 15 | number of frames after which AI realizes that it is in the firing spread and it starts dodging }} | {{OBDtr| 0x134 | uint32 |EBEBEB| 0F 00 00 00 | 15 | number of frames after which AI realizes that it is in the firing spread and it starts dodging }} | ||
{{OBDtr| 0x138 | float |8C8CCC| 00 00 80 3F | 1.000000 | minimum dodge time; how long AI should perform dodging/hiding in response to being inside a firing spread (the higher it is, the longer he will hide/dodge even after firing spread disappears) }} | {{OBDtr| 0x138 | float |8C8CCC| 00 00 80 3F | 1.000000 | minimum dodge time; how long AI should perform dodging/hiding in response to being inside a firing spread (the higher it is, the longer he will hide/dodge even after firing spread disappears) }} | ||
Line 156: | Line 155: | ||
;AI options bitset | ;AI options bitset | ||
: | :Allows or disables some parts of the AI behavior: | ||
*no flags - startle anim is enabled, rest is disabled | *no flags - startle anim is enabled, rest is disabled | ||
*0x01 - startle anim disabled | *0x01 - startle anim disabled | ||
Line 166: | Line 165: | ||
;AI rotation speed factor | ;AI rotation speed factor | ||
: | :A rotation speed of 1 is roughly one turn (360°) per second. The setting is only effective if the AI is in control. So it's a bit like the AI's mouse sensitivity. | ||
;AI Targeting Prediction Constants | ;AI Targeting Prediction Constants | ||
See [[XML:ONCC#.3CTargeting.3E|HERE]] for how the variables here interact to control the AI's target prediction. | See [[XML:ONCC#.3CTargeting.3E|HERE]] for how the variables here interact to control the AI's target prediction. | ||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
Line 180: | Line 175: | ||
{{OBDtr| 0x144 | float |8C8CCC| 00 00 C8 41 | 25.000000 | max value for result of multiplication above (always 25) }} | {{OBDtr| 0x144 | float |8C8CCC| 00 00 C8 41 | 25.000000 | max value for result of multiplication above (always 25) }} | ||
{{OBDtr| 0x148 | float |8C8CCC| 00 00 80 3F | 1.000000 | accuracy multiplier for prediction of target's position (always 1) }} | {{OBDtr| 0x148 | float |8C8CCC| 00 00 80 3F | 1.000000 | accuracy multiplier for prediction of target's position (always 1) }} | ||
{{OBDtr| 0x14C | | {{OBDtr| 0x14C | uint32 |FF00C8| 00 00 00 00 | 0 | maximum allowed frames of lookback to be used for predicting target's position (always 0) }} | ||
{{OBDtr| 0x150 | | {{OBDtr| 0x150 | uint32 |FF00C8| 05 00 00 00 | 5 | frames of delay in recognizing target's current position (always 5) }} | ||
{{OBDtr| 0x154 | | {{OBDtr| 0x154 | uint32 |FF00C8| 0F 00 00 00 | 15 | number of frames over which AI can average target's velocity to help predict position (always 15) }} | ||
{{OBDtr| 0x158 | | {{OBDtr| 0x158 | uint32 |FF00C8| 3C 00 00 00 | 60 | size in frames of target's history location buffer (always 60) }} | ||
|} | |} | ||
;AI Weapon Skills | ;AI Weapon Skills | ||
This is an array of 13 sets of skill variables, one for each weapon. Below is the data for the first element: | This is an array of 13 sets of skill variables, one for each weapon. Below is the data for the first element: | ||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
Line 240: | Line 233: | ||
;Other AI Behaviors | ;Other AI Behaviors | ||
[[Image:oncc_m.gif]] | [[Image:oncc_m.gif]] | ||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr| 0x294 | | {{OBDtr| 0x294 | uint32 |00C8FF| 5A 00 00 00 | 90 | how long AI will continue shooting a dead body to make sure it's dead (always 90) }} | ||
{{OBDtr| 0x298 | | {{OBDtr| 0x298 | uint32 |00C8FF| F0 00 00 00 | 240 | how long AI will stand over dead body before returning to last job (always 240) }} | ||
{{OBDtr| 0x29C | | {{OBDtr| 0x29C | uint32 |00C8FF| B4 00 00 00 | 180 | how long after losing sight of target until AI engages pursuit mode (always 180) }} | ||
{{OBDtr| 0x2A0 | | {{OBDtr| 0x2A0 | uint32 |00C8FF| 28 00 00 00 | 40 | chance (as a percentage) of AI taunting a dead body }} | ||
{{OBDtr| 0x2A4 | | {{OBDtr| 0x2A4 | uint32 |00C8FF| 37 00 00 00 | 55 | chance (as a percentage) of AI running to some weapon to pick it up; can be checked in Dev Mode with the '''debug_gun_behavior''' command }} | ||
{{OBDtr| 0x2A8 | | {{OBDtr| 0x2A8 | uint32 |00C8FF| 3C 00 00 00 | 60 | chance (as a percentage) of AI performing a running weapon pickup (including acrobatics moves, slides) instead of the normal "stop and pick up"; this is calculated after the engine decides that the AI will go for a gun }} | ||
{{OBDtr| 0x2AC | | {{OBDtr| 0x2AC | uint16 |C80040| 00 00 | 0 | combat profile ID; for example *0D* is for Mutant Muro }} | ||
{{OBDtr| 0x2AE | | {{OBDtr| 0x2AE | uint16 |C80040| 16 00 | 22 | melee profile ID }} | ||
{{OBDtr| 0x2B0 | | {{OBDtr| 0x2B0 | uint8 |FFCD96| 64 | 100 | "taunt" sound probability (always) }} | ||
{{OBDtr| 0x2B1 | | {{OBDtr| 0x2B1 | uint8 |FFCD96| 00 | 0 | "alert" sound probability (never) }} | ||
{{OBDtr| 0x2B2 | | {{OBDtr| 0x2B2 | uint8 |FFCD96| 00 | 0 | "startle" sound probability (never) }} | ||
{{OBDtr| 0x2B3 | | {{OBDtr| 0x2B3 | uint8 |FFCD96| 00 | 0 | "checkbody" sound probability (never) }} | ||
{{OBDtr| 0x2B4 | | {{OBDtr| 0x2B4 | uint8 |FFCD96| 00 | 0 | "pursue" sound probability (never) }} | ||
{{OBDtr| 0x2B5 | | {{OBDtr| 0x2B5 | uint8 |FFCD96| 00 | 0 | "cower" sound probability (never) }} | ||
{{OBDtr| 0x2B6 | | {{OBDtr| 0x2B6 | uint8 |FFCD96| 64 | 100 | "superpunch" probability (always) }} | ||
{{OBDtr| 0x2B7 | | {{OBDtr| 0x2B7 | uint8 |FFCD96| 64 | 100 | "superkick" probability (always) }} | ||
{{OBDtr| 0x2B8 | | {{OBDtr| 0x2B8 | uint8 |FFCD96| 00 | 0 | "super3" sound probability (never) }} | ||
{{OBDtr| 0x2B9 | | {{OBDtr| 0x2B9 | uint8 |FFCD96| 00 | 0 | "super4" sound probability (never) }} | ||
{{OBDtr| 0x2BA | | {{OBDtr| 0x2BA | char[2] |C8C864| 00 00 | 0 | padding }} | ||
{{OBDtr2|0x2BC | char[32] |0096C8| c17_99_28konoko | "taunt" sound (reference to 08108-c17_99_28konoko.[[OBD:OSBD|amb.OSBD]] of level 0) }} | {{OBDtr2|0x2BC | char[32] |0096C8| c17_99_28konoko | "taunt" sound (reference to 08108-c17_99_28konoko.[[OBD:OSBD|amb.OSBD]] of level 0) }} | ||
{{OBDtr2|0x2DC | char[32] |0096C8| unused | "alert" sound name }} | {{OBDtr2|0x2DC | char[32] |0096C8| unused | "alert" sound name }} | ||
Line 280: | Line 272: | ||
{{OBDtr| 0x410 | float |FF80C0| D5 D0 31 3E | 0.173648 | peripheral vision range }} | {{OBDtr| 0x410 | float |FF80C0| D5 D0 31 3E | 0.173648 | peripheral vision range }} | ||
{{OBDtr| 0x414 | float |FF80C0| 6B 61 D8 BE | 0.422618 | peripheral vision max }} | {{OBDtr| 0x414 | float |FF80C0| 6B 61 D8 BE | 0.422618 | peripheral vision max }} | ||
{{OBDtr| 0x418 | | {{OBDtr| 0x418 | uint32 |D0C0AF| B4 00 00 00 | 180 | how long will AI know exactly where its enemy is even if it can't see him with central vision field, and attempt to attack him }} | ||
{{OBDtr| 0x41C | | {{OBDtr| 0x41C | uint32 |D0C0AF| 84 03 00 00 | 900 | how long will AI remain strongly convinced that there is an enemy, but will investigate his presence rather than attack him }} | ||
{{OBDtr| 0x420 | | {{OBDtr| 0x420 | uint32 |D0C0AF| 10 0E 00 00 | 3600 | how long an AI will remain weakly convinced of an enemy's presence, looking around aimlessly to find him (Glance pursuit mode) }} | ||
{{OBDtr| 0x424 | | {{OBDtr| 0x424 | uint32 |D0C0AF| 10 0E 00 00 | 3600 | decay time for dropping back from high alert to medium alert }} | ||
{{OBDtr| 0x428 | | {{OBDtr| 0x428 | uint32 |D0C0AF| 50 46 00 00 | 18000 | decay time for dropping back from medium alert to low alert }} | ||
{{OBDtr| 0x42C | | {{OBDtr| 0x42C | uint32 |D0C0AF| A0 8C 00 00 | 36000 | decay time for dropping back from low alert to no alert status }} | ||
{{OBDtr| 0x430 | float |EEDDFF| 00 00 80 3F | 1.000000 | hearing radius; defines size of the sound-detection sphere around an AI }} | {{OBDtr| 0x430 | float |EEDDFF| 00 00 80 3F | 1.000000 | hearing radius; defines size of the sound-detection sphere around an AI }} | ||
|} | |} | ||
Line 295: | Line 287: | ||
;File Links | ;File Links | ||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr| 0x434 | link |C5FF8A| 01 FB 03 00 | 1019 | {{OBDtr| 0x434 | link |C5FF8A| 01 FB 03 00 | 1019 | link to 01019-konoko.[[OBD:ONCV|ONCV]]; defines variants and upgrades }} | ||
{{OBDtr| 0x438 | link |C5FF8A| 01 F9 03 00 | 1017 | {{OBDtr| 0x438 | link |C5FF8A| 01 F9 03 00 | 1017 | link to [[OBD:ONCP|01017-.ONCP]]; lists the particles available for this character (trails, flashes, etc) }} | ||
{{OBDtr| 0x43C | link |C5FF8A| 01 FA 03 00 | 1018 | {{OBDtr| 0x43C | link |C5FF8A| 01 FA 03 00 | 1018 | link to [[OBD:ONIA|01018-.ONIA]]; lists the special impact sounds (used for special combat moves) }} | ||
{{OBDtr| 0x440 | | {{OBDtr| 0x440 | bool |C5FF8A| 00 | 0 | runtime: flag meaning that modifier type has been set by looking up modifier name and impact types have been set by looking up impact names; runtime only }} | ||
{{OBDtr| 0x441 | | {{OBDtr| 0x441 | uint8 |C5FF8A| 00 | 0 | padding }} | ||
{{OBDtr| 0x442 | | {{OBDtr| 0x442 | uint16 |C5FF8A| 00 00 | 0 | runtime: modifier type }} | ||
{{OBDtr2|0x444 | char[16] |C0C0C0| Light | {{OBDtr2|0x444 | char[16] |C0C0C0| Light | modifier name, used to look up modifier type }} | ||
{{OBDtrBK|1=Array of 15 impact elements: first element }} | {{OBDtrBK|1=Array of 15 impact elements: first element }} | ||
{{OBDtr2|0x454 | char[128] |FF0080| Footstep_Walk | {{OBDtr2|0x454 | char[128]|FF0080| Footstep_Walk | impact name, used to look up impact type (reference to 04124-Footstep_Walk.Impt of level 0); always the same; without the impacts you can't hear the steps of a character }} | ||
{{OBDtr| 0x4D4 | | {{OBDtr| 0x4D4 | uint16 |FF0080| FF FF | -1 | runtime: impact type (comes from 0x08 in [[OBD:Impt|Impt]]) }} | ||
{{OBDtrBK|1=End of array }} | {{OBDtrBK|1=End of array }} | ||
{{OBDtr| 0xBF2 | char[2] | {{OBDtr| 0xBF2 | char[2] |FFFFA5| 00 00 | unused | padding (seen below) }} | ||
|} | |} | ||
[[Image:oncc_e.gif]] | [[Image:oncc_e.gif]] | ||
Line 320: | Line 308: | ||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr2|0xBF4 | char[64] |71FFB8| unused | {{OBDtr2|0xBF4 | char[64] |71FFB8| unused | name of particle spawned on death; only the Mad Bomber uses it }} | ||
{{OBDtr| 0xC34 | | {{OBDtr| 0xC34 | offset |0000BF| 00 00 00 00 | unused | runtime: raw offset of death particle class }} | ||
{{OBDtr| 0xC38 | | {{OBDtr| 0xC38 | offset |0000BF| 00 00 00 00 | unused | runtime: raw offset of cache of derived information on body model geometry }} | ||
{{OBDtr| 0xC3C | link |0000BF| 01 E6 03 00 | 998 | {{OBDtr| 0xC3C | link |0000BF| 01 E6 03 00 | 998 | link to [[OBD:TRBS|00998-konoko_body_high.TRBS]] }} | ||
{{OBDtr| 0xC40 | link |0000BF| 01 E7 03 00 | 999 | {{OBDtr| 0xC40 | link |0000BF| 01 E7 03 00 | 999 | link to [[OBD:TRMA|00999-konoko002_high_texture_generic.TRMA]] }} | ||
{{OBDtr| 0xC44 | link |0000BF| 01 E8 03 00 | 1000 | {{OBDtr| 0xC44 | link |0000BF| 01 E8 03 00 | 1000 | link to [[OBD:CBPM|01000-.CBPM]] }} | ||
{{OBDtr| 0xC48 | link |0000BF| 01 EC 03 00 | 1004 | {{OBDtr| 0xC48 | link |0000BF| 01 EC 03 00 | 1004 | link to [[OBD:CBPI|01004-.CBPI]] }} | ||
{{OBDtr| 0xC4C | | {{OBDtr| 0xC4C | uint32 |804040| 2C 01 00 00 | 300 | how long in ticks before character can leave fight mode }} | ||
{{OBDtr| 0xC50 | | {{OBDtr| 0xC50 | uint32 |804040| 30 75 00 00 | 30000 | how long in ticks before the Idle animation can be played the first time }} | ||
{{OBDtr| 0xC54 | | {{OBDtr| 0xC54 | uint32 |804040| 30 75 00 00 | 30000 | how long in ticks before the Idle animation can be played another time }} | ||
{{OBDtr| 0xC58 | | {{OBDtr| 0xC58 | uint32 |804040| C8 00 00 00 | 200 | base health of the character model; specific health information for every unique character is stored in the [[OBD:BINA/OBJC/CHAR|Character.BINA]] file}} | ||
{{OBDtr| 0xC5C | | {{OBDtr| 0xC5C | uint32 |804040| 48 00 00 00 | 72 | "feet bits"; unused }} | ||
{{OBDtr| 0xC60 | float |FF22FF| 00 00 80 3F | 1.000000 | {{OBDtr| 0xC60 | float |FF22FF| 00 00 80 3F | 1.000000 | minimum body size factor }} | ||
{{OBDtr| 0xC64 | float |FF22FF| 00 00 80 3F | 1.000000 | {{OBDtr| 0xC64 | float |FF22FF| 00 00 80 3F | 1.000000 | maximum body size factor }} | ||
{{Anchor|DamageTypes}} | {{Anchor|DamageTypes}} | ||
{{OBDtrBK|The following 7 float values are ONCC-specific multipliers for each of the 7 PAR3 DamageTypes. See [[Particle damage types]] for an explanation of DamageTypes. Values range from 0.0-1.0, with 0 meaning "no immunity" and 1 meaning "total immunity".<br> | {{OBDtrBK|The following 7 float values are ONCC-specific multipliers for each of the 7 PAR3 DamageTypes. See [[Particle damage types]] for an explanation of DamageTypes. Values range from 0.0-1.0, with 0 meaning "no immunity" and 1 meaning "total immunity".<br> | ||
Line 344: | Line 332: | ||
{{OBDtr| 0xC7C | float |FF22FF| 00 00 00 00 | 0.000000 | "Blownup" DamageType multiplier }} | {{OBDtr| 0xC7C | float |FF22FF| 00 00 00 00 | 0.000000 | "Blownup" DamageType multiplier }} | ||
{{OBDtr| 0xC80 | float |FF22FF| 00 00 00 00 | 0.000000 | "Pickup" DamageType multiplier }} | {{OBDtr| 0xC80 | float |FF22FF| 00 00 00 00 | 0.000000 | "Pickup" DamageType multiplier }} | ||
{{OBDtr| 0xC84 | float |FF22FF| 00 00 00 3F | 0.500000 | damage reducer, employed when the character has a boss shield (0.0-1.0 <nowiki>=</nowiki> 0%-100%) }} | {{OBDtr| 0xC84 | float |FF22FF| 00 00 00 3F | 0.500000 | damage reducer, employed when the character has a [[boss shield]] (0.0-1.0 <nowiki>=</nowiki> 0%-100%) }} | ||
{{OBDtr| 0xC88 | link |808080| 01 F6 03 00 | 1014 | link to 01014-konoko_animations.[[OBD:TRAC|TRAC]] }} | {{OBDtr| 0xC88 | link |808080| 01 F6 03 00 | 1014 | link to 01014-konoko_animations.[[OBD:TRAC|TRAC]] }} | ||
{{OBDtr| 0xC8C | link |808080| 01 F6 03 00 | 1015 | link to 01015-konoko_screens.[[OBD:TRSC|TRSC]] }} | {{OBDtr| 0xC8C | link |808080| 01 F6 03 00 | 1015 | link to 01015-konoko_screens.[[OBD:TRSC|TRSC]] }} | ||
{{OBDtr| 0xC90 | | {{OBDtr| 0xC90 | uint16 |FFAA82| 1E 00 | 30 | AI rate of firing; unused }} | ||
{{OBDtr| 0xC92 | | {{OBDtr| 0xC92 | uint16 |FFAA82| 00 00 | 0 | time between death and deletion, in frames (0 for all characters except Mad Bomber, who is 190 ticks) }} | ||
{{OBDtr| 0xC94 | | {{OBDtr| 0xC94 | bool |00D900| 00 | 0 | TRSC bitset; see below }} | ||
{{OBDtr| 0xC95 | | {{OBDtr| 0xC95 | bool |00D900| 01 | 1 | character has Daodan powers (can overheal with hypos, do more damage in overpower mode) and can display a Daodan aura particle)}} | ||
{{OBDtr| 0xC96 | | {{OBDtr| 0xC96 | bool |00D900| 00 | 0 | character has [[supershield]] }} | ||
{{OBDtr| 0xC97 | | {{OBDtr| 0xC97 | bool |00D900| 00 | 0 | knockdown resistant (used by MutantMuro.ONCC) }} | ||
|} | |} | ||