Jump to content

OBD:BINA/OBJC/CMBT: Difference between revisions

m
added family to footer template call
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 | char[4]  |FF0000| 43 4A 42 4F | OBJC      | object collection }}
{{OBDtr| 0x00 | 4CC      |FF0000| 43 4A 42 4F | OBJC      | objects }}
{{OBDtr| 0x04 | int32    |FFFF00| B0 0D 00 00 | 35628    | size of the complete combat part from this postion in bytes }}
{{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        | unknown; do not change it }}
{{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 element in bytes }}
{{OBDtr| 0x0C | int32    |00FFFF| B4 00 00 00 | 180      | size of the following object in bytes }}
{{OBDtrBK}}
{{OBDtrBK|First object (black outline)}}
{{OBDtr| 0x00 | char[4]  |FFC8C8| 54 42 4D 43 | TBMC      | combat }}
{{OBDtr| 0x00 | 4CC      |FFC8C8| 54 42 4D 43 | TBMC      | combat }}
{{OBDtr| 0x04 | int32    |FFFFC8| 70 01 00 00 | 368      | old file ID }}
{{OBDtr| 0x04 | int32    |FFFFC8| 70 01 00 00 | 368      | object ID }}
{{OBDtr| 0x08 | int32    |C8FFC8| 00 00 00 00 | 0        | unknown }}
{{OBDtr| 0x08 | int32    |C8FFC8| 00 00 00 00 | 0        | object flags }}
{{OBDtr| 0x0C | float    |C8FFFF| 13 55 5F C3 |-223.332321| x-position of unknown }}
{{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 (height) of unknown }}
{{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 unknown }}
{{OBDtr| 0x14 | float    |C8FFFF| C3 05 E9 C2 |-116.511253| z-position of handle }}
{{OBDtr| 0x18 | float    |FFC8FF| 00 00 00 00 | 0.000000  | rotation on the x-axis in degrees }}
{{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  | rotation on the y-axis in degrees }}
{{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  | rotation on the z-axis in degrees }}
{{OBDtr| 0x20 | float    |FFC8FF| 00 00 00 00 | 0.000000  | z-rotation of handle in degrees }}
{{OBDtr2|0x24 | char[64] |FFC800| Stand_and_Fire          | space for notes }}
{{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 - nothing
: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]]. But it is still unknown how it works. It also depends on the alert level of an AI (lull, low, med, high, combat). Pursuit mode lasts from the moment of the disturbing action until AI goes to forgotten hostilethreat for enemy action, or after one investigation loop for friendlythreat action (see [[OBD:ONCC|ONCC]] for info about ...threats).  
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]]


==Bluebox screenshot==
<table border=0><tr valign=bottom><td>
http://ssg.oni2.net/subfold/bluebox/images/307_choose_combat.jpg
</td><td>
Neu = New<br>
Bearbeiten = Edit<br>
Duplizieren = Duplicate<br>
L ==> Löschen = Delete<br>
Gehe zu = Go to<br>
Abbrechen = Cancel
</td></tr></table>


[[Image:Tool dialog - Edit Combat.png]]


http://ssg.oni2.net/subfold/bluebox/images/306_edit_combat.jpg


{{OBD OBJC Footer | type=CMBT | prev=CHAR | next=CONS | name=Combat profile | family=Level}}


{{OBD OBJC Footer | type=CMBT | prev=CHAR | next=CONS | name=Combat profile}}
{{OBD}}