Scripting
This is a list of effects (EFST) and conditions (IFST) that are defined in the .ha6 files of the game. These are defined as a number (EFTP/IFTP) that determines the type of effect/condition, followed by a variable number of parameters (EFPR/IFPR). You can view or edit these values through hanteichan or hex editing. All parameters are integers. Jump effects are not instant, they're delayed by 1 frame.
This is a work in progress
Effects
Unlike conditions, effects have an additional number (EFNO) that may change the meaning of the parameters. Effects 257 and 10002 are not listed here because they most probably have no effect.
1 - Spawn actor
|
NO
|
Determines which pattern the new actor will start with.
|
Parameter 1
|
X offset, in pixels.
|
Parameter 2
|
Y offset, in pixels.
|
Parameter 3
|
Flagset 1
bit 0 = Remove when parent gets hit. (Condition 27 still runs)
bit 1 = Unknown. Often used with LA backgrounds
bit 2 = Follow parent's movement.
bit 3 = Affected by hitstop of parent.
bit 4 = Use absolute coordinates.
bit 5 = Remove when parent changes pattern.
bit 6 = Can go below floor level.
bit 7 = Always on floor.
bit 8 = Synced Random rotation? Probably dependent on another effect. Used mostly by effect.ha6.
bit 9 = Position relative to screen border in the back.
bit 10 = Unknown.
bit 12 = Unknown or no effect. Used only by Akiha's pattern 217<.br>
|
Parameter 4
|
Flagset 2
bit 0 = Unknown.
bit 2 = Remove when parent is thrown.
bit 6 = Doesn't freeze on super flash.
bit 7 = Doesn't move with camera.
bit 8 = Position is relative to opponent.
|
Parameter 8
|
Angle
|
Parameter 9
|
Unknown. Possibly related to condition 2.
|
2 - Miscellanous preset special effects
|
NO 4
|
Random spawning sparkle/speed line
|
Parameter 1
|
X of the first point of a rect.
|
Parameter 2
|
Y of the first point of a rect.
|
Parameter 3
|
X of the second point of a rect.
|
Parameter 4
|
Y of the second point of a rect.
|
Parameter 5
|
Stretch? Changes the appearance of the lines.
|
NO 26
|
Enter (Blood) heat
|
Parameter 1
|
X offset, in pixels.
|
Parameter 2
|
Y offset, in pixels.
|
NO 50
|
Superflash
|
Parameter 1
|
X offset, in pixels.
|
Parameter 2
|
Y offset, in pixels.
|
Parameter 3
|
Type.
0 = Default.
1 = Uses the freeze frames in the fourth parameter (doesn't affect player character).
2 = No freeze frames.
3 = No black background.
|
Parameter 4
|
Amount of freeze frames.
|
NO 1260
|
Fading circle effect. Always spawns at origin. (Boss Aoko only)
|
Parameter 3
|
Color from an index.
|
Parameter 4
|
Unknown, but it has to be different from 6.
|
Parameter 5
|
Sprite scale.
|
3 - Spawn preset effect at position
|
Parameter 1
|
X offset.
|
Parameter 2
|
Y offset.
|
NO 1
|
Jump or landing effect.
|
Parameter 3
|
Duration
|
Parameter 4
|
Size
|
Parameter 5
|
Grow rate
|
NO 2
|
David star. Lags the game (unused)
|
NO 3
|
Red hitspark
|
Parameter 3
|
Intensity of glow
|
Parameter 4
|
Intensity of sparks
|
NO 4
|
Forcefield (unused)
|
NO 6
|
Fire (unused)
|
NO 7
|
Snow (unused)
|
NO 8
|
Blue flash (unused)
|
NO 9
|
Blue hitspark
|
Parameter 3
|
Intensity of sparks
|
NO 10
|
Superflash background, has unused parameters
|
NO 15
|
Blue horizontal wave (unused)
|
NO 15
|
Red vertical wave (unused)
|
NO 19
|
Foggy rays (unused)
|
NO 20
|
3D rotating waves (unused)
|
NO 23
|
Blinding effect 1
|
Parameter 3
|
Fade in duration.
|
Parameter 4
|
Color. 0 is white, 1 is black and 2 is red.
|
Parameter 5
|
If 1, don't obscure characters.
|
Parameter 6
|
Fade out duration.
|
NO 24
|
Blinding effect 2. Same as 1 but with a different acceleration curve.
|
NO 27
|
Dust cloud.
|
Parameter 3
|
X speed of particles.
|
Parameter 4
|
Y speed of particles.
|
Parameter 5
|
Duration of particles
|
Parameter 6
|
Color. 0 brown, 1 black, 2 purple, 3 white.
|
Parameter 7
|
If odd, particles go only toward one side. Probably a flag.
|
Parameter 8
|
Amount of particles.
|
NO 28
|
Dust cloud 2 (Bigger particles).
|
NO 29
|
Same as dust cloud 2, except particles rotate faster and there's no purple.
|
NO 30
|
Massive dust cloud (unused).
|
4 - Set opponent state on grab 1
|
NO
|
Pattern to set the opponent in (usually only 23 24 26 30 350 354)
|
Parameter 1
|
X offset
|
Parameter 2
|
Y offset
|
Parameter 3
|
Unknown. Probably left over data from older versions.
|
Parameter 4
|
Flags
bit 0 = Play animation.
bit 1 = Reverse vector.
bit 3 = Can't otg.
bit 5 = Hard knockdown.
|
Parameter 5
|
Vector id. Works only if animation plays.
|
Parameter 6
|
Untech time. 0 = infinite. Only works for airstun vectors.
|
Parameter 7
|
Unknown. Most of the time it's 0.
|
Parameter 8
|
Opponent's frame in the pattern.
|
5 - Damage effects
|
NO 0
|
Set added effect
|
Parameter 1
|
Type of effect: 1 burn, 2 ice, 3 shock, 4 confusion, 100 black sprite.
|
NO 1
|
Damage opponent
|
Parameter 1
|
Damage amount
|
Parameter 2
|
Add to hitcounter? Value range is 0-2.
|
Parameter 3
|
Hitstop
|
Parameter 4
|
Hit sound effect. Same as the one in AT data.
|
Parameter 5
|
Hit scaling? 0 or 1.
|
Parameter 6
|
VS damage
|
NO 4
|
Unknown, sometimes used just after effect 5 number 1.
|
Parameter 1
|
Unknown, it's always set to -10.
|
6 - Most non visual effects.
|
NO 1
|
Screen shake.
|
Parameter 1
|
Duration and intensity.
|
NO 4
|
Regenerate HP (red life only)
|
Parameter 1
|
Amount to regenerate.
|
NO 5
|
Unknown, used in throws.
|
Parameter 1
|
When it's 6, it randomly makes actors rotate in the opposite direction.
|
NO 6
|
Set movement vector (random).
|
NO 12
|
Move parent to position (?)
|
Parameter 5
|
1 Move to opponent's position. 2 Move to child's position.
|
NO 19
|
Damage correction (used with effect 5)
|
Parameter 1
|
Correction percentage.
|
Parameter 2
|
Correction type. 0 absolute, 1 multiplicative, 2 substractive.
|
NO 105
|
Set variable
|
Parameter 1
|
Variable index.
|
Parameter 2
|
Value.
|
NO 112
|
Damage correction 2
|
Parameter 1
|
Correction percentage.
|
8 - Spawn actor from effect.ha6
|
Notes
|
The parameters work just like effect 1.
|
9 - Play sound
|
NO
|
If 0, plays a sound from the common sound effect list, that you can find in the folder normal_se.
If 1, it plays a sound exclusive to the character, defined in character_SeList.txt
|
Parameter 1
|
Sound ID to play. For NO 0, it only uses the number in the filename.
|
Parameter 2
|
Chance of playing, if present.
|
Parameter 3
|
Number of different sounds to play. 1 and 0 are equivalent.
It randomly picks adjacent IDs that are greater or equal to parameter 1.
|
Parameter 4
|
Unknown. Sometimes 1.
|
Parameter 6
|
Unknown. Used with multiple instances of effect 9
|
Parameter 7
|
Unknown, either 2 or 0. Probably related to parameter 6.
|
Parameter 12
|
Unknown. Sometimes 1. Used in time up, intro and win animations.
|
11 - Spawn random
|
NO
|
Pattern to spawn in.
|
Parameter 1
|
X offset.
|
Parameter 2
|
Y offset.
|
Parameter 3
|
Width of rect.
|
Parameter 4
|
Height of rect.
|
Parameter 5
|
Number of adjacent patterns to spawn. They spawn all at once and don't repeat.
|
Parameter 7
|
Flagset 1. Same as effect 1
|
Parameter 8
|
Flagset 2. Same as effect 1
|
14 - Set opponent state on grab 2
|
NO
|
Pattern to set the opponent in.
|
Parameter 1
|
X offset. The offset is ignored if it's not the first effect 14 in the frame.
|
Parameter 2
|
Y offset.
|
Parameter 3
|
Rotation. Not sure about the unit but large values like 1000 and 4000 are used.
|
Parameter 4
|
Vector id. It plays an animation if it's not 0.
|
Parameter 5
|
Which part to grab. This affects the position offset.
0 = Origin
1-3 = Center(?) of special box 10-12 in opponent's pattern.
|
Parameter 6
|
Untech time. Used with vectors.
|
101 - Spawn actor (relative)
|
Notes
|
It's the same as effect 1, except the pattern number is relative to the current pattern.
|
111 - Unknown spawn effect.
|
Notes
|
Probably the relative counterpart of effect 11.
|
1000 - Spawn and follow.
|
Notes
|
Dust of osiris uses it for the pool effect and handling sion. It most probably interacts with pat data.
|
Conditions
A list of all used IFTP numbers can be found here.
1 - Jump on directional input
|
Description
|
Jumps to a frame or pattern when a direction is held.
|
Parameter 0
|
Lever direction in numpad notation, with 0 as neutral. 5 does nothing. Value 10 is both downforward and forward.
|
Parameter 1
|
Pattern to jump to. Add 10000 to this value to jump to a frame in the current pattern instead.
|
Parameter 2
|
If 1, logically negate the condition. That is, jump only if the direction is not held.
|
Configuration Files
These are descriptions of some of the various configuration files that Melty Blood will load on startup.
System/_App.ini
Options related to window positioning and screen resolution/window size are stored here in plain text.
Key |
Value
|
Windowed |
0 for full screen or 1 for windowed mode
|
ScreenW |
Screen/window width in pixels
|
ScreenH |
Screen/window height in pixels
|
PosX |
Position of left edge of window in pixels, ignored in full screen mode
|
PosY |
Position of top edge of window in pixels, ignored in full screen mode
|
NoVsMovie |
Use simple vs mode screen, 0 or 1
|
Unused Values
|
Bpp |
Bits per pixel, will be set to 32 on launch
|
AspectRatio |
Aspect ratio setting, will be overwritten by the value in _AAGameData.dat on launch
|
System/_AAGameData.dat
All options menu options are saved to this file except for screen resolution and whether the game is windowed or full screen. Values are stored as sequential 4 byte little endian integers.
Address |
Name |
Values |
Description
|
0x00 |
Magic Number |
04 F0 FF F0 |
Identifier for this file
|
0x04 |
Difficulty |
0 (easiest) to 4 (hardest) |
CPU difficulty in single player modes. Defaults to 2 (normal)
|
0x08 |
Win Count |
1 to 3 |
Wins required per game in single player modes. Defaults to 2
|
0x0C |
Damage Level |
0 (lowest) to 4 (highest) |
Damage multiplier for all game modes. Defaults to 2 (normal)
|
0x10 |
Timer Speed |
0 (infinity) to 4 (fastest) |
Speed of the round timer, 0 disables time outs. Defaults to 2 (normal)
|
0x1C |
Win Count (VS) |
1 to 3 |
Wins required per game in versus modes. Defaults to 2
|
0x28 |
Replay Save |
0 (manual) or 1 (auto) |
Toggle for automatically saving replays after each game. Defaults to 0 (manual)
|
0x144 |
BGM Volume |
0 (loudest) to 21 (off) |
Music volume. The in-game value is 20 minus this, with the exception of off which is 21. 20 might not be valid. Defaults to 0
|
0x148 |
SFX Volume |
0 (loudest) to 21 (off) |
Sound Effect and Voice volume. Same logic applies as for BGM. Defaults to 0
|
0x160 |
Character Filter |
0 (off) 1 (edge) 2 (full) 3 (linear) |
The character filter mode. Defaults to 2 (full)
|
0x164 |
Disable Stage Animations |
0 (no) or 1 (yes) |
Whether stage animations are disabled or not. Defaults to 0 (no)
|
0x168 |
View FPS |
0 (off) or 1 (on) |
Whether the FPS counter is shown. Defaults to 0 (off)
|
0x16C |
Frame Rate |
0 (normal) or 1 (half) |
Sets the speed of the game. Defaults to 0 (normal)
|
0x174 |
Screen Filter |
0 (off) or 1 (on) |
Toggle for the screen filter. Defaults to 0 (off)
|
0x178 |
Aspect Ratio |
0 (normal) 1 (auto) 2 (4:3) 3 (16:9) 4 (16:10) 5 (5:4) 6 (15:9) |
The aspect ratio setting of the game. Overrides the value in _App.ini. Defaults to 0 (normal)
|
Other Values
|
0x14C |
? |
0 (Nothing) 1 (Event Mode) 2 (VS 3Win Limit) 3 (VS 5Win Limit) 4 (VS 8Win Limit) 5 (VS 10Win Limit) |
Has no effect on gameplay but displays the selected text on the select screen.
|
MBAACC Navigation