OBD:BINA/OBJC/MELE: Difference between revisions

correction to "throw danger" field; explanation of three "unknown" fields and the Fearless flag; copy-edit; I think the material on GenerousDir is inaccurate but I don't have the time to correct it
(correction to "throw danger" field; explanation of three "unknown" fields and the Fearless flag; copy-edit; I think the material on GenerousDir is inaccurate but I don't have the time to correct it)
 
(21 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{OBD OBJC Header|align=right|type=MELE|prev=FURN|next=NEUT|name=Melee profile|onistuff=b_me}}
{{OBD OBJC Header | type=MELE | prev=FURN | next=NEUT | name=Melee profile | align=center|stuff=b_me}}


;Melee profiles
===General settings===
:They are stored globally, as a collection.
[[Image:bin_r_m1.gif]]
:There are 45 of them.
;Structure
:Melee profile header
:List of techniques (split in 3 groups : attack, evade, maneuver)
:List of moves (grouped in sequences corresponding to techniques)
;Messiness
:The move sequences are not listed in the same order as the techniques
:For a structure that's only 16 bytes in size, the moves have ''really'' complicated parsing.
:A lot of EXE hacking is necessary in order to understand and master a move's effect




----
{{Table}}
----
{{OBDth}}
==Profile==
{{OBDtr| 0x00 | char[4]  |FF0000| 43 4A 42 4F | OBJC      | objects }}
===Header example===
{{OBDtr| 0x04 | int32    |FFFF00| 84 75 02 00 | 161156    | size of the complete melee part from this position in bytes }}
{{OBD TXT dec|align=right|onistuff=bina_melee_part_1|size=9}}
{{OBDtr| 0x08 | int32    |00FF00| 27 00 00 00 | 39        | object list version }}
;Size is 0xF0 = 240 bytes. Then there's a list of techniques, and a list of moves.
{{OBDtr| 0x0C | int32    |00FFFF| 28 15 00 00 | 5416      | size of the following element in bytes }}
;Amount of techniques and moves used by the profile are declared.
{{OBDtrBK}}
;Amount of moves used by every technique is declared by the technique.
{{OBDtr| 0x00 | char[4]  |FFC8C8| 45 4C 45 4D | MELE       | melee }}
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/bin_r_m1.gif
{{OBDtr| 0x04 | int32    |FFFFC8| 76 02 00 00 | 630       | old file ID }}
{|{{OBDtable}}
{{OBDtr| 0x08 | int32    |C8FFC8| 00 00 00 00 | 0         | unknown }}
|align=center|
{{OBDtr| 0x0C | float    |C8FFFF| B3 F3 2A 43 | 170.951950 | x-position of unknown }}
{|{{OBDtable}}
{{OBDtr| 0x10 | float    |C8FFFF| C7 0D 71 C1 | -15.065864 | y-position (height) of unknown }}
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
{{OBDtr| 0x14 | float    |C8FFFF| CF 29 38 42 | 46.040829 | z-position of unknown }}
! WIDTH=15% |Raw hex
{{OBDtr| 0x18 | float    |FFC8FF| 00 00 00 00 | 0.000000   | rotation on the x-axis in degrees }}
! WIDTH=15% |Value
{{OBDtr| 0x1C | float    |FFC8FF| 00 00 00 00 | 0.000000   | rotation on the y-axis in degrees }}
! Meaning
{{OBDtr| 0x20 | float    |FFC8FF| 00 00 00 00 | 0.000000   | rotation on the z-axis in degrees }}
|-
| BGCOLOR="#FFC8C8" | 45 4C 45 4D
| MELE
| ALIGN=LEFT | melee
|-
| BGCOLOR="#FFFFC8" | 76 02 00 00
| 630
| ALIGN=LEFT | unknown
|-
| BGCOLOR="#C8FFC8" | 00 00 00 00
| 0
| ALIGN=LEFT | unknown
|-
| BGCOLOR="#C8FFFF" | B3 F3 2A 43
| 170.951950
| ALIGN=LEFT | x-position of ???
|-
| BGCOLOR="#C8FFFF" | C7 0D 71 C1
| -15.065864
| ALIGN=LEFT | y-position (height) of ???
|-
| BGCOLOR="#C8FFFF" | CF 29 38 42
| 46.040829
| ALIGN=LEFT | z-position of ???
|-
| BGCOLOR="#FFC8FF" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | rotation on the x-axis in degrees
|-
| BGCOLOR="#FFC8FF" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | rotation on the y-axis in degrees
|-
| BGCOLOR="#FFC8FF" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | rotation on the z-axis in degrees
|-
| BGCOLOR="#FFC800" | 09 00 00 00
| 9
| ALIGN=LEFT | melee ID
|-
| BGCOLOR="#C800C8" COLSPAN=2 | <TT>NINJA_Easy</TT>
| ALIGN=LEFT | space for notes
|-
| BGCOLOR="#C87C64" COLSPAN=2 | <TT>ninja_easy_1</TT>
| ALIGN=LEFT | link by name to an [[OBD:ONCC|ONCC]] model (actually looked up by the melee profile); see below
|-
| BGCOLOR="#B0C3D4" | 64 00 00 00
| 100
| ALIGN=LEFT | Notice (%); how often AI registeres incoming attack; without noticing it, AI will not block or dodge
|-
| BGCOLOR="#B0C3D4" | 64 00 00 00
| 100
| ALIGN=LEFT | Dodge base (%); determines how often AI tries to dodge incoming attacks
|-
| BGCOLOR="#B0C3D4" | 1E 00 00 00
| 30
| ALIGN=LEFT | Dodge extra (%); adds extra chance to dodge incoming attack
|-
| BGCOLOR="#B0C3D4" | 05 00 00 00
| 5
| ALIGN=LEFT | Dodge damage amount; amount of damage dealt to character (or incoming in one strong attack) for Dodge extra activation
|-
| BGCOLOR="#B0C3D4" | 0F 00 00 00
| 15
| ALIGN=LEFT | 1 vs 1 blocking skill (%); specifies how often AI blocks incoming attack when blocking one enemy
|-
| BGCOLOR="#B0C3D4" | 14 00 00 00
| 20
| ALIGN=LEFT | Group blocking skill (%); looks like amount of possibility that AI will try to block attacks incoming from more enemies
|-
| BGCOLOR="#E7CEA5" | 00 00 00 40
| 2.000000
| ALIGN=LEFT | unknown; always the same ("not blocked"?)
|-
| BGCOLOR="#E7CEA5" | 33 33 33 3F
| 0.700000
| ALIGN=LEFT | unknown ("must change stance"?)
|-
| BGCOLOR="#E7CEA5" | 00 00 C0 3F
| 1.500000
| ALIGN=LEFT | unknown ("blocked but unblockable"?)
|-
| BGCOLOR="#E7CEA5" | 9A 99 99 3F
| 1.200000
| ALIGN=LEFT | unknown; always the same ("blocked but has stagger"?)
|-
| BGCOLOR="#E7CEA5" | 33 33 33 3F
| 0.700000
| ALIGN=LEFT | unknown; always the same ("blocked but has blockstun"?)
|-
| BGCOLOR="#E7CEA5" | 00 00 00 3F
| 0.500000
| ALIGN=LEFT | unknown; always the same ("blocked"?)
|-
| BGCOLOR="#E7CEA5" | 00 00 00 40
| 2.000000
| ALIGN=LEFT | Throw danger; still unknown but it has something to do with probability of being thrown; when set very high, AI2 with this MELE is almost unthrowable
|-
| BGCOLOR="#FFDDDD" | 3C 00
| 60
| ALIGN=LEFT | unknown
|-
| BGCOLOR="#FFDDDD" | 5A 00
| 90
| ALIGN=LEFT | unknown
|-
| BGCOLOR="#64AAAA" | 1A 00 00 00
| 26
| ALIGN=LEFT | number of attack techniques
|-
| BGCOLOR="#64AAAA" | 06 00 00 00
| 6
| ALIGN=LEFT | number of evade/dodge techniques
|-
| BGCOLOR="#64AAAA" | 07 00 00 00
| 7
| ALIGN=LEFT | number of maneuver/position techniques
|-
| BGCOLOR="#64AAAA" | 6D 00 00 00
| 109
| ALIGN=LEFT | number of moves
|}
|}
===Profile part===
{{Table}}
{{OBDth}}
{{OBDtr| 0x24 | int32    |FFC800| 09 00 00 00 | 9          | melee ID }}
{{OBDtr2|0x28 | char[64] |C800C8| NINJA_Easy              | space for notes }}
{{OBDtr2|0x68 | char[64] |C87C64| ninja_easy_1            | character class name (reference to a ninja_easy_1.[[OBD:ONCC|ONCC]] file) }}
{{OBDtr| 0xA8 | int32    |B0C3D4| 64 00 00 00 | 100        | notice in percent; how often AI registers incoming attack; without noticing it, AI will not block or dodge }}
{{OBDtr| 0xAC | int32    |B0C3D4| 64 00 00 00 | 100        | dodge base in percent; determines how often AI tries to dodge incoming attacks }}
{{OBDtr| 0xB0 | int32    |B0C3D4| 1E 00 00 00 | 30        | dodge extra in percent; adds extra chance to dodge incoming attack }}
{{OBDtr| 0xB4 | int32    |B0C3D4| 05 00 00 00 | 5          | dodge damage amount; amount of damage dealt to character (or incoming in one strong attack) for Dodge extra activation }}
{{OBDtr| 0xB8 | int32    |B0C3D4| 0F 00 00 00 | 15        | 1 vs 1 blocking skill in percent; specifies how often AI blocks incoming attack when blocking one enemy }}
{{OBDtr| 0xBC | int32    |B0C3D4| 14 00 00 00 | 20        | group blocking skill in percent; looks like amount of possibility that AI will try to block attacks incoming from more enemies }}
{{OBDtr| 0xC0 | float    |E7CEA5| 00 00 00 40 | 2.000000  | not blocked; modifier of an AI2 chance for performing such a technique aganist its target that target is not able to block at the moment of the technique start ( striker's kick forward against crouching enemy or finishing off staggered enemy or simply attacking running enemy ) }}
{{OBDtr| 0xC4 | float    |E7CEA5| 33 33 33 3F | 0.700000  | must change stance; modifier for a chance to perform technique which will force enemy to change his stance if he wants to defend the technique( stand/crouch ) }}
{{OBDtr| 0xC8 | float    |E7CEA5| 00 00 C0 3F | 1.500000  | blocked but unblockable; modifier for a chance to perform technique which contains unblockable attack even if enemy is in correct defensive stance to "guard" the technique }}
{{OBDtr| 0xCC | float    |E7CEA5| 9A 99 99 3F | 1.200000  | blocked but has stagger; modifier for a chance to perform technique which will get blocked but target will be block-staggered }}
{{OBDtr| 0xD0 | float    |E7CEA5| 33 33 33 3F | 0.700000  | blocked but has blockstun; modifier for a chance to perform technique which will get blocked, but target will be block-stunned ( will be forced to stay in block pose for more than one cycle of idle block animation ) }}
{{OBDtr| 0xD4 | float    |E7CEA5| 00 00 00 3F | 0.500000  | blocked; modifier for a chance to perform a technique even tough this technique aims for target which is in correct stance and ready to block this technique at the moment of the technique's start }}
{{OBDtr| 0xD8 | float    |E7CEA5| 00 00 00 40 | 2.000000  | throw-into-danger weight multiplier; how many times more likely the AI is to want to throw its target if the throw will place the target into a danger square; this field is ignored if the technique is marked with the Fearless flag, but Fearless is not used in the vanilla game data anywhere }}
{{OBDtr| 0xDC | int16    |FFDDDD| 3C 00      | 60        | minimum dazed frames when char. is knocked down }}
{{OBDtr| 0xDE | int16    |FFDDDD| 5A 00      | 90        | maximum dazed frames when char. is knocked down }}
{{OBDtr| 0xE0 | int32    |64AAAA| 1A 00 00 00 | 26        | number of attack techniques }}
{{OBDtr| 0xE4 | int32    |64AAAA| 06 00 00 00 | 6          | number of evade/dodge techniques }}
{{OBDtr| 0xE8 | int32    |64AAAA| 07 00 00 00 | 7          | number of maneuver/position techniques (sum of all techniques <nowiki>=</nowiki> amount of elements of the technique part}}
{{OBDtr| 0xEC | int32    |64AAAA| 6D 00 00 00 | 109        | number of moves (amount of elements of the move part) }}
|}
|}
----
 
;About ONCC lookup: it seems that typing different ONCC model names here allows the melee profile to use some "trademark" moves:
::Info about whether technique will be considered as "low", "high", "unblockable" or whether it causes block-stagger or block-stun is obtained from technique's move's TRAM's attack part (see [[OBD:TRAM/raw0x14]]).
*all ninjas (easy, med, hard) and super_ninja_1 ONCCs allow p_p_k_k_k_k combo
 
*konoko_generic and all red (fury) classes allow p_p_k combo, kick/kick back/run kick behind/run kick throws, k_k_kfw combo
*all tanker classes allow kick/kick back/run kick behind/run kick throws
*muro and mutant_muro classes allow p_p_p_p combo.
If you know something else, feel free to complete it. The question about this "trademark" moves is: is it specified in the ONCC or somewhere else ???
----
;Techniques
;Techniques
:They are listed right after the profile's header. Their number is specified in the header, and their size is 88 bytes each.
:They are listed right after the profile's header. Their number is specified in the header, and their size is 88 bytes each.
Line 167: Line 58:
:They are listed right after the techniques. Their number is specified in the header, and their size is 16 bytes each.
:They are listed right after the techniques. Their number is specified in the header, and their size is 16 bytes each.


===All profiles===
===Technique part===
====In order of appearance in the collection====
[[Image:bin_r_m2.gif]]
{|{{OBDtable}}
 
|align=center|
 
{|{{OBDtable}}
{{Table}}
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
{{OBDth}}
! 1
{{OBDtrBK|1=First element (grey outline)}}
! 2
{{OBDtr2|0x00 | char[64] |EBEBEB| Spinning Suplex          | space for notes (technique's name) }}
! 3
{{OBDtr| 0x40 | bitset32 |8C8CCC| 00 00 00 00 | 0          | flags; see below }}
! 4
{{OBDtr| 0x44 | int32    |FF00C8| 50 00 00 00 | 80        | weight; techniques with higher weight are preferred by engine, if more techniques that can be used at one moment; have same weight, engine calls them in order as they are listed in MELE }}
! 5
{{OBDtr| 0x48 | int32    |F0F096| 0A 00 00 00 | 10        | "importance"; unused }}
|-
{{OBDtr| 0x4C | int32    |00C864| 58 02 00 00 | 600        | repeat delay in frames; after technique is used, it is ignored by engine for this time interval }}
|[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Easy]]||Security_Guard||TCTF_Lite||[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Easy]]||COMGUY
{{OBDtr| 0x50 | int32    |00C8FF| 02 00 00 00 | 2          | number of moves used by this technique }}
|-
{{OBDtr| 0x54 | int32    |C80040| 57 00 00 00 | 87        | position of the first move for this technique in the move part }}
|[[OBD:BINA/OBJC/MELE/THUG|THUG_Air]]||[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Medium]]
|[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Hard]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Easy2]]||BLACKOPS_Lite
|-
|BLACKOPS_Swat||TCTF_Swat||[[OBD:BINA/OBJC/MELE/ELITE|ELITE_Easy]]||MADBOMBER||NINJABOT_Train1
|-
|RED_Easy||[[OBD:BINA/OBJC/MELE/TANKER|SNIPER]]||RED_Medium||KONOKO||BARABAS Rsrch D
|-
|BARABAS TCTF D||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Medium2]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Hard2]]||MURO_Dream||MURO_Final
|-
|MURO_Mutant||[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Super]]||[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Medium]]||[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Hard]]||RED_Hard
|-
|[[OBD:BINA/OBJC/MELE/ELITE|ELITE_Medium]]||[[OBD:BINA/OBJC/MELE/ELITE|ELITE_Hard]]
|GRIFFIN||[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Mini]]||COP Male
|-
|COP Female||[[OBD:BINA/OBJC/MELE/THUG|THUG_Mfg]]||[[OBD:BINA/OBJC/MELE/THUG|THUG_Neuro]]||[[OBD:BINA/OBJC/MELE/THUG|THUG_Pow]]||[[OBD:BINA/OBJC/MELE/THUG|THUG_Wh]]
|-
|NINJABOT_Train2||[[OBD:BINA/OBJC/MELE/NINJA|NINJABOT_PowPlant]]
|[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Easy]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Medium]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Hard]]
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
! 41
! 42
! 43
! 44
! 45
|}
|}
|}
====Sorted by ID====
;The IDs start at 0 and increase by 1 for every next profile
;with the exception of the last 3, the IDs of which are 55, 56, 57
;(instead of 42, 43, 44)
{|{{OBDtable}}
|align=center|
{|{{OBDtable}}
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
! 0
! 1
! 2
! 3
! 4
|-
|Security_Guard||TCTF_Lite||[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Easy]]||[[OBD:BINA/OBJC/MELE/THUG|THUG_Air]]||COMGUY
|-
|[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Medium]]||[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Hard]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Easy]]||RED_Easy||[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Easy]]
|-
|[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Medium]]||BLACKOPS_Lite||BLACKOPS_Swat||TCTF_Swat||[[OBD:BINA/OBJC/MELE/ELITE|ELITE_Easy]]
|-
|[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Hard]]||RED_Medium||MADBOMBER||NINJABOT_Train1||[[OBD:BINA/OBJC/MELE/TANKER|SNIPER]]
|-
|[[OBD:BINA/OBJC/MELE/ELITE|ELITE_Medium]]||[[OBD:BINA/OBJC/MELE/ELITE|ELITE_Hard]]||KONOKO||BARABAS Rsrch D||RED_Hard
|-
|BARABAS TCTF D||[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Medium]]||[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Hard]]||[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Super]]||MURO_Dream
|-
|MURO_Final||MURO_Mutant||GRIFFIN||[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Mini]]||COP Male
|-
|COP Female||[[OBD:BINA/OBJC/MELE/THUG|THUG_Mfg]]||[[OBD:BINA/OBJC/MELE/THUG|THUG_Neuro]]||[[OBD:BINA/OBJC/MELE/THUG|THUG_Pow]]||[[OBD:BINA/OBJC/MELE/THUG|THUG_Wh]]
|-
|NINJABOT_Train2||[[OBD:BINA/OBJC/MELE/NINJA|NINJABOT_PowPlant]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Easy2]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Medium2]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Hard2]]
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
! 40
! 41
! 55
! 56
! 57
|}
|}


