Jump to content

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
m (added family to footer template call)
(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)
 
Line 2: Line 2:


===General settings===
===General settings===
[[image:bin_r_m1.gif]]
[[Image:bin_r_m1.gif]]




Line 30: Line 30:
{{OBDtr2|0x28 | char[64] |C800C8| NINJA_Easy              | space for notes }}
{{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) }}
{{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 registeres incoming attack; without noticing it, AI will not block or dodge }}
{{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| 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| 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| 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| 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| 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 aganist crouching enemy or finishing off staggered enemy or simply attacking running enemy ) }}
{{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| 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| 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 }}
Line 42: Line 42:
{{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| 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| 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 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 }}
{{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        | unknown; always the same }}
{{OBDtr| 0xDC | int16    |FFDDDD| 3C 00      | 60        | minimum dazed frames when char. is knocked down }}
{{OBDtr| 0xDE | int16    |FFDDDD| 5A 00      | 90        | unknown }}
{{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| 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| 0xE4 | int32    |64AAAA| 06 00 00 00 | 6          | number of evade/dodge techniques }}
Line 59: Line 59:


===Technique part===
===Technique part===
[[image:bin_r_m2.gif]]
[[Image:bin_r_m2.gif]]




Line 67: Line 67:
{{OBDtr2|0x00 | char[64] |EBEBEB| Spinning Suplex          | space for notes (technique's name) }}
{{OBDtr2|0x00 | char[64] |EBEBEB| Spinning Suplex          | space for notes (technique's name) }}
{{OBDtr| 0x40 | bitset32 |8C8CCC| 00 00 00 00 | 0          | flags; see below }}
{{OBDtr| 0x40 | bitset32 |8C8CCC| 00 00 00 00 | 0          | flags; see below }}
{{OBDtr| 0x44 | int32    |FF00C8| 50 00 00 00 | 80        | 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 }}
{{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 }}
{{OBDtr| 0x48 | int32    |F0F096| 0A 00 00 00 | 10        | unknown }}
{{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 }}
{{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 }}
{{OBDtr| 0x50 | int32    |00C8FF| 02 00 00 00 | 2          | number of moves used by this technique }}
{{OBDtr| 0x50 | int32    |00C8FF| 02 00 00 00 | 2          | number of moves used by this technique }}
Line 77: Line 77:
;Technique flags:
;Technique flags:
*00 - nothing;  
*00 - nothing;  
*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).
*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).
*02 - GenerousDir; here comes neccessary background for explaining its behavior:
*02 - GenerousDir; here comes the necessary background for explaining its behavior:
:Melee attack or maneuver techniques are enlisted for potential use only if their position move allows it, that means for example an attack technique with CloseLeft position move will not be listed for potential use if the enemy is in front of the A.I. character. However, techniques with GenerousDir flag are listed for potential use not only when position move criteria is met, but also when the enemy is in one of the two neighbouring positions. So melee technique with CloseLeft position move and Generous Dir flag will be enlisted for potential use if the enemy is on the left side of the A.I., and also if the enemy is in the back of the A.I. or in front of the A.I. character. When the melee technique is picked for use, A.I. character positions itself to meet position move criteria (it turns its left side towards enemy in order to use a techique with CloseLeft position move).
: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).
::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.
::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.
*??? 03 - Fearless ???; never used in melee profiles. Question is whether this bit really exists or if the name is just a development relic from Blue Box Beta dev files.
*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.




Line 115: Line 115:


===Move part===
===Move part===
[[image:bin_r_m3.gif]]
[[Image:bin_r_m3.gif]]