Claim set · data/claims/fe6.yaml

Fire Emblem: The Binding Blade (FireEmblemUniverse/fireemblem6j)

Game: Fire Emblem: The Binding Blade.

The Binding Blade hits when the displayed hit is greater than the average of two random numbers, rounded down; each number divides a 16-bit NextRN() by 655, so it runs from 0 to 100, and 100 comes from only 36 of the 65,536 values. fe6/hit-roll

About: Fire Emblem: The Binding Blade Hit chance

Value
{
 "rolls": 2,
 "range": [
  0,
  100
 ],
 "scale": "NextRN() / (65535 / 100)",
 "combine": "floor((a + b) / 2)",
 "hitIf": "hit > combined"
}
Codefireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/random.c#L69-L73int RandNext_100(void) // take the next rn (range 0-0xFFFF) and convert it to a range 0-99 value // NOTE: bugged due to rounding return NextRN() / (UINT16_MAX / 100);fireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/random.c#L88-L96bool RandRoll2Rn(int threshold) … rand = RandNext_100(); rand = rand + RandNext_100(); rand = rand / 2; return (threshold > rand);fireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/battle.c#L746-L749if (BattleRandRoll2Rn(gBattleSt.hit, TRUE) == FALSE) … gBattleHitIt->attributes |= BATTLE_HIT_ATTR_MISS;fireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/battle.c#L738gBattleSt.hit = attacker->battle_effective_hit;Checked by claude-agent, 2026-10-21 — read RandNext_100 and RandRoll2Rn, and the hit test in BattleGenerateHitAttributes; UINT16_MAX / 100 is 655 in integer division, and 65,535 / 655 is 100 for the top 36 values

Cited by: Fire Emblem: The Binding Blade, Hit chance

Computed from the code, taking the two numbers as independent, a displayed 80 in The Binding Blade hits 92.16% of the time, 50 hits 50.44%, and 20 hits 8.19%; a displayed 100 misses 1,296 times in 4,294,967,296, when both numbers come out 100. fe6/true-hit-example

About: Fire Emblem: The Binding Blade Hit chance

Value
{
 "shown": [
  20,
  50,
  80
 ],
 "actual": [
  8.19,
  50.44,
  92.16
 ],
 "missAt100": [
  1296,
  4294967296
 ]
}
Codefireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/random.c#L73return NextRN() / (UINT16_MAX / 100);fireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/random.c#L92-L96rand = RandNext_100(); rand = rand + RandNext_100(); rand = rand / 2; return (threshold > rand);fireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/battle.c#L521-L522if (attacker->battle_effective_hit > 100) attacker->battle_effective_hit = 100;Checked by claude-agent, 2026-10-21 — counted by script over all 65,536 × 65,536 pairs of NextRN() values; a hit of 100 fails only when both numbers are 100, 36 × 36 = 1,296 pairs

The generator's consecutive outputs are not truly independent; no emulator measurement backs these numbers yet.

Cited by: Fire Emblem: The Binding Blade, Hit chance

The Binding Blade computes hit as twice the skill, plus the weapon's hit, half the luck, and the weapon triangle's bonus, and avoid as twice the attack speed plus the terrain's avoid and the luck; the hit it rolls against is hit less avoid, held within 0–100. fe6/displayed-hit

About: Fire Emblem: The Binding Blade Hit chance

Codefireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/battle.c#L493attacker->battle_hit = attacker->unit.skl*2 + GetItemHit(attacker->weapon) + attacker->unit.lck/2 + attacker->advantage_bonus_hit;fireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/battle.c#L498attacker->battle_avoid = attacker->battle_speed*2 + attacker->terrain_avoid + attacker->unit.lck;fireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/battle.c#L519-L525attacker->battle_effective_hit = attacker->battle_hit - defender->battle_avoid; if (attacker->battle_effective_hit > 100) attacker->battle_effective_hit = 100; if (attacker->battle_effective_hit < 0) attacker->battle_effective_hit = 0;Checked by claude-agent, 2026-10-21 — read the hit, avoid, and effective-hit routines

The Binding Blade's crit is the weapon's crit plus half the skill, plus 30 for classes with a crit bonus, less the defender's luck and at least 0; after a hit, one random number below it triples the damage. fe6/critical

About: Fire Emblem: The Binding Blade Critical hit

Value
{
 "rolls": 1,
 "range": [
  0,
  100
 ],
 "multiplier": 3,
 "classBonus": 30
}
Codefireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/battle.c#L506-L514attacker->battle_crit = GetItemCrit(attacker->weapon) + attacker->unit.skl/2; if (UNIT_ATTRIBUTES(&attacker->unit) & UNIT_ATTR_CRITBONUS) attacker->battle_crit += 30; … attacker->battle_dodge = attacker->unit.lck;fireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/battle.c#L530-L533attacker->battle_effective_crit = attacker->battle_crit - defender->battle_dodge; if (attacker->battle_effective_crit < 0) attacker->battle_effective_crit = 0;fireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/battle.c#L739gBattleSt.crit = attacker->battle_effective_crit;fireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/battle.c#L754-L757if (BattleRandRoll(gBattleSt.crit, FALSE) == TRUE) … gBattleHitIt->attributes |= BATTLE_HIT_ATTR_CRIT; gBattleSt.damage = gBattleSt.damage * 3;fireemblem6j: decompilation of Fire Emblem: The Binding Blade · src/random.c#L83-L85bool RandRoll(int threshold) … return (threshold > RandNext_100());Checked by claude-agent, 2026-10-21 — read the crit, dodge, and effective-crit routines, RandRoll, and the crit branch of BattleGenerateHitAttributes

Cited by: Critical hit