----
----


==Technique==
;Technique flags:
{{OBD TXT|align=right|onistuff=bina_melee_part_2|size=56}}
*00 - nothing;  
;The amount of techniques (attack, evade, maneuver) is declared in the header.
*01 - Interruptible; execution of a move with this flag will be interrupted (the technique will be recorded by the engine as finished) when the enemy is outside its range, which specified by [[OBD:BINA/OBJC/MELE/MoveList/Position|position]] move (which has to be first in the series of moves; it is the third parameter of the position moves) or by [[OBD:BINA/OBJC/MELE/MoveList/Maneuver|maneuver]] move (again the third parameter).
;The list starts directly after the header. Every technique takes up 0x58 = 88 bytes.
*02 - GenerousDir; here comes the necessary background for explaining its behavior:
;The example below is the first (attack) technique of the NINJA_easy profile
:Melee attack or maneuver techniques are listed for potential use only if their position move allows it. That means, for example, that an attack technique with a CloseLeft position move will not be listed for potential use if the enemy is in front of the AI character. However, techniques with the GenerousDir flag are listed for potential use not only when the position move criterion is met, but also if the enemy is in one of the two neighboring positions. So a melee technique with a CloseLeft position move and the GenerousDir flag will be listed for potential use if the enemy is on the left side of the AI, and also if the enemy is in the back of the AI or in front of the AI. When the melee technique is picked for use, the AI character will position itself to meet the position move criterion (it turns its left side towards the enemy in order to use a technique with the CloseLeft position move).
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/bin_r_m2.gif
::Meaning of this flag explains Tanker's behavior. His sidestep run kicks have this flag set, that's why Tanker can turn his left/right side towards the enemy and perform sidestep run kick attack.
{|{{OBDtable}}
*03 - Fearless; never used in melee profiles. If used, it would cause the AI to ignore danger squares when maneuvering and when choosing whether to throw an enemy.
|align=center|
{|{{OBDtable}}
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
! WIDTH=12% | Offset
! WIDTH=12% | Raw hex
! WIDTH=12% | Value
!Meaning
|-
|0x00
| BGCOLOR="#EBEBEB" COLSPAN=2 | <TT>Spinning Suplex</TT>
| ALIGN=LEFT | technique's name
|-
|0x40
| BGCOLOR="#8C8CCC" | 00 00 00 00
| 0
| ALIGN=LEFT | Technique flags; see below
|-
|0x44
| BGCOLOR="#FF00C8" | 50 00 00 00
| 80
| ALIGN=LEFT | Technique weight; techniques with higher weight are prefered by engine, if more techniques, that can be used at one moment, have same weight, engine calls them in order as they are listed in MELE
|-
|0x48
| BGCOLOR="#F0F096" | 0A 00 00 00
| 10
| ALIGN=LEFT | unknown
|-
|0x4C
| BGCOLOR="#00C864" | 58 02 00 00
| 600
| ALIGN=LEFT | Technique repeat delay; after technique is used, it is ignored by engine for this time interval (???number of frames???)
|-
|0x50
| BGCOLOR="#00C8FF" | 02 00 00 00
| 2
| ALIGN=LEFT | number of moves used by this technique
|-
|0x54
| BGCOLOR="#C80040" | 57 00 00 00
| 87
| ALIGN=LEFT | position of the first move for this technique in the profile's list of moves
|}
|}
'''Technique flags:'''
*00 - unknown;  
*01 - Interruptible; execution of moves in this technique is interrupted (technique is taken by engine as finished) when enemy is outside range, which specified by [[OBD:BINA/OBJC/MELE/MoveList/Position|position]] move (which has to be first in the series of moves; it is the third parameter of the position moves ) or by [[OBD:BINA/OBJC/MELE/MoveList/Maneuver|maneuver]] move (again the third parameter).
*02 - unknown; maybe "Generous dir", it seems that AI2 can turn around while attacking with technique that has this flag (or correct distance if it is a maneuver). So basically, it maybe turns on homing ^_-.
--[[User:Loser|Loser]] 08:39, 22 July 2007 (CEST)




