OBD:TRAM/raw0x24
< OBD:TRAM
This part belongs to the 01828-KONCOMthrow_fw_p.TRAM file. This is a singular set of fields and not something that occurs more than once in a TRAM.
| Offset | Type | Raw Hex | Value | Description |
|---|---|---|---|---|
| 0x00 | float | 8A 39 2C BF | -0.672752 | X axis adjustment to throw target; +X is left, -X is right |
| 0x04 | float | 10 39 B4 3F | 0.793839 | Y axis adjustment to throw target; +Y is up, -Y is down |
| 0x08 | float | 44 2D 1C 41 | 9.761051 | Z axis adjustment to throw target; +Z is forward, -Z is backward |
| 0x0C | float | DB 0F 49 40 | 3.141593 | angle adjustment in radians; when throw is successful, target is turned around his axis by this angle (π = 180°) |
| 0x10 | float | 00 00 40 41 | 12.000000 | distance tolerance |
| 0x14 | uint16 | 60 00 | 96 | anim type for the animation of the target; types listed HERE |
Throw target axis adjustment
- When throw is successful, these axis adjustments are applied on the target to move ("teleport") him in a way which creates the proper distance between participants so the throw looks good. Note that this adjustment happens instantly at the start of the throw. Oni will perform a collision check and modify the target's adjusted location so that it doesn't pass through any intervening obstacle.
- Y-axis surprise: When you lift the enemy with a +Y value, the bounding box actually raises off the ground as if he jumped. Normally when a TRAM plays, a +Y value in the pelvis height data stretches the bounding box of the character from the floor to their current height; that is why you cannot throw enemies over railings. But this throw info field lifts the target completely. After the lift is performed, the target falls down normally according to gravity.
Distance tolerance
- Be aware that when setting the throw distance tolerance, you have to make sure it is equal to or greater than the parent TRAC's throw distance for the same throw type (for example, throw_fw_p is in Comguy's TRAC and the Comguy TRAC is inherited by Muro). If you set a lower value in the child TRAC, the parent's throw TRAM will play instead when you are beyond the range of the child's throw but not the parent's throw.
- There is also the matter of angular tolerance – how much the throw participants can deviate from perfectly facing each other and the throw still occur. This number is hardcoded to 45°.