rpgsync 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
rpgsync/dbschema.py ADDED
@@ -0,0 +1,1011 @@
1
+ """liblcf schema of the RPG_RT.ldb structures used by rpgsync.
2
+
3
+ Generated by tools/gen_dbschema.py from liblcf's generator/csv; do not edit.
4
+ """
5
+
6
+
7
+ from typing import Any
8
+
9
+ from pydantic import BaseModel, ConfigDict
10
+
11
+
12
+ class FieldDef(BaseModel):
13
+ """One chunk of an LCF structure."""
14
+ model_config = ConfigDict(frozen=True)
15
+
16
+ id: int | None # chunk id (None: part of a packed structure)
17
+ name: str
18
+ type: str # liblcf type
19
+ kind: str # LCF codec: int bool str i16vec u8vec i32vec S:<struct> A:<struct> raw
20
+ model: str # model type: int bool str enum:<E> bits u8 i16 i32 params equip
21
+ # flags:<F> struct:<S> array:<S> raw
22
+ default: Any = None # model-level default (RPG Maker 2000)
23
+ default_2k3: Any = None # model-level default (RPG Maker 2003)
24
+ persist: bool = False # written even when equal to the default
25
+ is2k3: bool = False # RPG Maker 2003 only
26
+ size_id: int | None = None # chunk holding this field's byte size
27
+ size_of: int | None = None # this chunk is the byte size of chunk size_of
28
+ doc: str = ""
29
+
30
+
31
+ def _f(id, name, type, kind, model, default=None, default_2k3=None, persist=False, is2k3=False,
32
+ size_id=None, size_of=None, doc=""):
33
+ return FieldDef(id=id, name=name, type=type, kind=kind, model=model, default=default,
34
+ default_2k3=default_2k3, persist=persist, is2k3=is2k3, size_id=size_id,
35
+ size_of=size_of, doc=doc)
36
+
37
+
38
+ # Database table name -> (Database chunk id, structure, title)
39
+ TABLES: dict[str, tuple[int, str, str]] = {
40
+ "actors": (0x0B, "Actor", "Actors"),
41
+ "classes": (0x1E, "Class", "Classes (RPG Maker 2003)"),
42
+ "skills": (0x0C, "Skill", "Skills"),
43
+ "items": (0x0D, "Item", "Items"),
44
+ "enemies": (0x0E, "Enemy", "Enemies"),
45
+ "troops": (0x0F, "Troop", "Troops"),
46
+ "states": (0x12, "State", "States"),
47
+ "attributes": (0x11, "Attribute", "Attributes"),
48
+ "terrains": (0x10, "Terrain", "Terrains"),
49
+ "battleranimations": (0x20, "BattlerAnimation", "Battler animations (RPG Maker 2003)"),
50
+ "switches": (0x17, "Switch", "Switches"),
51
+ "variables": (0x18, "Variable", "Variables"),
52
+ }
53
+
54
+ # Structures used by the exported tables (dependencies first)
55
+ MODEL_STRUCTS: list[str] = [
56
+ "Parameters",
57
+ "Equipment",
58
+ "Learning",
59
+ "Actor",
60
+ "Class",
61
+ "Sound",
62
+ "BattlerAnimationItemSkill",
63
+ "Skill",
64
+ "Item",
65
+ "EnemyAction",
66
+ "Enemy",
67
+ "TroopMember",
68
+ "Troop",
69
+ "State",
70
+ "Attribute",
71
+ "Terrain",
72
+ "BattlerAnimationPose",
73
+ "BattlerAnimationWeapon",
74
+ "BattlerAnimation",
75
+ "Switch",
76
+ "Variable",
77
+ "Music",
78
+ "Encounter",
79
+ "MapInfo",
80
+ "Start",
81
+ ]
82
+
83
+ # Structures whose elements carry an id
84
+ INDEXED = {"Actor", "Animation", "AnimationCellData", "AnimationFrame", "AnimationTiming", "Attribute", "BattleCommand", "BattlerAnimation", "BattlerAnimationItemSkill", "BattlerAnimationPose", "BattlerAnimationWeapon", "Chipset", "Class", "CommonEvent", "Encounter", "Enemy", "EnemyAction", "Item", "Learning", "MapInfo", "Skill", "State", "StringVariable", "Switch", "Terrain", "TestBattler", "Troop", "TroopMember", "TroopPage", "Variable"}
85
+
86
+ STRUCTS: dict[str, tuple[FieldDef, ...]] = {
87
+ "Parameters": (
88
+ _f(None, "maxhp", "Vector<Int16>", "i16vec", "i16", default=[], default_2k3=[], persist=True, doc="Maxhp."),
89
+ _f(None, "maxsp", "Vector<Int16>", "i16vec", "i16", default=[], default_2k3=[], persist=True, doc="Maxsp."),
90
+ _f(None, "attack", "Vector<Int16>", "i16vec", "i16", default=[], default_2k3=[], persist=True, doc="Attack."),
91
+ _f(None, "defense", "Vector<Int16>", "i16vec", "i16", default=[], default_2k3=[], persist=True, doc="Defense."),
92
+ _f(None, "spirit", "Vector<Int16>", "i16vec", "i16", default=[], default_2k3=[], persist=True, doc="Spirit."),
93
+ _f(None, "agility", "Vector<Int16>", "i16vec", "i16", default=[], default_2k3=[], persist=True, doc="Agility."),
94
+ ),
95
+ "Equipment": (
96
+ _f(None, "weapon_id", "Ref<Item:Int16>", "int", "int", default=0, default_2k3=0, doc="Weapon id (item id)."),
97
+ _f(None, "shield_id", "Ref<Item:Int16>", "int", "int", default=0, default_2k3=0, doc="Shield id (item id)."),
98
+ _f(None, "armor_id", "Ref<Item:Int16>", "int", "int", default=0, default_2k3=0, doc="Armor id (item id)."),
99
+ _f(None, "helmet_id", "Ref<Item:Int16>", "int", "int", default=0, default_2k3=0, doc="Helmet id (item id)."),
100
+ _f(None, "accessory_id", "Ref<Item:Int16>", "int", "int", default=0, default_2k3=0, doc="Accessory id (item id)."),
101
+ ),
102
+ "EventCommand": (
103
+ _f(None, "code", "Enum<EventCommand_Code>", "int", "enum:EventCommand_Code", default=0, default_2k3=0, doc="Code (one of 'END', 'CallCommonEvent', 'ForceFlee', 'EnableCombo', 'ChangeClass', 'ChangeBattleCommands', 'OpenLoadMenu', 'ExitGame', 'ToggleAtbMode', 'ToggleFullscreen', 'OpenVideoOptions', 'ShowMessage', 'MessageOptions', 'ChangeFaceGraphic', 'ShowChoice', 'InputNumber', 'ControlSwitches', 'ControlVars', 'TimerOperation', 'ChangeGold', 'ChangeItems', 'ChangePartyMembers', 'ChangeExp', 'ChangeLevel', 'ChangeParameters', 'ChangeSkills', 'ChangeEquipment', 'ChangeHP', 'ChangeSP', 'ChangeCondition', 'FullHeal', 'SimulatedAttack', 'ChangeHeroName', 'ChangeHeroTitle', 'ChangeSpriteAssociation', 'ChangeActorFace', 'ChangeVehicleGraphic', 'ChangeSystemBGM', 'ChangeSystemSFX', 'ChangeSystemGraphics', 'ChangeScreenTransitions', 'EnemyEncounter', 'OpenShop', 'ShowInn', 'EnterHeroName', 'Teleport', 'MemorizeLocation', 'RecallToLocation', 'EnterExitVehicle', 'SetVehicleLocation', 'ChangeEventLocation', 'TradeEventLocations', 'StoreTerrainID', 'StoreEventID', 'EraseScreen', 'ShowScreen', 'TintScreen', 'FlashScreen', 'ShakeScreen', 'PanScreen', 'WeatherEffects', 'ShowPicture', 'MovePicture', 'ErasePicture', 'ShowBattleAnimation', 'PlayerVisibility', 'FlashSprite', 'MoveEvent', 'ProceedWithMovement', 'HaltAllMovement', 'Wait', 'PlayBGM', 'FadeOutBGM', 'MemorizeBGM', 'PlayMemorizedBGM', 'PlaySound', 'PlayMovie', 'KeyInputProc', 'ChangeMapTileset', 'ChangePBG', 'ChangeEncounterSteps', 'TileSubstitution', 'TeleportTargets', 'ChangeTeleportAccess', 'EscapeTarget', 'ChangeEscapeAccess', 'OpenSaveMenu', 'ChangeSaveAccess', 'OpenMainMenu', 'ChangeMainMenuAccess', 'ConditionalBranch', 'Label', 'JumpToLabel', 'Loop', 'BreakLoop', 'EndEventProcessing', 'EraseEvent', 'CallEvent', 'Comment', 'GameOver', 'ReturntoTitleScreen', 'ChangeMonsterHP', 'ChangeMonsterMP', 'ChangeMonsterCondition', 'ShowHiddenMonster', 'ChangeBattleBG', 'ShowBattleAnimation_B', 'ConditionalBranch_B', 'TerminateBattle', 'ShowMessage_2', 'ShowChoiceOption', 'ShowChoiceEnd', 'VictoryHandler', 'EscapeHandler', 'DefeatHandler', 'EndBattle', 'Transaction', 'NoTransaction', 'EndShop', 'Stay', 'NoStay', 'EndInn', 'ElseBranch', 'EndBranch', 'EndLoop', 'Comment_2', 'ElseBranch_B', 'EndBranch_B', 'EasyRpg_TriggerEventAt', 'EasyRpg_Pathfinder', 'EasyRpg_CallMovementAction', 'EasyRpg_WaitForSingleMovement', 'EasyRpg_AnimateVariable', 'EasyRpg_SetInterpreterFlag', 'EasyRpg_ProcessJson', 'EasyRpg_CloneMapEvent', 'EasyRpg_DestroyMapEvent', 'EasyRpg_StringPictureMenu', 'Maniac_GetSaveInfo', 'Maniac_Save', 'Maniac_Load', 'Maniac_EndLoadProcess', 'Maniac_GetMousePosition', 'Maniac_SetMousePosition', 'Maniac_ShowStringPicture', 'Maniac_GetPictureInfo', 'Maniac_ControlBattle', 'Maniac_ControlAtbGauge', 'Maniac_ChangeBattleCommandEx', 'Maniac_GetBattleInfo', 'Maniac_ControlVarArray', 'Maniac_KeyInputProcEx', 'Maniac_RewriteMap', 'Maniac_ControlGlobalSave', 'Maniac_ChangePictureId', 'Maniac_SetGameOption', 'Maniac_CallCommand', 'Maniac_ControlStrings', 'Maniac_GetGameInfo', 'Maniac_EditPicture', 'Maniac_WritePicture', 'Maniac_AddMoveRoute', 'Maniac_EditTile', 'Maniac_ControlTextProcessing', 'Maniac_Zoom' or a number)."),
104
+ _f(None, "indent", "Int32", "int", "int", default=0, default_2k3=0, doc="Indent."),
105
+ _f(None, "string", "DBString", "str", "str", default="", default_2k3="", doc="String."),
106
+ _f(None, "parameters", "DBArray<Int32>", "raw", "raw", doc="Parameters."),
107
+ ),
108
+ "MoveCommand": (
109
+ _f(None, "command_id", "Enum<MoveCommand_Code>", "int", "enum:MoveCommand_Code", default="move_up", default_2k3="move_up", doc="Command id (one of 'move_up', 'move_right', 'move_down', 'move_left', 'move_upright', 'move_downright', 'move_downleft', 'move_upleft', 'move_random', 'move_towards_hero', 'move_away_from_hero', 'move_forward', 'face_up', 'face_right', 'face_down', 'face_left', 'turn_90_degree_right', 'turn_90_degree_left', 'turn_180_degree', 'turn_90_degree_random', 'face_random_direction', 'face_hero', 'face_away_from_hero', 'wait', 'begin_jump', 'end_jump', 'lock_facing', 'unlock_facing', 'increase_movement_speed', 'decrease_movement_speed', 'increase_movement_frequence', 'decrease_movement_frequence', 'switch_on', 'switch_off', 'change_graphic', 'play_sound_effect', 'walk_everywhere_on', 'walk_everywhere_off', 'stop_animation', 'start_animation', 'increase_transp', 'decrease_transp' or a number)."),
110
+ _f(None, "parameter_string", "DBString", "str", "str", default="", default_2k3="", doc="Parameter string."),
111
+ _f(None, "parameter_a", "Int32", "int", "int", default=0, default_2k3=0, doc="Parameter a."),
112
+ _f(None, "parameter_b", "Int32", "int", "int", default=0, default_2k3=0, doc="Parameter b."),
113
+ _f(None, "parameter_c", "Int32", "int", "int", default=0, default_2k3=0, doc="Parameter c."),
114
+ ),
115
+ "Learning": (
116
+ _f(0x01, "level", "Int32", "int", "int", default=1, default_2k3=1, doc="Level at which the skill is learned."),
117
+ _f(0x02, "skill_id", "Ref<Skill>", "int", "int", default=1, default_2k3=1, doc="Learned skill (skill id)."),
118
+ ),
119
+ "Actor": (
120
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name."),
121
+ _f(0x02, "title", "DBString", "str", "str", default="", default_2k3="", doc="Title shown under the name (e.g. 'Knight')."),
122
+ _f(0x03, "character_name", "DBString", "str", "str", default="", default_2k3="", doc="CharSet file used on the map."),
123
+ _f(0x04, "character_index", "Int32", "int", "int", default=0, default_2k3=0, doc="Sprite index (0-7) inside the CharSet."),
124
+ _f(0x05, "transparent", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Draw the map sprite translucent."),
125
+ _f(0x07, "initial_level", "Int32", "int", "int", default=1, default_2k3=1, doc="Level when joining the party."),
126
+ _f(0x08, "final_level", "Int32", "int", "int", default=50, default_2k3=99, doc="Maximum level."),
127
+ _f(0x09, "critical_hit", "Boolean", "bool", "bool", default=True, default_2k3=True, doc="Can land critical hits."),
128
+ _f(0x0A, "critical_hit_chance", "Int32", "int", "int", default=30, default_2k3=30, doc="Critical hit probability: 1 in N."),
129
+ _f(0x0F, "face_name", "DBString", "str", "str", default="", default_2k3="", doc="FaceSet file."),
130
+ _f(0x10, "face_index", "Int32", "int", "int", default=0, default_2k3=0, doc="Face index (0-15) inside the FaceSet."),
131
+ _f(0x15, "two_weapon", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Wields two weapons instead of weapon + shield."),
132
+ _f(0x16, "lock_equipment", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Equipment cannot be changed."),
133
+ _f(0x17, "auto_battle", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Fights automatically."),
134
+ _f(0x18, "super_guard", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Strong defense (damage quartered when defending)."),
135
+ _f(0x1F, "parameters", "Parameters", "i16vec", "params", persist=True, doc="Max HP/SP, attack, defense, spirit and agility per level."),
136
+ _f(0x29, "exp_base", "Int32", "int", "int", default=30, default_2k3=300, doc="Experience curve: base value."),
137
+ _f(0x2A, "exp_inflation", "Int32", "int", "int", default=30, default_2k3=300, doc="Experience curve: inflation."),
138
+ _f(0x2B, "exp_correction", "Int32", "int", "int", default=0, default_2k3=0, doc="Experience curve: correction."),
139
+ _f(0x33, "initial_equipment", "Equipment", "i16vec", "equip", persist=True, doc="Equipment when joining the party."),
140
+ _f(0x38, "unarmed_animation", "Ref<Animation>", "int", "int", default=1, default_2k3=1, doc="Battle animation of unarmed attacks (battle animation id)."),
141
+ _f(0x39, "class_id", "Ref<Class>", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Class (class id). RPG Maker 2003 only."),
142
+ _f(0x3B, "battle_x", "Int32", "int", "int", default=220, default_2k3=220, is2k3=True, doc="Battle position X. RPG Maker 2003 only."),
143
+ _f(0x3C, "battle_y", "Int32", "int", "int", default=120, default_2k3=120, is2k3=True, doc="Battle position Y. RPG Maker 2003 only."),
144
+ _f(0x3E, "battler_animation", "Ref<BattlerAnimation>", "int", "int", default=1, default_2k3=1, is2k3=True, doc="Battler animation (battle charset; battler animation id). RPG Maker 2003 only."),
145
+ _f(0x3F, "skills", "Array<Learning>", "A:Learning", "array:Learning", default=[], default_2k3=[], persist=True, doc="Skills learned by level."),
146
+ _f(0x42, "rename_skill", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Use a custom name for the Skill battle command."),
147
+ _f(0x43, "skill_name", "DBString", "str", "str", default="", default_2k3="", doc="Custom name of the Skill battle command."),
148
+ _f(0x47, "state_ranks", "Vector<UInt8>", "int", "int", size_of=0x48),
149
+ _f(0x48, "state_ranks", "Vector<UInt8>", "u8vec", "u8", default=[], default_2k3=[], persist=True, size_id=0x47, doc="State ranks (rank per state id, index 0 is id 1: 0=A 1=B 2=C 3=D 4=E)."),
150
+ _f(0x49, "attribute_ranks", "Vector<UInt8>", "int", "int", size_of=0x4A),
151
+ _f(0x4A, "attribute_ranks", "Vector<UInt8>", "u8vec", "u8", default=[], default_2k3=[], persist=True, size_id=0x49, doc="Attribute ranks (rank per attribute id, index 0 is id 1: 0=A 1=B 2=C 3=D 4=E)."),
152
+ _f(0x50, "battle_commands", "Vector<Ref<BattleCommand:Int32>>", "i32vec", "i32", default=[], default_2k3=[], persist=True, is2k3=True, doc="Battle command ids (-1 = none). RPG Maker 2003 only."),
153
+ _f(0xC9, "easyrpg_actorai", "Int32", "int", "int", default=-1, default_2k3=-1, doc="Default autobattle AI behavior of the actor with 0=RPG_RT 1=RPG_RT+ 2=ATTACK. EasyRPG Player extension."),
154
+ _f(0xCA, "easyrpg_prevent_critical", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the actor is protected against critical hits. EasyRPG Player extension."),
155
+ _f(0xCB, "easyrpg_raise_evasion", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the actor has an increased evasion rate. EasyRPG Player extension."),
156
+ _f(0xCC, "easyrpg_immune_to_attribute_downshifts", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the actor is immune to attribute downshifts. EasyRPG Player extension."),
157
+ _f(0xCD, "easyrpg_ignore_evasion", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the actors unarmed physical attacks ignore evasion. EasyRPG Player extension."),
158
+ _f(0xCE, "easyrpg_unarmed_hit", "Int32", "int", "int", default=-1, default_2k3=-1, doc="Hit rate of the actor on unarmed attacks. EasyRPG Player extension."),
159
+ _f(0xCF, "easyrpg_unarmed_state_set", "DBBitArray", "int", "int", size_of=0xD0),
160
+ _f(0xD0, "easyrpg_unarmed_state_set", "DBBitArray", "u8vec", "bits", default=[], default_2k3=[], size_id=0xCF, doc="States inflicted by unarmed normal attacks of the actor (one flag per state id, index 0 is id 1). EasyRPG Player extension."),
161
+ _f(0xD1, "easyrpg_unarmed_state_chance", "Int32", "int", "int", default=0, default_2k3=0, doc="State infliction probability by unarmed normal attacks of the actor. EasyRPG Player extension."),
162
+ _f(0xD2, "easyrpg_unarmed_attribute_set", "DBBitArray", "int", "int", size_of=0xD3),
163
+ _f(0xD3, "easyrpg_unarmed_attribute_set", "DBBitArray", "u8vec", "bits", default=[], default_2k3=[], size_id=0xD2, doc="Attributes used by unarmed normal attacks of the actor (one flag per attribute id, index 0 is id 1). EasyRPG Player extension."),
164
+ _f(0xD4, "easyrpg_dual_attack", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the actors unarmed physical attacks hits twice. EasyRPG Player extension."),
165
+ _f(0xD5, "easyrpg_attack_all", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the actors unarmed physical targets the entire enemy party. EasyRPG Player extension."),
166
+ ),
167
+ "Sound": (
168
+ _f(0x01, "name", "String", "str", "str", default="(OFF)", default_2k3="(OFF)", persist=True, doc="File in Sound/ ('(OFF)' = none)."),
169
+ _f(0x03, "volume", "Int32", "int", "int", default=100, default_2k3=100, doc="Volume in percent."),
170
+ _f(0x04, "tempo", "Int32", "int", "int", default=100, default_2k3=100, doc="Tempo in percent."),
171
+ _f(0x05, "balance", "Int32", "int", "int", default=50, default_2k3=50, doc="Balance (0 = left, 50 = center, 100 = right)."),
172
+ ),
173
+ "AnimationTiming": (
174
+ _f(0x01, "frame", "Int32", "int", "int", default=0, default_2k3=0, doc="Frame."),
175
+ _f(0x02, "se", "Sound", "S:Sound", "struct:Sound", persist=True, doc="Se."),
176
+ _f(0x03, "flash_scope", "Enum<AnimationTiming_FlashScope>", "int", "enum:AnimationTiming_FlashScope", default="nothing", default_2k3="nothing", persist=True, doc="Flash scope (one of 'nothing', 'target', 'screen' or a number)."),
177
+ _f(0x04, "flash_red", "Int32", "int", "int", default=31, default_2k3=31, doc="Flash red."),
178
+ _f(0x05, "flash_green", "Int32", "int", "int", default=31, default_2k3=31, doc="Flash green."),
179
+ _f(0x06, "flash_blue", "Int32", "int", "int", default=31, default_2k3=31, doc="Flash blue."),
180
+ _f(0x07, "flash_power", "Int32", "int", "int", default=31, default_2k3=31, doc="Flash power."),
181
+ _f(0x08, "screen_shake", "Enum<AnimationTiming_ScreenShake>", "int", "enum:AnimationTiming_ScreenShake", default="nothing", default_2k3="nothing", doc="This field RPG2003 only but commonly found in some 2k LDB's. We disable the is2k3 field on purpose because if its defaulted in 2k it won't be written anyway (one of 'nothing', 'target', 'screen' or a number)."),
182
+ ),
183
+ "AnimationCellData": (
184
+ _f(0x01, "valid", "Int32", "int", "int", default=1, default_2k3=1, doc="Bool."),
185
+ _f(0x02, "cell_id", "Int32", "int", "int", default=0, default_2k3=0, doc="Cell id."),
186
+ _f(0x03, "x", "Int32", "int", "int", default=0, default_2k3=0, doc="X."),
187
+ _f(0x04, "y", "Int32", "int", "int", default=0, default_2k3=0, doc="Y."),
188
+ _f(0x05, "zoom", "Int32", "int", "int", default=100, default_2k3=100, doc="Zoom."),
189
+ _f(0x06, "tone_red", "Int32", "int", "int", default=100, default_2k3=100, doc="Tone red."),
190
+ _f(0x07, "tone_green", "Int32", "int", "int", default=100, default_2k3=100, doc="Tone green."),
191
+ _f(0x08, "tone_blue", "Int32", "int", "int", default=100, default_2k3=100, doc="Tone blue."),
192
+ _f(0x09, "tone_gray", "Int32", "int", "int", default=100, default_2k3=100, doc="Tone gray."),
193
+ _f(0x0A, "transparency", "Int32", "int", "int", default=0, default_2k3=0, doc="Transparency."),
194
+ ),
195
+ "AnimationFrame": (
196
+ _f(0x01, "cells", "Array<AnimationCellData>", "raw", "raw", persist=True, doc="Cells."),
197
+ ),
198
+ "Animation": (
199
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name."),
200
+ _f(0x02, "animation_name", "DBString", "str", "str", default="", default_2k3="", doc="Animation name."),
201
+ _f(0x03, "large", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Battle2 animation when true."),
202
+ _f(0x06, "timings", "Array<AnimationTiming>", "raw", "raw", persist=True, doc="Timings."),
203
+ _f(0x09, "scope", "Enum<Animation_Scope>", "int", "enum:Animation_Scope", default="target", default_2k3="target", persist=True, doc="Scope (one of 'target', 'screen' or a number)."),
204
+ _f(0x0A, "position", "Enum<Animation_Position>", "int", "enum:Animation_Position", default="down", default_2k3="down", persist=True, doc="Position (one of 'up', 'middle', 'down' or a number)."),
205
+ _f(0x0C, "frames", "Array<AnimationFrame>", "raw", "raw", persist=True, doc="Frames."),
206
+ ),
207
+ "Attribute": (
208
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name."),
209
+ _f(0x02, "type", "Enum<Attribute_Type>", "int", "enum:Attribute_Type", default="physical", default_2k3="physical", persist=True, doc="Physical or magical (one of 'physical', 'magical' or a number)."),
210
+ _f(0x0B, "a_rate", "Int32", "int", "int", default=300, default_2k3=300, doc="Damage rate for rank A in percent."),
211
+ _f(0x0C, "b_rate", "Int32", "int", "int", default=200, default_2k3=200, doc="Damage rate for rank B in percent."),
212
+ _f(0x0D, "c_rate", "Int32", "int", "int", default=100, default_2k3=100, doc="Damage rate for rank C in percent."),
213
+ _f(0x0E, "d_rate", "Int32", "int", "int", default=50, default_2k3=50, doc="Damage rate for rank D in percent."),
214
+ _f(0x0F, "e_rate", "Int32", "int", "int", default=0, default_2k3=0, doc="Damage rate for rank E in percent."),
215
+ ),
216
+ "BattleCommand": (
217
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Name."),
218
+ _f(0x02, "type", "Enum<BattleCommand_Type>", "int", "enum:BattleCommand_Type", default="attack", default_2k3="attack", doc="Type (one of 'attack', 'skill', 'subskill', 'defense', 'item', 'escape', 'special' or a number)."),
219
+ ),
220
+ "BattleCommands": (
221
+ _f(0x02, "placement", "Enum<BattleCommands_Placement>", "int", "enum:BattleCommands_Placement", default="manual", default_2k3="manual", doc="Placement (one of 'manual', 'automatic' or a number)."),
222
+ _f(0x04, "death_handler_unused", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Set by the RM2k3 Editor when you enable death handler; but has no effect in RPG_RT. RPG Maker 2003 only."),
223
+ _f(0x06, "row", "Enum<BattleCommands_RowShown>", "int", "enum:BattleCommands_RowShown", default="front", default_2k3="front", doc="Row (one of 'front', 'back' or a number)."),
224
+ _f(0x07, "battle_type", "Enum<BattleCommands_BattleType>", "int", "enum:BattleCommands_BattleType", default="traditional", default_2k3="traditional", doc="Battle type (one of 'traditional', 'alternative', 'gauge' or a number)."),
225
+ _f(0x09, "unused_display_normal_parameters", "Boolean", "bool", "bool", default=True, default_2k3=True, doc="Unused hidden checkbox Display normal parameters in RPG2003's battle settings tab."),
226
+ _f(0x0A, "commands", "Array<BattleCommand>", "raw", "raw", persist=True, doc="Commands."),
227
+ _f(0x0F, "death_handler", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="True if a 2k3 random encounter death handler is active. RPG Maker 2003 only."),
228
+ _f(0x10, "death_event", "Ref<CommonEvent>", "int", "int", default=1, default_2k3=1, doc="Death event (common event id)."),
229
+ _f(0x14, "window_size", "Enum<BattleCommands_WindowSize>", "int", "enum:BattleCommands_WindowSize", default="large", default_2k3="large", doc="Window size (one of 'large', 'small' or a number)."),
230
+ _f(0x18, "transparency", "Enum<BattleCommands_Transparency>", "int", "enum:BattleCommands_Transparency", default="opaque", default_2k3="opaque", doc="Transparency (one of 'opaque', 'transparent' or a number)."),
231
+ _f(0x19, "death_teleport", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Death teleport."),
232
+ _f(0x1A, "death_teleport_id", "Ref<Map>", "int", "int", default=1, default_2k3=1, doc="Death teleport id (map id)."),
233
+ _f(0x1B, "death_teleport_x", "Int32", "int", "int", default=0, default_2k3=0, doc="Death teleport x."),
234
+ _f(0x1C, "death_teleport_y", "Int32", "int", "int", default=0, default_2k3=0, doc="Death teleport y."),
235
+ _f(0x1D, "death_teleport_face", "Enum<BattleCommands_Facing>", "int", "enum:BattleCommands_Facing", default="retain", default_2k3="retain", doc="Death teleport face (one of 'retain', 'up', 'right', 'down', 'left' or a number)."),
236
+ _f(0xC8, "easyrpg_default_atb_mode", "Enum<SaveSystem_AtbMode>", "int", "enum:SaveSystem_AtbMode", default="atb_active", default_2k3="atb_active", is2k3=True, doc="Default ATB mode of RPG 2003 battle system (one of 'atb_active', 'atb_wait' or a number). RPG Maker 2003 only. EasyRPG Player extension."),
237
+ _f(0xC9, "easyrpg_enable_battle_row_command", "Boolean", "bool", "bool", default=True, default_2k3=True, is2k3=True, doc="If the row command should be enabled in RPG Maker 2003 battles. RPG Maker 2003 only. EasyRPG Player extension."),
238
+ _f(0xCA, "easyrpg_sequential_order", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="If alternative and gauge style battles should behave like traditional style battles. RPG Maker 2003 only. EasyRPG Player extension."),
239
+ _f(0xCB, "easyrpg_disable_row_feature", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="If the row feature should be disabled in RPG Maker 2003 games. RPG Maker 2003 only. EasyRPG Player extension."),
240
+ _f(0xCC, "easyrpg_fixed_actor_facing_direction", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="If actor facing direction shouldn't ever change during battle. Applies only to Normal and Initiative battle types (0=Disabled, 1=Always flipped, 2=Never flipped). RPG Maker 2003 only. EasyRPG Player extension."),
241
+ _f(0xCD, "easyrpg_fixed_enemy_facing_direction", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="If enemy facing direction shouldn't ever change during battle. Applies only to Normal and Initiative battle types (0=Disabled, 1=Always flipped, 2=Never flipped). RPG Maker 2003 only. EasyRPG Player extension."),
242
+ ),
243
+ "BattlerAnimation": (
244
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", is2k3=True, doc="Name. RPG Maker 2003 only."),
245
+ _f(0x02, "speed", "Enum<BattlerAnimation_Speed>", "int", "enum:BattlerAnimation_Speed", default="slow", default_2k3="slow", is2k3=True, doc="Animation speed (one of 'slow', 'medium', 'fast' or a number). RPG Maker 2003 only."),
246
+ _f(0x0A, "poses", "Array<BattlerAnimationPose>", "A:BattlerAnimationPose", "array:BattlerAnimationPose", default=[], default_2k3=[], persist=True, is2k3=True, doc="Poses (Idle, AttackRight, AttackLeft, Skill, Dead, Damage, Dazed, Defend, WalkLeft, WalkRight, Victory, Item, ...). RPG Maker 2003 only."),
247
+ _f(0x0B, "weapons", "Array<BattlerAnimationWeapon>", "A:BattlerAnimationWeapon", "array:BattlerAnimationWeapon", default=[], default_2k3=[], persist=True, is2k3=True, doc="Weapon graphics. RPG Maker 2003 only."),
248
+ ),
249
+ "BattlerAnimationItemSkill": (
250
+ _f(0x02, "unknown02", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Unknown02. RPG Maker 2003 only."),
251
+ _f(0x03, "type", "Enum<BattlerAnimationItemSkill_AnimType>", "int", "enum:BattlerAnimationItemSkill_AnimType", default="weapon", default_2k3="weapon", is2k3=True, doc="Type (one of 'weapon', 'battle' or a number). RPG Maker 2003 only."),
252
+ _f(0x04, "weapon_animation_id", "Ref<BattlerAnimationWeapon>", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Weapon animation id (battler animation weapon id). RPG Maker 2003 only."),
253
+ _f(0x05, "movement", "Enum<BattlerAnimationItemSkill_Movement>", "int", "enum:BattlerAnimationItemSkill_Movement", default="none", default_2k3="none", is2k3=True, doc="Movement (one of 'none', 'step', 'jump', 'move' or a number). RPG Maker 2003 only."),
254
+ _f(0x06, "after_image", "Enum<BattlerAnimationItemSkill_Afterimage>", "int", "enum:BattlerAnimationItemSkill_Afterimage", default="none", default_2k3="none", is2k3=True, doc="After image (one of 'none', 'add' or a number). RPG Maker 2003 only."),
255
+ _f(0x07, "attacks", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Attacks. RPG Maker 2003 only."),
256
+ _f(0x08, "ranged", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Ranged. RPG Maker 2003 only."),
257
+ _f(0x09, "ranged_animation_id", "Ref<BattlerAnimationWeapon>", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Ranged animation id (battler animation weapon id). RPG Maker 2003 only."),
258
+ _f(0x0C, "ranged_speed", "Enum<BattlerAnimationItemSkill_Speed>", "int", "enum:BattlerAnimationItemSkill_Speed", default="fast", default_2k3="fast", is2k3=True, doc="Ranged speed (one of 'fast', 'medium', 'slow' or a number). RPG Maker 2003 only."),
259
+ _f(0x0D, "battle_animation_id", "Ref<Animation>", "int", "int", default=1, default_2k3=1, is2k3=True, doc="Battle animation id (battle animation id). RPG Maker 2003 only."),
260
+ _f(0x0E, "pose", "Ref<BattlerAnimationPose>", "int", "int", default=3, default_2k3=3, is2k3=True, doc="Pose (battler animation pose id). RPG Maker 2003 only."),
261
+ ),
262
+ "BattlerAnimationPose": (
263
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", is2k3=True, doc="Name. RPG Maker 2003 only."),
264
+ _f(0x02, "battler_name", "DBString", "str", "str", default="", default_2k3="", is2k3=True, doc="Battle CharSet file. RPG Maker 2003 only."),
265
+ _f(0x03, "battler_index", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Index inside the file. RPG Maker 2003 only."),
266
+ _f(0x04, "animation_type", "Enum<BattlerAnimationPose_AnimType>", "int", "enum:BattlerAnimationPose_AnimType", default="character", default_2k3="character", is2k3=True, doc="Battle CharSet or battle animation (one of 'character', 'battle' or a number). RPG Maker 2003 only."),
267
+ _f(0x05, "battle_animation_id", "Ref<Animation>", "int", "int", default=1, default_2k3=1, is2k3=True, doc="Battle animation (animation_type='battle'; battle animation id). RPG Maker 2003 only."),
268
+ ),
269
+ "BattlerAnimationWeapon": (
270
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", is2k3=True, doc="Name. RPG Maker 2003 only."),
271
+ _f(0x02, "weapon_name", "DBString", "str", "str", default="", default_2k3="", is2k3=True, doc="Weapon graphic file. RPG Maker 2003 only."),
272
+ _f(0x03, "weapon_index", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Index inside the file. RPG Maker 2003 only."),
273
+ ),
274
+ "Chipset": (
275
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name."),
276
+ _f(0x02, "chipset_name", "DBString", "str", "str", default="", default_2k3="", doc="Chipset name."),
277
+ _f(0x03, "terrain_data", "Vector<Int16>", "i16vec", "i16", default=[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], default_2k3=[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], doc="Short x 162."),
278
+ _f(0x04, "passable_data_lower", "Vector<UInt8>", "u8vec", "u8", default=[15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15], default_2k3=[15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15], doc="Bitflag x 162."),
279
+ _f(0x05, "passable_data_upper", "Vector<UInt8>", "u8vec", "u8", default=[31, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15], default_2k3=[31, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15], doc="Bitflag x 144."),
280
+ _f(0x0B, "animation_type", "Enum<Chipset_AnimType>", "int", "enum:Chipset_AnimType", default="reciprocating", default_2k3="reciprocating", doc="Animation type (one of 'reciprocating', 'cyclic' or a number)."),
281
+ _f(0x0C, "animation_speed", "Int32", "int", "int", default=0, default_2k3=0, doc="Animation speed."),
282
+ ),
283
+ "Class": (
284
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name."),
285
+ _f(0x15, "two_weapon", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Two weapon."),
286
+ _f(0x16, "lock_equipment", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Lock equipment."),
287
+ _f(0x17, "auto_battle", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Auto battle."),
288
+ _f(0x18, "super_guard", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Super guard."),
289
+ _f(0x1F, "parameters", "Parameters", "i16vec", "params", doc="Max HP/SP, attack, defense, spirit and agility per level."),
290
+ _f(0x29, "exp_base", "Int32", "int", "int", default=300, default_2k3=300, doc="Exp base."),
291
+ _f(0x2A, "exp_inflation", "Int32", "int", "int", default=300, default_2k3=300, doc="Exp inflation."),
292
+ _f(0x2B, "exp_correction", "Int32", "int", "int", default=0, default_2k3=0, doc="Exp correction."),
293
+ _f(0x3E, "battler_animation", "Ref<Animation>", "int", "int", default=0, default_2k3=0, doc="Battler animation (battle charset; battle animation id)."),
294
+ _f(0x3F, "skills", "Array<Learning>", "A:Learning", "array:Learning", default=[], default_2k3=[], persist=True, doc="Skills learned by level."),
295
+ _f(0x47, "state_ranks", "Vector<UInt8>", "int", "int", size_of=0x48),
296
+ _f(0x48, "state_ranks", "Vector<UInt8>", "u8vec", "u8", default=[], default_2k3=[], persist=True, size_id=0x47, doc="State ranks (rank per state id, index 0 is id 1: 0=A 1=B 2=C 3=D 4=E)."),
297
+ _f(0x49, "attribute_ranks", "Vector<UInt8>", "int", "int", size_of=0x4A),
298
+ _f(0x4A, "attribute_ranks", "Vector<UInt8>", "u8vec", "u8", default=[], default_2k3=[], persist=True, size_id=0x49, doc="Attribute ranks (rank per attribute id, index 0 is id 1: 0=A 1=B 2=C 3=D 4=E)."),
299
+ _f(0x50, "battle_commands", "Vector<Ref<BattleCommand:Int32>>", "i32vec", "i32", default=[], default_2k3=[], persist=True, doc="Battle command ids (-1 = none)."),
300
+ ),
301
+ "CommonEvent": (
302
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name."),
303
+ _f(0x0B, "trigger", "Enum<CommonEvent_Trigger>", "int", "enum:CommonEvent_Trigger", default="call", default_2k3="call", persist=True, doc="Trigger (one of 'automatic', 'parallel', 'call', 'maniac_battle_start', 'maniac_battle_parallel' or a number)."),
304
+ _f(0x0C, "switch_flag", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Switch flag."),
305
+ _f(0x0D, "switch_id", "Ref<Switch>", "int", "int", default=1, default_2k3=1, doc="Switch id (switch id)."),
306
+ _f(0x15, "event_commands", "Vector<EventCommand>", "int", "int", persist=True, size_of=0x16),
307
+ _f(0x16, "event_commands", "Vector<EventCommand>", "raw", "raw", persist=True, size_id=0x15, doc="Event commands."),
308
+ ),
309
+ "Skill": (
310
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name."),
311
+ _f(0x02, "description", "DBString", "str", "str", default="", default_2k3="", doc="Help text."),
312
+ _f(0x03, "using_message1", "DBString", "str", "str", default="", default_2k3="", doc="Battle message when used (first line). RPG Maker 2000 only."),
313
+ _f(0x04, "using_message2", "DBString", "str", "str", default="", default_2k3="", doc="Battle message when used (second line). RPG Maker 2000 only."),
314
+ _f(0x07, "failure_message", "Int32", "int", "int", default=0, default_2k3=0, doc="Message shown when the skill fails. RPG Maker 2000 only."),
315
+ _f(0x08, "type", "Enum<Skill_Type>", "int", "enum:Skill_Type", default="normal", default_2k3="normal", persist=True, doc="Type (one of 'normal', 'teleport', 'escape', 'switch', 'subskill' or a number)."),
316
+ _f(0x09, "sp_type", "Enum<Skill_SpType>", "int", "enum:Skill_SpType", default="cost", default_2k3="cost", is2k3=True, doc="SP cost unit (one of 'cost', 'percent' or a number). RPG Maker 2003 only."),
317
+ _f(0x0A, "sp_percent", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="SP cost in percent of max SP. RPG Maker 2003 only."),
318
+ _f(0x0B, "sp_cost", "Int32", "int", "int", default=0, default_2k3=0, doc="SP cost."),
319
+ _f(0x0C, "scope", "Enum<Skill_Scope>", "int", "enum:Skill_Scope", default="enemy", default_2k3="enemy", persist=True, doc="Target (one of 'enemy', 'enemies', 'self', 'ally', 'party' or a number)."),
320
+ _f(0x0D, "switch_id", "Ref<Switch>", "int", "int", default=1, default_2k3=1, doc="Switch turned ON by switch skills (switch id)."),
321
+ _f(0x0E, "animation_id", "Ref<Animation>", "int", "int", default=1, default_2k3=1, doc="Battle animation (battle animation id)."),
322
+ _f(0x10, "sound_effect", "Sound", "S:Sound", "struct:Sound", persist=True, doc="Sound of teleport/escape/switch skills."),
323
+ _f(0x12, "occasion_field", "Boolean", "bool", "bool", default=True, default_2k3=True, doc="Usable on the map."),
324
+ _f(0x13, "occasion_battle", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Usable in battle."),
325
+ _f(0x14, "reverse_state_effect", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Inflict the states instead of curing them. RPG Maker 2003 only."),
326
+ _f(0x15, "physical_rate", "Int32", "int", "int", default=0, default_2k3=0, doc="Attack influence (0-10)."),
327
+ _f(0x16, "magical_rate", "Int32", "int", "int", default=3, default_2k3=3, doc="Spirit influence (0-10)."),
328
+ _f(0x17, "variance", "Int32", "int", "int", default=4, default_2k3=4, doc="Damage variance (0-10)."),
329
+ _f(0x18, "power", "Int32", "int", "int", default=0, default_2k3=0, doc="Base effect value."),
330
+ _f(0x19, "hit", "Int32", "int", "int", default=100, default_2k3=100, doc="Success rate in percent."),
331
+ _f(0x1F, "affect_hp", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Affect hp."),
332
+ _f(0x20, "affect_sp", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Affect sp."),
333
+ _f(0x21, "affect_attack", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Affect attack."),
334
+ _f(0x22, "affect_defense", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Affect defense."),
335
+ _f(0x23, "affect_spirit", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Affect spirit."),
336
+ _f(0x24, "affect_agility", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Affect agility."),
337
+ _f(0x25, "absorb_damage", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Absorb the damage."),
338
+ _f(0x26, "ignore_defense", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Ignore the target's defense."),
339
+ _f(0x29, "state_effects", "DBBitArray", "int", "int", size_of=0x2A),
340
+ _f(0x2A, "state_effects", "DBBitArray", "u8vec", "bits", default=[], default_2k3=[], persist=True, size_id=0x29, doc="States changed by the skill (one flag per state id, index 0 is id 1)."),
341
+ _f(0x2B, "attribute_effects", "DBBitArray", "int", "int", size_of=0x2C),
342
+ _f(0x2C, "attribute_effects", "DBBitArray", "u8vec", "bits", default=[], default_2k3=[], persist=True, size_id=0x2B, doc="Attributes of the skill (one flag per attribute id, index 0 is id 1)."),
343
+ _f(0x2D, "affect_attr_defence", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Lower the target's resistance to the attributes."),
344
+ _f(0x31, "battler_animation", "Ref<Actor>", "int", "int", default=-1, default_2k3=-1, is2k3=True, doc="Battler animation used (actor id). RPG Maker 2003 only."),
345
+ _f(0x32, "battler_animation_data", "Array<BattlerAnimationItemSkill:Ref<Actor>>", "A:BattlerAnimationItemSkill", "array:BattlerAnimationItemSkill", default=[], default_2k3=[], persist=True, is2k3=True, doc="Battle animation settings per actor. RPG Maker 2003 only."),
346
+ _f(0xC9, "easyrpg_battle2k3_message", "DBString", "str", "str", default="default_message", default_2k3="default_message", is2k3=True, doc="RPG Maker 2003 battle skill start notification. RPG Maker 2003 only. EasyRPG Player extension."),
347
+ _f(0xCA, "easyrpg_ignore_reflect", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="If the skill bypasses reflect states. Useful for physical skills and skills which are meant to remove positive states from enemies. RPG Maker 2003 only. EasyRPG Player extension."),
348
+ _f(0xCB, "easyrpg_state_hit", "Int32", "int", "int", default=-1, default_2k3=-1, doc="Separate accuracy value for state inflictions. EasyRPG Player extension."),
349
+ _f(0xCC, "easyrpg_attribute_hit", "Int32", "int", "int", default=-1, default_2k3=-1, doc="Separate accuracy value for attribute shifts. EasyRPG Player extension."),
350
+ _f(0xCD, "easyrpg_ignore_restrict_skill", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the skill should bypass skill restrictions by states. EasyRPG Player extension."),
351
+ _f(0xCE, "easyrpg_ignore_restrict_magic", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the skill should bypass magic restrictions by states. EasyRPG Player extension."),
352
+ _f(0xCF, "easyrpg_enable_stat_absorbing", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the skill can absorb attack/defense/spirit/agility. EasyRPG Player extension."),
353
+ _f(0xD0, "easyrpg_affected_by_evade_all_physical_attacks", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="If the skill should be affected by avoid attack states. RPG Maker 2003 only. EasyRPG Player extension."),
354
+ _f(0xD1, "easyrpg_critical_hit_chance", "Int32", "int", "int", default=0, default_2k3=0, doc="Critical hit rate percentage for the skill. If negative then the battler critical hit rate is used. EasyRPG Player extension."),
355
+ _f(0xD2, "easyrpg_affected_by_row_modifiers", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="If the skill is affected by row modifiers. RPG Maker 2003 only. EasyRPG Player extension."),
356
+ _f(0xD3, "easyrpg_hp_type", "Enum<Skill_SpType>", "int", "enum:Skill_SpType", default="cost", default_2k3="cost", is2k3=True, doc="If the HP usage of the skill is a fixed number or in percent of the maximum HP (one of 'cost', 'percent' or a number). RPG Maker 2003 only. EasyRPG Player extension."),
357
+ _f(0xD4, "easyrpg_hp_percent", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="How much percent of the maximum HP does the usage of the skill cost. RPG Maker 2003 only. EasyRPG Player extension."),
358
+ _f(0xD5, "easyrpg_hp_cost", "Int32", "int", "int", default=0, default_2k3=0, doc="How much HP does the usage of the skill cost. EasyRPG Player extension."),
359
+ ),
360
+ "Item": (
361
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name."),
362
+ _f(0x02, "description", "DBString", "str", "str", default="", default_2k3="", doc="Help text."),
363
+ _f(0x03, "type", "Enum<Item_Type>", "int", "enum:Item_Type", default="normal", default_2k3="normal", persist=True, doc="Type (one of 'normal', 'weapon', 'shield', 'armor', 'helmet', 'accessory', 'medicine', 'book', 'material', 'special', 'switch' or a number)."),
364
+ _f(0x05, "price", "Int32", "int", "int", default=0, default_2k3=0, doc="Shop price."),
365
+ _f(0x06, "uses", "Int32", "int", "int", default=1, default_2k3=1, doc="Number of uses (0 = unlimited)."),
366
+ _f(0x0B, "atk_points1", "Int32", "int", "int", default=0, default_2k3=0, doc="Attack bonus (equipment)."),
367
+ _f(0x0C, "def_points1", "Int32", "int", "int", default=0, default_2k3=0, doc="Defense bonus (equipment)."),
368
+ _f(0x0D, "spi_points1", "Int32", "int", "int", default=0, default_2k3=0, doc="Spirit bonus (equipment)."),
369
+ _f(0x0E, "agi_points1", "Int32", "int", "int", default=0, default_2k3=0, doc="Agility bonus (equipment)."),
370
+ _f(0x0F, "two_handed", "Boolean", "bool", "bool", default=False, default_2k3=False, persist=True, doc="Two-handed weapon."),
371
+ _f(0x10, "sp_cost", "Int32", "int", "int", default=0, default_2k3=0, doc="SP consumed per attack."),
372
+ _f(0x11, "hit", "Int32", "int", "int", default=90, default_2k3=90, doc="Hit rate in percent."),
373
+ _f(0x12, "critical_hit", "Int32", "int", "int", default=0, default_2k3=0, doc="Critical hit bonus in percent."),
374
+ _f(0x14, "animation_id", "Ref<Animation>", "int", "int", default=1, default_2k3=1, doc="Battle animation (battle animation id)."),
375
+ _f(0x15, "preemptive", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Attack first."),
376
+ _f(0x16, "dual_attack", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Attack twice."),
377
+ _f(0x17, "attack_all", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Attack all enemies."),
378
+ _f(0x18, "ignore_evasion", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Ignore evasion."),
379
+ _f(0x19, "prevent_critical", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Prevent critical hits."),
380
+ _f(0x1A, "raise_evasion", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Raise evasion."),
381
+ _f(0x1B, "half_sp_cost", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Halve SP costs."),
382
+ _f(0x1C, "no_terrain_damage", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="No terrain damage."),
383
+ _f(0x1D, "cursed", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Cursed (cannot be unequipped). RPG Maker 2003 only."),
384
+ _f(0x1F, "entire_party", "Boolean", "bool", "bool", default=False, default_2k3=False, persist=True, doc="Medicine affects the entire party."),
385
+ _f(0x20, "recover_hp_rate", "Int32", "int", "int", default=0, default_2k3=0, doc="HP recovered in percent."),
386
+ _f(0x21, "recover_hp", "Int32", "int", "int", default=0, default_2k3=0, doc="HP recovered."),
387
+ _f(0x22, "recover_sp_rate", "Int32", "int", "int", default=0, default_2k3=0, doc="SP recovered in percent."),
388
+ _f(0x23, "recover_sp", "Int32", "int", "int", default=0, default_2k3=0, doc="SP recovered."),
389
+ _f(0x25, "occasion_field1", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Medicine usable on the map only."),
390
+ _f(0x26, "ko_only", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Only usable on knocked out actors."),
391
+ _f(0x29, "max_hp_points", "Int32", "int", "int", default=0, default_2k3=0, doc="Max HP increase (books/material)."),
392
+ _f(0x2A, "max_sp_points", "Int32", "int", "int", default=0, default_2k3=0, doc="Max SP increase (books/material)."),
393
+ _f(0x2B, "atk_points2", "Int32", "int", "int", default=0, default_2k3=0, doc="Attack increase (books/material)."),
394
+ _f(0x2C, "def_points2", "Int32", "int", "int", default=0, default_2k3=0, doc="Defense increase (books/material)."),
395
+ _f(0x2D, "spi_points2", "Int32", "int", "int", default=0, default_2k3=0, doc="Spirit increase (books/material)."),
396
+ _f(0x2E, "agi_points2", "Int32", "int", "int", default=0, default_2k3=0, doc="Agility increase (books/material)."),
397
+ _f(0x33, "using_message", "Int32", "int", "int", default=0, default_2k3=0, persist=True, doc="Message shown when used (0 = default)."),
398
+ _f(0x35, "skill_id", "Ref<Skill>", "int", "int", default=1, default_2k3=1, doc="Skill invoked by special items (skill id)."),
399
+ _f(0x37, "switch_id", "Ref<Switch>", "int", "int", default=1, default_2k3=1, doc="Switch turned ON by switch items (switch id)."),
400
+ _f(0x39, "occasion_field2", "Boolean", "bool", "bool", default=True, default_2k3=True, doc="Switch item usable on the map."),
401
+ _f(0x3A, "occasion_battle", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Switch item usable in battle."),
402
+ _f(0x3D, "actor_set", "DBBitArray", "int", "int", size_of=0x3E),
403
+ _f(0x3E, "actor_set", "DBBitArray", "u8vec", "bits", default=[], default_2k3=[], persist=True, size_id=0x3D, doc="Actors who can use/equip the item (one flag per actor id, index 0 is id 1)."),
404
+ _f(0x3F, "state_set", "DBBitArray", "int", "int", size_of=0x40),
405
+ _f(0x40, "state_set", "DBBitArray", "u8vec", "bits", default=[], default_2k3=[], persist=True, size_id=0x3F, doc="States changed by the item (one flag per state id, index 0 is id 1)."),
406
+ _f(0x41, "attribute_set", "DBBitArray", "int", "int", size_of=0x42),
407
+ _f(0x42, "attribute_set", "DBBitArray", "u8vec", "bits", default=[], default_2k3=[], persist=True, size_id=0x41, doc="Attributes of the item (one flag per attribute id, index 0 is id 1)."),
408
+ _f(0x43, "state_chance", "Int32", "int", "int", default=0, default_2k3=0, doc="State change probability in percent."),
409
+ _f(0x44, "reverse_state_effect", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Inflict the states instead of curing them."),
410
+ _f(0x45, "weapon_animation", "Ref<Actor>", "int", "int", default=-1, default_2k3=-1, is2k3=True, doc="Weapon animation (actor id). RPG Maker 2003 only."),
411
+ _f(0x46, "animation_data", "Array<BattlerAnimationItemSkill:Ref<Actor>>", "A:BattlerAnimationItemSkill", "array:BattlerAnimationItemSkill", default=[], default_2k3=[], persist=True, is2k3=True, doc="Battle animation settings per actor. RPG Maker 2003 only."),
412
+ _f(0x47, "use_skill", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Weapon/armor invokes its skill when used. RPG Maker 2003 only."),
413
+ _f(0x48, "class_set", "DBBitArray", "int", "int", is2k3=True, size_of=0x49),
414
+ _f(0x49, "class_set", "DBBitArray", "u8vec", "bits", default=[], default_2k3=[], persist=True, is2k3=True, size_id=0x48, doc="Classes who can use/equip the item (one flag per class id, index 0 is id 1). RPG Maker 2003 only."),
415
+ _f(0x4B, "ranged_trajectory", "Enum<Item_Trajectory>", "int", "enum:Item_Trajectory", default="straight", default_2k3="straight", doc="Trajectory of ranged weapons (one of 'straight', 'return' or a number)."),
416
+ _f(0x4C, "ranged_target", "Enum<Item_Target>", "int", "enum:Item_Target", default="single", default_2k3="single", doc="Target of ranged weapons (one of 'single', 'center', 'simultaneous', 'sequential' or a number)."),
417
+ _f(0xC9, "easyrpg_using_message", "DBString", "str", "str", default="default_message", default_2k3="default_message", doc="Item usage message in battle. EasyRPG Player extension."),
418
+ _f(0xCA, "easyrpg_max_count", "Int32", "int", "int", default=-1, default_2k3=-1, doc="How many the player can carry of this item. EasyRPG Player extension."),
419
+ ),
420
+ "EnemyAction": (
421
+ _f(0x01, "kind", "Enum<EnemyAction_Kind>", "int", "enum:EnemyAction_Kind", default="basic", default_2k3="basic", persist=True, doc="Action type (one of 'basic', 'skill', 'transformation' or a number)."),
422
+ _f(0x02, "basic", "Enum<EnemyAction_Basic>", "int", "enum:EnemyAction_Basic", default="dual_attack", default_2k3="dual_attack", persist=True, doc="Basic action (kind='basic'; one of 'attack', 'dual_attack', 'defense', 'observe', 'charge', 'autodestruction', 'escape', 'nothing' or a number)."),
423
+ _f(0x03, "skill_id", "Ref<Skill>", "int", "int", default=1, default_2k3=1, doc="Skill (kind='skill'; skill id)."),
424
+ _f(0x04, "enemy_id", "Ref<Enemy>", "int", "int", default=1, default_2k3=1, doc="Monster to transform into (kind='transformation'; monster id)."),
425
+ _f(0x05, "condition_type", "Enum<EnemyAction_ConditionType>", "int", "enum:EnemyAction_ConditionType", default="always", default_2k3="always", persist=True, doc="Condition (one of 'always', 'switch', 'turn', 'actors', 'hp', 'sp', 'party_lvl', 'party_fatigue' or a number)."),
426
+ _f(0x06, "condition_param1", "Int32", "int", "int", default=0, default_2k3=0, doc="Condition: first value (switch id, turn, %, level...)."),
427
+ _f(0x07, "condition_param2", "Int32", "int", "int", default=0, default_2k3=0, doc="Condition: second value."),
428
+ _f(0x08, "switch_id", "Ref<Switch>", "int", "int", default=1, default_2k3=1, doc="Condition switch (switch id)."),
429
+ _f(0x09, "switch_on", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Turn a switch ON after the action."),
430
+ _f(0x0A, "switch_on_id", "Ref<Switch>", "int", "int", default=1, default_2k3=1, doc="Switch turned ON (switch id)."),
431
+ _f(0x0B, "switch_off", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Turn a switch OFF after the action."),
432
+ _f(0x0C, "switch_off_id", "Ref<Switch>", "int", "int", default=1, default_2k3=1, doc="Switch turned OFF (switch id)."),
433
+ _f(0x0D, "rating", "Int32", "int", "int", default=50, default_2k3=50, doc="Priority (1-10 in the editor)."),
434
+ ),
435
+ "Enemy": (
436
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name."),
437
+ _f(0x02, "battler_name", "DBString", "str", "str", default="", default_2k3="", doc="Monster graphic."),
438
+ _f(0x03, "battler_hue", "Int32", "int", "int", default=0, default_2k3=0, doc="Hue shift of the graphic."),
439
+ _f(0x04, "max_hp", "Int32", "int", "int", default=10, default_2k3=10, doc="Max hp."),
440
+ _f(0x05, "max_sp", "Int32", "int", "int", default=10, default_2k3=10, doc="Max sp."),
441
+ _f(0x06, "attack", "Int32", "int", "int", default=10, default_2k3=10, doc="Attack."),
442
+ _f(0x07, "defense", "Int32", "int", "int", default=10, default_2k3=10, doc="Defense."),
443
+ _f(0x08, "spirit", "Int32", "int", "int", default=10, default_2k3=10, doc="Spirit."),
444
+ _f(0x09, "agility", "Int32", "int", "int", default=10, default_2k3=10, doc="Agility."),
445
+ _f(0x0A, "transparent", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Draw translucent."),
446
+ _f(0x0B, "exp", "Int32", "int", "int", default=0, default_2k3=0, doc="Experience given."),
447
+ _f(0x0C, "gold", "Int32", "int", "int", default=0, default_2k3=0, doc="Gold dropped."),
448
+ _f(0x0D, "drop_id", "Ref<Item>", "int", "int", default=0, default_2k3=0, doc="Dropped item (0 = none; item id)."),
449
+ _f(0x0E, "drop_prob", "Int32", "int", "int", default=100, default_2k3=100, doc="Drop probability in percent."),
450
+ _f(0x0F, "maniac_unarmed_animation", "Ref<Animation>", "int", "int", default=1, default_2k3=1, doc="Animation for normal enemy attacks (Maniac Patch only; battle animation id). Maniac Patch extension."),
451
+ _f(0x15, "critical_hit", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Can land critical hits."),
452
+ _f(0x16, "critical_hit_chance", "Int32", "int", "int", default=30, default_2k3=30, doc="Critical hit probability: 1 in N."),
453
+ _f(0x1A, "miss", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Attacks often miss."),
454
+ _f(0x1C, "levitate", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Flying (floats up and down)."),
455
+ _f(0x1F, "state_ranks", "Vector<UInt8>", "int", "int", size_of=0x20),
456
+ _f(0x20, "state_ranks", "Vector<UInt8>", "u8vec", "u8", default=[], default_2k3=[], persist=True, size_id=0x1F, doc="State ranks (rank per state id, index 0 is id 1: 0=A 1=B 2=C 3=D 4=E)."),
457
+ _f(0x21, "attribute_ranks", "Vector<UInt8>", "int", "int", size_of=0x22),
458
+ _f(0x22, "attribute_ranks", "Vector<UInt8>", "u8vec", "u8", default=[], default_2k3=[], persist=True, size_id=0x21, doc="Attribute ranks (rank per attribute id, index 0 is id 1: 0=A 1=B 2=C 3=D 4=E)."),
459
+ _f(0x2A, "actions", "Array<EnemyAction>", "A:EnemyAction", "array:EnemyAction", default=[], default_2k3=[], persist=True, doc="Action pattern."),
460
+ _f(0xC9, "easyrpg_enemyai", "Int32", "int", "int", default=-1, default_2k3=-1, doc="Default AI behavior of the enemy with 0=RPG_RT 1=RPG_RT+. EasyRPG Player extension."),
461
+ _f(0xCA, "easyrpg_prevent_critical", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the enemy is protected against critical hits. EasyRPG Player extension."),
462
+ _f(0xCB, "easyrpg_raise_evasion", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the enemy has an increased evasion rate. EasyRPG Player extension."),
463
+ _f(0xCC, "easyrpg_immune_to_attribute_downshifts", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the enemy is immune to attribute downshifts. EasyRPG Player extension."),
464
+ _f(0xCD, "easyrpg_ignore_evasion", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the enemies unarmed physical attacks ignore evasion. EasyRPG Player extension."),
465
+ _f(0xCE, "easyrpg_hit", "Int32", "int", "int", default=-1, default_2k3=-1, doc="Hit rate of the enemy on normal attacks. EasyRPG Player extension."),
466
+ _f(0xCF, "easyrpg_state_set", "DBBitArray", "int", "int", size_of=0xD0),
467
+ _f(0xD0, "easyrpg_state_set", "DBBitArray", "u8vec", "bits", default=[], default_2k3=[], size_id=0xCF, doc="States inflicted by normal attacks of the enemy (one flag per state id, index 0 is id 1). EasyRPG Player extension."),
468
+ _f(0xD1, "easyrpg_state_chance", "Int32", "int", "int", default=0, default_2k3=0, doc="State infliction probability by normal attacks of the enemy. EasyRPG Player extension."),
469
+ _f(0xD2, "easyrpg_attribute_set", "DBBitArray", "int", "int", size_of=0xD3),
470
+ _f(0xD3, "easyrpg_attribute_set", "DBBitArray", "u8vec", "bits", default=[], default_2k3=[], size_id=0xD2, doc="Attributes used by normal attacks of the enemy (one flag per attribute id, index 0 is id 1). EasyRPG Player extension."),
471
+ _f(0xD4, "easyrpg_super_guard", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the enemies defend action quarters instead of halves HP damage. EasyRPG Player extension."),
472
+ _f(0xD5, "easyrpg_attack_all", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the enemies unarmed physical targets the entire player party. EasyRPG Player extension."),
473
+ ),
474
+ "TroopMember": (
475
+ _f(0x01, "enemy_id", "Ref<Enemy>", "int", "int", default=1, default_2k3=1, doc="Monster (monster id)."),
476
+ _f(0x02, "x", "Int32", "int", "int", default=0, default_2k3=0, doc="Screen position X."),
477
+ _f(0x03, "y", "Int32", "int", "int", default=0, default_2k3=0, doc="Screen position Y."),
478
+ _f(0x04, "invisible", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Hidden until shown by an event."),
479
+ ),
480
+ "TroopPageCondition": (
481
+ _f(0x01, "flags", "TroopPageCondition_Flags", "u8vec", "flags:TroopPageCondition_Flags", persist=True, doc="Flags."),
482
+ _f(0x02, "switch_a_id", "Ref<Switch>", "int", "int", default=1, default_2k3=1, doc="Switch a id (switch id)."),
483
+ _f(0x03, "switch_b_id", "Ref<Switch>", "int", "int", default=1, default_2k3=1, doc="Switch b id (switch id)."),
484
+ _f(0x04, "variable_id", "Ref<Variable>", "int", "int", default=1, default_2k3=1, doc="Variable id (variable id)."),
485
+ _f(0x05, "variable_value", "Int32", "int", "int", default=0, default_2k3=0, doc="Variable value."),
486
+ _f(0x06, "turn_a", "Int32", "int", "int", default=0, default_2k3=0, doc="Turn a."),
487
+ _f(0x07, "turn_b", "Int32", "int", "int", default=0, default_2k3=0, doc="Turn b."),
488
+ _f(0x08, "fatigue_min", "Int32", "int", "int", default=0, default_2k3=0, doc="Fatigue min."),
489
+ _f(0x09, "fatigue_max", "Int32", "int", "int", default=100, default_2k3=100, doc="Fatigue max."),
490
+ _f(0x0A, "enemy_id", "Int32", "int", "int", default=0, default_2k3=0, doc="Enemy id."),
491
+ _f(0x0B, "enemy_hp_min", "Int32", "int", "int", default=0, default_2k3=0, doc="Enemy hp min."),
492
+ _f(0x0C, "enemy_hp_max", "Int32", "int", "int", default=100, default_2k3=100, doc="Enemy hp max."),
493
+ _f(0x0D, "actor_id", "Ref<Actor>", "int", "int", default=1, default_2k3=1, doc="Actor id (actor id)."),
494
+ _f(0x0E, "actor_hp_min", "Int32", "int", "int", default=0, default_2k3=0, doc="Actor hp min."),
495
+ _f(0x0F, "actor_hp_max", "Int32", "int", "int", default=100, default_2k3=100, doc="Actor hp max."),
496
+ _f(0x10, "turn_enemy_id", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Turn enemy id. RPG Maker 2003 only."),
497
+ _f(0x11, "turn_enemy_a", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Turn enemy a. RPG Maker 2003 only."),
498
+ _f(0x12, "turn_enemy_b", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Turn enemy b. RPG Maker 2003 only."),
499
+ _f(0x13, "turn_actor_id", "Ref<Actor>", "int", "int", default=1, default_2k3=1, is2k3=True, doc="Turn actor id (actor id). RPG Maker 2003 only."),
500
+ _f(0x14, "turn_actor_a", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Turn actor a. RPG Maker 2003 only."),
501
+ _f(0x15, "turn_actor_b", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Turn actor b. RPG Maker 2003 only."),
502
+ _f(0x16, "command_actor_id", "Ref<Actor>", "int", "int", default=1, default_2k3=1, is2k3=True, doc="Command actor id (actor id). RPG Maker 2003 only."),
503
+ _f(0x17, "command_id", "Ref<BattleCommand>", "int", "int", default=1, default_2k3=1, is2k3=True, doc="Command id (battle command id). RPG Maker 2003 only."),
504
+ ),
505
+ "TroopPage": (
506
+ _f(0x02, "condition", "TroopPageCondition", "raw", "raw", persist=True, doc="Condition."),
507
+ _f(0x0B, "event_commands", "Vector<EventCommand>", "int", "int", persist=True, size_of=0x0C),
508
+ _f(0x0C, "event_commands", "Vector<EventCommand>", "raw", "raw", persist=True, size_id=0x0B, doc="Event commands."),
509
+ ),
510
+ "Troop": (
511
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name."),
512
+ _f(0x02, "members", "Array<TroopMember>", "A:TroopMember", "array:TroopMember", default=[], default_2k3=[], persist=True, doc="Monsters of the troop."),
513
+ _f(0x03, "auto_alignment", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Align the monsters automatically. RPG Maker 2003 only."),
514
+ _f(0x04, "terrain_set", "DBBitArray", "int", "int", size_of=0x05),
515
+ _f(0x05, "terrain_set", "DBBitArray", "u8vec", "bits", default=[], default_2k3=[], persist=True, size_id=0x04, doc="Terrains where the troop can be encountered (one flag per terrain id, index 0 is id 1)."),
516
+ _f(0x06, "appear_randomly", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Random encounter only on the selected terrains. RPG Maker 2003 only."),
517
+ _f(0x0B, "pages", "Array<TroopPage>", "raw", "raw", persist=True, doc="Pages."),
518
+ ),
519
+ "Terrain": (
520
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name."),
521
+ _f(0x02, "damage", "Int32", "int", "int", default=0, default_2k3=0, doc="Damage per step."),
522
+ _f(0x03, "encounter_rate", "Int32", "int", "int", default=100, default_2k3=100, doc="Encounter rate multiplier in percent."),
523
+ _f(0x04, "background_name", "DBString", "str", "str", default="", default_2k3="", doc="Battle background."),
524
+ _f(0x05, "boat_pass", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Small boat can pass."),
525
+ _f(0x06, "ship_pass", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Ship can pass."),
526
+ _f(0x07, "airship_pass", "Boolean", "bool", "bool", default=True, default_2k3=True, doc="Airship can pass."),
527
+ _f(0x09, "airship_land", "Boolean", "bool", "bool", default=True, default_2k3=True, doc="Airship can land."),
528
+ _f(0x0B, "bush_depth", "Enum<Terrain_BushDepth>", "int", "enum:Terrain_BushDepth", default="normal", default_2k3="normal", persist=True, doc="How much of a character is hidden (one of 'normal', 'third', 'half', 'full' or a number)."),
529
+ _f(0x0F, "footstep", "Sound", "S:Sound", "struct:Sound", persist=True, is2k3=True, doc="Footstep sound. RPG Maker 2003 only."),
530
+ _f(0x10, "on_damage_se", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Play the footstep sound only on damage. RPG Maker 2003 only."),
531
+ _f(0x11, "background_type", "Enum<Terrain_BGAssociation>", "int", "enum:Terrain_BGAssociation", default="background", default_2k3="background", is2k3=True, doc="Battle background mode (one of 'background', 'frame' or a number). RPG Maker 2003 only."),
532
+ _f(0x15, "background_a_name", "DBString", "str", "str", default="", default_2k3="", is2k3=True, doc="Background a name. RPG Maker 2003 only."),
533
+ _f(0x16, "background_a_scrollh", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Background a scrollh. RPG Maker 2003 only."),
534
+ _f(0x17, "background_a_scrollv", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Background a scrollv. RPG Maker 2003 only."),
535
+ _f(0x18, "background_a_scrollh_speed", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Background a scrollh speed. RPG Maker 2003 only."),
536
+ _f(0x19, "background_a_scrollv_speed", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Background a scrollv speed. RPG Maker 2003 only."),
537
+ _f(0x1E, "background_b", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Background b. RPG Maker 2003 only."),
538
+ _f(0x1F, "background_b_name", "DBString", "str", "str", default="", default_2k3="", is2k3=True, doc="Background b name. RPG Maker 2003 only."),
539
+ _f(0x20, "background_b_scrollh", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Background b scrollh. RPG Maker 2003 only."),
540
+ _f(0x21, "background_b_scrollv", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Background b scrollv. RPG Maker 2003 only."),
541
+ _f(0x22, "background_b_scrollh_speed", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Background b scrollh speed. RPG Maker 2003 only."),
542
+ _f(0x23, "background_b_scrollv_speed", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Background b scrollv speed. RPG Maker 2003 only."),
543
+ _f(0x28, "special_flags", "Terrain_Flags", "u8vec", "flags:Terrain_Flags", is2k3=True, doc="Enabled special battle situations. RPG Maker 2003 only."),
544
+ _f(0x29, "special_back_party", "Int32", "int", "int", default=15, default_2k3=15, is2k3=True, doc="Back attack probability (party) in percent. RPG Maker 2003 only."),
545
+ _f(0x2A, "special_back_enemies", "Int32", "int", "int", default=10, default_2k3=10, is2k3=True, doc="Back attack probability (enemies) in percent. RPG Maker 2003 only."),
546
+ _f(0x2B, "special_lateral_party", "Int32", "int", "int", default=10, default_2k3=10, is2k3=True, doc="Pincer attack probability (party) in percent. RPG Maker 2003 only."),
547
+ _f(0x2C, "special_lateral_enemies", "Int32", "int", "int", default=5, default_2k3=5, is2k3=True, doc="Pincer attack probability (enemies) in percent. RPG Maker 2003 only."),
548
+ _f(0x2D, "grid_location", "Int32", "int", "int", default=0, default_2k3=0, is2k3=True, doc="Battle grid location. RPG Maker 2003 only."),
549
+ _f(0x2E, "grid_top_y", "Int32", "int", "int", default=120, default_2k3=120, is2k3=True, doc="Battle grid top Y. RPG Maker 2003 only."),
550
+ _f(0x2F, "grid_elongation", "Int32", "int", "int", default=392, default_2k3=392, is2k3=True, doc="Battle grid elongation. RPG Maker 2003 only."),
551
+ _f(0x30, "grid_inclination", "Int32", "int", "int", default=16000, default_2k3=16000, is2k3=True, doc="Battle grid inclination. RPG Maker 2003 only."),
552
+ _f(0xC8, "easyrpg_damage_in_percent", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the terrain damage is a percentage. EasyRPG Player extension."),
553
+ _f(0xC9, "easyrpg_damage_can_kill", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="If the terrain damage can kill the actors. EasyRPG Player extension."),
554
+ ),
555
+ "State": (
556
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name."),
557
+ _f(0x02, "type", "Enum<State_Persistence>", "int", "enum:State_Persistence", default="ends", default_2k3="ends", persist=True, doc="Whether the state ends after battle (one of 'ends', 'persists' or a number)."),
558
+ _f(0x03, "color", "Int32", "int", "int", default=6, default_2k3=6, doc="Color of the state name."),
559
+ _f(0x04, "priority", "Int32", "int", "int", default=50, default_2k3=50, doc="Display priority."),
560
+ _f(0x05, "restriction", "Enum<State_Restriction>", "int", "enum:State_Restriction", default="normal", default_2k3="normal", persist=True, doc="Action restriction (one of 'normal', 'do_nothing', 'attack_enemy', 'attack_ally' or a number)."),
561
+ _f(0x0B, "a_rate", "Int32", "int", "int", default=100, default_2k3=100, doc="Infliction rate for rank A in percent."),
562
+ _f(0x0C, "b_rate", "Int32", "int", "int", default=80, default_2k3=80, doc="Infliction rate for rank B in percent."),
563
+ _f(0x0D, "c_rate", "Int32", "int", "int", default=60, default_2k3=60, doc="Infliction rate for rank C in percent."),
564
+ _f(0x0E, "d_rate", "Int32", "int", "int", default=30, default_2k3=30, doc="Infliction rate for rank D in percent."),
565
+ _f(0x0F, "e_rate", "Int32", "int", "int", default=0, default_2k3=0, doc="Infliction rate for rank E in percent."),
566
+ _f(0x15, "hold_turn", "Int32", "int", "int", default=0, default_2k3=0, doc="Minimum duration in turns."),
567
+ _f(0x16, "auto_release_prob", "Int32", "int", "int", default=0, default_2k3=0, doc="Recovery probability per turn after hold_turn."),
568
+ _f(0x17, "release_by_damage", "Int32", "int", "int", default=0, default_2k3=0, doc="Recovery probability when damaged."),
569
+ _f(0x1E, "affect_type", "Enum<State_AffectType>", "int", "enum:State_AffectType", default="half", default_2k3="half", is2k3=True, doc="How the stat changes apply (one of 'half', 'double', 'nothing' or a number). RPG Maker 2003 only."),
570
+ _f(0x1F, "affect_attack", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Changes attack."),
571
+ _f(0x20, "affect_defense", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Changes defense."),
572
+ _f(0x21, "affect_spirit", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Changes spirit."),
573
+ _f(0x22, "affect_agility", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Changes agility."),
574
+ _f(0x23, "reduce_hit_ratio", "Int32", "int", "int", default=100, default_2k3=100, doc="Hit ratio in percent."),
575
+ _f(0x24, "avoid_attacks", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Evade all physical attacks. RPG Maker 2003 only."),
576
+ _f(0x25, "reflect_magic", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Reflect magic. RPG Maker 2003 only."),
577
+ _f(0x26, "cursed", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Equipment cannot be changed. RPG Maker 2003 only."),
578
+ _f(0x27, "battler_animation_id", "Ref<Animation>", "int", "int", default=100, default_2k3=100, is2k3=True, doc="Battler animation pose (100 = none; battle animation id). RPG Maker 2003 only."),
579
+ _f(0x29, "restrict_skill", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Blocks physical skills."),
580
+ _f(0x2A, "restrict_skill_level", "Int32", "int", "int", default=0, default_2k3=0, doc="Physical skills blocked from this attack influence."),
581
+ _f(0x2B, "restrict_magic", "Boolean", "bool", "bool", default=False, default_2k3=False, doc="Blocks magic skills."),
582
+ _f(0x2C, "restrict_magic_level", "Int32", "int", "int", default=0, default_2k3=0, doc="Magic skills blocked from this spirit influence."),
583
+ _f(0x2D, "hp_change_type", "Enum<State_ChangeType>", "int", "enum:State_ChangeType", default="lose", default_2k3="lose", doc="HP change direction (one of 'lose', 'gain', 'nothing' or a number)."),
584
+ _f(0x2E, "sp_change_type", "Enum<State_ChangeType>", "int", "enum:State_ChangeType", default="lose", default_2k3="lose", doc="SP change direction (one of 'lose', 'gain', 'nothing' or a number)."),
585
+ _f(0x33, "message_actor", "DBString", "str", "str", default="", default_2k3="", doc="Message when an actor is affected."),
586
+ _f(0x34, "message_enemy", "DBString", "str", "str", default="", default_2k3="", doc="Message when a monster is affected."),
587
+ _f(0x35, "message_already", "DBString", "str", "str", default="", default_2k3="", doc="Message when already affected."),
588
+ _f(0x36, "message_affected", "DBString", "str", "str", default="", default_2k3="", doc="Message each turn."),
589
+ _f(0x37, "message_recovery", "DBString", "str", "str", default="", default_2k3="", doc="Message on recovery."),
590
+ _f(0x3D, "hp_change_max", "Int32", "int", "int", default=0, default_2k3=0, doc="HP change per turn in percent of max HP."),
591
+ _f(0x3E, "hp_change_val", "Int32", "int", "int", default=0, default_2k3=0, doc="HP change per turn."),
592
+ _f(0x3F, "hp_change_map_steps", "Int32", "int", "int", default=0, default_2k3=0, doc="HP change on the map: every N steps."),
593
+ _f(0x40, "hp_change_map_val", "Int32", "int", "int", default=0, default_2k3=0, doc="HP change on the map."),
594
+ _f(0x41, "sp_change_max", "Int32", "int", "int", default=0, default_2k3=0, doc="SP change per turn in percent of max SP."),
595
+ _f(0x42, "sp_change_val", "Int32", "int", "int", default=0, default_2k3=0, doc="SP change per turn."),
596
+ _f(0x43, "sp_change_map_steps", "Int32", "int", "int", default=0, default_2k3=0, doc="SP change on the map: every N steps."),
597
+ _f(0x44, "sp_change_map_val", "Int32", "int", "int", default=0, default_2k3=0, doc="SP change on the map."),
598
+ _f(0xC8, "easyrpg_immune_states", "DBBitArray", "int", "int", size_of=0xC9),
599
+ _f(0xC9, "easyrpg_immune_states", "DBBitArray", "u8vec", "bits", default=[], default_2k3=[], size_id=0xC8, doc="States cleared on infliction by this state (one flag per state id, index 0 is id 1). EasyRPG Player extension."),
600
+ ),
601
+ "Terms": (
602
+ _f(0x01, "encounter", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Encounter."),
603
+ _f(0x02, "special_combat", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Special combat."),
604
+ _f(0x03, "escape_success", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Escape success."),
605
+ _f(0x04, "escape_failure", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Escape failure."),
606
+ _f(0x05, "victory", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Victory."),
607
+ _f(0x06, "defeat", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Defeat."),
608
+ _f(0x07, "exp_received", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Exp received."),
609
+ _f(0x08, "gold_recieved_a", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Gold recieved a."),
610
+ _f(0x09, "gold_recieved_b", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Gold recieved b."),
611
+ _f(0x0A, "item_recieved", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Item recieved."),
612
+ _f(0x0B, "attacking", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Attacking."),
613
+ _f(0x0C, "enemy_critical", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Enemy critical."),
614
+ _f(0x0D, "actor_critical", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Actor critical."),
615
+ _f(0x0E, "defending", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Defending."),
616
+ _f(0x0F, "observing", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Observing."),
617
+ _f(0x10, "focus", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Focus."),
618
+ _f(0x11, "autodestruction", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Autodestruction."),
619
+ _f(0x12, "enemy_escape", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Enemy escape."),
620
+ _f(0x13, "enemy_transform", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Enemy transform."),
621
+ _f(0x14, "enemy_damaged", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Enemy damaged."),
622
+ _f(0x15, "enemy_undamaged", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Enemy undamaged."),
623
+ _f(0x16, "actor_damaged", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Actor damaged."),
624
+ _f(0x17, "actor_undamaged", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Actor undamaged."),
625
+ _f(0x18, "skill_failure_a", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Skill failure a."),
626
+ _f(0x19, "skill_failure_b", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Skill failure b."),
627
+ _f(0x1A, "skill_failure_c", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Skill failure c."),
628
+ _f(0x1B, "dodge", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Dodge."),
629
+ _f(0x1C, "use_item", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Use item."),
630
+ _f(0x1D, "hp_recovery", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Hp recovery."),
631
+ _f(0x1E, "parameter_increase", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Parameter increase."),
632
+ _f(0x1F, "parameter_decrease", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Parameter decrease."),
633
+ _f(0x20, "enemy_hp_absorbed", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Enemy hp absorbed."),
634
+ _f(0x21, "actor_hp_absorbed", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Actor hp absorbed."),
635
+ _f(0x22, "resistance_increase", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Resistance increase."),
636
+ _f(0x23, "resistance_decrease", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Resistance decrease."),
637
+ _f(0x24, "level_up", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Level up."),
638
+ _f(0x25, "skill_learned", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Skill learned."),
639
+ _f(0x26, "battle_start", "DBString", "str", "str", default="", default_2k3="", persist=True, is2k3=True, doc="Battle start. RPG Maker 2003 only."),
640
+ _f(0x27, "miss", "DBString", "str", "str", default="", default_2k3="", persist=True, is2k3=True, doc="Miss. RPG Maker 2003 only."),
641
+ _f(0x29, "shop_greeting1", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop greeting1."),
642
+ _f(0x2A, "shop_regreeting1", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop regreeting1."),
643
+ _f(0x2B, "shop_buy1", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop buy1."),
644
+ _f(0x2C, "shop_sell1", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop sell1."),
645
+ _f(0x2D, "shop_leave1", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop leave1."),
646
+ _f(0x2E, "shop_buy_select1", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop buy select1."),
647
+ _f(0x2F, "shop_buy_number1", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop buy number1."),
648
+ _f(0x30, "shop_purchased1", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop purchased1."),
649
+ _f(0x31, "shop_sell_select1", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop sell select1."),
650
+ _f(0x32, "shop_sell_number1", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop sell number1."),
651
+ _f(0x33, "shop_sold1", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop sold1."),
652
+ _f(0x36, "shop_greeting2", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop greeting2."),
653
+ _f(0x37, "shop_regreeting2", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop regreeting2."),
654
+ _f(0x38, "shop_buy2", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop buy2."),
655
+ _f(0x39, "shop_sell2", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop sell2."),
656
+ _f(0x3A, "shop_leave2", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop leave2."),
657
+ _f(0x3B, "shop_buy_select2", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop buy select2."),
658
+ _f(0x3C, "shop_buy_number2", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop buy number2."),
659
+ _f(0x3D, "shop_purchased2", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop purchased2."),
660
+ _f(0x3E, "shop_sell_select2", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop sell select2."),
661
+ _f(0x3F, "shop_sell_number2", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop sell number2."),
662
+ _f(0x40, "shop_sold2", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop sold2."),
663
+ _f(0x43, "shop_greeting3", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop greeting3."),
664
+ _f(0x44, "shop_regreeting3", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop regreeting3."),
665
+ _f(0x45, "shop_buy3", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop buy3."),
666
+ _f(0x46, "shop_sell3", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop sell3."),
667
+ _f(0x47, "shop_leave3", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop leave3."),
668
+ _f(0x48, "shop_buy_select3", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop buy select3."),
669
+ _f(0x49, "shop_buy_number3", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop buy number3."),
670
+ _f(0x4A, "shop_purchased3", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop purchased3."),
671
+ _f(0x4B, "shop_sell_select3", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop sell select3."),
672
+ _f(0x4C, "shop_sell_number3", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop sell number3."),
673
+ _f(0x4D, "shop_sold3", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shop sold3."),
674
+ _f(0x50, "inn_a_greeting_1", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Inn a greeting 1."),
675
+ _f(0x51, "inn_a_greeting_2", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Inn a greeting 2."),
676
+ _f(0x52, "inn_a_greeting_3", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Inn a greeting 3."),
677
+ _f(0x53, "inn_a_accept", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Inn a accept."),
678
+ _f(0x54, "inn_a_cancel", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Inn a cancel."),
679
+ _f(0x55, "inn_b_greeting_1", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Inn b greeting 1."),
680
+ _f(0x56, "inn_b_greeting_2", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Inn b greeting 2."),
681
+ _f(0x57, "inn_b_greeting_3", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Inn b greeting 3."),
682
+ _f(0x58, "inn_b_accept", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Inn b accept."),
683
+ _f(0x59, "inn_b_cancel", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Inn b cancel."),
684
+ _f(0x5C, "possessed_items", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Possessed items."),
685
+ _f(0x5D, "equipped_items", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Equipped items."),
686
+ _f(0x5F, "gold", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Gold."),
687
+ _f(0x65, "battle_fight", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Battle fight."),
688
+ _f(0x66, "battle_auto", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Battle auto."),
689
+ _f(0x67, "battle_escape", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Battle escape."),
690
+ _f(0x68, "command_attack", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Command attack."),
691
+ _f(0x69, "command_defend", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Command defend."),
692
+ _f(0x6A, "command_item", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Command item."),
693
+ _f(0x6B, "command_skill", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Command skill."),
694
+ _f(0x6C, "menu_equipment", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Menu equipment."),
695
+ _f(0x6E, "menu_save", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Menu save."),
696
+ _f(0x70, "menu_quit", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Menu quit."),
697
+ _f(0x72, "new_game", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="New game."),
698
+ _f(0x73, "load_game", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Load game."),
699
+ _f(0x75, "exit_game", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Exit game."),
700
+ _f(0x76, "status", "DBString", "str", "str", default="", default_2k3="", persist=True, is2k3=True, doc="Status. RPG Maker 2003 only."),
701
+ _f(0x77, "row", "DBString", "str", "str", default="", default_2k3="", persist=True, is2k3=True, doc="Row. RPG Maker 2003 only."),
702
+ _f(0x78, "order", "DBString", "str", "str", default="", default_2k3="", persist=True, is2k3=True, doc="Order. RPG Maker 2003 only."),
703
+ _f(0x79, "wait_on", "DBString", "str", "str", default="", default_2k3="", persist=True, is2k3=True, doc="Wait on. RPG Maker 2003 only."),
704
+ _f(0x7A, "wait_off", "DBString", "str", "str", default="", default_2k3="", persist=True, is2k3=True, doc="Wait off. RPG Maker 2003 only."),
705
+ _f(0x7B, "level", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Level."),
706
+ _f(0x7C, "health_points", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Health points."),
707
+ _f(0x7D, "spirit_points", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Spirit points."),
708
+ _f(0x7E, "normal_status", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Normal status."),
709
+ _f(0x7F, "exp_short", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="char x 2?."),
710
+ _f(0x80, "lvl_short", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="char x 2?."),
711
+ _f(0x81, "hp_short", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="char x 2?."),
712
+ _f(0x82, "sp_short", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="char x 2?."),
713
+ _f(0x83, "sp_cost", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Sp cost."),
714
+ _f(0x84, "attack", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Attack."),
715
+ _f(0x85, "defense", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Defense."),
716
+ _f(0x86, "spirit", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Spirit."),
717
+ _f(0x87, "agility", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Agility."),
718
+ _f(0x88, "weapon", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Weapon."),
719
+ _f(0x89, "shield", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Shield."),
720
+ _f(0x8A, "armor", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Armor."),
721
+ _f(0x8B, "helmet", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Helmet."),
722
+ _f(0x8C, "accessory", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Accessory."),
723
+ _f(0x92, "save_game_message", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Save game message."),
724
+ _f(0x93, "load_game_message", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Load game message."),
725
+ _f(0x94, "file", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="File."),
726
+ _f(0x97, "exit_game_message", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Exit game message."),
727
+ _f(0x98, "yes", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="Yes."),
728
+ _f(0x99, "no", "DBString", "str", "str", default="", default_2k3="", persist=True, doc="No."),
729
+ _f(0xA1, "maniac_item_received_a", "DBString", "str", "str", default="", default_2k3="", doc="Part 1 of item received message (item_received is part 2). Maniac Patch extension."),
730
+ _f(0xA2, "maniac_level_up_a", "DBString", "str", "str", default="", default_2k3="", doc="Part 1 of level up message. Maniac Patch extension."),
731
+ _f(0xA3, "maniac_level_up_b", "DBString", "str", "str", default="", default_2k3="", doc="Part 3 of level up message (level_up is part 2). Maniac Patch extension."),
732
+ _f(0xA4, "maniac_level_up_c", "DBString", "str", "str", default="", default_2k3="", doc="Part 4 of level up message. Maniac Patch extension."),
733
+ _f(0xA5, "maniac_exp_received_a", "DBString", "str", "str", default="", default_2k3="", doc="Part 1 of exp message (exp_received is part 2). Maniac Patch extension."),
734
+ _f(0xA6, "maniac_skill_learned_a", "DBString", "str", "str", default="", default_2k3="", doc="Part 1 of skill learning message (skill_learned is part 2). Maniac Patch extension."),
735
+ _f(0xC8, "easyrpg_item_number_separator", "DBString", "str", "str", default="default_term", default_2k3="default_term", doc="Item number separator. EasyRPG Player extension."),
736
+ _f(0xC9, "easyrpg_skill_cost_separator", "DBString", "str", "str", default="default_term", default_2k3="default_term", doc="Skill cost separator. EasyRPG Player extension."),
737
+ _f(0xCA, "easyrpg_equipment_arrow", "DBString", "str", "str", default="default_term", default_2k3="default_term", doc="Equipment window arrow. EasyRPG Player extension."),
738
+ _f(0xCB, "easyrpg_status_scene_name", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="Status scene Name. RPG Maker 2003 only. EasyRPG Player extension."),
739
+ _f(0xCC, "easyrpg_status_scene_class", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="Status scene Class. RPG Maker 2003 only. EasyRPG Player extension."),
740
+ _f(0xCD, "easyrpg_status_scene_title", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="Status scene Title. RPG Maker 2003 only. EasyRPG Player extension."),
741
+ _f(0xCE, "easyrpg_status_scene_condition", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="Status scene Condition. RPG Maker 2003 only. EasyRPG Player extension."),
742
+ _f(0xCF, "easyrpg_status_scene_front", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="Status scene Front. RPG Maker 2003 only. EasyRPG Player extension."),
743
+ _f(0xD0, "easyrpg_status_scene_back", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="Status scene Back. RPG Maker 2003 only. EasyRPG Player extension."),
744
+ _f(0xD1, "easyrpg_order_scene_confirm", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="Order scene Confirm. RPG Maker 2003 only. EasyRPG Player extension."),
745
+ _f(0xD2, "easyrpg_order_scene_redo", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="Order scene Redo. RPG Maker 2003 only. EasyRPG Player extension."),
746
+ _f(0xD3, "easyrpg_battle2k3_double_attack", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="RPG Maker 2003 battle monster Double attack notification. RPG Maker 2003 only. EasyRPG Player extension."),
747
+ _f(0xD4, "easyrpg_battle2k3_defend", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="RPG Maker 2003 battle monster Defend notification. RPG Maker 2003 only. EasyRPG Player extension."),
748
+ _f(0xD5, "easyrpg_battle2k3_observe", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="RPG Maker 2003 battle monster Observe notification. RPG Maker 2003 only. EasyRPG Player extension."),
749
+ _f(0xD6, "easyrpg_battle2k3_charge", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="RPG Maker 2003 battle monster Charge notification. RPG Maker 2003 only. EasyRPG Player extension."),
750
+ _f(0xD7, "easyrpg_battle2k3_selfdestruct", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="RPG Maker 2003 battle monster Self-Destruct notification. RPG Maker 2003 only. EasyRPG Player extension."),
751
+ _f(0xD8, "easyrpg_battle2k3_escape", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="RPG Maker 2003 battle monster Escape notification. RPG Maker 2003 only. EasyRPG Player extension."),
752
+ _f(0xD9, "easyrpg_battle2k3_special_combat_back", "DBString", "str", "str", default="", default_2k3="", is2k3=True, doc="Message for back and pincer attack. RPG Maker 2003 only. EasyRPG Player extension."),
753
+ _f(0xDA, "easyrpg_battle2k3_skill", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="RPG Maker 2003 battle general skill start notification. RPG Maker 2003 only. EasyRPG Player extension."),
754
+ _f(0xDB, "easyrpg_battle2k3_item", "DBString", "str", "str", default="default_term", default_2k3="default_term", is2k3=True, doc="RPG Maker 2003 battle general item start notification. RPG Maker 2003 only. EasyRPG Player extension."),
755
+ ),
756
+ "Music": (
757
+ _f(0x01, "name", "String", "str", "str", default="(OFF)", default_2k3="(OFF)", persist=True, doc="File in Music/ ('(OFF)' = none)."),
758
+ _f(0x02, "fadein", "Int32", "int", "int", default=0, default_2k3=0, doc="Fade in time in milliseconds."),
759
+ _f(0x03, "volume", "Int32", "int", "int", default=100, default_2k3=100, doc="Volume in percent."),
760
+ _f(0x04, "tempo", "Int32", "int", "int", default=100, default_2k3=100, doc="Tempo in percent."),
761
+ _f(0x05, "balance", "Int32", "int", "int", default=50, default_2k3=50, doc="Balance (0 = left, 50 = center, 100 = right)."),
762
+ ),
763
+ "TestBattler": (
764
+ _f(0x01, "actor_id", "Ref<Actor>", "int", "int", default=1, default_2k3=1, doc="Actor id (actor id)."),
765
+ _f(0x02, "level", "Int32", "int", "int", default=1, default_2k3=1, doc="Level."),
766
+ _f(0x0B, "weapon_id", "Ref<Item>", "int", "int", default=0, default_2k3=0, doc="Weapon id (item id)."),
767
+ _f(0x0C, "shield_id", "Ref<Item>", "int", "int", default=0, default_2k3=0, doc="Shield id (item id)."),
768
+ _f(0x0D, "armor_id", "Ref<Item>", "int", "int", default=0, default_2k3=0, doc="Armor id (item id)."),
769
+ _f(0x0E, "helmet_id", "Ref<Item>", "int", "int", default=0, default_2k3=0, doc="Helmet id (item id)."),
770
+ _f(0x0F, "accessory_id", "Ref<Item>", "int", "int", default=0, default_2k3=0, doc="Accessory id (item id)."),
771
+ ),
772
+ "System": (
773
+ _f(0x0A, "ldb_id", "Int32", "int", "int", default=0, default_2k3=0, doc="Ldb id."),
774
+ _f(0x0B, "boat_name", "DBString", "str", "str", default="", default_2k3="", doc="Boat name."),
775
+ _f(0x0C, "ship_name", "DBString", "str", "str", default="", default_2k3="", doc="Ship name."),
776
+ _f(0x0D, "airship_name", "DBString", "str", "str", default="", default_2k3="", doc="Airship name."),
777
+ _f(0x0E, "boat_index", "Int32", "int", "int", default=0, default_2k3=0, doc="Boat index."),
778
+ _f(0x0F, "ship_index", "Int32", "int", "int", default=0, default_2k3=0, doc="Ship index."),
779
+ _f(0x10, "airship_index", "Int32", "int", "int", default=0, default_2k3=0, doc="Airship index."),
780
+ _f(0x11, "title_name", "DBString", "str", "str", default="", default_2k3="", doc="Title name."),
781
+ _f(0x12, "gameover_name", "DBString", "str", "str", default="", default_2k3="", doc="Gameover name."),
782
+ _f(0x13, "system_name", "DBString", "str", "str", default="", default_2k3="", doc="System name."),
783
+ _f(0x14, "system2_name", "DBString", "str", "str", default="", default_2k3="", is2k3=True, doc="System2 name. RPG Maker 2003 only."),
784
+ _f(0x15, "party", "Count<Vector<Int16>>", "int", "int", size_of=0x16),
785
+ _f(0x16, "party", "Vector<Int16>", "i16vec", "i16", default=[1], default_2k3=[1], persist=True, size_id=0x15, doc="Party."),
786
+ _f(0x1A, "menu_commands", "Count<Vector<Int16>>", "int", "int", is2k3=True, size_of=0x1B),
787
+ _f(0x1B, "menu_commands", "Vector<Int16>", "i16vec", "i16", default=[1], default_2k3=[1], persist=True, is2k3=True, size_id=0x1A, doc="Menu commands. RPG Maker 2003 only."),
788
+ _f(0x1F, "title_music", "Music", "S:Music", "struct:Music", persist=True, doc="Title music."),
789
+ _f(0x20, "battle_music", "Music", "S:Music", "struct:Music", persist=True, doc="Battle music."),
790
+ _f(0x21, "battle_end_music", "Music", "S:Music", "struct:Music", persist=True, doc="Battle end music."),
791
+ _f(0x22, "inn_music", "Music", "S:Music", "struct:Music", persist=True, doc="Inn music."),
792
+ _f(0x23, "boat_music", "Music", "S:Music", "struct:Music", persist=True, doc="Boat music."),
793
+ _f(0x24, "ship_music", "Music", "S:Music", "struct:Music", persist=True, doc="Ship music."),
794
+ _f(0x25, "airship_music", "Music", "S:Music", "struct:Music", persist=True, doc="Airship music."),
795
+ _f(0x26, "gameover_music", "Music", "S:Music", "struct:Music", persist=True, doc="Gameover music."),
796
+ _f(0x29, "cursor_se", "Sound", "S:Sound", "struct:Sound", persist=True, doc="Cursor se."),
797
+ _f(0x2A, "decision_se", "Sound", "S:Sound", "struct:Sound", persist=True, doc="Decision se."),
798
+ _f(0x2B, "cancel_se", "Sound", "S:Sound", "struct:Sound", persist=True, doc="Cancel se."),
799
+ _f(0x2C, "buzzer_se", "Sound", "S:Sound", "struct:Sound", persist=True, doc="Buzzer se."),
800
+ _f(0x2D, "battle_se", "Sound", "S:Sound", "struct:Sound", persist=True, doc="Battle se."),
801
+ _f(0x2E, "escape_se", "Sound", "S:Sound", "struct:Sound", persist=True, doc="Escape se."),
802
+ _f(0x2F, "enemy_attack_se", "Sound", "S:Sound", "struct:Sound", persist=True, doc="Enemy attack se."),
803
+ _f(0x30, "enemy_damaged_se", "Sound", "S:Sound", "struct:Sound", persist=True, doc="Enemy damaged se."),
804
+ _f(0x31, "actor_damaged_se", "Sound", "S:Sound", "struct:Sound", persist=True, doc="Actor damaged se."),
805
+ _f(0x32, "dodge_se", "Sound", "S:Sound", "struct:Sound", persist=True, doc="Dodge se."),
806
+ _f(0x33, "enemy_death_se", "Sound", "S:Sound", "struct:Sound", persist=True, doc="Enemy death se."),
807
+ _f(0x34, "item_se", "Sound", "S:Sound", "struct:Sound", persist=True, doc="Item se."),
808
+ _f(0x3D, "transition_out", "Enum<System_FadeOut>", "int", "enum:System_FadeOut", default="default", default_2k3="default", persist=True, doc="Transition out (one of 'default', 'fade_out', 'remove_blocks', 'wipe_downward', 'wipe_upward', 'venetian_blinds', 'vertical_blinds', 'horizontal_blinds', 'receding_square', 'expanding_square', 'screen_moves_up', 'screen_moves_down', 'screen_moves_left', 'screen_moves_right', 'vertical_div', 'horizontal_div', 'quadrasection', 'zoom_in', 'mosaic', 'waver_screen', 'instantaneous', 'none' or a number)."),
809
+ _f(0x3E, "transition_in", "Enum<System_FadeIn>", "int", "enum:System_FadeIn", default="default", default_2k3="default", persist=True, doc="Transition in (one of 'default', 'fade_in', 'reconstitute_blocks', 'unwipe_downward', 'unwipe_upward', 'venetian_blinds', 'vertical_blinds', 'horizontal_blinds', 'receding_square', 'expanding_square', 'screen_moves_down', 'screen_moves_up', 'screen_moves_right', 'screen_moves_left', 'vertical_unify', 'horizontal_unify', 'unify_quadrants', 'zoom_out', 'mosaic', 'waver_screen', 'instantaneous', 'none' or a number)."),
810
+ _f(0x3F, "battle_start_fadeout", "Enum<System_FadeOut>", "int", "enum:System_FadeOut", default="default", default_2k3="default", persist=True, doc="Battle start fadeout (one of 'default', 'fade_out', 'remove_blocks', 'wipe_downward', 'wipe_upward', 'venetian_blinds', 'vertical_blinds', 'horizontal_blinds', 'receding_square', 'expanding_square', 'screen_moves_up', 'screen_moves_down', 'screen_moves_left', 'screen_moves_right', 'vertical_div', 'horizontal_div', 'quadrasection', 'zoom_in', 'mosaic', 'waver_screen', 'instantaneous', 'none' or a number)."),
811
+ _f(0x40, "battle_start_fadein", "Enum<System_FadeIn>", "int", "enum:System_FadeIn", default="default", default_2k3="default", persist=True, doc="Battle start fadein (one of 'default', 'fade_in', 'reconstitute_blocks', 'unwipe_downward', 'unwipe_upward', 'venetian_blinds', 'vertical_blinds', 'horizontal_blinds', 'receding_square', 'expanding_square', 'screen_moves_down', 'screen_moves_up', 'screen_moves_right', 'screen_moves_left', 'vertical_unify', 'horizontal_unify', 'unify_quadrants', 'zoom_out', 'mosaic', 'waver_screen', 'instantaneous', 'none' or a number)."),
812
+ _f(0x41, "battle_end_fadeout", "Enum<System_FadeOut>", "int", "enum:System_FadeOut", default="default", default_2k3="default", persist=True, doc="Battle end fadeout (one of 'default', 'fade_out', 'remove_blocks', 'wipe_downward', 'wipe_upward', 'venetian_blinds', 'vertical_blinds', 'horizontal_blinds', 'receding_square', 'expanding_square', 'screen_moves_up', 'screen_moves_down', 'screen_moves_left', 'screen_moves_right', 'vertical_div', 'horizontal_div', 'quadrasection', 'zoom_in', 'mosaic', 'waver_screen', 'instantaneous', 'none' or a number)."),
813
+ _f(0x42, "battle_end_fadein", "Enum<System_FadeIn>", "int", "enum:System_FadeIn", default="default", default_2k3="default", persist=True, doc="Battle end fadein (one of 'default', 'fade_in', 'reconstitute_blocks', 'unwipe_downward', 'unwipe_upward', 'venetian_blinds', 'vertical_blinds', 'horizontal_blinds', 'receding_square', 'expanding_square', 'screen_moves_down', 'screen_moves_up', 'screen_moves_right', 'screen_moves_left', 'vertical_unify', 'horizontal_unify', 'unify_quadrants', 'zoom_out', 'mosaic', 'waver_screen', 'instantaneous', 'none' or a number)."),
814
+ _f(0x47, "message_stretch", "Enum<System_Stretch>", "int", "enum:System_Stretch", default="stretch", default_2k3="stretch", doc="Message stretch (one of 'stretch', 'tiled', 'easyrpg_none' or a number)."),
815
+ _f(0x48, "font_id", "Enum<System_Font>", "int", "enum:System_Font", default="gothic", default_2k3="gothic", doc="Font id (one of 'gothic', 'mincho' or a number)."),
816
+ _f(0x51, "selected_condition", "Int32", "int", "int", default=0, default_2k3=0, doc="Selected condition."),
817
+ _f(0x52, "selected_hero", "Ref<Actor>", "int", "int", default=0, default_2k3=0, persist=True, doc="Selected hero (actor id)."),
818
+ _f(0x54, "battletest_background", "DBString", "str", "str", default="", default_2k3="", doc="Battletest background."),
819
+ _f(0x55, "battletest_data", "Array<TestBattler>", "raw", "raw", persist=True, doc="Battletest data."),
820
+ _f(0x5B, "save_count", "Int32", "int", "int", default=0, default_2k3=0, doc="Save count."),
821
+ _f(0x5E, "battletest_terrain", "Ref<Terrain>", "int", "int", default=0, default_2k3=0, doc="Battletest terrain (terrain id)."),
822
+ _f(0x5F, "battletest_formation", "Enum<System_BattleFormation>", "int", "enum:System_BattleFormation", default="terrain", default_2k3="terrain", doc="Battletest formation (one of 'terrain', 'loose', 'tight' or a number)."),
823
+ _f(0x60, "battletest_condition", "Enum<System_BattleCondition>", "int", "enum:System_BattleCondition", default="none", default_2k3="none", doc="Battletest condition (one of 'none', 'initiative', 'back', 'surround', 'pincers' or a number)."),
824
+ _f(0x61, "equipment_setting", "Enum<System_EquipmentSetting>", "int", "enum:System_EquipmentSetting", default="actor", default_2k3="actor", is2k3=True, doc="Integer RPG2003 - Whether equipment usage is by Actor or by Class. This is a global setting in RM2k3! (one of 'actor', 'class' or a number). RPG Maker 2003 only."),
825
+ _f(0x62, "battletest_alt_terrain", "Ref<Terrain>", "int", "int", default=-1, default_2k3=-1, is2k3=True, doc="Integer RPG2003 (EDITOR ONLY) - Double click on Terrain in Troops changes this setting and 0x54. Affects only the RM2k3 editor (terrain id). RPG Maker 2003 only."),
826
+ _f(0x63, "show_frame", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Show frame. RPG Maker 2003 only."),
827
+ _f(0x64, "frame_name", "DBString", "str", "str", default="", default_2k3="", is2k3=True, doc="Frame name. RPG Maker 2003 only."),
828
+ _f(0x65, "invert_animations", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="Invert animations. RPG Maker 2003 only."),
829
+ _f(0x6F, "show_title", "Boolean", "bool", "bool", default=True, default_2k3=True, is2k3=True, doc="When false the title is skipped and the game starts directly. In TestPlay mode skips directly to the Load scene. Added in RPG Maker 2003 v1.11. RPG Maker 2003 only."),
830
+ _f(0xC8, "easyrpg_alternative_exp", "Int32", "int", "int", default=0, default_2k3=0, doc="Which EXP formula to use: 0=Default 1=2k 2=2k3. EasyRPG Player extension."),
831
+ _f(0xC9, "easyrpg_battle_options", "Vector<Int16>", "i16vec", "i16", default=[0, 1, 2], default_2k3=[0, 1, 2], doc="Available battle options where 0=Battle 1=AutoBattle 2=Escape 3=Win 4=Lose. EasyRPG Player extension."),
832
+ _f(0xCA, "easyrpg_max_actor_hp", "Int32", "int", "int", default=-1, default_2k3=-1, doc="Absolute maximum HP value actors can have. EasyRPG Player extension."),
833
+ _f(0xCB, "easyrpg_max_enemy_hp", "Int32", "int", "int", default=-1, default_2k3=-1, doc="Absolute maximum HP value enemies can have. EasyRPG Player extension."),
834
+ _f(0xCC, "easyrpg_max_damage", "Int32", "int", "int", default=-1, default_2k3=-1, doc="How much damage can an attack inflict at most. EasyRPG Player extension."),
835
+ _f(0xCD, "easyrpg_max_exp", "Int32", "int", "int", default=-1, default_2k3=-1, doc="Absolute maximum EXP value actors can have. EasyRPG Player extension."),
836
+ _f(0xCE, "easyrpg_max_level", "Int32", "int", "int", default=-1, default_2k3=-1, doc="Absolute maximum level actors can reach. EasyRPG Player extension."),
837
+ _f(0xCF, "easyrpg_max_savefiles", "Int32", "int", "int", default=15, default_2k3=15, doc="How many savegame slots should be shown in the savegame scene. EasyRPG Player extension."),
838
+ _f(0xD0, "easyrpg_max_item_count", "Int32", "int", "int", default=-1, default_2k3=-1, doc="How many items of a kind the player can carry. Can be overridden per item with the easyrpg_max_count setting of an item. EasyRPG Player extension."),
839
+ _f(0xD1, "easyrpg_variable_min_value", "Int32", "int", "int", default=0, default_2k3=0, doc="Minimum value a variable can have. EasyRPG Player extension."),
840
+ _f(0xD2, "easyrpg_variable_max_value", "Int32", "int", "int", default=0, default_2k3=0, doc="Maximum value a variable can have. EasyRPG Player extension."),
841
+ _f(0xD3, "easyrpg_max_actor_sp", "Int32", "int", "int", default=-1, default_2k3=-1, doc="Absolute maximum SP value actors can have. EasyRPG Player extension."),
842
+ _f(0xD4, "easyrpg_max_enemy_sp", "Int32", "int", "int", default=-1, default_2k3=-1, doc="Absolute maximum SP value enemies can have. EasyRPG Player extension."),
843
+ _f(0xD5, "easyrpg_max_stat_base_value", "Int32", "int", "int", default=-1, default_2k3=-1, doc="Absolute maximum value a base stat can have. EasyRPG Player extension."),
844
+ _f(0xD6, "easyrpg_max_stat_battle_value", "Int32", "int", "int", default=-1, default_2k3=-1, doc="Absolute maximum value a battle stat can have. EasyRPG Player extension."),
845
+ _f(0xD7, "easyrpg_use_rpg2k_battle_system", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="If the RPG Maker 2000 battle system should be used in RPG Maker 2003 games. RPG Maker 2003 only. EasyRPG Player extension."),
846
+ _f(0xD8, "easyrpg_battle_use_rpg2ke_strings", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="If RPG Maker 2000 battles in RPG Maker 2003 games should use the RPG2kE strings. RPG Maker 2003 only. EasyRPG Player extension."),
847
+ _f(0xD9, "easyrpg_use_rpg2k_battle_commands", "Boolean", "bool", "bool", default=False, default_2k3=False, is2k3=True, doc="If the RPG Maker 2000 battle commands should be used in RPG Maker 2003 games. RPG Maker 2003 only. EasyRPG Player extension."),
848
+ _f(0xDA, "easyrpg_default_actorai", "Int32", "int", "int", default=-1, default_2k3=-1, doc="System default actor AI with 0=RPG_RT 1=RPG_RT+ 2=ATTACK. EasyRPG Player extension."),
849
+ _f(0xDB, "easyrpg_default_enemyai", "Int32", "int", "int", default=-1, default_2k3=-1, doc="System default enemy AI with 0=RPG_RT 1=RPG_RT+. EasyRPG Player extension."),
850
+ ),
851
+ "Switch": (
852
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name shown in the editor."),
853
+ ),
854
+ "Variable": (
855
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name shown in the editor."),
856
+ ),
857
+ "Database": (
858
+ _f(0x0B, "actors", "Array<Actor>", "A:Actor", "array:Actor", default=[], default_2k3=[], persist=True, doc="Actors."),
859
+ _f(0x0C, "skills", "Array<Skill>", "A:Skill", "array:Skill", default=[], default_2k3=[], persist=True, doc="Skills."),
860
+ _f(0x0D, "items", "Array<Item>", "A:Item", "array:Item", default=[], default_2k3=[], persist=True, doc="Items."),
861
+ _f(0x0E, "enemies", "Array<Enemy>", "A:Enemy", "array:Enemy", default=[], default_2k3=[], persist=True, doc="Enemies."),
862
+ _f(0x0F, "troops", "Array<Troop>", "A:Troop", "array:Troop", default=[], default_2k3=[], persist=True, doc="Troops."),
863
+ _f(0x10, "terrains", "Array<Terrain>", "A:Terrain", "array:Terrain", default=[], default_2k3=[], persist=True, doc="Terrains."),
864
+ _f(0x11, "attributes", "Array<Attribute>", "A:Attribute", "array:Attribute", default=[], default_2k3=[], persist=True, doc="Attributes."),
865
+ _f(0x12, "states", "Array<State>", "A:State", "array:State", default=[], default_2k3=[], persist=True, doc="States."),
866
+ _f(0x13, "animations", "Array<Animation>", "raw", "raw", persist=True, doc="Animations."),
867
+ _f(0x14, "chipsets", "Array<Chipset>", "raw", "raw", persist=True, doc="Chipsets."),
868
+ _f(0x15, "terms", "Terms", "raw", "raw", persist=True, doc="Terms."),
869
+ _f(0x16, "system", "System", "raw", "raw", persist=True, doc="System."),
870
+ _f(0x17, "switches", "Array<Switch>", "A:Switch", "array:Switch", default=[], default_2k3=[], persist=True, doc="Switches."),
871
+ _f(0x18, "variables", "Array<Variable>", "A:Variable", "array:Variable", default=[], default_2k3=[], persist=True, doc="Variables."),
872
+ _f(0x19, "commonevents", "Array<CommonEvent>", "raw", "raw", persist=True, doc="Commonevents."),
873
+ _f(0x1A, "version", "DatabaseVersion", "raw", "raw", doc="Indicates version of database. When 1 the database was converted to RPG Maker 2000 v1.61."),
874
+ _f(0x1B, "commoneventD2", "EmptyBlock", "raw", "raw", persist=True, is2k3=True, doc="Duplicated? - Not used. RPG Maker 2003 only."),
875
+ _f(0x1C, "commoneventD3", "EmptyBlock", "raw", "raw", persist=True, is2k3=True, doc="Duplicated? - Not used. RPG Maker 2003 only."),
876
+ _f(0x1D, "battlecommands", "BattleCommands", "raw", "raw", persist=True, is2k3=True, doc="Battlecommands. RPG Maker 2003 only."),
877
+ _f(0x1E, "classes", "Array<Class>", "A:Class", "array:Class", default=[], default_2k3=[], persist=True, is2k3=True, doc="Classes. RPG Maker 2003 only."),
878
+ _f(0x1F, "classD1", "EmptyBlock", "raw", "raw", persist=True, is2k3=True, doc="Duplicated? - Not used. RPG Maker 2003 only."),
879
+ _f(0x20, "battleranimations", "Array<BattlerAnimation>", "A:BattlerAnimation", "array:BattlerAnimation", default=[], default_2k3=[], persist=True, is2k3=True, doc="Battleranimations. RPG Maker 2003 only."),
880
+ _f(0x21, "maniac_string_variables", "Array<StringVariable>", "raw", "raw", doc="Maniac string variables. Maniac Patch extension."),
881
+ ),
882
+ "Encounter": (
883
+ _f(0x01, "troop_id", "Ref<Troop>", "int", "int", default=0, default_2k3=0, doc="Troop."),
884
+ ),
885
+ "MapInfo": (
886
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name in the map tree."),
887
+ _f(0x02, "parent_map", "Ref<Map>", "int", "int", default=0, default_2k3=0, doc="Parent in the map tree, 0 = top level; 'parent' settings come from it (map id)."),
888
+ _f(0x03, "indentation", "Int32", "raw", "raw", doc="Integer. Dummy editor dumped data. Branch indentation level in TreeCtrl."),
889
+ _f(0x04, "type", "Enum<TreeMap_MapType>", "int", "enum:TreeMap_MapType", default=-1, default_2k3=-1, doc="Map, or area: a rectangle of its parent map with its own encounters (one of 'root', 'map', 'area' or a number)."),
890
+ _f(0x05, "scrollbar_x", "Int32", "raw", "raw", doc="Integer. Editor only."),
891
+ _f(0x06, "scrollbar_y", "Int32", "raw", "raw", doc="Integer. Editor only."),
892
+ _f(0x07, "expanded_node", "Boolean", "raw", "raw", doc="Flag. Editor only."),
893
+ _f(0x0B, "music_type", "Enum<MapInfo_MusicType>", "int", "enum:MapInfo_MusicType", default="parent", default_2k3="parent", persist=True, doc="Background music: the parent's, set by events, or `music` (one of 'parent', 'event', 'specific' or a number)."),
894
+ _f(0x0C, "music", "Music", "S:Music", "struct:Music", persist=True, doc="Background music when music_type='specific'."),
895
+ _f(0x15, "background_type", "Enum<MapInfo_BGMType>", "int", "enum:MapInfo_BGMType", default="parent", default_2k3="parent", persist=True, doc="Battle background: the parent's, the terrain's, or `background_name` (one of 'parent', 'terrain', 'specific' or a number)."),
896
+ _f(0x16, "background_name", "DBString", "str", "str", default="", default_2k3="", doc="Battle background file when background_type='specific'."),
897
+ _f(0x1F, "teleport", "Enum<MapInfo_TriState>", "int", "enum:MapInfo_TriState", default="parent", default_2k3="parent", persist=True, doc="Teleport skills: the parent's setting, allowed or forbidden (one of 'parent', 'allow', 'forbid' or a number)."),
898
+ _f(0x20, "escape", "Enum<MapInfo_TriState>", "int", "enum:MapInfo_TriState", default="parent", default_2k3="parent", persist=True, doc="Escape skills: the parent's setting, allowed or forbidden (one of 'parent', 'allow', 'forbid' or a number)."),
899
+ _f(0x21, "save", "Enum<MapInfo_TriState>", "int", "enum:MapInfo_TriState", default="parent", default_2k3="parent", persist=True, doc="Saving: the parent's setting, allowed or forbidden (one of 'parent', 'allow', 'forbid' or a number)."),
900
+ _f(0x29, "encounters", "Array<Encounter>", "A:Encounter", "array:Encounter", default=[], default_2k3=[], persist=True, doc="Troops met at random."),
901
+ _f(0x2C, "encounter_steps", "Int32", "int", "int", default=25, default_2k3=25, doc="Average steps between random encounters (0 = none)."),
902
+ _f(0x33, "area_rect", "Rect", "i32vec", "i32", default=[0, 0, 0, 0], default_2k3=[0, 0, 0, 0], persist=True, doc="Area rectangle in tiles: left, top, right, bottom (0, 0, 0, 0 for a map)."),
903
+ ),
904
+ "Start": (
905
+ _f(0x01, "party_map_id", "Ref<Map>", "int", "int", default=0, default_2k3=0, doc="Map of the party (0 = not set; map id)."),
906
+ _f(0x02, "party_x", "Int32", "int", "int", default=0, default_2k3=0, doc="Party X."),
907
+ _f(0x03, "party_y", "Int32", "int", "int", default=0, default_2k3=0, doc="Party Y."),
908
+ _f(0x0B, "boat_map_id", "Ref<Map>", "int", "int", default=0, default_2k3=0, doc="Map of the boat (0 = not placed; map id)."),
909
+ _f(0x0C, "boat_x", "Int32", "int", "int", default=0, default_2k3=0, doc="Boat X."),
910
+ _f(0x0D, "boat_y", "Int32", "int", "int", default=0, default_2k3=0, doc="Boat Y."),
911
+ _f(0x15, "ship_map_id", "Ref<Map>", "int", "int", default=0, default_2k3=0, doc="Map of the ship (0 = not placed; map id)."),
912
+ _f(0x16, "ship_x", "Int32", "int", "int", default=0, default_2k3=0, doc="Ship X."),
913
+ _f(0x17, "ship_y", "Int32", "int", "int", default=0, default_2k3=0, doc="Ship Y."),
914
+ _f(0x1F, "airship_map_id", "Ref<Map>", "int", "int", default=0, default_2k3=0, doc="Map of the airship (0 = not placed; map id)."),
915
+ _f(0x20, "airship_x", "Int32", "int", "int", default=0, default_2k3=0, doc="Airship X."),
916
+ _f(0x21, "airship_y", "Int32", "int", "int", default=0, default_2k3=0, doc="Airship Y."),
917
+ ),
918
+ "StringVariable": (
919
+ _f(0x01, "name", "DBString", "str", "str", default="", default_2k3="", doc="Name."),
920
+ ),
921
+ }
922
+
923
+ ENUMS: dict[str, dict[str, int]] = {
924
+ "AnimationTiming_FlashScope": {"nothing": 0, "target": 1, "screen": 2},
925
+ "AnimationTiming_ScreenShake": {"nothing": 0, "target": 1, "screen": 2},
926
+ "Animation_Scope": {"target": 0, "screen": 1},
927
+ "Animation_Position": {"up": 0, "middle": 1, "down": 2},
928
+ "Attribute_Type": {"physical": 0, "magical": 1},
929
+ "BattleCommand_Type": {"attack": 0, "skill": 1, "subskill": 2, "defense": 3, "item": 4, "escape": 5, "special": 6},
930
+ "BattleCommands_Placement": {"manual": 0, "automatic": 1},
931
+ "BattleCommands_RowShown": {"front": 0, "back": 1},
932
+ "BattleCommands_BattleType": {"traditional": 0, "alternative": 1, "gauge": 2},
933
+ "BattleCommands_WindowSize": {"large": 0, "small": 1},
934
+ "BattleCommands_Transparency": {"opaque": 0, "transparent": 1},
935
+ "BattleCommands_Facing": {"retain": 0, "up": 1, "right": 2, "down": 3, "left": 4},
936
+ "BattlerAnimation_Speed": {"slow": 20, "medium": 14, "fast": 8},
937
+ "BattlerAnimation_Pose": {"Idle": 0, "AttackRight": 1, "AttackLeft": 2, "Skill": 3, "Dead": 4, "Damage": 5, "Dazed": 6, "Defend": 7, "WalkLeft": 8, "WalkRight": 9, "Victory": 10, "Item": 11},
938
+ "BattlerAnimationItemSkill_Speed": {"fast": 0, "medium": 1, "slow": 2},
939
+ "BattlerAnimationItemSkill_AnimType": {"weapon": 0, "battle": 1},
940
+ "BattlerAnimationItemSkill_Movement": {"none": 0, "step": 1, "jump": 2, "move": 3},
941
+ "BattlerAnimationItemSkill_Afterimage": {"none": 0, "add": 1},
942
+ "BattlerAnimationPose_AnimType": {"character": 0, "battle": 1},
943
+ "Chipset_AnimType": {"reciprocating": 0, "cyclic": 1},
944
+ "CommonEvent_Trigger": {"automatic": 3, "parallel": 4, "call": 5, "maniac_battle_start": 6, "maniac_battle_parallel": 7},
945
+ "Skill_Type": {"normal": 0, "teleport": 1, "escape": 2, "switch": 3, "subskill": 4},
946
+ "Skill_SpType": {"cost": 0, "percent": 1},
947
+ "Skill_Scope": {"enemy": 0, "enemies": 1, "self": 2, "ally": 3, "party": 4},
948
+ "Item_Type": {"normal": 0, "weapon": 1, "shield": 2, "armor": 3, "helmet": 4, "accessory": 5, "medicine": 6, "book": 7, "material": 8, "special": 9, "switch": 10},
949
+ "Item_Trajectory": {"straight": 0, "return": 1},
950
+ "Item_Target": {"single": 0, "center": 1, "simultaneous": 2, "sequential": 3},
951
+ "EnemyAction_Kind": {"basic": 0, "skill": 1, "transformation": 2},
952
+ "EnemyAction_Basic": {"attack": 0, "dual_attack": 1, "defense": 2, "observe": 3, "charge": 4, "autodestruction": 5, "escape": 6, "nothing": 7},
953
+ "EnemyAction_ConditionType": {"always": 0, "switch": 1, "turn": 2, "actors": 3, "hp": 4, "sp": 5, "party_lvl": 6, "party_fatigue": 7},
954
+ "Terrain_BushDepth": {"normal": 0, "third": 1, "half": 2, "full": 3},
955
+ "Terrain_BGAssociation": {"background": 0, "frame": 1},
956
+ "SaveActor_RowType": {"front": 0, "back": 1},
957
+ "SavePartyLocation_VehicleType": {"none": 0, "skiff": 1, "ship": 2, "airship": 3},
958
+ "SavePartyLocation_PanState": {"fixed": 0, "follow": 1},
959
+ "SavePicture_Effect": {"none": 0, "rotation": 1, "wave": 2, "maniac_fixed_angle": 3},
960
+ "SavePicture_MapLayer": {"none": 0, "parallax": 1, "tilemap_below": 2, "events_below": 3, "events_same_as_player": 4, "tilemap_above": 5, "events_above": 6, "weather": 7, "animations": 8, "windows": 9, "timers": 10},
961
+ "SavePicture_BattleLayer": {"none": 0, "background": 1, "battlers_and_animations": 2, "weather": 3, "windows_and_status": 4, "timers": 5},
962
+ "SaveSystem_Scene": {"map": 0, "menu": 1, "battle": 2, "shop": 3, "name": 4, "file": 5, "title": 6, "game_over": 7, "debug": 8},
963
+ "SaveSystem_AtbMode": {"atb_active": 0, "atb_wait": 1},
964
+ "SaveVehicleLocation_VehicleType": {"none": 0, "skiff": 1, "ship": 2, "airship": 3},
965
+ "State_Persistence": {"ends": 0, "persists": 1},
966
+ "State_Restriction": {"normal": 0, "do_nothing": 1, "attack_enemy": 2, "attack_ally": 3},
967
+ "State_AffectType": {"half": 0, "double": 1, "nothing": 2},
968
+ "State_ChangeType": {"lose": 0, "gain": 1, "nothing": 2},
969
+ "System_FadeOut": {"default": 0, "fade_out": 1, "remove_blocks": 2, "wipe_downward": 3, "wipe_upward": 4, "venetian_blinds": 5, "vertical_blinds": 6, "horizontal_blinds": 7, "receding_square": 8, "expanding_square": 9, "screen_moves_up": 10, "screen_moves_down": 11, "screen_moves_left": 12, "screen_moves_right": 13, "vertical_div": 14, "horizontal_div": 15, "quadrasection": 16, "zoom_in": 17, "mosaic": 18, "waver_screen": 19, "instantaneous": 20, "none": 21},
970
+ "System_FadeIn": {"default": 0, "fade_in": 1, "reconstitute_blocks": 2, "unwipe_downward": 3, "unwipe_upward": 4, "venetian_blinds": 5, "vertical_blinds": 6, "horizontal_blinds": 7, "receding_square": 8, "expanding_square": 9, "screen_moves_down": 10, "screen_moves_up": 11, "screen_moves_right": 12, "screen_moves_left": 13, "vertical_unify": 14, "horizontal_unify": 15, "unify_quadrants": 16, "zoom_out": 17, "mosaic": 18, "waver_screen": 19, "instantaneous": 20, "none": 21},
971
+ "System_Stretch": {"stretch": 0, "tiled": 1, "easyrpg_none": 2},
972
+ "System_Font": {"gothic": 0, "mincho": 1},
973
+ "System_BattleFormation": {"terrain": 0, "loose": 1, "tight": 2},
974
+ "System_BattleCondition": {"none": 0, "initiative": 1, "back": 2, "surround": 3, "pincers": 4},
975
+ "System_EquipmentSetting": {"actor": 0, "class": 1},
976
+ "MapInfo_MusicType": {"parent": 0, "event": 1, "specific": 2},
977
+ "MapInfo_BGMType": {"parent": 0, "terrain": 1, "specific": 2},
978
+ "MapInfo_TriState": {"parent": 0, "allow": 1, "forbid": 2},
979
+ "EventPageCondition_Comparison": {"equal": 0, "greater_equal": 1, "less_equal": 2, "greater": 3, "less": 4, "not_equal": 5},
980
+ "EventPage_Direction": {"up": 0, "right": 1, "down": 2, "left": 3},
981
+ "EventPage_Frame": {"left": 0, "middle": 1, "right": 2, "middle2": 3},
982
+ "EventPage_MoveType": {"stationary": 0, "random": 1, "vertical": 2, "horizontal": 3, "toward": 4, "away": 5, "custom": 6},
983
+ "EventPage_Trigger": {"action": 0, "touched": 1, "collision": 2, "auto_start": 3, "parallel": 4},
984
+ "EventPage_Layers": {"below": 0, "same": 1, "above": 2},
985
+ "EventPage_AnimType": {"non_continuous": 0, "continuous": 1, "fixed_non_continuous": 2, "fixed_continuous": 3, "fixed_graphic": 4, "spin": 5, "step_frame_fix": 6},
986
+ "EventPage_MoveSpeed": {"eighth": 1, "quarter": 2, "half": 3, "normal": 4, "double": 5, "fourfold": 6},
987
+ "Map_ScrollType": {"none": 0, "vertical": 1, "horizontal": 2, "both": 3},
988
+ "Map_GeneratorMode": {"single_passage": 0, "linked_rooms": 1, "maze_passage": 2, "open_room": 3},
989
+ "Map_GeneratorTiles": {"one": 0, "two": 1},
990
+ "TreeMap_MapType": {"root": 0, "map": 1, "area": 2},
991
+ "MoveCommand_Code": {"move_up": 0, "move_right": 1, "move_down": 2, "move_left": 3, "move_upright": 4, "move_downright": 5, "move_downleft": 6, "move_upleft": 7, "move_random": 8, "move_towards_hero": 9, "move_away_from_hero": 10, "move_forward": 11, "face_up": 12, "face_right": 13, "face_down": 14, "face_left": 15, "turn_90_degree_right": 16, "turn_90_degree_left": 17, "turn_180_degree": 18, "turn_90_degree_random": 19, "face_random_direction": 20, "face_hero": 21, "face_away_from_hero": 22, "wait": 23, "begin_jump": 24, "end_jump": 25, "lock_facing": 26, "unlock_facing": 27, "increase_movement_speed": 28, "decrease_movement_speed": 29, "increase_movement_frequence": 30, "decrease_movement_frequence": 31, "switch_on": 32, "switch_off": 33, "change_graphic": 34, "play_sound_effect": 35, "walk_everywhere_on": 36, "walk_everywhere_off": 37, "stop_animation": 38, "start_animation": 39, "increase_transp": 40, "decrease_transp": 41},
992
+ "EventCommand_Code": {"END": 10, "CallCommonEvent": 1005, "ForceFlee": 1006, "EnableCombo": 1007, "ChangeClass": 1008, "ChangeBattleCommands": 1009, "OpenLoadMenu": 5001, "ExitGame": 5002, "ToggleAtbMode": 5003, "ToggleFullscreen": 5004, "OpenVideoOptions": 5005, "ShowMessage": 10110, "MessageOptions": 10120, "ChangeFaceGraphic": 10130, "ShowChoice": 10140, "InputNumber": 10150, "ControlSwitches": 10210, "ControlVars": 10220, "TimerOperation": 10230, "ChangeGold": 10310, "ChangeItems": 10320, "ChangePartyMembers": 10330, "ChangeExp": 10410, "ChangeLevel": 10420, "ChangeParameters": 10430, "ChangeSkills": 10440, "ChangeEquipment": 10450, "ChangeHP": 10460, "ChangeSP": 10470, "ChangeCondition": 10480, "FullHeal": 10490, "SimulatedAttack": 10500, "ChangeHeroName": 10610, "ChangeHeroTitle": 10620, "ChangeSpriteAssociation": 10630, "ChangeActorFace": 10640, "ChangeVehicleGraphic": 10650, "ChangeSystemBGM": 10660, "ChangeSystemSFX": 10670, "ChangeSystemGraphics": 10680, "ChangeScreenTransitions": 10690, "EnemyEncounter": 10710, "OpenShop": 10720, "ShowInn": 10730, "EnterHeroName": 10740, "Teleport": 10810, "MemorizeLocation": 10820, "RecallToLocation": 10830, "EnterExitVehicle": 10840, "SetVehicleLocation": 10850, "ChangeEventLocation": 10860, "TradeEventLocations": 10870, "StoreTerrainID": 10910, "StoreEventID": 10920, "EraseScreen": 11010, "ShowScreen": 11020, "TintScreen": 11030, "FlashScreen": 11040, "ShakeScreen": 11050, "PanScreen": 11060, "WeatherEffects": 11070, "ShowPicture": 11110, "MovePicture": 11120, "ErasePicture": 11130, "ShowBattleAnimation": 11210, "PlayerVisibility": 11310, "FlashSprite": 11320, "MoveEvent": 11330, "ProceedWithMovement": 11340, "HaltAllMovement": 11350, "Wait": 11410, "PlayBGM": 11510, "FadeOutBGM": 11520, "MemorizeBGM": 11530, "PlayMemorizedBGM": 11540, "PlaySound": 11550, "PlayMovie": 11560, "KeyInputProc": 11610, "ChangeMapTileset": 11710, "ChangePBG": 11720, "ChangeEncounterSteps": 11740, "TileSubstitution": 11750, "TeleportTargets": 11810, "ChangeTeleportAccess": 11820, "EscapeTarget": 11830, "ChangeEscapeAccess": 11840, "OpenSaveMenu": 11910, "ChangeSaveAccess": 11930, "OpenMainMenu": 11950, "ChangeMainMenuAccess": 11960, "ConditionalBranch": 12010, "Label": 12110, "JumpToLabel": 12120, "Loop": 12210, "BreakLoop": 12220, "EndEventProcessing": 12310, "EraseEvent": 12320, "CallEvent": 12330, "Comment": 12410, "GameOver": 12420, "ReturntoTitleScreen": 12510, "ChangeMonsterHP": 13110, "ChangeMonsterMP": 13120, "ChangeMonsterCondition": 13130, "ShowHiddenMonster": 13150, "ChangeBattleBG": 13210, "ShowBattleAnimation_B": 13260, "ConditionalBranch_B": 13310, "TerminateBattle": 13410, "ShowMessage_2": 20110, "ShowChoiceOption": 20140, "ShowChoiceEnd": 20141, "VictoryHandler": 20710, "EscapeHandler": 20711, "DefeatHandler": 20712, "EndBattle": 20713, "Transaction": 20720, "NoTransaction": 20721, "EndShop": 20722, "Stay": 20730, "NoStay": 20731, "EndInn": 20732, "ElseBranch": 22010, "EndBranch": 22011, "EndLoop": 22210, "Comment_2": 22410, "ElseBranch_B": 23310, "EndBranch_B": 23311, "EasyRpg_TriggerEventAt": 2002, "EasyRpg_Pathfinder": 2003, "EasyRpg_CallMovementAction": 2050, "EasyRpg_WaitForSingleMovement": 2051, "EasyRpg_AnimateVariable": 2052, "EasyRpg_SetInterpreterFlag": 2053, "EasyRpg_ProcessJson": 2055, "EasyRpg_CloneMapEvent": 2056, "EasyRpg_DestroyMapEvent": 2057, "EasyRpg_StringPictureMenu": 2058, "Maniac_GetSaveInfo": 3001, "Maniac_Save": 3002, "Maniac_Load": 3003, "Maniac_EndLoadProcess": 3004, "Maniac_GetMousePosition": 3005, "Maniac_SetMousePosition": 3006, "Maniac_ShowStringPicture": 3007, "Maniac_GetPictureInfo": 3008, "Maniac_ControlBattle": 3009, "Maniac_ControlAtbGauge": 3010, "Maniac_ChangeBattleCommandEx": 3011, "Maniac_GetBattleInfo": 3012, "Maniac_ControlVarArray": 3013, "Maniac_KeyInputProcEx": 3014, "Maniac_RewriteMap": 3015, "Maniac_ControlGlobalSave": 3016, "Maniac_ChangePictureId": 3017, "Maniac_SetGameOption": 3018, "Maniac_CallCommand": 3019, "Maniac_ControlStrings": 3020, "Maniac_GetGameInfo": 3021, "Maniac_EditPicture": 3025, "Maniac_WritePicture": 3026, "Maniac_AddMoveRoute": 3027, "Maniac_EditTile": 3028, "Maniac_ControlTextProcessing": 3029, "Maniac_Zoom": 3032},
993
+ "EventPage_ManiacEventInfo": {"action": 0, "touched": 1, "collision": 2, "auto_start": 3, "parallel": 4, "called": 5, "battle_start": 6, "battle_parallel": 7, "map_event": 16, "common_event": 32, "battle_event": 64},
994
+ "SavePicture_EasyRpgFlip": {"none": 0, "x": 1, "y": 2, "both": 3},
995
+ "SavePicture_EasyRpgType": {"default": 0, "window": 1, "canvas": 2},
996
+ "Skill_HpType": {"cost": 0, "percent": 1},
997
+ }
998
+
999
+ # Bit flags: name -> [(flag, is2k3)], bit i of the packed bytes is flag i
1000
+ FLAGS: dict[str, list[tuple[str, bool]]] = {
1001
+ "TroopPageCondition_Flags": [("switch_a", False), ("switch_b", False), ("variable", False), ("turn", False), ("fatigue", False), ("enemy_hp", False), ("actor_hp", False), ("turn_enemy", True), ("turn_actor", True), ("command_actor", True)],
1002
+ "Terrain_Flags": [("back_party", True), ("back_enemies", True), ("lateral_party", True), ("lateral_enemies", True)],
1003
+ "EventPageCondition_Flags": [("switch_a", False), ("switch_b", False), ("variable", False), ("item", False), ("actor", False), ("timer", False), ("timer2", True)],
1004
+ "SavePicture_Flags": [("erase_on_map_change", True), ("erase_on_battle_end", True), ("unused_bit", True), ("unused_bit2", True), ("affected_by_tint", True), ("affected_by_flash", True), ("affected_by_shake", True)],
1005
+ "SaveEasyRpgWindow_Flags": [("draw_frame", False), ("border_margin", False)],
1006
+ "SaveEasyRpgText_Flags": [("draw_gradient", False), ("draw_shadow", False), ("bold", False), ("italic", False)],
1007
+ "EasyRpgFrameRuntime_Flags": [("reserved_1", False)],
1008
+ "EasyRpgEventRuntime_Flags": [("reserved_1", False)],
1009
+ "EasyRpgStateRuntime_Flags": [("conf_override_active", False), ("reserved_1", False), ("reserved_2", False), ("reserved_3", False), ("patch_destiny_on", False), ("patch_destiny_off", False), ("patch_dynrpg_on", False), ("patch_dynrpg_off", False), ("patch_maniac_on", False), ("patch_maniac_off", False), ("patch_common_this_event_on", False), ("patch_common_this_event_off", False), ("patch_unlock_pics_on", False), ("patch_unlock_pics_off", False), ("patch_keypatch_on", False), ("patch_keypatch_off", False), ("patch_rpg2k3_cmds_on", False), ("patch_rpg2k3_cmds_off", False), ("use_rpg2k_battle_system_on", False), ("use_rpg2k_battle_system_off", False)],
1010
+ "ManiacMessageHook_Flags": [("user_event", False), ("create_window", False), ("destroy_window", False), ("text_rendering", False)],
1011
+ }