Line 337: Line 113:
:"Somebody better investigate soon." ^^
:"Somebody better investigate soon." ^^
::[[User:Geyser|geyser]] 00:00, 20 November 2006 (CET)
::[[User:Geyser|geyser]] 00:00, 20 November 2006 (CET)
===Move part===
[[Image:bin_r_m3.gif]]
{{Table}}
{{OBDth}}
{{OBDtrBK|1=First element (grey outline)}}
{{OBDtr| 0x00 | int32hb  |FFCD96| 04 00 00 20 | 4, 32      | move id, move type
the move id belongs to the move type; [[OBD:BINA/OBJC/MELE/MoveList|these move IDs are possible]]
the move type comes as a high byte; the following types are possible (values in dec):
:00 - attack
:16 - position
:32 - maneuver
:48 - evade
:64 - throw
}}
{{OBDtr| 0x04 | float    |FF80C0| CD CC 4C 3F | 0.800000  | move parameter 1 (in this case, "min" : something like the minimum duration of the "Pause") }}
{{OBDtr| 0x08 | float    |D0C0AF| 00 00 00 00 | 0          | move parameter 2 (in this case, none : "Pause" only takes one parameter) }}
{{OBDtr| 0x0C | float    |EEDDFF| 00 00 00 00 | 0          | move parameter 3 (in this case, none : "Pause" only takes one parameter) }}
|}
;Move types
:00 - Attack, struct array starts at 0x140A88 in the English EXE
:16 - Position, struct array starts at 0x1435B0 in the English EXE
:32 - Maneuver, struct array starts at 0x143AB0 in the English EXE
:48 - Evade, struct array starts at 0x143E30 in the English EXE
:64 - Throw, struct array starts at 0x144370 in the English EXE




