Skip to content

Instantly share code, notes, and snippets.

@PhoenixBound
Last active December 1, 2024 20:16
Show Gist options
  • Select an option

  • Save PhoenixBound/d99c81f05ada574cf061401868d3f727 to your computer and use it in GitHub Desktop.

Select an option

Save PhoenixBound/d99c81f05ada574cf061401868d3f727 to your computer and use it in GitHub Desktop.
Switch the genders used for playable characters in battle actions in EarthBound.
// Playable Character Pronoun Switcher for Actions by PhoenixBound
// Last updated: 2024-12-01
//
// This script edits what the party members' gender is, when checked using the
// [1C 14 01] and [1C 15 01] control codes (stdext names: get_user_gender and
// get_target_gender).
// Simply edit the `PronounArray` table below to reflect the pronoun value you
// want to use for the relevant party member.
// (All the AI/non-playable party members are handled via
// enemy_config_table.yml, instead of the table added here.)
import asm65816
// `byte 1` means He
// `byte 2` means She
// `byte 3` means It
// Other values are technically possible, but you can't enter a gender of `4` in
// the enemy config table using CoilSnake, as of writing. So having other
// pronouns is not recommended, especially if you want enemies or NPC party
// members to be able to use them easily.
// Using extended values also means you have to rewrite all the pronoun utility
// scripts to support the new gender value.
PronounArray: {
byte 1 // Ness
byte 2 // Paula
byte 1 // Jeff
byte 1 // Poo
}
// !!!!!!!!!!!!!!!!!!!!!!!!!
// Magic below, do not edit
// !!!!!!!!!!!!!!!!!!!!!!!!!
// Edit 1C 14 to use new code
ROM[0xC151DB] = {
DEC
TAX
LDA_xl (PronounArray)
AND_i (0x00FF)
BRA (2)
NOP NOP
}
// Edit 1C 15 to use new code
ROM[0xC1526C] = {
DEC
TAX
LDA_xl (PronounArray)
AND_i (0x00FF)
BRA (2)
NOP NOP
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment