19,584
edits
m (added an empty line) |
m (added family to footer template call) |
||
(15 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{OBD OBJC Header | align=center | type=CMBT | prev=CHAR | next=CONS | name=Combat Profile}} | {{OBD OBJC Header | align=center | type=CMBT | prev=CHAR | next=CONS | name=Combat Profile | stuff=b_cb}} | ||
Line 9: | Line 9: | ||
{{Table}} | {{Table}} | ||
{{OBDth}} | {{OBDth}} | ||
{{OBDtr| 0x00 | | {{OBDtr| 0x00 | 4CC |FF0000| 43 4A 42 4F | OBJC | objects }} | ||
{{OBDtr| 0x04 | int32 |FFFF00| B0 0D 00 00 | 35628 | | {{OBDtr| 0x04 | int32 |FFFF00| B0 0D 00 00 | 35628 | length (in bytes) to end of OBJC from here }} | ||
{{OBDtr| 0x08 | int32 |00FF00| 27 00 00 00 | 39 | | {{OBDtr| 0x08 | int32 |00FF00| 27 00 00 00 | 39 | object list version }} | ||
{{OBDtr| 0x0C | int32 |00FFFF| B4 00 00 00 | 180 | size of the following | {{OBDtr| 0x0C | int32 |00FFFF| B4 00 00 00 | 180 | size of the following object in bytes }} | ||
{{OBDtrBK}} | {{OBDtrBK|First object (black outline)}} | ||
{{OBDtr| 0x00 | | {{OBDtr| 0x00 | 4CC |FFC8C8| 54 42 4D 43 | TBMC | combat }} | ||
{{OBDtr| 0x04 | int32 |FFFFC8| 70 01 00 00 | 368 | | {{OBDtr| 0x04 | int32 |FFFFC8| 70 01 00 00 | 368 | object ID }} | ||
{{OBDtr| 0x08 | int32 |C8FFC8| 00 00 00 00 | 0 | | {{OBDtr| 0x08 | int32 |C8FFC8| 00 00 00 00 | 0 | object flags }} | ||
{{OBDtr| 0x0C | float |C8FFFF| 13 55 5F C3 |-223.332321| x-position of | {{OBDtr| 0x0C | float |C8FFFF| 13 55 5F C3 |-223.332321| x-position of handle }} | ||
{{OBDtr| 0x10 | float |C8FFFF| D4 A8 8E 41 | 17.832436 | y-position | {{OBDtr| 0x10 | float |C8FFFF| D4 A8 8E 41 | 17.832436 | y-position of handle }} | ||
{{OBDtr| 0x14 | float |C8FFFF| C3 05 E9 C2 |-116.511253| z-position of | {{OBDtr| 0x14 | float |C8FFFF| C3 05 E9 C2 |-116.511253| z-position of handle }} | ||
{{OBDtr| 0x18 | float |FFC8FF| 00 00 00 00 | 0.000000 | | {{OBDtr| 0x18 | float |FFC8FF| 00 00 00 00 | 0.000000 | x-rotation of handle in degrees }} | ||
{{OBDtr| 0x1C | float |FFC8FF| 00 00 00 00 | 0.000000 | | {{OBDtr| 0x1C | float |FFC8FF| 00 00 00 00 | 0.000000 | y-rotation of handle in degrees }} | ||
{{OBDtr| 0x20 | float |FFC8FF| 00 00 00 00 | 0.000000 | | {{OBDtr| 0x20 | float |FFC8FF| 00 00 00 00 | 0.000000 | z-rotation of handle in degrees }} | ||
{{OBDtr2|0x24 | char[64] |FFC800| Stand_and_Fire | | {{OBDtr2|0x24 | char[64] |FFC800| Stand_and_Fire | name }} | ||
{{OBDtr| 0x64 | int32 |C800C8| 00 00 00 00 | 0 | combat ID (looked up from [[OBD:BINA/OBJC/CHAR|Character.BINA]]) }} | {{OBDtr| 0x64 | int32 |C800C8| 00 00 00 00 | 0 | combat ID (looked up from [[OBD:BINA/OBJC/CHAR|Character.BINA]]) }} | ||
|} | |} | ||
===Behavior part=== | ===Behavior part=== | ||
Line 33: | Line 32: | ||
{{OBDtr| 0x68 | int32 |C87C64| 02 00 00 00 | 2 | long range behavior; the following values are possible (values in dec): | {{OBDtr| 0x68 | int32 |C87C64| 02 00 00 00 | 2 | long range behavior; the following values are possible (values in dec): | ||
:00 - none | |||
:00 - | |||
:01 - stare | :01 - stare | ||
:02 - hold and fire | :02 - hold and fire | ||
Line 48: | Line 46: | ||
:12 - Mutant Muro melee | :12 - Mutant Muro melee | ||
:13 - Muro thunderbolt | :13 - Muro thunderbolt | ||
}} | }} | ||
{{OBDtr| 0x6C | int32 |B0C3D4| 02 00 00 00 | 2 | medium range behavior; values as above }} | {{OBDtr| 0x6C | int32 |B0C3D4| 02 00 00 00 | 2 | medium range behavior; values as above }} | ||
Line 63: | Line 59: | ||
{{OBDtr| 0x7C | float |EBEBEB| 00 00 F0 42 | 120.000000| long/medium range; distance of the border between long and medium ranges; you can make it visible with the script command *ai2_showcombatranges <nowiki>=</nowiki> 1* }} | {{OBDtr| 0x7C | float |EBEBEB| 00 00 F0 42 | 120.000000| long/medium range; distance of the border between long and medium ranges; you can make it visible with the script command *ai2_showcombatranges <nowiki>=</nowiki> 1* }} | ||
{{OBDtr| 0x80 | int32 |8C8CCC| 01 00 00 00 | 1 | melee override; see below; the following values are possible: | {{OBDtr| 0x80 | int32 |8C8CCC| 01 00 00 00 | 1 | melee override; see below; the following values are possible: | ||
:0 - nothing | :0 - nothing | ||
Line 71: | Line 66: | ||
:4 - medium range | :4 - medium range | ||
:5 - always melee | :5 - always melee | ||
}} | }} | ||
{{OBDtr| 0x84 | int32 |FF00C8| 00 00 00 00 | 0 | if no gun; behavior of AI which doesn't have a gun in its hand ( but can have it holstered); the following values are possible: | {{OBDtr| 0x84 | int32 |FF00C8| 00 00 00 00 | 0 | if no gun; behavior of AI which doesn't have a gun in its hand ( but can have it holstered); the following values are possible: | ||
:0 - melee | :0 - melee | ||
:1 - retreat | :1 - retreat | ||
:2 - run to alarm | :2 - run to alarm | ||
}} | }} | ||
{{OBDtr| 0x88 | float |F0F096| 00 00 20 42 | 40.000000 | medium/short range; distance of the border between medium and short ranges; you can make it visible with the script command *ai2_showcombatranges <nowiki>=</nowiki> 1* }} | {{OBDtr| 0x88 | float |F0F096| 00 00 20 42 | 40.000000 | medium/short range; distance of the border between medium and short ranges; you can make it visible with the script command *ai2_showcombatranges <nowiki>=</nowiki> 1* }} | ||
Line 109: | Line 99: | ||
These settings affect the behavior of an AI that's running for a console (e.g., script command *ai2_doalarm*). | These settings affect the behavior of an AI that's running for a console (e.g., script command *ai2_doalarm*). For an example of how flexible the AI is when using alarm behavior, see [https://www.youtube.com/watch?v=CkzguNxjGEs this demo from Loser] where an AI completes Chapter 1. | ||
;alarm search distance | ;alarm search distance | ||
:area around AI, where engine checks if there is some console with 40 bit (see [[OBD:BINA/OBJC/CONS|CONS]]). | :area around AI, where engine checks if there is some console with 40 bit (see [[OBD:BINA/OBJC/CONS|CONS]]). | ||
Line 129: | Line 119: | ||
* ???Find alarm??? pm_pursue action, still unknown | * ???Find alarm??? pm_pursue action, still unknown | ||
---- | ---- | ||
==Further info== | ==Further info== | ||
===About pursuit distance=== | ===About pursuit distance=== | ||
Line 142: | Line 133: | ||
:*GoTo | :*GoTo | ||
:*Forget | :*Forget | ||
What AI does while in pursuit mode depends on the last values in [[OBD:BINA/OBJC/CHAR|CHAR]]. | What AI does while in pursuit mode depends on the last values in [[OBD:BINA/OBJC/CHAR|CHAR]].Go there for further info. | ||
So...what is the pursuit distance??? It is distance that is AI allowed to travel from its original location for *pursue* purposes. Set it high and AI can run through whole level if it hears or spots something. Set it low and AI will do just a few steps in a direction of disturbing action. | So...what is the pursuit distance??? It is distance that is AI allowed to travel from its original location for *pursue* purposes. Set it high and AI can run through whole level if it hears or spots something. Set it low and AI will do just a few steps in a direction of disturbing action. | ||
---- | ---- | ||
===About melee override=== | ===About melee override=== | ||
First something about minimal shooting distance.It is in the [[OBD:ONWC|ONWC]] and determines closest range for AI to fire that weapon. If enemy goes closer, AI stops shooting and tends to run away until it reahes minimal shooting distance again. | First something about minimal shooting distance.It is in the [[OBD:ONWC|ONWC]] and determines closest range for AI to fire that weapon. If enemy goes closer, AI stops shooting and tends to run away until it reahes minimal shooting distance again. | ||
Line 158: | Line 150: | ||
--[[User:Loser|Loser]] 09:03, 29 July 2007 (CEST) | --[[User:Loser|Loser]] 09:03, 29 July 2007 (CEST) | ||
Try using ai2_report on a character, I noticed a timer next to the mode or something of that sort - Gumby :) | |||
==Dialogs from level0_Tools== | |||
[[Image:Tool dialog - Choose Combat.png]] | |||
[[Image:Tool dialog - Edit Combat.png]] | |||
{{OBD OBJC Footer | type=CMBT | prev=CHAR | next=CONS | name=Combat profile | family=Level}} | |||
{{OBD | {{OBD}} |