|
|
|
Raw hex
|
Value
|
Meaning
|
54 42 4D 43
|
TBMC
|
combat
|
70 01 00 00
|
368
|
old file ID
|
00 00 00 00
|
0
|
unknown
|
13 55 5F C3
|
-223.332321
|
x-position of ???
|
D4 A8 8E 41
|
17.832436
|
y-position (height) of ???
|
C3 05 E9 C2
|
-116.511253
|
z-position of ???
|
00 00 00 00
|
0.000000
|
rotation on the x-axis in degrees
|
00 00 00 00
|
0.000000
|
rotation on the y-axis in degrees
|
00 00 00 00
|
0.000000
|
rotation on the z-axis in degrees
|
Stand_and_Fire
|
space for notes
|
00 00 00 00
|
0
|
combat ID (looked up from CJBOCharacter.BINA)
|
Below follows the behavior part.
|
02 00 00 00
|
2
|
long range behavior; the following behavior values are possible (values in dec):
0 -
|
none
|
1 -
|
stare
|
2 -
|
hold and fire
|
3 -
|
firing charge
|
4 -
|
melee
|
5 -
|
Barabbas shoot
|
6 -
|
Barabbas advance
|
7 -
|
Barabbas melee
|
8 -
|
Superninja fireball
|
9 -
|
Superninja advance
|
10 -
|
Superninja melee
|
11 -
|
run for alarm (not used in Oni)
|
12 -
|
Mutant Muro melee
|
13 -
|
Muro thunderbolt
|
|
02 00 00 00
|
2
|
medium range behavior; values as above
|
02 00 00 00
|
2
|
hand to hand behavior (short range behavior); values as above
|
02 00 00 00
|
2
|
medium retreat behavior; values as above
|
02 00 00 00
|
2
|
long retreat behavior; values as above
|
Below follows the combat part.
|
00 00 F0 42
|
120.000000
|
maximal combat range; you can make it visible with the script command ai2_showcombatranges = 1
|
01 00 00 00
|
1
|
melee overide; when 1 or higher, AI automatically switches from gunfire to melee on short distance; the following values are possible (values in dec): 0 - no 1 - if punched 2 - (canceled) 3 - short range 4 - medium range 5 - always melee
|
00 00 00 00
|
0
|
if no gun; ( when 1, AI tries to run if they don't hold weapon) (when 2, unknown) (when 3 and higher, they stand and seems to have no pathfinding logic); the following values are possible (values in dec): 0 - melee 1 - retreat 2 - run to alarm
|
00 00 20 42
|
40.000000
|
minimal combat range; you can make it visible with the script command ai2_showcombatranges = 1
|
00 00 48 43
|
200.000000
|
pursuit distance
|
Below follows the non-combatant part.
|
58 02 00 00
|
600
|
panic hurt (time in 1/60 seconds)
|
84 03 00 00
|
900
|
panic gunfire (time in 1/60 seconds)
|
58 02 00 00
|
600
|
panic melee (time in 1/60 seconds)
|
B0 04 00 00
|
1200
|
panic sight (time in 1/60 seconds)
|
|
Alarm behavior
These settings affect the behavior of an AI that's running for a console (e.g., script command ai2_doalarm).
- Offsets relative to start of CMBT chunk
Offset |
Type |
Raw Hex |
Value |
Description
|
0xA0
|
float
|
00 00 96 43
|
300.000000
|
alarm search distance (defunct?)
|
0xA4
|
float
|
00 00 A0 42
|
80.000000
|
alarm enemy ignore distance (see below)
|
0xA8
|
float
|
00 00 00 00
|
0
|
alarm enemy attack distance (see below)
|
0xAC
|
long
|
1E 00 00 00
|
30
|
alarm damage threshold; don't exactly know what it is (see below)
|
0xB0
|
long
|
68 01 00 00
|
360
|
alarm fight timer; see below
|
- Alarm enemy ignore distance
- This one specifies an "ignore range". Enemies which are inside this range are not ignored but AI doesn't attack them.
- Alarm enemy attack distance
- Zero by default.
- This one specifies an "attack range" around an AI running for an alarm. When there is an enemy inside, AI stops running for the console and attack the enemy (if AI knows about him, of course)
- Nevertheless AI still keeps in mind that it should run for the console. So when there is no enemy inside this range and fight timer runs out, AI resumes running to the specified console.
- Fight timer
- When AI, which is running for the console, is engaged in a fight and enemy manages to disappear (either by phase-cloak or simply by hiding behind some corner), AI tries to chase him or looks for him. Alarm timer specifies how long should AI chase/look for the enemy. For chasing, timer starts when the enemy is outside *Alarm enemy attack distance*. Of course when the enemy escapes even from *Alarm enemy ignore range*, AI abandons him automatically.
- Alarm damage threshold
- Specifies how long AI, which is running for the console, remembers someone hurt it. Until this timer runs away, AI doesn't tend to use console. It only stays in fight stance near console, ready to fight. If someone hurts AI which is running for the console, then escapes and then tries to hurt it again while this timer isn't finished yet, AI remembers him and initatively attacks him the moment he steps inside *Alarm enemy attack distance*.
- Boy, that is so promising for CTF and Rugby... Thankee, Loser ^^
- geyser 15:47, 17 December 2006 (CET)
- Now I can say whole alarm behavior is resurrected. When somebody sees you, he runs for an alarm. If you manage to outrace him, he fights with you, but keeps his eye on every chance for escaping and running for alarm again. When alarm is tripped, it alerts all AIs with proper alarm group number and they either hunt you (if you are inside their pursuit distance) or their alert level is raised to combat or high level.
- I know there is still *Alarm search distance*, but we doesn't need it (there are plenty of other ways how to check that AI saw enemy and should run for alarm) plus it seems that both *Run For Alarm* behavior and *Run To Alarm* If no gun events are bugged in the same way and are defunct. Or there are missing labels "this is alarm console, you silly AI" in console files. I don't know and I think we can live without that. Or do you think about something else???
--Loser 13:43, 27 December 2006 (CET)
Blue Box Beta WMDD
Template:OBD TXT