In-depth System Info

Heritage for the Future becomes increasingly more bizarre the deeper you look into it's system mechanics. Due to lack of documentation from the game's development, data has been manually gathered and experimented with in hopes of finding general trends to develop a further understanding of the game. The game is filled with weird exceptions to the rules we try to define and as such, there is bound to be undocumented oddities where these rules may not apply. Regardless of this, the information within this page should be accurate enough to answer certain questions regarding the game's more in-depth system mechanics.

## Pushblock

Inputting ABC during blockstun will cause the character to perform a pushblock which will change the amount of blockstun the defender suffer and push the attacker away.

Pushblocking an opponent's attack puts the defending character into 16 frames of blockstun regardless of the move being blocked, and regardless of when the player inputted ABC. Inputting ABC on frame #1 will let you act on frame #17, while inputting ABC on frame #10 will let you act on frame #27. This means that late pushblocks may increase the amount of blockstun suffered rather than decrease it. The defending character can be grabbed from the frame after and onwards of ABC being inputted.

Moves whose center of their hitbox appear behind the defending player (such as Shadow Dio's j.S fake crossup or Mariah's 623X) will only apply 1 frame of blockstun when pushblocked rather than the usual 16 frames. This also applies to projectiles that cross up (like Hol Horse & Boingo's 5S bullet) or projectiles hitting an up-close opponent as it spawns (excluding Hol Horse's 236X due to it's hitbox being so small that it doesn't appear behind the defending player's center). Young Joseph's 236X sends out waves of hitboxes one after another, leading to strange pushblock interactions. Pushblocking it up-close puts the defending player in 1 frame of blockstun while pushblocking it at max distance puts them in 16 frames of blockstun (which is predictable behavior). However, if they're at a medium distance the amount of blockstun will vary depending on when the next wave hitbox appears and if it appears behind the defending player. For example, during testing DIO could pushblock Young Joseph's 236X and move after 9 frames of blockstun. Characters that are stand ON are exempt from this and will always suffer 16f of blockstun when pushblocking.

Multi hit moves that hit right after one another (such as Jotaro's 5C) need to be pushblocked on the last hit, otherwise the subsequent hits will apply a normal amount of blockstun which overrides the pushblocking of the previous hit. Note that the first frame of the character's guard getting hit and ABC being inputted does not count towards the 16 frames of blockstun.

Pushblocks will push the opponent a set distance away, but late pushblocks will push them further as the attacking player will suffer natural pushback due to their attack being blocked. Deciding between creating distance or frame advantage is key to alleviate pressure in Heritage for the Future.

**All pushblocking framedata refers to the first possible frame of pushblock.**

### Blockstun Framerule

When a character get put into blockstun they may act **one** frame before blockstun ends, allowing players to gain additional frame advantage by performing inputs during this window. For example, Jotaro hits DIO with 6b and forces DIO into 27 frames of blockstun. **Framedata is compiled with this blockstun framerule in mind. A move that is +3 on block according to framedata charts would be +5 without this rule.**

Frame #1-25: DIO is in blockstun and cannot act.

Frame #26: DIO is able to act.

Frame #27: DIO is put back into blockstun and cannot act.

Frame #28: DIO officially leaves blockstun and is able to act.

Actions taken during this "early-blockstun frame" are limited to single input attacks with A/B/C(such as 5A or 6B) or movement actions (such as jumping). Rolling will instead pushblock and S inputs will not be accepted. Moves that require motions (such as 236 or charge motions) will not be accepted during this frame. **This means that players will not be able to punish moves with supers/specials on block at the earliest possible moment according to framedata.**

Pushblocks are not affected by this framerule and requires the character to properly leave blockstun before the player can take any inputs.

## Prejump

Inputting a jump in Heritage for the Future will cause the character to enter a vulnerable state called "prejump" before going airborne. During prejump, the player will be unable to block and getting hit will cancel the prejump and put the character into grounded hitstun. The time spent in prejump depends on the character and inputs made during prejump. Inputting A/B/C as a Passive Stand/Stand OFF, or turning an Active/Weapon Stand OFF/ON during prejump will cancel it and send the character airborne on the next frame into the aerial move's startup (cutting prejump down to 1 frame if perfectly timed). However, getting hit in the first frame of this "aerial" state will return the character to the ground. Active and Weapon Stand users cancelling prejump by turning ON their Stand during prejump are exempt from this. Passive stand users cancelling their prejump with S attacks will perform the grounded version of the move.

When cancelling prejump with a normal or by turning stand ON on the first frame of prejump, the character will perform a full jump regardless of how long up was held. Turning stand OFF or cancelling the prejump later will allow the player to perform a hop or jump. Both hyperhopping and superjumps work.

Cancelling prejump with a special will stop the character from jumping and instead perform the special. During the animation of this special move, the character will have invulnerability against hitgrabs and command grabs due to them retaining some properties of the cancelled prejump.

Hurtboxes morph from their grounded versions into their aerial versions frame #1 on entering prejump. This means that despite a character like Jotaro having 6 frames of prejump, some low moves may whiff against him during the entire duration of his prejump.

Characters can be grabbed during prejump but will avoid command grabs and hitgrabs. Hitting an opponent during their prejump will cause the command/grab invulnerability to last throughout the hitstun animation which stops normally comboable command grabs from successfully comboing.

The table below shows default amount of prejump frames if not cancelled. The next frame is airborne (For example: Stand OFF Jotaro with '6' frames prejump will go airborne on the 7th frame).

\*Kakyoin and New Kakyoin has a 5 frame prejump if jumping with 7 or 9 rather than 8 while stand OFF (due to his flip)

## Rolls

When rolling in Heritage for the Future, characters have iframes that become active the first frame of rolling and lasts all the way through the end. These iframes also extend for a short moment after the roll together with grab invulnerability, allowing rolling characters to potentially counterattack uncontested. Rolling characters are unable to perform a grab for around 10 frames after rolling.

There are two types of characters when it comes to iframes at the end of a roll: The "Normal" characters and the "Stand-still" characters. Normal characters all have a set, predictable amount of iframes bundled with grab invulnerability. These characters will have exactly 2 frames of both as they exit their rolling state regardless of whether the roll ends in front or behind their opponent.

Stand-still characters have a more unpredictable amount of iframes as they're seemingly able to prematurely cancel their roll after a set point by inputting either a button or a direction. Upon performing an input, these characters will have their iframes set to 3 frames as long as they are in their cancellable window during the roll(i.e Inputs made early in the roll won't work). However, if these characters instead choose to not input anything and their roll ends in front of their opponent, the entire duration of their expected iframes should continue as normal. Rolling behind their opponent removes these "stand-still" iframes and they instead have a set amount of 3 iframes and 2 frames of grab invulnerability. If one were to look at the character's return-to-neutral animation to determine the end of a roll (rather than when they are able to perform inputs) these stand-still characters behave similar to regular characters in which they have 2 iframes after this sprite.

For example: Jotaro rolls towards DIO without rolling behind him. If Jotaro decides to stand still without inputting anything, he'll have around 22 iframes. During this 22 frame period, Jotaro is able to perform any action at the cost of setting his current iframes to 3 frames. This means that if DIO tries to meaty Jotaro out of the roll, Jotaro can stand still during DIO's active frames and punish his recovery. Performing a meaty on a rolling stand-still type character becomes increasingly more difficult due to the variability of their iframes. In this example, DIO won't know if Jotaro is vulnerable frame #4 coming out of the roll, or frame #18.

Stand-still characters rolling behind their opponent will lose their stand-still iframes regardless, and have a set amount of 3 iframes. The 2 frame window of grab invulnerability is generally within these 3 frames and located somewhere towards the end of stand-still iframes.

Table below shows the expected amount of iframes for each character coming out of a roll. "Normal" characters have 2 iframes while "Stand-still" characters have a set period where they can perform an input and set their remaining frames to 3. (e.g Black Polnareff has a 5 frame window while Hol Horse has a 10 frame window)

There are odd exceptions to this rule. Inputting S+A/B/C seems to shorten your iframes coming out of a roll by one (Jotaro doing S+5A would have 2 iframes rather than 3). Turning your stand ON makes you lose iframes instantly for some characters (such as Avdol, Jotaro, Midler etc) or reduce them by one (Kakyoin, Pol). Some characters like Jotaro also loses iframes instantly if they use a specific move during their iframes. (Happens specifically with Jotaro's C buttons. May be due to how the game creates new hurtboxes for Star Platinum without inheriting iframes)

Therefore, it is impossible to perform a true meaty on opponents coming out of their roll. Stand-still characters can adjust the timing of when they are vulnerable, while Normal characters with fast buttons or buffered reversals can beat out a meaty attempt uncontested during their iframes. Late grab attempts may also give the player their character's respective 4C/5C/6C normal due to it being inputted during the rolling character's grab invulnerability period.

Characters coming out of their roll will not be able to perform another roll for 10 frames (excluding Jotaro and Iggy). Because stand-still iframes are located before a character's return-to-neutral animation, players are unable to "ghost" by repeatedly performing rolls and abusing these post-roll iframes. For example, Hol Horse has 10 stand-still iframes but cannot input another roll until frame #11 after his return-to-neutral animation; and because he only has 2 iframes after this sprite, there would be a 9 frame vulnerability window between Hol Horse's sequential rolling iframes. Iggy and Jotaro seem to be the exceptions with Iggy having to wait 1 frame longer (due to having more than 11 stand-still iframes) and Jotaro not being able to roll before frame #28 after his return-to-neutral animation. If Jotaro takes any action during his stand-still iframes he will be able to roll after 10 frames of the inputted frame; a behavior similar to the other characters if the game assumed Jotaro finished his roll at that specific frame.

## Wakeup

When a character gets knocked down and they begin standing up, they will be invulnerable all the way through the animation while the player won't be able to perform any inputs. In Heritage for the Future, there are some rules related to waking up which is important to keep in mind when performing okizeme.

The most significant rule is the "block-only" frame. After waking up, there is **one** frame where the character is vulnerable but unable to act. This means that players cannot perform true reversals after a knockdown in Heritage For The Future. A player not blocking during this frame will get hit by any active hitboxes (also called a meaty). Any inputs made during this frame will be registered and performed on the next frame.

Characters have invulnerability against grabs and command grabs on wakeup. Including the block-only frame, a character has **two** frames\* of grab and command grab invulnerability on wakeup when **Player 1** and **three** frames when **Player 2**. This means that characters with a fast prejump (like Chaka) have enough time to go airborne before their grab invulnerability wears off, effectively making them immune to grabs but vulnerable to meaties. Some characters like Iggy or Hol Horse & Boingo will force their opponent into blockstun with a well timed meaty, then catch them with a command grab after this three-frame period has passed. On wakeup there are two frames where the waking player can't perform a grab. It is also important to remember that it is always possible to cancel prejump into an air-normal effectively making you airborne on the very next frame after entering prejump.

**\***Despite only having 2 frames of grab invulnerabiltiy, it is still possible to reliably jump out of grab okizeme by holding up. Grabs become active one frame after the input is made, but players are unable to grab an opponent by inputting 4/6C on their last grab invulnerability and have it go active on the next frame. One possible hypothesis is that grabs are calculated before the grab invulnerability wears off in the internal game logic. Inputting a grab on the last grab invulnerability frame (1st prejump frame) will make it come out too early, while inputting it on the next frame (2nd frame of prejump and first frame of grab vulnerability) will allow you to go airborne before the grab is calculated. This also affects all characters as a character with 4f prejump will have a 1f window to get grabbed rather than the expected 2f.

Getting hit by a meaty during the block-only frame will cause the character to retain their command grab invulnerability throughout the hitstun animation, causing hitgrabs such as Rubber Soul's 214x to whiff rather than being comboed into. Hitting 2A into 214A one frame after the block-only frame will allow Rubber Soul to perform the combo as usual. This may also affect command grabs that can be comboed into such as Hol Horse & Boingo's Truck super, allowing their opponent to escape by not blocking the meaty.

Characters can morph their standing/crouching hurtboxes during the block-only frame, but not into their aerial ones (due to them being unable to enter prejump during block-only). This allows characters to duck under certain moves despite the sprite showing them as standing. Exceptions to this rule are Avdol, Petshop and Alessi as those three will be forced into their standing hurtbox for the first two frames of wakeup (including block-only). Inputting a low or blocking a move low will correct the hurtboxes and let them crouch on the second frame.

One notable exception to the block-only frame rule affects Iggy specifically. After knocking down his opponent with a grab, the opponent will have iframes during their block-only frame and can freely perform a true reversal against Iggy's okizeme.

## Guard Cancels

When blocking a move in Heritage for the Future, the player has a 13 frame window to input a Guard Cancel with 623x. Some multi hit moves such as Hol Horse's glass and Young Joseph's 2S lowers this window due to subsequent hits hitting the character not blocking while they are inputting 623. Details regarding buffering Guard Cancels can be found in the Input Buffering section.

Different characters have different Guard Cancel properties such as hitboxes, startup, hit properties and frame data. In the table below, weapon and active stand characters have frame data listed as stand OFF/stand ON. e.g Jotaro's stand OFF guard cancel has 8 frames of startup, and his stand ON has 10 frames.

\*Kakyoin and New Kakyoin's stand OFF frame data changes depending on which of the 5 poses Kakyoin randomly does, but they are all plus.

Alessi and Khan can install their Guard Cancel which allows them to cancel it into certain moves. After using s.[AA], Alessi can cancel his Guard Cancel into 214S but loses the install if he attacks or get hit while stand ON. After using Khan's [4]6a/b, he can cancel his Guard Cancel into 623x but he loses the install if he gets hit, or uses a special or super.

Stand OFF Iggy can move starting on frame #4 before the move comes out. Invulnerability lasts from frame #1 to frame #11.

There are some exceptions where Weapon stand characters won't get launched after getting hit by a Guard Cancel. https://www.youtube.com/watch?v=Hx31m63v\_-0&feature=youtu.be

## Input Buffering

Heritage for the Future allows players to temporarily store their inputs and perform the move a handful of frames later. The duration of stored inputs varies on the motion. One singular input such as the first '6' in a dash '66' lasts for 12 frames, while an input such as 236 will be stored for 10 frames after the '6' input. This means that completing the 236 motion stores the '2' for 13 frames compared to the usual 12 frames. 360 motions such as 8624 stores the entire input for 11 frames after finishing it, and therefore stores the first '8' input for 14 frames. Old Joseph's 720 motion requires **seven** inputs to complete (8624862) and only stores the entire input for 8 frames after completing the motion.

Buffers can also be chained, allowing a player to extend the window of completing their current input beyond 10 frames. When performing 236A, each individual input will be buffered for around 10 frames each. This means that inputting 2 on frame #1, 3 on frame #12, 6 on frame #23 and A on frame #34 will still make the 236A move come out. Alternatively, one could chain together the first two directions of the input to extend the buffer until they need it (say to perform a reversal with 214S on frame #19).

Buffering also doesn't seem to care about "noise" made during an input. 236A will work if done as 2344141216A as long as the move is finished within the buffer input window.

An oddity that stood out during testing was that buffering 214S during a sideswitch (rolling through the opponent, or having the opponent jump over during wakeup) wouldn't work. Other reversals and 236S works fine.

### Buffering Guard Cancels

Guard Cancelling certain moves can be difficult, especially some multi hit moves that shorten the duration of your Guard Cancel input window. A solution to this is completing the 623 motion before the move connects with the character, then pressing A/B/C to successfully Guard Cancel. Buffering Guard Cancel during wakeup can allow a player to escape nearly inescapable okizeme such as Hol Horse's unblockable glass loop by forcing your opponent to successfully hit you high/low during your block-only frame.

There are a couple of input methods for buffering Guard Cancels. The most basic one is inputting 623 before blocking a move with 4A or 1A. 623 4A/1A is generally the safest method due to the player holding block for a longer period of time, meaning a mistimed attempt may be salvaged by the opponent's move being blocked.

Guard Cancelling overheads/aerial moves can also be done with 63214 3A. This is a more risky option as block (4) is only held for a short moment, it will only block high-hitting moves, and some characters with unfortunate input overlaps such as Alessi or Avdol will get their respective half circle moves if completing the input without blocking an attack. Regardless of this, this method is very lenient as it trades execution for reading your opponent instead.

The grounded version works the same way by inputting 6 123A. Similarly to the previous method, buffering a Guard Cancel like this is risky as block is only held for a brief moment, and will make the character get hit if mistimed.

### Roll buffering

When inputting ABC the game occasionally buffers the input into the next frame or two, seemingly allowing the input to "leak" into other frames. An example affects Hol Horse & Boingo's 5A. If Hoingo can cancel his 5A into 5B on frame #13, inputting ABC on frame #12 will make him roll on frame #14. It looks like the game registers your ABC input on frame #12 (when Hoingo can't input anything else) which leaks over to frame #13 and completes the input, before performing it on frame #14.

Roll buffering also works between rounds. If you input roll 1 or 2 frames before the round ends (i.e on the frame the round counter goes red and the game stops all inputs) then it'll carry over to the start of the next round (where both players can move but not do any ABC inputs). An example is Young Joseph taunting before the timer runs out, presses ABC 1-2 frames before the round ends, then he'll perform the roll after the lengthy end-of-round animation. So far nothing else is buffered in a similar way between rounds as specials/supers will cancel the taunt and be performed as normal, while single input buttons like 5A won't be buffered.

## IPS

IPS (Infinite Prevention System) is a system in place that stops some potentially infinite combos by dropping the combo at a random point. It works by flagging specific moves to activate an IPS-flag within the game's code. After this flag is activated, a player will have ~8 hits to keep the combo going without interference before every subsequent attack within that combo has a random chance to trigger IPS and drastically lower the opponent's hitstun. Some loops use moves that don't activate the IPS-flag (such as DIO's 2a 2a 214a loop), allowing them to continue looping without the random chance of the combo dropping. Other loops uses another method of circumventing IPS by disabling the flag altogether with specific moves (such as Black Polnareff's Rekka or Tandems/Custom Combos). The training mode LUA can help display when the IPS-flag has been activated, allowing players to see which moves causes the combo to be prone to IPS.

The exact method IPS uses to determine whether or not a successful move should drop the combo seems to be a random number generator within the game's code. Because of this, predicting IPS becomes difficult as the inner workings of it remains a mystery. However, there are ways of circumventing IPS at TAS level by utilizing save states. For example: Shadow Dio starts a combo and does 2A 5C with IPS triggering on the 5C hit and drops the combo. If one were to reload an earlier saved state to before IPS dropped the combo, changing the timing between moves (such as inputting 5C 12 frames after 2A rather than 13 frames) will change the factors involved in IPS. Changing the moves used can also alleviate IPS.

Due to how machines handle random numbers (and the fact that the game was made in the 90s), utilizing save states can make IPS appear deterministic by repeating the exact sequence after loading the state. TAS allows players to negate IPS (or trigger it early) by manipulating save states. In a normal running match, determining when IPS will trigger is currently impossible.

There are some other odd quirks related to IPS. Moves that causes the opponent to be knocked down can trigger IPS, causing them to fall down to the ground faster than they normally would. This affects knockdown moves like Jotaro's A Rekka ender that have a noticeable freeze before the opponent crumples down. Resets don't always appear to reset the IPS-flag, meaning there are cases where a combo drops into a stand crush (blocked stand crash) only for IPS to trigger before the 9th hit into the second combo. IPS can also fail to drop the combo if the subsequent hit is fast enough to hit during the reduced hitstun.

## Landing Recovery

When a player jumps in Heritage for the Future and performs an offensive aerial action (such as attacking or turning their stand OFF/ON), their character will be vulnerable for one frame upon landing. Landing on top of an active hitbox during this vulnerability will put the character into hitstun grounded. Defensive actions such as double jumping, airdashing or empty jumping does not make a character vulnerable.

This rule does not apply to all characters. Alessi while stand ON will be vulnerable upon landing regardless of whether or not he performed an aerial action. Stand ON DIO has full lower body invulnerability during this frame due to odd hurtboxes. Stand ON Vanilla Ice has such a low, floaty hurtbox that he'll be hit airborne when touching a grounded hitbox. This means that the only way to meaty Vanilla Ice's landing is for a move to become active the same frame he becomes vulnerable. Stand ON Midler's hurtboxes disappear into the ground due to the animation and makes her fully invincible upon landing (however it returns and makes her vulnerable if she enters prejump again).

When landing, the player is sometimes able to perform reversals by inputting it one frame before landing. This will make the move come out on the player's landing as they won't have to spend a frame grounded registering their inputs, allowing them to perform true reversals by having iframes as their grounded hurtbox returns. The factor deciding when this is possible appears to be the character's distance from the ground before they land, as different hops/jumps with different characters/s.on/s.off modes. One example is Alessi doing 236AA 1f before landing. Hops performed while Stand OFF lets him reverse through meaties while jumps or being Stand ON will not. There are no proper patterns or rules found so far that explains who this affects and why. Note that characters with aerial actions that overlap with their reversal (such as Avdol 236AA) may get their aerial move rather than grounded reversal (such as Avdol getting divekick rather than 236AA).

**Additionally, the landing character won't be able to perform a grab or be grabbed themselves for the first two frames of landing recovery.** This does not apply to characters who are landing after performing an **airtech**.

Special motions buffered after airblocking will not make the move come out when inputted after landing. Dashes can be buffered by inputting 6 while airblocking then 6 again upon landing.

There are two exceptions to this rule. Vanilla Ice while stand ON has a 2f window to finish his super input (s.623AA or s.214AA) before landing compared to the normal 1f. Inputting a tandem (214S as an Active Stand) during this window will not come out.

Passive stand characters may have additional landing recovery frames if they used j.S at any point during their time airborne. They cannot block, move, attack or perform any reversals during these frames regardless of if their stand has recovered. The table below shows which characters this affect (next frame allows them to act).

 Mariah
 Rubber Soul
 Shadow Dio

This also causes some weird interractions with Fusion Grabs/Command Grabs on landing, normally it is absolutely impossible to catch an opponent holding jump with any sort of command grab because they're always either jumping, in pre-jump or grab-invulnerable. However if you put an opponent in an "airblock-exhausted state" by either blocking air-to-air one of their air normal, making them block air-to-air one of your air normal or making them airblock a projectile you'll be able to catch their landing with a command grab or a fusion grab but with an extra restriction. Command grabs will only be able to catch the landing of airblock-exhausted s.off opponent while Fusion grabs will only catch the landing of airblock-exhausted s.on opponent.

## Airteching

Inputting AA (two different attack buttons) or ABC and a direction after getting hit mid-air will give the character iframes and change their momentum towards the direction the player held when inputting airtech.

Airteching gives the character ~11 iframes starting from frame #1 after the input in all directions except neutral. Neutral teching (holding no directions when inputting AA) gives no iframes when performed stand OFF or as a passive stand character, but gives the normal amount of iframes if performed stand ON.

Downteching while close to the ground while stand OFF/Passive stand will perform a backroll that behaves similarly to a normal airtech in regards to iframes, but puts the character in a grounded state and moves them away from their opponent. This backroll can be cancelled with supers or specials.

The game determines when a player can airtech by looking at the state of their character. While mid-air, a character will be in one of two states: Rising or Falling. Rising is when the character is moving up either during the first half of a performed jump or getting launched. Falling is when the character reaches the peak of their jump/launch and begins to fall down to the ground. Airtechs can only be performed if inputted while the character is falling.

Getting hit while airborne will launch your character further up in the air with the distance launched depending on the move and combo launch decay. While being launched, the character is considered as "Rising" which means that the player must wait for their character to start falling before airteching. The less a move launches, the sooner the opponent can airtech after getting hit by it. Because of this, combos performed versus airborne opponents can often be airteched out of due to sequential combo hits being affected by launch decay, causing the opponent to get launched less and less. Some moves like DIO's s.236AA launches the opponent extremely far up into the air, allowing it to remain untechable despite comboing into itself multiple times.

Performing an airtech while falling on the same frame as the character gets hit leads to an interesting interaction. It allows the character to airtech on frame #0 before they get launched, opening up normally impossible punishes versus anti-airs or air-to-airs. These 0-frame airtechs can give the player a massive frame advantage but requires precise input as it's a 1-frame window. Missing this 0-frame airtech opportunity forces the player to wait out the entire length of the launch before their character is considered as "Falling" once again.

Not all moves can be 0-frame airteched. Stand ON moves performed versus an airborne stand OFF/Passive stand character can not be 0-frame airteched, but characters that are falling while stand ON can 0-frame airtech as normal. Stand OFF/Passive stand moves can be 0-frame airteched by both stand OFF and stand ON opponents. Untechable moves cannot be 0-frame airteched either. These 0-frame airtechs can be chained together, allowing players to punish long active moves with repeated downtechs. For example: Stand ON Jotaro gets hit by DIO's s.236AA while falling. By inputting down+AA on the same frame as he gets hit Jotaro will perform a downtech before the knives are able to launch him, but Jotaro may still get hit after his iframes wear off before hitting ground. In this scenario, he can perform another 0-frame airtech on the second knife hit.

Some notable exceptions to this rule is Hol Horse's 4A, DIO's 5C and Midler's s.2C. The former are both stand OFF moves yet can't be 0-frame airteched while stand OFF, while the latter is a stand ON move that can be 0-frame airteched while stand OFF.

Stand ON versus stand OFF may also affect launch decay when getting comboed while airborne. For example: Alessi's 41236x move allows him to shoot 13 shots in rapid succession. When performed against stand OFF opponents, they will be unable to 0-frame airtech the first shot and remain unable to airtech out of the 13-hit combo as the launch decay caps out and gives the Alessi player room to input his next shots if performed in rapid succession. When done against an airborne stand ON opponent, not only will they be able to 0-frame airtech the first shot, they will also be able to freely airtech out after the 5th shot regardless of timing as the shots will stop launching.

## Projectiles

In Heritage for the Future there appears to be two types of projectiles: Projectiles with hurtboxes (such as DIO's 236AA knives or Shadow DIO's 214AA Spores) and projectiles without hurtboxes (such as Shadow Dio's 41236x knives or Midler's 236x harpoons). Hurtbox-projectiles can be beaten by other projectiles or moves while projectiles without hurtboxes can only be beaten by other projectiles. For example, DIO's knives can get deleted by Avdol's 623x while Midler's harpoon will go through it's hitbox. Other projectiles such as Shadow Dio's knives will clash with Midler's harpoon and delete each other.

## Command Grabs

Command grabs in Heritage for the Future can be separated into three categories: Command grab, hitgrab, and fusion grab. Command grabs are unblockable specials/supers that locks the opponent into an animation as they take damage. Hitgrabs behave in a similar fashion but are blockable. Fusion grabs are command grabs that retain some hitgrab properties while being unblockable, making it an unique fusion between the two. For example, fusion grabs can be comboed into and is affected by scaling while command grabs will meaty the block-only frame of the opponent coming out of hitstun and deal it's full unscaled damage. If fusion grabs are delayed so that they become active on the same frame the opponent exits hitstun and enters their block-only frame it is possible to still combo into the fusion grab while getting unscaled damage. All grabs must hit the opponent's collision box to successfully grab them, but hitting a remote-mode hurtbox causes a hit (without a grab).

**Command Grab**: Midler 623AA, Oldseph 360, Oldseph 720, Iggy Demon

**Hitgrab**: Rubber 214x, Kak 463214x, NewKak 214x, Avdol 63214x, Mariah 214, Petshop 1/2/3S, Oldseph s.236x, Dio Bloody Summoning

**Fusion Grab**: Shadow Dio 623x, Rubber 360, Boingo 360, Iggy 63214x

Some states will give the character command grab invulnerability such as after rolling, landing, prejump and wakeup. Getting put into hitstun during this invulnerability period will extend the invulnerability as if it were "paused" during the entirety of hitstun, stopping characters from comboing into their command grab after a well-timed meaty. This affects the okizeme of characters like Old Joseph or Rubber Soul due to perfect meaties not leading into their full combos.

If there is an active command grab hitbox on top of the opponent as their command grab invulnerability wears off, they will get caught regardless of their action taken during this frame. Command grabs have a weird behavior of the grab itself being delayed by one frame yet having absolute priority after this delayed frame. Take for example Old Joseph performing his 360 command grab versus DIO.

Frame #1: Old Joseph is in his startup of the grab while DIO is not inputting anything.

Frame #2: DIO inputs 8.

Frame #3: Old Joseph's command grab becomes active and DIO enters his first frame of prejump.

Frame #4: DIO gets sucked into Old Joseph's grab and suffers it's full damage.

This interaction allows for command grabs to catch the first frame of prejump despite prejump having full command grab invulnerability. Command grabs themselves won't capture the opponent the frame they go active, but rather the frame after. If DIO were to complete a tandem input on frame #3 in the example above, he would still get caught by the command grab on frame #4 despite tandem having invulnerability frames on frame 0; a behavior contradictory to using tandem's iframes versus a regular hit.

## P1 vs P2 priority

Being Player 1 or Player 2 can affect who wins trades or if a combo is possible. Supers performed as Player 2 is 1 frame slower than if they were performed as Player 1, making all combos involving superflash 1f tighter as Player 2.

Player 1 usually takes priority when both players trade. Normals who summon the stand that trade with each other on the same frame will come out 1f slower for Player 2, making Player 1 win the trade (such as Midler's 2b). Standcrashes will also prioritize Player 1, meaning that if both players are standcrashed on the same frame only Player 1 will suffer the extended hitstun.

Trading knockdown hits on the same frame will cause Player 1 to get knocked down first and Player 2 to begin their knocked down animation once Player 1 has hit the ground (as seen here https://twitter.com/WJ\_HD/status/1299236393609129987?s=20)

## Miscellaneous Oddities

This section includes miscellaneous information until more is found or a more appropriate section is created. The information may be incomplete/require more thorough testing but should be legitmate (except for possible undiscovered exceptions). Think of it like a wall where we can hang up stray tech before it's forgotten as conversation moves onwards.

### Khan grab invulnerability

Khan loses his hurtboxes during his grab animation and they reappear during his recovery. However, Khan is able to perform inputs during the **one** frame before his hurtboxes reappear, allowing him to avoid any grab punishes by inputting a roll and getting iframes before he's vulnerable. Any reversals buffered and inputted during this frame will not make him invulnerable (regardless of if the super gives him iframes on frame #1). Inputs made after this frame and during Khan's recovery afterwards will not come out including directions (which stops him from blocking). Khan's recovery after he becomes vulnerable is around 6 frames.

Any regular inputs made during this frame will have an additional 6 frames worth of startup as the game seemingly freezes Khan rather than executing the move inputted. For example, Khan's 5A that has 2 startup frames will have 8 frames of startup if inputted during this frame.

Frame #1: Khan inputs 5A. This is the frame before his hurtboxes reappear.

Frame #2: Khan's hurtbox reappears and his sprite updates to reflect 5A's startup.

Frame #3 to Frame #6: Khan is still frozen in 5A's startup due to him being in recovery from the grab.

Frame #7: Khan enters the first frame of 5A's real startup.

Frame #8: 5A's second frame of startup.

Frame #9: Khan's 5A goes active.

This applies to anything inputted during this frame except for rolls (as they go active before Khan's recovery freeze) including prejump. This also means that all Khan grab punishes are technically fake (as he can roll) but requires the Khan player to input ABC during a 1f window and opens Khan up to eating a grab himself.

### Midler crossover after grab

If Midler grabs the opponent during a roll, the opponent's collision boxes won't reappear until they've fully woken up. This allows Midler to walk or dash through the opponent and sideswitch if they are close enough (such as in the corner).

### Jotaro softlock after s.214>s.214C xx s.623A

After Jotaro wallbounces his opponent with s.214C and hits them with s.623A before they're able to land, the opponent will be able to airtech as normal. If the opponent cancels this airtech into a special or a super, the game will softlock with Jotaro being unable to perform any inputs and his hurtboxes will disappear.

A hypothesis as to why this happens could be that during a wallbounce that drags the screen (such as s.214>s.214C, Young Joseph's 236AA, after a timestop hit etc) the player is unable to move. This brief period could also apply during an opponent's tech animation after such a wallbounce as Jotaro can move freely afterwards. If the opponent cancels their teching animation then the game might be confused as it's waiting for the airteching player to either touch the ground or return to their neutral air position. Performing an attack like this circumvents both of these options and Jotaro remains frozen.

### DIO's loss of hurtboxes while falling

When DIO gets hit in the air while stand ON and the player doesn't airtech, DIO will have two frames of invulnerability during his falling animation due to his hurtboxes disappearing. They disappear at two specific sprites of the animation regardless of height but usually happens a handful of frames before he lands.

### Normals cancelling/chaining into normals

Some normals for some characters can be cancelled into themselves or other buttons. For example, Hol Horse & Boingo can't link 5A into 5A without walk-cancelling or crouch-cancelling, but he can link 5A into 5B because 5A cancels itself into 5B on the same frame he could walk-cancel it. This also applies to normals that can be crouch-cancelled like Black Polnareff's 5A who can cancel itself into another 5A on the same frame he could crouch-cancel it.

A couple of examples include: Iggy 5A into 5A, Hol Horse & Boingo 5A into 5B or 5C, Black Polnareff 5A into 5A and Old Joseph 2A into 2A or 5A.

### Alessi 5A recovery framerule

While Alessi is in recovery after pressing 5A, there is a one frame window where he can perform inputs before his recovery has ended (similar to the blockstun framerule). This does not seem to affect Alessi's other buttons nor other characters.

For example:

Frame #1: Alessi is still in 5A recovery and cannot act

Frame #2: Alessi is still in 5A recovery and cannot act

Frame #3: Alessi can now act and input buttons/directions (such as dashing, jumping etc)

Frame #4: Alessi goes back to 5A's recovery and cannot act

Frame #5: Alessi officially leaves 5A's recovery and can act as normal from this point onward.

This also means that buffering a dash through 5A's recovery and performing the dash during this framerule will put Alessi in a dashing state on the next frame, but he will be unable to input any dashing normals during this frame as he'll still be in recovery.

### Left/Right side exclusive combos

Regardless of Player 1 or Player 2, there are also weird quirks regarding whether your character is on the left side or the right side of the screen.

For example: If Alessi does d.s.5C late into his dash while on the LEFT side, he will recover earlier than if he performed s.5C earlier into his dash and have more frame advantage over his opponent. If Alessi does d.s.5C while on the RIGHT side then he won't recover earlier at all. The frame advantage between his and the opponent stays the same. Additionally, if s.5C is inputted as early as possible in the dash on both sides, Alessi will have a bigger frame advantage while on the left side compared to the right side, allowing him to combo d.s.5C into s.5C(close) on one side but not the other. Note that Alessi's shortest possible dash is also longer on the right side than the left.

Another example affects New Kakyoin and his 236X. Doing d.5C 236X d.5A (Emeralds hit) 5A works on the LEFT side but the emeralds will whiff on the RIGHT side regardless of distance. Both examples include dashes so it might be a dash related issue.

### IPS and Scaling retention

IPS, damage scaling and launch scaling should reset after a combo is dropped. In Heritage for the Future players can retain these properties outside of combos which may affect specific resets such as stand crushes (standcrash while blocking). Note that IPS/Scaling does not reset during the entirety of the stand crush animation as these properties only get reset when the character is returned to neutral.

By holding any direction UP when coming out of hitstun while in stand ON, both IPS and damage scaling will not reset properly as long as the character is in an animation or the player is actively inputting something. After landing the player can hold any direction, press buttons, turn their stand off etc without resetting IPS/Scaling. Only when an animation ends and the player is inputting nothing (such as 5) will the character's IPS/Scaling properly reset.

Launch scaling behaves in a similar way but appears to be more situational to initially retain. If a stand ON character eats a combo that standcrashes, then the launch scaling will not reset but rather be "installed" in their stand ON mode and can be preserved once they turn their stand back on. By turning stand ON and avoiding getting returned to their stand ON neutral animation the character will be affected by launch scaling as if they were in a combo, allowing them to avoid getting launched by launchers/sweeps like Alessi's 2C. Walking, jumping, attacking or even holding down 5S (like with Jotaro) all play animations that retain this property. Players can also turn off and on their stand as much as they want while still retaining the scaling. Getting hit will reset these properties after coming out of hitstun but blocking and pushblocking will not.

There is also an universal technique to install launch scaling on the opponent : if the opponent gets hit while airborne, techs (in any direction), then enter for at least 1f the animation of an air-normal, as long as they don't go back to their idle animation, their launch scaling is retained. It is also possible to retain launch scaling between matches. If you end a match by killing an opponent with a combo, they'll have the launch scaling of said combo installed at the start of the first round of the next match as long as they don't go back to their idle animation (getting hit or blocking forces one frame of idle animation).

There are also examples combo states being retained but the details regarding these and how to reproduce them is currently unknown.

### Stand OFF Airblock chipping Stand Gauges

Both Alessi and Old Joseph will take damage to their stand gauges while airblocking despite being in Stand OFF. The damage done to the stand gauge is recovered almost right away (as they are in Stand OFF) but it can run out completely. When the stand gauge runs out, the airblocking character won't get standcrashed. Damage done to the stand gauge appears to reduce the chip damage taken to the character's health as they will take more chip damage (i.e expected chip damage) when their stand gauge runs out.

### Getting hit 1f before landing

A character getting hit one frame before they land will either be launched or hit by the move grounded without the opportunity to block or perform a reversal. Whether or not a character get hit grounded during this window depends on the character and the move they get hit by. Moves that are normally air blockable may become unblockable in situations like these, where for example Alessi getting hit by Hol Horse's 236C 1f before landing will make him take the hit grounded while Jotaro will block it airborne.

There are no confirmed rules or theories to explain why this happens. For example, Khan's 4B hitting Alessi's last aerial frame will ground him, but Black Polnareff's 5B hitting that very same frame will hit him airborne. The variables involved are unknown but below are the results of testing Khan's 4B versus the cast.

Characters that seem to get hit grounded by Khan 4B one frame before they land is: Jotaro, Avdol, Chaka, Devo, Alessi, Iggy, Kakyoin, New Kakyoin, Rubber Soul, Hol Horse, Hol Horse & Boingo, Old Joseph, Young Joseph, Mariah

Characters that seem to get hit airborne by Khan 4B one frame before they land is: Shadow Dio, DIO, Black Polnareff, Polnareff, Khan, Midler, Vanilla Ice, Petshop

Getting hit one frame before landing could be frame perfect depending on the move's hitbox and the opponent's hurtbox. For example, Alessi's 2B is high enough to catch Hol Horse's aerial hurtbox one frame before landing, but low enough to not anti-air him before that point. Meaning in that specific scenario, Alessi catching Hol's empty jump with 2B would be a ~3 frame window. Excluding these exceptions, the meaty would have to become active one frame before they land in order for it to hit (some) characters grounded.

### Jotaro & Iggy grab softlock

Both Jotaro and Iggy can softlock the game by getting hit in the air, airteching, landing, then grabbing while Stand ON. If the grab input is buffered by inputting it 1 frame before landing, the game locks up and stops accepting inputs from both players.

### Screenlock

If a player techs a grab by Petshop 1 frame after he grabs, the screen will be locked in place (similar to remote mode) and allow Petshop to drag it around. Turning Stand ON, getting hit, or performing a move that adjusts the camera (for example some supers like Black Polnareff 236AA) will release the screen back to normal.

This might happen because Petshop grab locks the screen for animation purposes and when the opposing character techs out of the grab, the game doesn't properly update the screen lock. The game treats Stand ON and Stand OFF characters as separate entities and may be the reason as to why it's possible to release the locked screen by turning Stand ON since the Stand OFF character "disappears".

There are other examples of this happening such as with Old Joseph doing 720, Rubber winning the round while his wrap is still active, Iggy breaking from a double wrap etc.

### Untechable airtech retention

Whenever a player is hit by a move, the game decides if that move is techable in the air or not. Some moves and launchers cannot be teched at all like Mariah's grab, Rubber Soul's j.S, Hol Horse's 5C etc. This means that players are unable to 0f tech something like Hol Horse doing 5C 5A, because the 5C puts the character in an untechable state in which they are unable to 0f tech the following 5A (despite it being a techable move).

Wrap type moves like Mariah's 214X or Rubber Soul's 236X are normally techable after the opponent is launched into the wall. However, if Mariah grabs the opponent which will install the untechable state to the opponent, avoids hitting the opponent with anything besides 214X, the opponent will be unable to tech after the wallsplat. As long as Mariah doesn't hit her opponent, her 214X will continue to be untechable during the game. Although this also works for Rubber and New Kakyoin's wraps, hitting the opponent with something removes this untechable install and makes this tech unpractical because the opponent can mash right & left to leave the wrap if they are not hit. These wrap moves does not increment the combo counter and therefore probably does not reset the untechable flag.

### Alessi & Chaka double jump install

If you lose a match with an active stand character with the deathblow happening while you were jumping in s.on with a double jump available. Then switch to Alessi or Chaka and dash jump then press S midair then jump again, will make them perform a double jump (and scream) even if that is impossible normally. It'll only works once per install, and jumping before doing it/turning s.on, disables the install. This is most probably due to the game not resetting some flags between matches (in this case the double jump availability flag). The scream is probably due to the game trying to find a soundcue for the double jump and failing at it. We don't know why this bug works on Alessi & Chaka but not OldSeph.

### Slow-Bullet input eating

Hol Horse's 421aa super is well-known for eating a lot of the opponent inputs while in slowed time. This is most probably due to how the game effectively slows down time. To slow the game to half his speed, the game stretches each individual frame on two frame, that means that each frame is rendered on two frames instead of one. Unfortunately, this was done poorly because while the sprite rendering and most of the game logic works correctly when stretched on two frames, it seems they forgot to stretch the input-reading part. This means that the game only registers inputs on the first half of each rendered frame and effectively on one "emulator-frame" (the game still runs at 60fps during slowed time) out of two.