708
edits
mNo edit summary |
No edit summary |
||
Line 260: | Line 260: | ||
{{OBDtr2|0x3BC | char[32] |0096C8| unused | "super3" sound (only the superninja uses this slot) }} | {{OBDtr2|0x3BC | char[32] |0096C8| unused | "super3" sound (only the superninja uses this slot) }} | ||
{{OBDtr2|0x3DC | char[32] |0096C8| unused | "super4" sound (never used in Oni) }} | {{OBDtr2|0x3DC | char[32] |0096C8| unused | "super4" sound (never used in Oni) }} | ||
{{OBDtr| 0x3FC | float |FF80C0| 00 80 ED 43 | 475.000000 | central vision | {{OBDtrBK| the following 7 vision fields are used to detect if a character can be seen by AI; see Vision Field below for explanation }} | ||
{{OBDtr| 0x400 | float |FF80C0| 00 00 16 43 | 150.000000 | peripheral vision | {{OBDtr| 0x3FC | float |FF80C0| 00 80 ED 43 | 475.000000 | central vision distance }} | ||
{{OBDtr| 0x404 | float |FF80C0| 7D 1B 44 3F | 0.766044 | | {{OBDtr| 0x400 | float |FF80C0| 00 00 16 43 | 150.000000 | peripheral vision distance }} | ||
{{OBDtr| 0x408 | float |FF80C0| F3 B3 51 3F | 0.819152 | | {{OBDtr| 0x404 | float |FF80C0| 7D 1B 44 3F | 0.766044 | vertical vision range }} | ||
{{OBDtr| 0x40C | float |FF80C0| E8 D5 12 3F | 0.573576 | | {{OBDtr| 0x408 | float |FF80C0| F3 B3 51 3F | 0.819152 | central vision range }} | ||
{{OBDtr| 0x410 | float |FF80C0| D5 D0 31 3E | 0.173648 | | {{OBDtr| 0x40C | float |FF80C0| E8 D5 12 3F | 0.573576 | central vision max }} | ||
{{OBDtr| 0x414 | float |FF80C0| 6B 61 D8 BE | 0.422618 | | {{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| 0x418 | int32 |D0C0AF| B4 00 00 00 | 180 | hostilethreat definite timer; how long will AI know exactly where its enemy is even if it can't see him with central vision-field; AI attacks him; can be checked by *ai2_report_verbose* command (this command causes random crashes, beware) }} | {{OBDtr| 0x418 | int32 |D0C0AF| B4 00 00 00 | 180 | hostilethreat definite timer; how long will AI know exactly where its enemy is even if it can't see him with central vision-field; AI attacks him; can be checked by *ai2_report_verbose* command (this command causes random crashes, beware) }} | ||
{{OBDtr| 0x41C | int32 |D0C0AF| 84 03 00 00 | 900 | hostilethreat strong timer; how long will AI remain in strong feeling that there is the enemy, but will not attack him but investigate; can be checked by *ai2_report_verbose* command }} | {{OBDtr| 0x41C | int32 |D0C0AF| 84 03 00 00 | 900 | hostilethreat strong timer; how long will AI remain in strong feeling that there is the enemy, but will not attack him but investigate; can be checked by *ai2_report_verbose* command }} | ||
Line 362: | Line 363: | ||
:0x01 - Character is left-hander with both pistols and rifles | :0x01 - Character is left-hander with both pistols and rifles | ||
:0x02 - Character is left-hander with pistols but "right-hander" with rifles (however, animations for rifles are treated as left-handed) | :0x02 - Character is left-hander with pistols but "right-hander" with rifles (however, animations for rifles are treated as left-handed) | ||
;Vision Field | |||
The "range" and "max" values are logically angles but the cosine of the angle is stored instead for performace reasons. We have the following angles (in degrees): | |||
:vertical range - 40 | |||
:horizontal central range - 35 | |||
:horizontal central max - 55 | |||
:horizontal peripheral range - 80 | |||
:horizontal peripheral max - 115 | |||
Within "range" the "distance" field is used to compute visibility (character is visible if the distance between AI and character is < "distance" field). Between "range" and "max" the visibility distance decreases gradually towards 0. | |||
The vision field can be made visible with the script command *ai2_showvision <nowiki>=</nowiki>1* but it should be noted that the rendering might not be accurate. In particular the peripheral vision field it's missing the central segment. | |||
{{OBD_File_Footer | type=ONCC | prev=OFGA | next=ONCP | name=Oni Character Class | family=Character}} | {{OBD_File_Footer | type=ONCC | prev=OFGA | next=ONCP | name=Oni Character Class | family=Character}} | ||
{{OBD}} | {{OBD}} |
edits