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