----
===Notes===
----
:There are 45 melee profiles.


==Move==
====ONCC lookup====
{{OBD TXT dec|align=right|onistuff=bina_melee_part_3|size=93}}
:It seems that typing different ONCC model names here allows the melee profile to use some "trademark" moves:
;The amount of moves is declared in the header.
*all ninjas (easy, med, hard) and super_ninja_1 ONCCs allow p_p_k_k_k_k combo
;The list starts directly after the list of techniques.
:'''edit:''' ninja easy doesn't use the p_p_k_k_k_k combo. Where did you get this from? [[User:Ssg|Ssg]] 12:55, 24 December 2008 (CET)
;Every move takes up 0x10 = 16 bytes.
*konoko_generic and all red (fury) classes allow p_p_k combo, kick/kick back/run kick behind/run kick throws, k_k_kfw combo
;The example below is the last move of the NINJA_easy profile
*all tanker classes allow kick/kick back/run kick behind/run kick throws
;(actually the one and only move of the Pause technique)
*muro and mutant_muro classes allow p_p_p_p combo.
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/bin_r_m3.gif
If you know something else, feel free to complete it. The question about this "trademark" moves is: is it specified in the ONCC or somewhere else ???
{|{{OBDtable}}
 
|align=center|
====All profiles in order of appearance in the list====
{|{{OBDtable}}
{{Table}}
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
|- ALIGN=CENTER BGCOLOR="#E9E9E9"
! WIDTH=12% | Offset
! 1 || 2 || 3 || 4 || 5
! WIDTH=12% | Raw hex
! WIDTH=12% | Value
!Meaning
|- VALIGN=TOP
|0x00
| BGCOLOR="#FFCD96" | 04 00 00 32
| 4, 32
| ALIGN=LEFT | move id, move type<P>the move id belongs to the move type; [[OBD:BINA/OBJC/MELE/MoveList|these]] move identifications are possible<BR>the move type comes as a high bit; the following types are possible (values in dec):<BR>&nbsp;<BR>
{| BORDER=0 CELLPADDING=0 CELLSPACING=0
|- VALIGN=TOP
| ALIGN=RIGHT | 0 -&nbsp;
| attack
|- VALIGN=TOP
| ALIGN=RIGHT | 16 -&nbsp;
| position
|- VALIGN=TOP
| ALIGN=RIGHT | 32 -&nbsp;
| maneuver
|- VALIGN=TOP
| ALIGN=RIGHT | 48 -&nbsp;
| evade
|- VALIGN=TOP
| ALIGN=RIGHT | 64&nbsp;-&nbsp;
| throw
|}<BR>&nbsp;
|-
|-
|0x04
|[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Easy]]||Security_Guard||TCTF_Lite||[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Easy]]||COMGUY
| BGCOLOR="#FF80C0" | CD CC 4C 3F
| 0.800000
| ALIGN=LEFT |move parameter 1 (in this case, "min" : something like the minimum duration of the "Pause")
|-
|-
|0x08
|[[OBD:BINA/OBJC/MELE/THUG|THUG_Air]]||[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Medium]]||[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Hard]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Easy2]]||BLACKOPS_Lite
| BGCOLOR="#D0C0AF" | 00 00 00 00
| 0
| ALIGN=LEFT |move parameter 3 (in this case, none : "Pause" only takes one parameter)
|-
|-
|0x0C
|BLACKOPS_Swat||TCTF_Swat||[[OBD:BINA/OBJC/MELE/ELITE|ELITE_Easy]]||MADBOMBER||NINJABOT_Train1
| BGCOLOR="#EEDDFF" | 00 00 00 00
|-
| 0
|RED_Easy||[[OBD:BINA/OBJC/MELE/TANKER|SNIPER]]||RED_Medium||KONOKO||BARABAS Rsrch D
| ALIGN=LEFT |move parameter 3 (in this case, none : "Pause" only takes one parameter)
|-
|BARABAS TCTF D||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Medium2]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Hard2]]||MURO_Dream||MURO_Final
|-
|MURO_Mutant||[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Super]]||[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Medium]]||[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Hard]]||RED_Hard
|-
|[[OBD:BINA/OBJC/MELE/ELITE|ELITE_Medium]]||[[OBD:BINA/OBJC/MELE/ELITE|ELITE_Hard]]||GRIFFIN||[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Mini]]||COP Male
|-
|COP Female||[[OBD:BINA/OBJC/MELE/THUG|THUG_Mfg]]||[[OBD:BINA/OBJC/MELE/THUG|THUG_Neuro]]||[[OBD:BINA/OBJC/MELE/THUG|THUG_Pow]]||[[OBD:BINA/OBJC/MELE/THUG|THUG_Wh]]
|-
|NINJABOT_Train2||[[OBD:BINA/OBJC/MELE/NINJA|NINJABOT_PowPlant]] ||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Easy]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Medium]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Hard]]
|- ALIGN=CENTER BGCOLOR="#E9E9E9"
! 41 || 42 || 43 || 44 || 45
|}
|}
====All profiles sorted by ID====
The IDs start at 0 and increase by 1 for every next profile with the exception of the last 3, the IDs of which are 55, 56, 57 (instead of 42, 43, 44)
{{Table}}
|- ALIGN=CENTER BGCOLOR="#E9E9E9"
! 0 || 1 || 2 || 3 || 4
|-
|Security_Guard||TCTF_Lite||[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Easy]]||[[OBD:BINA/OBJC/MELE/THUG|THUG_Air]]||COMGUY
|-
|[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Medium]]||[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Hard]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Easy]]||RED_Easy||[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Easy]]
|-
|[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Medium]]||BLACKOPS_Lite||BLACKOPS_Swat||TCTF_Swat||[[OBD:BINA/OBJC/MELE/ELITE|ELITE_Easy]]
|-
|[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Hard]]||RED_Medium||MADBOMBER||NINJABOT_Train1||[[OBD:BINA/OBJC/MELE/TANKER|SNIPER]]
|-
|[[OBD:BINA/OBJC/MELE/ELITE|ELITE_Medium]]||[[OBD:BINA/OBJC/MELE/ELITE|ELITE_Hard]]||KONOKO||BARABAS Rsrch D||RED_Hard
|-
|BARABAS TCTF D||[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Medium]]||[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Hard]]||[[OBD:BINA/OBJC/MELE/NINJA|NINJA_Super]]||MURO_Dream
|-
|MURO_Final||MURO_Mutant||GRIFFIN||[[OBD:BINA/OBJC/MELE/STRIKER|STRIKER_Mini]]||COP Male
|-
|COP Female||[[OBD:BINA/OBJC/MELE/THUG|THUG_Mfg]]||[[OBD:BINA/OBJC/MELE/THUG|THUG_Neuro]]||[[OBD:BINA/OBJC/MELE/THUG|THUG_Pow]]||[[OBD:BINA/OBJC/MELE/THUG|THUG_Wh]]
|-
|NINJABOT_Train2||[[OBD:BINA/OBJC/MELE/NINJA|NINJABOT_PowPlant]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Easy2]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Medium2]]||[[OBD:BINA/OBJC/MELE/TANKER|TANKER_Hard2]]
|- ALIGN=CENTER BGCOLOR="#E9E9E9"
! 40 || 41 || 55 || 56 || 57
|}
|}
;Move types
:0 : Attack, struct array starts at 0x140A88 in the English EXE
:16 : Position, struct array starts at 0x1435B0 in the English EXE
:32 : Maneuver, struct array starts at 0x143AB0 in the English EXE
:48 : Evade, struct array starts at 0x143E30 in the English EXE
:64 : Throw, struct array starts at 0x144370 in the English EXE




----
==Tool mode dialog==
----
[[Image:Tool dialog - Edit Melee.png]]


==Blue Box Beta WMDD==
http://www6.fh-eberswalde.de/user/dkriesch/oni/bina_melee.gif


{{OBD OBJC Footer | type=MELE | prev=FURN | next=NEUT | name=Melee profile | family=Level}}


----
{{OBD}}
----
;PART 1 - PROFILE
{{OBD TXT dec|onistuff=bina_melee_part_1|size=9}}
;PART 2 - TECHNIQUE
{{OBD TXT|onistuff=bina_melee_part_2|size=56}}
;PART 3 - MOVE
{{OBD TXT dec|onistuff=bina_melee_part_3|size=93}}
----
----
{{OBD OBJC Footer|align=right|type=MELE|prev=FURN|next=NEUT|name=Melee profile|onistuff=b_me}}