The current URL is datacrystal.tcrf.net.
EarthBound Beginnings/Battle Engine: Difference between revisions
m (Change formatting) |
(Add combat data) |
||
Line 39: | Line 39: | ||
===SMAAAASH!! damage calculation=== | ===SMAAAASH!! damage calculation=== | ||
Currently unknown. | Currently unknown. | ||
==Combat data== | |||
===Allies=== | |||
Stored at RAM 0x0600-0x067F | |||
* 00: Unknown (unused?) | |||
* 01: Status condition | |||
** Bit 0: Cold | |||
** Bit 1: Poisoned | |||
** Bit 2: Puzzled | |||
** Bit 3: Confused | |||
** Bit 4: Sleeping | |||
** Bit 5: Paralyzed | |||
** Bit 6: Stone | |||
** Bit 7: Unconscious (can be applied even when HP isn't at 0) | |||
* 02: Unknown | |||
* 03-04: HP | |||
* 05-06: PP | |||
* 07-08: Offense | |||
* 09-0A: Defense | |||
* 0B: Fight | |||
* 0C: Speed | |||
* 0D: Wisdom | |||
* 0E: Strength | |||
* 0F: Force | |||
* 10-17: Unknown | |||
* 18-19: Pointer to name | |||
* 1A-1F: Unknown | |||
===Enemies=== | |||
Stored at RAM 0x0680-0x06FF | |||
* 00: Unknown (unused?) | |||
* 01: Status condition | |||
** Bit 0: Cold | |||
** Bit 1: Poisoned | |||
** Bit 2: Puzzled | |||
** Bit 3: Confused | |||
** Bit 4: Sleeping | |||
** Bit 5: Paralyzed | |||
** Bit 6: Stone | |||
** Bit 7: Unconscious (can be applied even when HP isn't at 0) | |||
* 02: Unknown | |||
* 03-04: HP | |||
* 05-06: PP | |||
* 07-08: Offense | |||
* 09-0A: Defense | |||
* 0B: Fight | |||
* 0C: Speed | |||
* 0D: Wisdom | |||
* 0E: Strength | |||
* 0F: Force | |||
* 10-17: Attacks | |||
* 18-19: Pointer to name | |||
* 1A-1B: Experience | |||
* 1C-1D: Money | |||
* 1E: Item dropped | |||
* 1F: Graphic tileset |
Revision as of 13:21, 16 April 2025
Fight
Hit/miss Calculation
The attacker hits if:
(256 + AttackerFight - DefenderFight) / 2 < (RANDOM 0-255) + 102
Otherwise "[NAME] dodged swiftly." If the attacker and defender have equal Fight, the chance of hitting is approximately 90%.
Damage Calculation
The following method is used to determine the damage of a normal attack:
1. Calculate base damage (round BaseDamage down):
BaseDamage = [(AttackerOffense * 3) - DefenderDefense] / 4
2. Get random multiplier from this table. There is a 50% chance of RandMult being negative.
Odds | 3.9% | 7.8% | 7.8% | 7.8% | 7.8% | 7.0% | 7.0% | 6.3% | 6.3% | 5.5% | 4.7% | 4.7% | 3.9% | 3.1% | 3.1% | 2.3% | 2.3% | 1.6% | 1.6% | 1.6% | 0.8% | 0.8% | 0.8% | 0.8% |
RandMult | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
3. Calculate final damage (round FinalDamage down):
FinalDamage = BaseDamage * (1 ± 0.1 * RandMult)
This means that any normal attack can hit for 76% to 124% of its base damage.
Odds of getting a SMAAAASH!!
The chance of a SMAAAASH!! is exactly the same as the chance of missing an attack: The attacker gets a SMAAAASH!! if:
(256 + AttackerFight - DefenderFight) / 2 > (RANDOM 0-255) + 102
If the attacker and defender have equal Fight, the chance of both hitting and getting a SMAAAASH!! is approximately 9%.
SMAAAASH!! damage calculation
Currently unknown.
Combat data
Allies
Stored at RAM 0x0600-0x067F
- 00: Unknown (unused?)
- 01: Status condition
- Bit 0: Cold
- Bit 1: Poisoned
- Bit 2: Puzzled
- Bit 3: Confused
- Bit 4: Sleeping
- Bit 5: Paralyzed
- Bit 6: Stone
- Bit 7: Unconscious (can be applied even when HP isn't at 0)
- 02: Unknown
- 03-04: HP
- 05-06: PP
- 07-08: Offense
- 09-0A: Defense
- 0B: Fight
- 0C: Speed
- 0D: Wisdom
- 0E: Strength
- 0F: Force
- 10-17: Unknown
- 18-19: Pointer to name
- 1A-1F: Unknown
Enemies
Stored at RAM 0x0680-0x06FF
- 00: Unknown (unused?)
- 01: Status condition
- Bit 0: Cold
- Bit 1: Poisoned
- Bit 2: Puzzled
- Bit 3: Confused
- Bit 4: Sleeping
- Bit 5: Paralyzed
- Bit 6: Stone
- Bit 7: Unconscious (can be applied even when HP isn't at 0)
- 02: Unknown
- 03-04: HP
- 05-06: PP
- 07-08: Offense
- 09-0A: Defense
- 0B: Fight
- 0C: Speed
- 0D: Wisdom
- 0E: Strength
- 0F: Force
- 10-17: Attacks
- 18-19: Pointer to name
- 1A-1B: Experience
- 1C-1D: Money
- 1E: Item dropped
- 1F: Graphic tileset