2024-06-26 20:30:36 +09:30
|
|
|
struct AttackType
|
|
|
|
u1 is_blue_magic
|
|
|
|
u1 is_white_magic
|
|
|
|
u1 is_black_magic
|
|
|
|
u1 is_dimension_magic
|
|
|
|
u1 is_summon
|
|
|
|
u1 is_sound
|
|
|
|
u1 is_longrange
|
|
|
|
u1 is_physical
|
|
|
|
|
|
|
|
struct AttackProperties
|
|
|
|
u2 action_delay
|
|
|
|
u1 roulette
|
|
|
|
u1 target_enemy_by_default
|
|
|
|
u1 can_target_either_side
|
|
|
|
u1 can_select_target
|
|
|
|
u1 always_target_all
|
|
|
|
u1 can_target_all
|
|
|
|
|
|
|
|
struct WeaponData
|
|
|
|
AttackProperties attack_properties
|
|
|
|
AttackType attack_type
|
|
|
|
u6 item_type
|
|
|
|
u1 is_unthrowable
|
|
|
|
u1 byte_2_leftover
|
|
|
|
EquipStatBonus bonus
|
|
|
|
u6 description
|
|
|
|
u1 can_double_grip
|
|
|
|
u1 only_double_grip
|
|
|
|
u1 is_wonder_rod
|
|
|
|
u1 is_action_on_use
|
|
|
|
u1 can_magic_sword
|
|
|
|
u1 is_action_on_hit
|
|
|
|
u1 is_5.4
|
|
|
|
u1 is_initiative
|
|
|
|
u1 is_knife_parry
|
|
|
|
u1 is_sword_parry
|
|
|
|
u7 spell_cast
|
|
|
|
u1 is_break_after_use
|
|
|
|
u8 attack_power
|
|
|
|
u7 attack_effect
|
|
|
|
u1 byte_8_leftover
|
|
|
|
u8 param0 # accuracy_percent for sub-100 weapons, crit rate on katanas, element on Flametongue/Icebrand/Excalibur/AirKnife/Trident/WindSpear
|
|
|
|
u8 param1 # on_hit_effect_percent for weapons that cast actions on hit, also Rune weapons bonus attack power
|
|
|
|
u8 param2 # action_on_hit for weapons that cast actions on hit, Also Rune weapons 5 mana cost on attack, also element of attack for rods
|
|
|
|
|
|
|
|
struct ArmorData
|
|
|
|
u8 slot # b0 - 0x01 acc, 0x02 body, 0x04 head, 0x08 shield, 0xF0 unused
|
|
|
|
u8 weight # b1
|
|
|
|
u6 item_type
|
|
|
|
u1 is_unthrowable
|
|
|
|
u1 byte_2_leftover
|
|
|
|
EquipStatBonus bonus # b3
|
|
|
|
u6 description # b4
|
|
|
|
u2 byte_4_leftovers
|
|
|
|
u1 is_improve_catch # b5
|
|
|
|
u1 is_become_undead
|
|
|
|
u1 is_improve_dance
|
|
|
|
u1 is_halve_mp_cost
|
|
|
|
u1 is_improve_steal
|
|
|
|
u1 is_improve_brawl
|
|
|
|
u1 is_elf_cape_dodge
|
|
|
|
u1 is_block_all_magic # b5
|
|
|
|
u8 evasion # b6
|
|
|
|
u8 defense
|
|
|
|
u8 m_evasion
|
|
|
|
u8 m_def # b9
|
|
|
|
u8 elem_effect # b10 - 01 ½ lightning, 02 ½ all, 03 immune poison damage, 04 absorb fire+immune ice+weak water, 05 absorb water+immune fire+weak lightning, 06 Bone Mail (absorb poison, halve ice, weak fire/holy), 07 absorb fire, 08 absorb ice
|
|
|
|
u8 status_effect # b11 - 01 auto-regen, 02 auto-doom, 03 auto-haste + immune slow/stop/paralyse/sleep, 04 immune petrify, 05 Ribbon, 06 immune confuse, 07 immune silence, 08 immune blind, 09 immune poison, 0A bone mail, 0B auto-reflect, 0C immune mini, 0D immune old/zombie, 0E auto-sap + immune sleep, 0F auto-blink, 10 immune mini/paralyse, 11 immune confuse/mini, 12 immune confuse/toad, 13 immune toad/paralyse
|
|
|
|
|
|
|
|
|
|
|
|
struct ItemData
|
|
|
|
AttackProperties attack_properties
|
|
|
|
u8 attack_type
|
|
|
|
u1 unk0
|
|
|
|
u1 is_unmixable
|
|
|
|
u1 unk1
|
|
|
|
u1 is_magic_lamp
|
|
|
|
u1 is_undrinkable
|
|
|
|
u1 is_unusable_in_battle
|
|
|
|
u1 is_unthrowable
|
|
|
|
u1 unk2
|
|
|
|
u6 description # b3
|
|
|
|
u2 byte_3_leftovers
|
|
|
|
u7 attack_formula
|
|
|
|
u1 is_unavoidable
|
|
|
|
u8 param_0
|
|
|
|
u8 param_1
|
|
|
|
u8 param_2
|
|
|
|
|
|
|
|
|
|
|
|
struct MagicData
|
|
|
|
AttackProperties attack_properties
|
|
|
|
u8 attack_type
|
|
|
|
u4 meteo_extra_hits
|
|
|
|
u2 unk
|
|
|
|
u1 is_learnable
|
|
|
|
u1 is_monster_bit
|
|
|
|
u7 mp_cost
|
|
|
|
u1 is_unreflectable
|
|
|
|
u7 attack_formula
|
|
|
|
u1 is_unavoidable
|
|
|
|
u8 param_0
|
|
|
|
u8 param_1
|
|
|
|
u8 param_2
|
|
|
|
|
|
|
|
|
|
|
|
struct ElemDef
|
|
|
|
u8 absorb
|
|
|
|
u8 evade
|
|
|
|
u8 immune
|
|
|
|
u8 half
|
|
|
|
u8 weak
|
|
|
|
|
|
|
|
struct StatusEffect
|
|
|
|
4 of u8 initial
|
|
|
|
3 of u8 immune
|
|
|
|
|
|
|
|
|
|
|
|
struct EnemySpriteData
|
|
|
|
u7 tileset_offset_hi # combined with lo, << 3, + 0x150000
|
|
|
|
u1 is_3bpp
|
|
|
|
u8 tileset_offset_lo
|
|
|
|
u2 palette_offset_hi # combined with lo, << 4, + 0x0ED000
|
|
|
|
u4 unk
|
|
|
|
u1 is_separate_shadow
|
|
|
|
u1 is_large_layout
|
|
|
|
u8 palette_offset_lo
|
|
|
|
u8 layout_id # Small? <<3, + 0x10D004, take 8 bytes. Large? <<5, + 0x10D334, take 32 bytes.
|
|
|
|
|
|
|
|
struct BattleBackgroundData
|
|
|
|
u8 tileset_id
|
|
|
|
2 of u8 palette_ids
|
|
|
|
u8 tilemap_id
|
|
|
|
u8 tilemap_flips_id
|
|
|
|
u8 tilemap_v_flips_id # Unused, all 0xFF = no flips
|
|
|
|
u8 tilecycle_id
|
|
|
|
u8 palcycle_id
|
|
|
|
|
|
|
|
struct EnemyStats
|
|
|
|
u8 speed
|
|
|
|
u8 attack_power
|
|
|
|
u8 attack_multiplier
|
|
|
|
u8 evasion
|
|
|
|
u8 defense
|
|
|
|
u8 magic_power
|
|
|
|
u8 magic_defense
|
|
|
|
u8 magic_evasion
|
|
|
|
u16 max_hp
|
|
|
|
u16 max_mp
|
|
|
|
u16 reward_exp
|
|
|
|
u16 reward_gil
|
|
|
|
u8 attack_graphics
|
|
|
|
u8 elements_immune
|
|
|
|
u24 status_immune
|
|
|
|
u8 elements_absorb
|
|
|
|
AttackType attack_type
|
|
|
|
u8 elements_weak
|
|
|
|
u8 monster_type
|
|
|
|
u8 flags_25
|
|
|
|
u16 status_26
|
|
|
|
u16 status_28
|
|
|
|
u8 30
|
|
|
|
u8 level # 31
|
2024-06-30 14:33:38 +09:30
|
|
|
|
|
|
|
struct EventPlace
|
|
|
|
u8 x
|
|
|
|
u8 y
|
|
|
|
u16 event_id
|
|
|
|
|
|
|
|
struct ZoneExit
|
|
|
|
u8 x
|
|
|
|
u8 y
|
|
|
|
u16 dest_map_id
|
|
|
|
u8 dest_x
|
|
|
|
u8 dest_y
|
|
|
|
|
|
|
|
struct ZoneData
|
|
|
|
u16 npc_layer
|
|
|
|
u8 name_id
|
|
|
|
u8 shadow_flags # Maybe make a type for this later
|
|
|
|
u8 graphic_maps # MSb animation-related, 6 LSbs are ID for table in 0x005BB8 which writes to $2131-$2133 (Color Math Designation, Subscreen BG color)
|
|
|
|
u8 tile_properties
|
|
|
|
u8 flags_6
|
|
|
|
u8 7
|
|
|
|
u8 blockset_id
|
|
|
|
4 of u6 tileset_ids
|
|
|
|
3 of u10 blockmap_ids
|
|
|
|
u2 _
|
|
|
|
u8 16
|
|
|
|
u8 17
|
|
|
|
u8 18
|
|
|
|
u8 19
|
|
|
|
u8 20
|
|
|
|
u8 21
|
|
|
|
u8 palette_id
|
|
|
|
u8 23
|
|
|
|
u8 24
|
|
|
|
u8 music_id
|
2024-07-05 02:11:24 +09:30
|
|
|
|
|
|
|
struct WorldMapEventReplacement
|
|
|
|
u8 y
|
|
|
|
u8 x
|
|
|
|
u8 num_bytes
|
|
|
|
u8 event_flag # Add 0x1D0 to this for actual event flag
|
|
|
|
u16 ptr_bytes # Read num_bytes from this address (0xC0 bank implied, so just from the start of the ROM)
|
2024-07-06 01:23:40 +09:30
|
|
|
|
|
|
|
struct WorldMapBlockProperties
|
|
|
|
u1 is_pathable_foot
|
|
|
|
u1 is_pathable_chocobo
|
|
|
|
u1 is_pathable_black_chocobo
|
|
|
|
u1 is_pathable_hiryuu
|
|
|
|
u1 is_pathable_submarine
|
|
|
|
u1 is_pathable_ship
|
|
|
|
u1 is_pathable_airship
|
|
|
|
u1 is_surfaceable
|
|
|
|
u1 unk0_east # ship related? mostly seaside edges=0 but sometimes not
|
|
|
|
u1 unk0_west # ship related? mostly seaside edges=0 but sometimes not
|
|
|
|
u1 unk0_south # ship related? mostly seaside edges=0 but sometimes not
|
|
|
|
u1 unk0_north # ship related? mostly seaside edges=0 but sometimes not
|
|
|
|
u1 isnt_landable_chocobo
|
|
|
|
u1 isnt_landable_black_chocobo
|
|
|
|
u1 isnt_landable_hiryuu
|
|
|
|
u1 isnt_landable_airship
|
|
|
|
u4 unk1 # Maybe battle bg? 0=plains/other, 1=forest, 2=desert, 3=sea, 5=swamp, no others spotted for these 4 bits
|
|
|
|
u1 unk21 # Mountains and Exdeath's Castle =1
|
|
|
|
u1 unk22 # Forests have this =1, except the southernmost tiles of them
|
|
|
|
u1 unk23 # Most rivers have this
|
|
|
|
u1 unk24 # Most walkable/boatable tiles have this - possibly random encounters enabled?
|
|
|
|
|