FE7Lex Project -- New Year's Update Released!

The project is moving forward again. I’ve experienced some covid-related life events over the last couple months that have made it difficult to find time to work on modding. However, expect another release before Christmas with several new features like character voice clips in combat and in dialogue, toggle-able turnwheel (normal difficulty only), and new chapters that cover the first parts of a hybrid Eliwood-Hector unified story.

8 Likes

Also included in the upcoming Christmas update will be this custom Marcus battle animation:

Marcus_Sword

I’m not terribly experienced making these custom animations and thus they take me frickin’ forever. Sheesh.

8 Likes

Looking nice.

1 Like

Something Cool I thought of a while back (but never did anything with) was making a custom shield for each faction a Paladin could belong too.

Black Fang Paladin shields would look different from Paladin serving Bern or Ostia.

2 Likes

That’s a really good idea. I will put that on my list of possible future additions. Thanks.

1 Like

It just always pestered me that Bern troops and Black Fang troops used the exact same colors and everything, Bern should be the standard enemy reds, while the Black Fang dark greys and purples.

1 Like

Ohmygosh I love that. Put it in the repo!

2 Likes

I would be happy to once the next version of FE7Lex is released. However, it’s in LT format and would need someone to convert it back. Also there would be the issue of downsizing it to 16 colors. If someone wants to put in the time, I’d be game though.

2 Likes

If Lex Talonis starts getting used more, maybe we could have a Lex Talonis repo in addition to the stuff that’s GBAFE-usable

4 Likes

I’ve released the New Year’s update for FE7Lex! The main post has been revised with the download link and information on some of the new features.

6 Likes

Restarted Chapter 10 (Hard) and the game crashed (I think it was a t the point I pressed ‘A’ on the map:

11206    INFO:            main: *** Lex Talionis Engine Version 0.9.4.5 ***
11222   DEBUG:          Engine: Frame took too long! 11218 ms
11249    INFO:          Engine: Music: Fade in ./Audio/music/Fire Emblem Theme.ogg
11249    INFO:          Engine: Music: New Song ./Audio/music/Fire Emblem Theme.ogg
11249    INFO:          Engine: Music: Next Song ./Audio/music/Fire Emblem Theme.ogg
11249   DEBUG:    StateMachine: Temp State: ['transition_in']
11252   DEBUG:            main: Current states ['start_start', 'transition_in']
11389   DEBUG:    StateMachine: Temp State: ['pop']
11404   DEBUG:            main: Current states ['start_start']
11628   DEBUG:          Engine: Music: Actual Fade in!
14855   DEBUG:    StateMachine: Temp State: ['start_option', 'transition_out']
14871   DEBUG:            main: Current states ['start_start', 'start_option', 'transition_out']
15029   DEBUG:    StateMachine: Temp State: ['pop']
15042   DEBUG:            main: Current states ['start_start', 'start_option']
15043   DEBUG:    StateMachine: Temp State: ['transition_in']
15060   DEBUG:            main: Current states ['start_start', 'start_option', 'transition_in']
15198   DEBUG:    StateMachine: Temp State: ['pop']
15213   DEBUG:            main: Current states ['start_start', 'start_option']
16641   DEBUG:    StateMachine: Temp State: ['start_start', 'transition_out']
16656   DEBUG:            main: Current states ['start_start', 'start_option', 'start_start', 'transition_out']
16814   DEBUG:    StateMachine: Temp State: ['pop']
16824   DEBUG:            main: Current states ['start_start', 'start_option', 'start_start']
16834    INFO:          Engine: Music: Fade in ./Audio/music/Fire Emblem Theme.ogg
16834    INFO:          Engine: Music: Already Present
16835   DEBUG:    StateMachine: Temp State: ['transition_in']
16840   DEBUG:            main: Current states ['start_start', 'start_option', 'start_start', 'transition_in']
16978   DEBUG:    StateMachine: Temp State: ['pop']
16992   DEBUG:            main: Current states ['start_start', 'start_option', 'start_start']
18150   DEBUG:    StateMachine: Temp State: ['start_option', 'transition_out']
18166   DEBUG:            main: Current states ['start_start', 'start_option', 'start_start', 'start_option', 'transition_out']
18324   DEBUG:    StateMachine: Temp State: ['pop']
18338   DEBUG:            main: Current states ['start_start', 'start_option', 'start_start', 'start_option']
18338   DEBUG:    StateMachine: Temp State: ['transition_in']
18356   DEBUG:            main: Current states ['start_start', 'start_option', 'start_start', 'start_option', 'transition_in']
18497   DEBUG:    StateMachine: Temp State: ['pop']
18510   DEBUG:            main: Current states ['start_start', 'start_option', 'start_start', 'start_option']
21494   DEBUG:    StateMachine: Temp State: ['start_restart']
21511   DEBUG:            main: Current states ['start_start', 'start_option', 'start_start', 'start_option', 'start_restart']
23388   DEBUG:     Transitions: Restarting Level...
23488    INFO:    GameStateObj: Load
23492    INFO:      UnitObject: New AI Descriptor: None
23492   DEBUG:          AI_fsm: AI Change. From 0 0 to 0 0
23493    INFO:      UnitObject: New AI Descriptor: None
23493   DEBUG:          AI_fsm: AI Change. From 0 0 to 0 0
23493    INFO:      UnitObject: New AI Descriptor: None
23493   DEBUG:          AI_fsm: AI Change. From 0 0 to 0 0
23494    INFO:      UnitObject: New AI Descriptor: None
23494   DEBUG:          AI_fsm: AI Change. From 0 0 to 0 0
23495    INFO:      UnitObject: New AI Descriptor: None
23495   DEBUG:          AI_fsm: AI Change. From 0 0 to 0 0
23495    INFO:      UnitObject: New AI Descriptor: None
23495   DEBUG:          AI_fsm: AI Change. From 0 0 to 0 0
23496    INFO:      UnitObject: New AI Descriptor: None
23496   DEBUG:          AI_fsm: AI Change. From 0 0 to 0 0
23496    INFO:      UnitObject: New AI Descriptor: None
23497   DEBUG:          AI_fsm: AI Change. From 0 0 to 0 0
23497    INFO:      UnitObject: New AI Descriptor: None
23498   DEBUG:          AI_fsm: AI Change. From 0 0 to 0 0
23498    INFO:      UnitObject: New AI Descriptor: None
23498   DEBUG:          AI_fsm: AI Change. From 0 0 to 0 0
23499    INFO:      UnitObject: New AI Descriptor: None
23499   DEBUG:          AI_fsm: AI Change. From 0 0 to 0 0
23499    INFO:      UnitObject: New AI Descriptor: None
23499   DEBUG:          AI_fsm: AI Change. From 0 0 to 0 0
23500    INFO:      UnitObject: New AI Descriptor: None
23500   DEBUG:          AI_fsm: AI Change. From 0 0 to 0 0
23525    INFO:    GameStateObj: Creating map...
23529    INFO:      TileObject: Parsing tile info at Data/Level11/tileInfo.txt
23531   DEBUG:      TileObject: Parsing tile info line: 1,1:Formation=0
23531   DEBUG:      TileObject: Parsing tile info line: 5,13:Status=tile_Regeneration
23531    INFO:    GameStateObj: Registering status tile_Regeneration as 230
23531   DEBUG:      TileObject: Parsing tile info line: 6,14:Status=tile_Regeneration
23532    INFO:    GameStateObj: Registering status tile_Regeneration as 231
23532   DEBUG:      TileObject: Parsing tile info line: 5,16:Status=tile_Regeneration
23532    INFO:    GameStateObj: Registering status tile_Regeneration as 232
23532   DEBUG:      TileObject: Parsing tile info line: 2,16:Status=tile_Regeneration;Lord_Seize=Gate
23532    INFO:    GameStateObj: Registering status tile_Regeneration as 233
23533   DEBUG:      TileObject: Parsing tile info line: 11,15:Shop=Heal,Lightning,Fire,Thunder,Vulnerary
23533   DEBUG:      TileObject: Parsing tile info line: 12,15:Shop=Armorslayer,Heavy Spear,Hammer,Steel Bow
23533   DEBUG:      TileObject: Parsing tile info line: 3,1:Village=House_1
23533   DEBUG:      TileObject: Parsing tile info line: 16,2:Village=House_2
23533   DEBUG:      TileObject: Parsing tile info line: 13,16:Village=House_3
23533   DEBUG:      TileObject: Parsing tile info line: 15,12:Village=Village;Destructible=Village
23533   DEBUG:      TileObject: Parsing tile info line: 7,16:Destructible=Snag_2;HP=20
23534   DEBUG:      TileObject: Parsing tile info line: 16,15:Destructible=Snag_1;HP=20
23534   DEBUG:      TileObject: Parsing tile info line: 4,5:Formation=0
23534   DEBUG:      TileObject: Parsing tile info line: 3,4:Formation=0
23534   DEBUG:      TileObject: Parsing tile info line: 5,4:Formation=0
23534   DEBUG:      TileObject: Parsing tile info line: 6,3:Formation=0
23534   DEBUG:      TileObject: Parsing tile info line: 2,3:Formation=0
23534   DEBUG:      TileObject: Parsing tile info line: 2,2:Formation=0
23534   DEBUG:      TileObject: Parsing tile info line: 3,2:Formation=0
23535   DEBUG:      TileObject: Parsing tile info line: 1,2:Formation=0
23535   DEBUG:      TileObject: Parsing tile info line: 4,1:Formation=0
23535   DEBUG:      TileObject: Parsing tile info line: 5,2:Formation=0
23535   DEBUG:      TileObject: Parsing tile info line: 6,1:Formation=0
23757    INFO:    GameStateObj: Done creating map...
23772    INFO:    GameStateObj: Generic
23783    INFO:      TileObject: Parsing tile info at Data/Level11/tileInfo.txt
23785   DEBUG:      TileObject: Parsing tile info line: 1,1:Formation=0
23785   DEBUG:      TileObject: Parsing tile info line: 5,13:Status=tile_Regeneration
23786    INFO:    GameStateObj: Registering status tile_Regeneration as 234
23786   DEBUG:      TileObject: Parsing tile info line: 6,14:Status=tile_Regeneration
23786    INFO:    GameStateObj: Registering status tile_Regeneration as 235
23786   DEBUG:      TileObject: Parsing tile info line: 5,16:Status=tile_Regeneration
23786    INFO:    GameStateObj: Registering status tile_Regeneration as 236
23786   DEBUG:      TileObject: Parsing tile info line: 2,16:Status=tile_Regeneration;Lord_Seize=Gate
23786    INFO:    GameStateObj: Registering status tile_Regeneration as 237
23786   DEBUG:      TileObject: Parsing tile info line: 11,15:Shop=Heal,Lightning,Fire,Thunder,Vulnerary
23786   DEBUG:      TileObject: Parsing tile info line: 12,15:Shop=Armorslayer,Heavy Spear,Hammer,Steel Bow
23786   DEBUG:      TileObject: Parsing tile info line: 3,1:Village=House_1
23786   DEBUG:      TileObject: Parsing tile info line: 16,2:Village=House_2
23787   DEBUG:      TileObject: Parsing tile info line: 13,16:Village=House_3
23787   DEBUG:      TileObject: Parsing tile info line: 15,12:Village=Village;Destructible=Village
23787   DEBUG:      TileObject: Parsing tile info line: 7,16:Destructible=Snag_2;HP=20
23787   DEBUG:      TileObject: Parsing tile info line: 16,15:Destructible=Snag_1;HP=20
23787   DEBUG:      TileObject: Parsing tile info line: 4,5:Formation=0
23787   DEBUG:      TileObject: Parsing tile info line: 3,4:Formation=0
23787   DEBUG:      TileObject: Parsing tile info line: 5,4:Formation=0
23787   DEBUG:      TileObject: Parsing tile info line: 6,3:Formation=0
23787   DEBUG:      TileObject: Parsing tile info line: 2,3:Formation=0
23787   DEBUG:      TileObject: Parsing tile info line: 2,2:Formation=0
23787   DEBUG:      TileObject: Parsing tile info line: 3,2:Formation=0
23787   DEBUG:      TileObject: Parsing tile info line: 1,2:Formation=0
23787   DEBUG:      TileObject: Parsing tile info line: 4,1:Formation=0
23787   DEBUG:      TileObject: Parsing tile info line: 5,2:Formation=0
23787   DEBUG:      TileObject: Parsing tile info line: 6,1:Formation=0
24018    INFO:        SaveLoad: Reading unit line ['faction', 'Caelin', 'Caelin', 'Bandit', 'Soldiers of Caelin, deep in the Lycian League.']
24018    INFO:        SaveLoad: Reading unit line ['player', '1', '0', 'Lyn', 'None', 'None']
24019    INFO:        SaveLoad: Reading unit line ['player', '1', '0', 'Kent', 'None', 'None']
24019    INFO:        SaveLoad: Reading unit line ['player', '1', '0', 'Sain', 'None', 'None']
24019    INFO:        SaveLoad: Reading unit line ['player', '1', '0', 'Florina', 'None', 'None']
24019    INFO:        SaveLoad: Reading unit line ['player', '1', '0', 'Wil', 'None', 'None']
24019    INFO:        SaveLoad: Reading unit line ['player', '1', '0', 'Dorcas', 'None', 'None']
24019    INFO:        SaveLoad: Reading unit line ['player', '1', '0', 'Serra', 'None', 'None']
24019    INFO:        SaveLoad: Reading unit line ['player', '1', '0', 'Erk', 'None', 'None']
24019    INFO:        SaveLoad: Reading unit line ['player', '1', '0', 'Rath', 'None', 'None']
24019    INFO:        SaveLoad: Reading unit line ['player', '1', '0', 'Matthew', 'None', 'None']
24019    INFO:        SaveLoad: Reading unit line ['player', '1', '0', 'Nils', 'None', 'None']
24019    INFO:        SaveLoad: Reading unit line ['player', '1', '0', 'Lucius', 'None', 'None']
24019    INFO:        SaveLoad: Reading unit line ['player', '1', '0', 'Wallace', 'None', 'None']
24019    INFO:        SaveLoad: Reading unit line ['enemy', '0', '0', 'Lundgren', '2,16', 'HardGuard']
24020   DEBUG:        SaveLoad: Lundgren's stats: OrderedDict([('HP', 36), ('STR', 13), ('MAG', 3), ('SKL', 8), ('SPD', 6), ('LCK', 6), ('DEF', 14), ('RES', 8), ('CON', 15), ('MOV', 0)])
24020    INFO:      UnitObject: New AI Descriptor: HardGuard
24020   DEBUG:          AI_fsm: AI Change. From 0 0 to 2 0
24020   DEBUG:      UnitObject: Inserting Silver Lance to Lundgren items at index 0.
24021   DEBUG:      UnitObject: Inserting Javelin to Lundgren items at index 1.
24021   DEBUG:        SaveLoad: Class Skills []
24021    INFO:        SaveLoad: Reading unit line ['enemy', '0', '0', 'Knight', '3', 'Iron Lance', '2,17', 'SoftGuard', 'Caelin']
24021   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 19), ('STR', 8), ('MAG', 3), ('SKL', 2), ('SPD', 1), ('LCK', 2), ('DEF', 10), ('RES', 1), ('CON', 13), ('MOV', 4)])
24021    INFO:      UnitObject: New AI Descriptor: SoftGuard
24021   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 0
24022   DEBUG:      UnitObject: Inserting Iron Lance to Caelin items at index 0.
24022   DEBUG:        SaveLoad: Class Skills []
24022    INFO:        SaveLoad: Reading unit line ['other', '0', 'Tactician_1', 'Tactician', '1', '', 'None', 'None', 'Caelin']
24022   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 10), ('STR', 0), ('MAG', 1), ('SKL', 2), ('SPD', 3), ('LCK', 0), ('DEF', 1), ('RES', 2), ('CON', 4), ('MOV', 5)])
24022    INFO:      UnitObject: New AI Descriptor: None
24022   DEBUG:          AI_fsm: AI Change. From 0 0 to 0 0
24023   DEBUG:        SaveLoad: Class Skills []
24023    INFO:        SaveLoad: Reading unit line ['mode', 'Hard,Lunatic']
24023    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Archer_4', 'Archer', '3', 'Longbow', 'None', 'SoftGuard', 'Caelin']
24023   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 20), ('STR', 6), ('MAG', 2), ('SKL', 6), ('SPD', 5), ('LCK', 3), ('DEF', 4), ('RES', 2), ('CON', 7), ('MOV', 5)])
24023    INFO:      UnitObject: New AI Descriptor: SoftGuard
24023   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 0
24024   DEBUG:      UnitObject: Inserting Longbow to Caelin items at index 0.
24024   DEBUG:        SaveLoad: Class Skills []
24024    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Archer_5', 'Archer', '3', 'Longbow', 'None', 'SoftGuard', 'Caelin']
24024   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 22), ('STR', 9), ('MAG', 2), ('SKL', 5), ('SPD', 7), ('LCK', 3), ('DEF', 3), ('RES', 0), ('CON', 7), ('MOV', 5)])
24024    INFO:      UnitObject: New AI Descriptor: SoftGuard
24024   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 0
24024   DEBUG:      UnitObject: Inserting Longbow to Caelin items at index 0.
24024   DEBUG:        SaveLoad: Class Skills []
24025    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Cavalier_4', 'Cavalier', '2', 'Iron Sword,Javelin', 'None', 'Pursue', 'Caelin']
24025   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 21), ('STR', 6), ('MAG', 4), ('SKL', 4), ('SPD', 8), ('LCK', 1), ('DEF', 7), ('RES', 1), ('CON', 9), ('MOV', 7)])
24025    INFO:      UnitObject: New AI Descriptor: Pursue
24025   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 1
24025   DEBUG:      UnitObject: Inserting Iron Sword to Caelin items at index 0.
24025   DEBUG:      UnitObject: Inserting Javelin to Caelin items at index 1.
24025   DEBUG:        SaveLoad: Class Skills ['Canto']
24026    INFO:    GameStateObj: Registering status Canto as 238
24026    INFO:          Action: Adding Status Canto to Caelin at None
24026    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Cavalier_5', 'Cavalier', '2', 'Iron Sword,Javelin', 'None', 'Pursue', 'Caelin']
24026   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 22), ('STR', 9), ('MAG', 3), ('SKL', 4), ('SPD', 6), ('LCK', 1), ('DEF', 6), ('RES', 0), ('CON', 9), ('MOV', 7)])
24026    INFO:      UnitObject: New AI Descriptor: Pursue
24026   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 1
24027   DEBUG:      UnitObject: Inserting Iron Sword to Caelin items at index 0.
24027   DEBUG:      UnitObject: Inserting Javelin to Caelin items at index 1.
24027   DEBUG:        SaveLoad: Class Skills ['Canto']
24027    INFO:    GameStateObj: Registering status Canto as 239
24027    INFO:          Action: Adding Status Canto to Caelin at None
24027    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Soldier_2', 'Soldier', '3', 'Horseslayer', 'None', 'Pursue', 'Caelin']
24027   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 23), ('STR', 7), ('MAG', 1), ('SKL', 1), ('SPD', 3), ('LCK', 3), ('DEF', 2), ('RES', 0), ('CON', 6), ('MOV', 5)])
24028    INFO:      UnitObject: New AI Descriptor: Pursue
24028   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 1
24028   DEBUG:      UnitObject: Inserting Horseslayer to Caelin items at index 0.
24028   DEBUG:        SaveLoad: Class Skills []
24028    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Soldier_3', 'Soldier', '3', 'Axereaver', 'None', 'Pursue', 'Caelin']
24028   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 22), ('STR', 6), ('MAG', 2), ('SKL', 2), ('SPD', 3), ('LCK', 1), ('DEF', 1), ('RES', 1), ('CON', 6), ('MOV', 5)])
24028    INFO:      UnitObject: New AI Descriptor: Pursue
24028   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 1
24029   DEBUG:      UnitObject: Inserting Axereaver to Caelin items at index 0.
24029   DEBUG:        SaveLoad: Class Skills []
24029    INFO:        SaveLoad: Reading unit line ['mode', 'Normal,Hard,Lunatic']
24029    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Brigand_1', 'Brigand', '2', 'Iron Axe', 'None', 'PursueVillage', 'Caelin']
24029   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 23), ('STR', 8), ('MAG', 2), ('SKL', 4), ('SPD', 7), ('LCK', 1), ('DEF', 4), ('RES', 1), ('CON', 12), ('MOV', 5)])
24029    INFO:      UnitObject: New AI Descriptor: PursueVillage
24029   DEBUG:          AI_fsm: AI Change. From 0 0 to 19 10
24030   DEBUG:      UnitObject: Inserting Iron Axe to Caelin items at index 0.
24030   DEBUG:        SaveLoad: Class Skills []
24030    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Soldier_1', 'Soldier', '3', 'Iron Lance', 'None', 'Pursue', 'Caelin']
24030   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 24), ('STR', 7), ('MAG', 2), ('SKL', 3), ('SPD', 1), ('LCK', 2), ('DEF', 1), ('RES', 1), ('CON', 6), ('MOV', 5)])
24030    INFO:      UnitObject: New AI Descriptor: Pursue
24030   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 1
24031   DEBUG:      UnitObject: Inserting Iron Lance to Caelin items at index 0.
24031   DEBUG:        SaveLoad: Class Skills []
24031    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Mage_1', 'Mage', '1', 'Fire', 'None', 'SoftGuard', 'Caelin']
24031   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 18), ('STR', 1), ('MAG', 4), ('SKL', 4), ('SPD', 5), ('LCK', 1), ('DEF', 3), ('RES', 5), ('CON', 6), ('MOV', 5)])
24031    INFO:      UnitObject: New AI Descriptor: SoftGuard
24031   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 0
24031   DEBUG:      UnitObject: Inserting Fire to Caelin items at index 0.
24031   DEBUG:        SaveLoad: Class Skills []
24032    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Shaman_1', 'Shaman', '3', 'Flux', 'None', 'SoftGuard', 'Caelin']
24032   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 18), ('STR', 3), ('MAG', 5), ('SKL', 4), ('SPD', 5), ('LCK', 3), ('DEF', 2), ('RES', 6), ('CON', 7), ('MOV', 5)])
24032    INFO:      UnitObject: New AI Descriptor: SoftGuard
24032   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 0
24032   DEBUG:      UnitObject: Inserting Flux to Caelin items at index 0.
24032   DEBUG:        SaveLoad: Class Skills []
24032    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Archer_1', 'Archer', '3', 'Iron Bow', 'None', 'Pursue', 'Caelin']
24033   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 21), ('STR', 6), ('MAG', 4), ('SKL', 5), ('SPD', 6), ('LCK', 2), ('DEF', 4), ('RES', 2), ('CON', 7), ('MOV', 5)])
24033    INFO:      UnitObject: New AI Descriptor: Pursue
24033   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 1
24033   DEBUG:      UnitObject: Inserting Iron Bow to Caelin items at index 0.
24033   DEBUG:        SaveLoad: Class Skills []
24033    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Archer_2', 'Archer', '3', 'Iron Bow', 'None', 'Pursue', 'Caelin']
24033   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 22), ('STR', 8), ('MAG', 1), ('SKL', 5), ('SPD', 3), ('LCK', 2), ('DEF', 4), ('RES', 2), ('CON', 7), ('MOV', 5)])
24033    INFO:      UnitObject: New AI Descriptor: Pursue
24033   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 1
24034   DEBUG:      UnitObject: Inserting Iron Bow to Caelin items at index 0.
24034   DEBUG:        SaveLoad: Class Skills []
24034    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Archer_3', 'Archer', '3', 'Iron Bow', 'None', 'Pursue', 'Caelin']
24034   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 21), ('STR', 8), ('MAG', 3), ('SKL', 6), ('SPD', 4), ('LCK', 3), ('DEF', 3), ('RES', 1), ('CON', 7), ('MOV', 5)])
24034    INFO:      UnitObject: New AI Descriptor: Pursue
24034   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 1
24034   DEBUG:      UnitObject: Inserting Iron Bow to Caelin items at index 0.
24034   DEBUG:        SaveLoad: Class Skills []
24034    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Mercenary_1', 'Mercenary', '2', 'Iron Sword', 'None', 'Pursue', 'Caelin']
24035   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 20), ('STR', 6), ('MAG', 2), ('SKL', 10), ('SPD', 10), ('LCK', 1), ('DEF', 6), ('RES', 3), ('CON', 9), ('MOV', 5)])
24035    INFO:      UnitObject: New AI Descriptor: Pursue
24035   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 1
24035   DEBUG:      UnitObject: Inserting Iron Sword to Caelin items at index 0.
24035   DEBUG:        SaveLoad: Class Skills []
24035    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Mercenary_2', 'Mercenary', '2', 'Iron Sword', 'None', 'SoftGuard', 'Caelin']
24035   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 20), ('STR', 7), ('MAG', 2), ('SKL', 10), ('SPD', 9), ('LCK', 1), ('DEF', 4), ('RES', 2), ('CON', 9), ('MOV', 5)])
24036    INFO:      UnitObject: New AI Descriptor: SoftGuard
24036   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 0
24036   DEBUG:      UnitObject: Inserting Iron Sword to Caelin items at index 0.
24036   DEBUG:        SaveLoad: Class Skills []
24036    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Cavalier_1', 'Cavalier', '1', 'Iron Lance', 'None', 'Pursue', 'Caelin']
24036   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 21), ('STR', 8), ('MAG', 2), ('SKL', 2), ('SPD', 6), ('LCK', 2), ('DEF', 7), ('RES', 1), ('CON', 9), ('MOV', 7)])
24036    INFO:      UnitObject: New AI Descriptor: Pursue
24036   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 1
24036   DEBUG:      UnitObject: Inserting Iron Lance to Caelin items at index 0.
24037   DEBUG:        SaveLoad: Class Skills ['Canto']
24037    INFO:    GameStateObj: Registering status Canto as 240
24037    INFO:          Action: Adding Status Canto to Caelin at None
24037    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Cavalier_2', 'Cavalier', '1', 'Iron Lance', 'None', 'Pursue', 'Caelin']
24037   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 22), ('STR', 6), ('MAG', 2), ('SKL', 3), ('SPD', 6), ('LCK', 1), ('DEF', 6), ('RES', 1), ('CON', 9), ('MOV', 7)])
24037    INFO:      UnitObject: New AI Descriptor: Pursue
24037   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 1
24037   DEBUG:      UnitObject: Inserting Iron Lance to Caelin items at index 0.
24037   DEBUG:        SaveLoad: Class Skills ['Canto']
24038    INFO:    GameStateObj: Registering status Canto as 241
24038    INFO:          Action: Adding Status Canto to Caelin at None
24038    INFO:        SaveLoad: Reading unit line ['enemy', '0', 'Cavalier_3', 'Cavalier', '1', 'Iron Lance', 'None', 'Pursue', 'Caelin']
24038   DEBUG:        SaveLoad: Caelin's stats: OrderedDict([('HP', 22), ('STR', 8), ('MAG', 3), ('SKL', 3), ('SPD', 7), ('LCK', 0), ('DEF', 7), ('RES', 0), ('CON', 9), ('MOV', 7)])
24038    INFO:      UnitObject: New AI Descriptor: Pursue
24038   DEBUG:          AI_fsm: AI Change. From 0 0 to 3 1
24038   DEBUG:      UnitObject: Inserting Iron Lance to Caelin items at index 0.
24038   DEBUG:        SaveLoad: Class Skills ['Canto']
24038    INFO:    GameStateObj: Registering status Canto as 242
24039    INFO:          Action: Adding Status Canto to Caelin at None
24039    INFO:    GameStateObj: Start
24039   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF58141E08> Lundgren (2, 16)
24039    INFO:          Action: Adding Status tile_Regeneration to Lundgren at (2, 16)
24039   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF58146508> Caelin (2, 17)
24039    INFO:    GameStateObj: Generic
24040   DEBUG:    StateMachine: Temp State: ['start_wait']
24047   DEBUG:    StateMachine: StateMachine took too long: start_restart Begin: 0, Input: 655, Update: 0, Draw: 5, End: 0
24049   DEBUG:            main: Current states ['turn_change', 'start_wait']
24049   DEBUG:          Engine: Frame took too long! 662 ms
24813   DEBUG:    StateMachine: Temp State: ['transition_pop']
24826   DEBUG:            main: Current states ['turn_change', 'start_wait', 'transition_pop']
24985   DEBUG:    StateMachine: Temp State: ['pop', 'pop']
24998   DEBUG:            main: Current states ['turn_change']
24998    INFO:       Turnwheel: Add Action 0: ChangePhase
24998    INFO:       Turnwheel: Add Action 1: IncrementTurn
25005   DEBUG:    StateMachine: Temp State: ['pop', 'free', 'status', 'phase_change', 'dialogue', 'prep_main', 'dialogue', 'chapter_transition', 'dialogue']
25005    INFO:   GeneralStates: Begin Dialogue State
25005   DEBUG:        Dialogue: Dialogue Current State: Processing
25005    INFO:        Dialogue: Script line to parse: ['b', 'BlackBackground']
25005    INFO:        Dialogue: Script line to parse: ['t', '1']
25015   DEBUG:            main: Current states ['free', 'status', 'phase_change', 'dialogue', 'prep_main', 'dialogue', 'chapter_transition', 'dialogue']
25015   DEBUG:        Dialogue: Dialogue Current State: Transitioning
25339   DEBUG:        Dialogue: Dialogue Current State: Processing
25339    INFO:        Dialogue: Script line to parse: ['mf']
25339   DEBUG:        Dialogue: Fade out music
25339    INFO:          Engine: Music: Fade back
25340    INFO:        Dialogue: Script line to parse: ['m', 'A Hint of Things to Come']
25340   DEBUG:        Dialogue: Fade in A Hint of Things to Come
25340    INFO:          Engine: Music: Fade in ./Audio/music/A Hint of Things to Come.ogg
25340    INFO:          Engine: Music: New Song ./Audio/music/A Hint of Things to Come.ogg
25340    INFO:          Engine: Music: Next Song ./Audio/music/A Hint of Things to Come.ogg
25340    INFO:        Dialogue: Script line to parse: ['b', 'WorldMap', 'map']
25340    INFO:        Dialogue: Script line to parse: ['wm_qpan', '295,280']
25340    INFO:        Dialogue: Script line to parse: ['wm_marker', 'wm_blue_marker', '433,330']
25341    INFO:        Dialogue: Script line to parse: ['wm_load', 'Lyn', '428,320']
25341    INFO:        Dialogue: Script line to parse: ['u', 'Eagler', '137', '31', 'OpenEyes']
25356   DEBUG:        Dialogue: Dialogue Current State: Waiting
25628   DEBUG:        Dialogue: Dialogue Current State: Processing
25628    INFO:        Dialogue: Script line to parse: ['t', '2']
25646   DEBUG:        Dialogue: Dialogue Current State: Transitioning
25752   DEBUG:          Engine: Music: Actual Fade in!
25769   DEBUG:          Engine: Music: Fade Catch Event
25970   DEBUG:        Dialogue: Dialogue Current State: Processing
25970    INFO:        Dialogue: Script line to parse: ['s', 'Narrator', 'General Eagler has been defeated.{w}', 'auto', 'narration', 'hold']
25987   DEBUG:        Dialogue: Dialogue Current State: Displaying
28338   DEBUG:        Dialogue: Dialogue Current State: Processing
28338    INFO:        Dialogue: Script line to parse: ['r', 'Eagler']
28355   DEBUG:        Dialogue: Dialogue Current State: Waiting
28609   DEBUG:        Dialogue: Dialogue Current State: Processing
28609    INFO:        Dialogue: Script line to parse: ['wm_move', 'Lyn', '-15,3']
28609    INFO:        Dialogue: Script line to parse: ['wm_marker', 'wm_red_marker', '406,333']
28609    INFO:        Dialogue: Script line to parse: ['wm_load', 'Lundgren', '400,324']
28610    INFO:        Dialogue: Script line to parse: ['music_clear']
28610   DEBUG:        Dialogue: Clear music stack
28610    INFO:        Dialogue: Script line to parse: ['r', 'Lyn', 'Lundgren']
28610   DEBUG:   GeneralStates: Ending dialogue state
28610    INFO:   GeneralStates: Repeat Dialogue State!
28610   DEBUG:    StateMachine: Temp State: ['pop']
28610    INFO:          Engine: Music: Fade in ./Audio/music/Chapter Sound.ogg
28610    INFO:          Engine: Music: New Song ./Audio/music/Chapter Sound.ogg
28610    INFO:          Engine: Music: Next Song ./Audio/music/Chapter Sound.ogg
28625   DEBUG:            main: Current states ['free', 'status', 'phase_change', 'dialogue', 'prep_main', 'dialogue', 'Ch. 10: The Distant Plains']
29014   DEBUG:          Engine: Music: Actual Fade in!
36984    INFO:          Engine: Music: Fade back
37392   DEBUG:          Engine: Music: Actual Fade in!
37429   DEBUG:          Engine: Music: Song End Event
38217   DEBUG:    StateMachine: Temp State: ['pop']
38232   DEBUG:            main: Current states ['free', 'status', 'phase_change', 'dialogue', 'prep_main', 'dialogue']
38232    INFO:   GeneralStates: Begin Dialogue State
38232   DEBUG:        Dialogue: Dialogue Current State: Processing
38233    INFO:        Dialogue: Script line to parse: ['layer_tile_sprite', '0', '14,10', 'DestroyedVillage']
38233    INFO:       Turnwheel: Add Action 2: LayerTileSprite
38233    INFO:        Dialogue: Script line to parse: ['layer_terrain', '0', '14,10', 'DestroyedVillageTerrain']
38234    INFO:       Turnwheel: Add Action 3: LayerTerrain
38234    INFO:        Dialogue: Script line to parse: ['layer_tile_sprite', '1', '16,15', 'DestroyedSnag1']
38234    INFO:       Turnwheel: Add Action 4: LayerTileSprite
38234    INFO:        Dialogue: Script line to parse: ['layer_terrain', '1', '16,15', 'DestroyedSnag1Terrain']
38234    INFO:       Turnwheel: Add Action 5: LayerTerrain
38234    INFO:        Dialogue: Script line to parse: ['layer_tile_sprite', '2', '6,16', 'DestroyedSnag2']
38235    INFO:       Turnwheel: Add Action 6: LayerTileSprite
38235    INFO:        Dialogue: Script line to parse: ['layer_terrain', '2', '6,16', 'DestroyedSnag2Terrain']
38235    INFO:       Turnwheel: Add Action 7: LayerTerrain
38235    INFO:        Dialogue: Script line to parse: ['m', 'Companions']
38235   DEBUG:        Dialogue: Fade in Companions
38235    INFO:          Engine: Music: Fade in ./Audio/music/Companions.ogg
38235    INFO:          Engine: Music: New Song ./Audio/music/Companions.ogg
38236    INFO:          Engine: Music: Next Song ./Audio/music/Companions.ogg
38236    INFO:        Dialogue: Script line to parse: ['add_unit', 'Lyn', '1,2']
38236   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF58194908> Lyn (1, 2)
38236    INFO:       Turnwheel: Add Action 8: FadeIn
38236    INFO:        Dialogue: Script line to parse: ['add_unit', 'Florina', '1,3']
38236   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581B2E48> Florina (1, 3)
38237    INFO:       Turnwheel: Add Action 9: FadeIn
38237    INFO:        Dialogue: Script line to parse: ['add_unit', 'Kent', '1,1']
38237   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581A8FC8> Kent (1, 1)
38237    INFO:       Turnwheel: Add Action 10: FadeIn
38237    INFO:        Dialogue: Script line to parse: ['add_unit', 'Sain', '2,2']
38237   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581B0E08> Sain (2, 2)
38238    INFO:       Turnwheel: Add Action 11: FadeIn
38238    INFO:        Dialogue: Script line to parse: ['add_unit', 'Wil', '2,1']
38238   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581B6F48> Wil (2, 1)
38238    INFO:       Turnwheel: Add Action 12: FadeIn
38238    INFO:        Dialogue: Script line to parse: ['add_unit', 'Nils', '3,2']
38238   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581C3948> Nils (3, 2)
38238    INFO:       Turnwheel: Add Action 13: FadeIn
38239    INFO:        Dialogue: Script line to parse: ['add_unit', 'Matthew', '3,3']
38239   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581B7DC8> Matthew (3, 3)
38239    INFO:       Turnwheel: Add Action 14: FadeIn
38239    INFO:        Dialogue: Script line to parse: ['add_unit', 'Tactician_1', '0,2']
38239   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF582C48C8> Caelin (0, 2)
38240    INFO:       Turnwheel: Add Action 15: FadeIn
38240    INFO:        Dialogue: Script line to parse: ['t', '2']
38250   DEBUG:        Dialogue: Dialogue Current State: Transitioning
38571   DEBUG:        Dialogue: Dialogue Current State: Processing
38571    INFO:        Dialogue: Script line to parse: ['set_cursor', '1,2', 'immediate']
38571   DEBUG:          Cursor: Cursor new position (1, 2)
38572    INFO:        Dialogue: Script line to parse: ['disp_cursor', '1']
38572    INFO:        Dialogue: Script line to parse: ['wait', '1000']
38588   DEBUG:        Dialogue: Dialogue Current State: Waiting
38640   DEBUG:          Engine: Music: Actual Fade in!
39589   DEBUG:        Dialogue: Dialogue Current State: Processing
39589    INFO:        Dialogue: Script line to parse: ['hide_cursor']
39589    INFO:        Dialogue: Script line to parse: ['t', '1']
39606   DEBUG:        Dialogue: Dialogue Current State: Transitioning
39930   DEBUG:        Dialogue: Dialogue Current State: Processing
39930    INFO:        Dialogue: Script line to parse: ['b', 'Forest_F']
39930    INFO:        Dialogue: Script line to parse: ['u', 'Lyn', 'Right']
39947   DEBUG:        Dialogue: Dialogue Current State: Waiting
40217   DEBUG:        Dialogue: Dialogue Current State: Processing
40217    INFO:        Dialogue: Script line to parse: ['u', 'Sain', 'FarLeft']
40234   DEBUG:        Dialogue: Dialogue Current State: Waiting
40503   DEBUG:        Dialogue: Dialogue Current State: Processing
40503    INFO:        Dialogue: Script line to parse: ['u', 'Kent', 'MidLeft']
40520   DEBUG:        Dialogue: Dialogue Current State: Waiting
40791   DEBUG:        Dialogue: Dialogue Current State: Processing
40791    INFO:        Dialogue: Script line to parse: ['t', '2']
40808   DEBUG:        Dialogue: Dialogue Current State: Transitioning
41131   DEBUG:        Dialogue: Dialogue Current State: Processing
41132    INFO:        Dialogue: Script line to parse: ['s', 'Kent', 'Lady Lyndis, you should be able to see Castle Caelin once we{w}{br}pass these mountains.']
41148   DEBUG:        Dialogue: Dialogue Current State: Displaying
42996   DEBUG:        Dialogue: Dialogue Current State: Processing
42997    INFO:        Dialogue: Script line to parse: ['set_expression', 'Lyn', 'CloseEyes']
42997    INFO:        Dialogue: Script line to parse: ['sound', 'LynHmm']
42997    INFO:        Dialogue: Script line to parse: ['s', 'Lyn', "Grandfather... I'll be with you soon."]
43013   DEBUG:        Dialogue: Dialogue Current State: Displaying
43852   DEBUG:        Dialogue: Dialogue Current State: Processing
43852    INFO:        Dialogue: Script line to parse: ['sound', 'KentCrit1']
43852    INFO:        Dialogue: Script line to parse: ['s', 'Kent', 'Everything rests on this next battle.']
43868   DEBUG:        Dialogue: Dialogue Current State: Displaying
44686   DEBUG:        Dialogue: Dialogue Current State: Processing
44686    INFO:        Dialogue: Script line to parse: ['qr', 'Lyn']
44687    INFO:        Dialogue: Script line to parse: ['r', 'Kent', 'Sain']
44702   DEBUG:        Dialogue: Dialogue Current State: Waiting
44954   DEBUG:        Dialogue: Dialogue Current State: Processing
44954    INFO:        Dialogue: Script line to parse: ['qr', 'LynMad']
44955    INFO:        Dialogue: Script line to parse: ['remove_unit', 'Florina']
44955   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF581B2E48> Florina (1, 3)
44955    INFO:       Turnwheel: Add Action 16: LeaveMap
44955    INFO:        Dialogue: Script line to parse: ['remove_unit', 'Kent']
44955   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF581A8FC8> Kent (1, 1)
44955    INFO:       Turnwheel: Add Action 17: LeaveMap
44955    INFO:        Dialogue: Script line to parse: ['remove_unit', 'Sain']
44956   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF581B0E08> Sain (2, 2)
44956    INFO:       Turnwheel: Add Action 18: LeaveMap
44956    INFO:        Dialogue: Script line to parse: ['remove_unit', 'Wil']
44956   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF581B6F48> Wil (2, 1)
44956    INFO:       Turnwheel: Add Action 19: LeaveMap
44956    INFO:        Dialogue: Script line to parse: ['remove_unit', 'Nils']
44956   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF581C3948> Nils (3, 2)
44957    INFO:       Turnwheel: Add Action 20: LeaveMap
44957    INFO:        Dialogue: Script line to parse: ['remove_unit', 'Matthew']
44957   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF581B7DC8> Matthew (3, 3)
44957    INFO:       Turnwheel: Add Action 21: LeaveMap
44957    INFO:        Dialogue: Script line to parse: ['remove_unit', 'Tactician_1']
44957   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF582C48C8> Caelin (0, 2)
44957    INFO:       Turnwheel: Add Action 22: LeaveMap
44958    INFO:        Dialogue: Script line to parse: ['move_unit', 'Lyn', '4,3', 'immediate']
44958   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF58194908> Lyn (1, 2)
44958   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF58194908> Lyn (4, 3)
44958    INFO:       Turnwheel: Add Action 23: Teleport
44958    INFO:        Dialogue: Script line to parse: ['add_unit', 'Brigand_1', '3,9']
44958   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF582A4B88> Caelin (3, 9)
44959    INFO:       Turnwheel: Add Action 24: ArriveOnMap
44959    INFO:        Dialogue: Script line to parse: ['add_unit', 'Soldier_1', '14,3']
44959   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF582A4E88> Caelin (14, 3)
44960    INFO:       Turnwheel: Add Action 25: ArriveOnMap
44961    INFO:        Dialogue: Script line to parse: ['add_unit', 'Mage_1', '15,2']
44961   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF582A6388> Caelin (15, 2)
44962    INFO:       Turnwheel: Add Action 26: ArriveOnMap
44962    INFO:        Dialogue: Script line to parse: ['add_unit', 'Shaman_1', '15,14']
44962   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF582A1708> Caelin (15, 14)
44963    INFO:       Turnwheel: Add Action 27: ArriveOnMap
44963    INFO:        Dialogue: Script line to parse: ['add_unit', 'Archer_1', '14,8']
44963   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF582A0788> Caelin (14, 8)
44964    INFO:       Turnwheel: Add Action 28: ArriveOnMap
44964    INFO:        Dialogue: Script line to parse: ['add_unit', 'Archer_2', '7,13']
44965   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF582D2B88> Caelin (7, 13)
44966    INFO:       Turnwheel: Add Action 29: ArriveOnMap
44966    INFO:        Dialogue: Script line to parse: ['add_unit', 'Archer_3', '16,4']
44966   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF582CB088> Caelin (16, 4)
44967    INFO:       Turnwheel: Add Action 30: ArriveOnMap
44967    INFO:        Dialogue: Script line to parse: ['add_unit', 'Mercenary_1', '8,9']
44967   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF593287C8> Caelin (8, 9)
44968    INFO:       Turnwheel: Add Action 31: ArriveOnMap
44968    INFO:        Dialogue: Script line to parse: ['add_unit', 'Mercenary_2', '9,10']
44969   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF5932AB48> Caelin (9, 10)
44969    INFO:       Turnwheel: Add Action 32: ArriveOnMap
44970    INFO:        Dialogue: Script line to parse: ['add_unit', 'Archer_4', '13,17']
44970   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF58275848> Caelin (13, 17)
44971    INFO:       Turnwheel: Add Action 33: ArriveOnMap
44971    INFO:        Dialogue: Script line to parse: ['add_unit', 'Archer_5', '8,17']
44971   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF59338048> Caelin (8, 17)
44972    INFO:       Turnwheel: Add Action 34: ArriveOnMap
44972    INFO:        Dialogue: Script line to parse: ['remove_background']
44972    INFO:        Dialogue: Script line to parse: ['r', 'LynFwd']
44972    INFO:        Dialogue: Script line to parse: ['music_clear']
44972   DEBUG:        Dialogue: Clear music stack
44972   DEBUG:   GeneralStates: Ending dialogue state
44980    INFO:   GeneralStates: Repeat Dialogue State!
44980   DEBUG:    StateMachine: Temp State: ['pop']
44980   DEBUG:    StateMachine: StateMachine took too long: dialogue Begin: 0, Input: 0, Update: 27, Draw: 0, End: 0
44980    INFO:          Engine: Music: Fade in ./Audio/music/Prepare to Charge.ogg
44980    INFO:          Engine: Music: New Song ./Audio/music/Prepare to Charge.ogg
44980    INFO:          Engine: Music: Next Song ./Audio/music/Prepare to Charge.ogg
44981   DEBUG:          Cursor: Cursor new position (4, 3)
44988   DEBUG:            main: Current states ['free', 'status', 'phase_change', 'dialogue', 'prep_main']
44988   DEBUG:          Engine: Frame took too long! 34 ms
45360   DEBUG:          Engine: Music: Actual Fade in!
45375   DEBUG:          Engine: Music: Fade Catch Event
47492   DEBUG:    StateMachine: Temp State: ['prep_pick_units', 'transition_out']
47507   DEBUG:            main: Current states ['free', 'status', 'phase_change', 'dialogue', 'prep_main', 'prep_pick_units', 'transition_out']
47664   DEBUG:    StateMachine: Temp State: ['pop']
47677   DEBUG:            main: Current states ['free', 'status', 'phase_change', 'dialogue', 'prep_main', 'prep_pick_units']
47679   DEBUG:    StateMachine: Temp State: ['transition_in']
47694   DEBUG:            main: Current states ['free', 'status', 'phase_change', 'dialogue', 'prep_main', 'prep_pick_units', 'transition_in']
47836   DEBUG:    StateMachine: Temp State: ['pop']
47847   DEBUG:            main: Current states ['free', 'status', 'phase_change', 'dialogue', 'prep_main', 'prep_pick_units']
49043   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581A8FC8> Kent (1, 1)
49534   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581B0E08> Sain (1, 2)
49975   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581B2E48> Florina (2, 2)
53064   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581C4308> Wallace (2, 3)
53941   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581C47C8> Lucius (3, 2)
54282   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581B7DC8> Matthew (3, 4)
54618   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581C3948> Nils (4, 1)
55128   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581BDB08> Rath (4, 5)
55575   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF581B0E08> Sain (1, 2)
56179   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581B0E08> Sain (1, 2)
56709   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581B9D88> Serra (5, 2)
57451   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581B7E08> Dorcas (5, 4)
58130   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581B6F48> Wil (6, 1)
59728   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF581B6F48> Wil (6, 1)
64241   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF581C3948> Nils (4, 1)
64649   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581C3948> Nils (4, 1)
69681   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF581A8FC8> Kent (1, 1)
70385   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581A8FC8> Kent (1, 1)
72582   DEBUG:    StateMachine: Temp State: ['transition_pop']
72592   DEBUG:            main: Current states ['free', 'status', 'phase_change', 'dialogue', 'prep_main', 'prep_pick_units', 'transition_pop']
72746   DEBUG:    StateMachine: Temp State: ['pop', 'pop']
72759   DEBUG:            main: Current states ['free', 'status', 'phase_change', 'dialogue', 'prep_main']
72759    INFO:          Engine: Music: Fade in ./Audio/music/Prepare to Charge.ogg
72759    INFO:          Engine: Music: Already Present
72759   DEBUG:          Cursor: Cursor new position (4, 3)
72759   DEBUG:    StateMachine: Temp State: ['transition_in']
72776   DEBUG:            main: Current states ['free', 'status', 'phase_change', 'dialogue', 'prep_main', 'transition_in']
72913   DEBUG:    StateMachine: Temp State: ['pop']
72928   DEBUG:            main: Current states ['free', 'status', 'phase_change', 'dialogue', 'prep_main']
72928    INFO:          Engine: Music: Fade in ./Audio/music/Prepare to Charge.ogg
72928    INFO:          Engine: Music: Already Present
72928   DEBUG:          Cursor: Cursor new position (4, 3)
76812   DEBUG:    StateMachine: Temp State: ['pop']
76826   DEBUG:            main: Current states ['free', 'status', 'phase_change', 'dialogue']
76826    INFO:   GeneralStates: Begin Dialogue State
76826   DEBUG:        Dialogue: Dialogue Current State: Processing
76827    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'LynVoice', '0']
76827    INFO:       Turnwheel: Add Action 35: ChangeLevelConstant
76827    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'KentVoice', '0']
76827    INFO:       Turnwheel: Add Action 36: ChangeLevelConstant
76828    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'SainVoice', '0']
76828    INFO:       Turnwheel: Add Action 37: ChangeLevelConstant
76828    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'WilVoice', '0']
76828    INFO:       Turnwheel: Add Action 38: ChangeLevelConstant
76828    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'FlorinaVoice', '0']
76828    INFO:       Turnwheel: Add Action 39: ChangeLevelConstant
76828    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'DorcasVoice', '0']
76828    INFO:       Turnwheel: Add Action 40: ChangeLevelConstant
76828    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'SerraVoice', '0']
76829    INFO:       Turnwheel: Add Action 41: ChangeLevelConstant
76829    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'ErkVoice', '0']
76829    INFO:       Turnwheel: Add Action 42: ChangeLevelConstant
76829    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'RathVoice', '0']
76829    INFO:       Turnwheel: Add Action 43: ChangeLevelConstant
76829    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'MatthewVoice', '0']
76829    INFO:       Turnwheel: Add Action 44: ChangeLevelConstant
76829    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'NilsVoice', '0']
76829    INFO:       Turnwheel: Add Action 45: ChangeLevelConstant
76830    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'LuciusVoice', '0']
76830    INFO:       Turnwheel: Add Action 46: ChangeLevelConstant
76830    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'WallaceVoice', '0']
76830    INFO:       Turnwheel: Add Action 47: ChangeLevelConstant
76830   DEBUG:   GeneralStates: Ending dialogue state
76830    INFO:   GeneralStates: Repeat Dialogue State!
76830   DEBUG:    StateMachine: Temp State: ['pop']
76830   DEBUG:   GeneralStates: Saving as we enter player phase!
76858    INFO:        SaveLoad: Saving to Saves/L11T1.p
76858   DEBUG:   GeneralStates: Phase Start
76858    INFO:       Turnwheel: Add Action 48: LockTurnwheel
76859    INFO:       Turnwheel: Add Action 49: ResetAll
76859   DEBUG:          Cursor: Cursor new position (4, 3)
76863   DEBUG:    StateMachine: StateMachine took too long: phase_change Begin: 28, Input: 0, Update: 0, Draw: 5, End: 0
76865   DEBUG:            main: Current states ['free', 'status', 'phase_change']
76865   DEBUG:          Engine: Frame took too long! 39 ms
78202   DEBUG:   GeneralStates: Phase End
78202    INFO:          Engine: Music: Fade to Normal
78202    INFO:          Engine: Music: Fade in ./Audio/music/Winds Across the Plains.ogg
78202    INFO:          Engine: Music: New Song ./Audio/music/Winds Across the Plains.ogg
78203    INFO:          Engine: Music: Next Song ./Audio/music/Winds Across the Plains.ogg
78203   DEBUG:    StateMachine: Temp State: ['pop']
78214   DEBUG:            main: Current states ['free', 'status']
78214    INFO:   StatusCatalog: Building Status_Processor: True player other
78248    INFO:       Turnwheel: Add Action 50: MarkPhase
78250   DEBUG:    StateMachine: Temp State: ['pop']
78266   DEBUG:            main: Current states ['free']
78266    INFO:          Engine: Music: Fade to Normal
78266    INFO:          Engine: Music: Fade in ./Audio/music/Winds Across the Plains.ogg
78266    INFO:          Engine: Music: Already Present
78266    INFO:       Turnwheel: *** First Free Action ***
78607   DEBUG:          Engine: Music: Actual Fade in!
78625   DEBUG:          Engine: Music: Fade Catch Event
79107   DEBUG:    StateMachine: Temp State: ['move']
79118   DEBUG:            main: Current states ['free', 'move']
79122   DEBUG:    StateMachine: Temp State: ['transparent_dialogue']
79135   DEBUG:            main: Current states ['free', 'move', 'transparent_dialogue']
79135    INFO:   GeneralStates: Begin Dialogue State
79135   DEBUG:        Dialogue: Dialogue Current State: Processing
79136    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'LynVoice', 'static_random.get_other(1, 8)']
79136    INFO:       Turnwheel: Add Action 51: ChangeLevelConstant
79136    INFO:        Dialogue: Script line to parse: ['sound', 'LynSelect5']
79138   DEBUG:   GeneralStates: Ending dialogue state
79138    INFO:   GeneralStates: Repeat Dialogue State!
79138   DEBUG:    StateMachine: Temp State: ['pop']
79152   DEBUG:            main: Current states ['free', 'move']
80685   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF58194908> Lyn (4, 3)
80685    INFO:       Turnwheel: Add Action 52: Move
80688   DEBUG:    StateMachine: Temp State: ['menu', 'movement']
80702   DEBUG:            main: Current states ['free', 'move', 'menu', 'movement']
80702   DEBUG:          Cursor: Cursor new position (4, 3)
80770   DEBUG:          Cursor: Cursor new position (5, 3)
80837   DEBUG:          Cursor: Cursor new position (6, 3)
80905   DEBUG:          Cursor: Cursor new position (6, 2)
80975   DEBUG:          Cursor: Cursor new position (7, 2)
81043   DEBUG:          Cursor: Cursor new position (8, 2)
81111   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF58194908> Lyn (8, 2)
81111    INFO:       Turnwheel: Add Action 53: MoveArrive
81111   DEBUG:    StateMachine: Temp State: ['pop']
81112   DEBUG:          Cursor: Cursor new position (8, 2)
81127   DEBUG:            main: Current states ['free', 'move', 'menu']
82751    INFO:       Turnwheel: Remove Action 53: MoveArrive
82751   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF58194908> Lyn (8, 2)
82751   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF58194908> Lyn (4, 3)
82751    INFO:       Turnwheel: Remove Action 52: Move
82752   DEBUG:          Cursor: Cursor new position (4, 3)
82754   DEBUG:    StateMachine: Temp State: ['move']
82767   DEBUG:            main: Current states ['free', 'move', 'menu', 'move']
82773   DEBUG:    StateMachine: Temp State: ['transparent_dialogue']
82784   DEBUG:            main: Current states ['free', 'move', 'menu', 'move', 'transparent_dialogue']
82784    INFO:   GeneralStates: Begin Dialogue State
82784   DEBUG:        Dialogue: Dialogue Current State: Processing
82786   DEBUG:   GeneralStates: Ending dialogue state
82787    INFO:   GeneralStates: Repeat Dialogue State!
82787   DEBUG:    StateMachine: Temp State: ['pop']
82801   DEBUG:            main: Current states ['free', 'move', 'menu', 'move']
83278   DEBUG:    StateMachine: Temp State: ['clear', 'free']
83291   DEBUG:            main: Current states ['free']
83291    INFO:          Engine: Music: Fade to Normal
83291    INFO:          Engine: Music: Fade in ./Audio/music/Winds Across the Plains.ogg
83291    INFO:          Engine: Music: Already Present
89629   DEBUG:    StateMachine: Temp State: ['move']
89642   DEBUG:            main: Current states ['free', 'move']
89651   DEBUG:    StateMachine: Temp State: ['transparent_dialogue']
89659   DEBUG:            main: Current states ['free', 'move', 'transparent_dialogue']
89659    INFO:   GeneralStates: Begin Dialogue State
89660   DEBUG:        Dialogue: Dialogue Current State: Processing
89663   DEBUG:   GeneralStates: Ending dialogue state
89663    INFO:   GeneralStates: Repeat Dialogue State!
89663   DEBUG:    StateMachine: Temp State: ['pop']
89675   DEBUG:            main: Current states ['free', 'move']
91013   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF58194908> Lyn (4, 3)
91013    INFO:       Turnwheel: Add Action 52: Move
91016   DEBUG:    StateMachine: Temp State: ['menu', 'movement']
91030   DEBUG:            main: Current states ['free', 'move', 'menu', 'movement']
91030   DEBUG:          Cursor: Cursor new position (4, 3)
91098   DEBUG:          Cursor: Cursor new position (5, 3)
91167   DEBUG:          Cursor: Cursor new position (6, 3)
91235   DEBUG:          Cursor: Cursor new position (6, 2)
91305   DEBUG:          Cursor: Cursor new position (7, 2)
91376   DEBUG:          Cursor: Cursor new position (8, 2)
91445   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF58194908> Lyn (8, 2)
91445    INFO:       Turnwheel: Add Action 53: MoveArrive
91445   DEBUG:    StateMachine: Temp State: ['pop']
91446   DEBUG:          Cursor: Cursor new position (8, 2)
91463   DEBUG:            main: Current states ['free', 'move', 'menu']
92041   DEBUG:   GeneralStates: Player selected Wait
92041   DEBUG:      UnitObject: Lyn <Code.UnitObject.UnitObject object at 0x000001FF58194908> waits
92042    INFO:       Turnwheel: Add Action 54: Wait
92046   DEBUG:    StateMachine: Temp State: ['clear', 'free']
92059   DEBUG:            main: Current states ['free']
92059    INFO:          Engine: Music: Fade to Normal
92059    INFO:          Engine: Music: Fade in ./Audio/music/Winds Across the Plains.ogg
92059    INFO:          Engine: Music: Already Present
93731   DEBUG:    StateMachine: Temp State: ['move']
93743   DEBUG:            main: Current states ['free', 'move']
93749   DEBUG:    StateMachine: Temp State: ['transparent_dialogue']
93759   DEBUG:            main: Current states ['free', 'move', 'transparent_dialogue']
93759    INFO:   GeneralStates: Begin Dialogue State
93759   DEBUG:        Dialogue: Dialogue Current State: Processing
93760    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'RathVoice', 'static_random.get_other(1, 5)']
93761    INFO:       Turnwheel: Add Action 55: ChangeLevelConstant
93761    INFO:        Dialogue: Script line to parse: ['sound', 'RathSelect1']
93762   DEBUG:   GeneralStates: Ending dialogue state
93762    INFO:   GeneralStates: Repeat Dialogue State!
93762   DEBUG:    StateMachine: Temp State: ['pop']
93776   DEBUG:            main: Current states ['free', 'move']
95365   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF581BDB08> Rath (4, 5)
95366    INFO:       Turnwheel: Add Action 56: Move
95375   DEBUG:    StateMachine: Temp State: ['menu', 'movement']
95383   DEBUG:            main: Current states ['free', 'move', 'menu', 'movement']
95383   DEBUG:          Cursor: Cursor new position (4, 5)
95450   DEBUG:          Cursor: Cursor new position (4, 4)
95520   DEBUG:          Cursor: Cursor new position (5, 4)
95588   DEBUG:          Cursor: Cursor new position (5, 3)
95658   DEBUG:          Cursor: Cursor new position (6, 3)
95727   DEBUG:          Cursor: Cursor new position (6, 2)
95797   DEBUG:          Cursor: Cursor new position (7, 2)
95864   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581BDB08> Rath (7, 2)
95864    INFO:       Turnwheel: Add Action 57: MoveArrive
95865   DEBUG:    StateMachine: Temp State: ['pop']
95866   DEBUG:          Cursor: Cursor new position (7, 2)
95881   DEBUG:            main: Current states ['free', 'move', 'menu']
96185   DEBUG:   GeneralStates: Player selected Wait
96185   DEBUG:      UnitObject: Rath <Code.UnitObject.UnitObject object at 0x000001FF581BDB08> waits
96185    INFO:       Turnwheel: Add Action 58: Wait
96189   DEBUG:    StateMachine: Temp State: ['clear', 'free']
96201   DEBUG:            main: Current states ['free']
96201    INFO:          Engine: Music: Fade to Normal
96201    INFO:          Engine: Music: Fade in ./Audio/music/Winds Across the Plains.ogg
96201    INFO:          Engine: Music: Already Present
97525   DEBUG:    StateMachine: Temp State: ['move']
97538   DEBUG:            main: Current states ['free', 'move']
97545   DEBUG:    StateMachine: Temp State: ['transparent_dialogue']
97556   DEBUG:            main: Current states ['free', 'move', 'transparent_dialogue']
97556    INFO:   GeneralStates: Begin Dialogue State
97557   DEBUG:        Dialogue: Dialogue Current State: Processing
97558    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'SainVoice', 'static_random.get_other(1, 10)']
97558    INFO:       Turnwheel: Add Action 59: ChangeLevelConstant
97559    INFO:        Dialogue: Script line to parse: ['sound', 'SainSelect5']
97563   DEBUG:   GeneralStates: Ending dialogue state
97563    INFO:   GeneralStates: Repeat Dialogue State!
97563   DEBUG:    StateMachine: Temp State: ['pop']
97572   DEBUG:            main: Current states ['free', 'move']
98729   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF581B0E08> Sain (1, 2)
98729    INFO:       Turnwheel: Add Action 60: Move
98732   DEBUG:    StateMachine: Temp State: ['menu', 'movement']
98747   DEBUG:            main: Current states ['free', 'move', 'menu', 'movement']
98747   DEBUG:          Cursor: Cursor new position (1, 2)
98813   DEBUG:          Cursor: Cursor new position (2, 2)
98880   DEBUG:          Cursor: Cursor new position (3, 2)
98946   DEBUG:          Cursor: Cursor new position (4, 2)
99012   DEBUG:          Cursor: Cursor new position (5, 2)
99080   DEBUG:          Cursor: Cursor new position (6, 2)
99146   DEBUG:          Cursor: Cursor new position (7, 2)
99214   DEBUG:          Cursor: Cursor new position (8, 2)
99280   DEBUG:          Cursor: Cursor new position (8, 3)
99349   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581B0E08> Sain (8, 3)
99349    INFO:       Turnwheel: Add Action 61: MoveArrive
99349   DEBUG:    StateMachine: Temp State: ['pop']
99350   DEBUG:          Cursor: Cursor new position (8, 3)
99366   DEBUG:            main: Current states ['free', 'move', 'menu']
99583   DEBUG:   GeneralStates: Player selected Wait
99583   DEBUG:      UnitObject: Sain <Code.UnitObject.UnitObject object at 0x000001FF581B0E08> waits
99583    INFO:       Turnwheel: Add Action 62: Wait
99586   DEBUG:    StateMachine: Temp State: ['clear', 'free']
99599   DEBUG:            main: Current states ['free']
99599    INFO:          Engine: Music: Fade to Normal
99599    INFO:          Engine: Music: Fade in ./Audio/music/Winds Across the Plains.ogg
99599    INFO:          Engine: Music: Already Present
101134   DEBUG:    StateMachine: Temp State: ['move']
101149   DEBUG:            main: Current states ['free', 'move']
101152   DEBUG:    StateMachine: Temp State: ['transparent_dialogue']
101165   DEBUG:            main: Current states ['free', 'move', 'transparent_dialogue']
101165    INFO:   GeneralStates: Begin Dialogue State
101165   DEBUG:        Dialogue: Dialogue Current State: Processing
101165    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'KentVoice', 'static_random.get_other(1, 9)']
101165    INFO:       Turnwheel: Add Action 63: ChangeLevelConstant
101165    INFO:        Dialogue: Script line to parse: ['sound', 'KentSelect2']
101166   DEBUG:   GeneralStates: Ending dialogue state
101166    INFO:   GeneralStates: Repeat Dialogue State!
101166   DEBUG:    StateMachine: Temp State: ['pop']
101184   DEBUG:            main: Current states ['free', 'move']
103309   DEBUG:      UnitObject: Leave <Code.UnitObject.UnitObject object at 0x000001FF581A8FC8> Kent (1, 1)
103309    INFO:       Turnwheel: Add Action 64: Move
103313   DEBUG:    StateMachine: Temp State: ['menu', 'movement']
103325   DEBUG:            main: Current states ['free', 'move', 'menu', 'movement']
103325   DEBUG:          Cursor: Cursor new position (1, 1)
103393   DEBUG:          Cursor: Cursor new position (2, 1)
103460   DEBUG:          Cursor: Cursor new position (3, 1)
103528   DEBUG:          Cursor: Cursor new position (4, 1)
103596   DEBUG:          Cursor: Cursor new position (4, 2)
103662   DEBUG:          Cursor: Cursor new position (5, 2)
103729   DEBUG:          Cursor: Cursor new position (6, 2)
103797   DEBUG:      UnitObject: Arrive <Code.UnitObject.UnitObject object at 0x000001FF581A8FC8> Kent (6, 2)
103797    INFO:       Turnwheel: Add Action 65: MoveArrive
103797   DEBUG:    StateMachine: Temp State: ['pop']
103798   DEBUG:          Cursor: Cursor new position (6, 2)
103814   DEBUG:            main: Current states ['free', 'move', 'menu']
104269   DEBUG:   GeneralStates: Player selected Wait
104269   DEBUG:      UnitObject: Kent <Code.UnitObject.UnitObject object at 0x000001FF581A8FC8> waits
104269    INFO:       Turnwheel: Add Action 66: Wait
104271   DEBUG:    StateMachine: Temp State: ['clear', 'free']
104286   DEBUG:            main: Current states ['free']
104286    INFO:          Engine: Music: Fade to Normal
104286    INFO:          Engine: Music: Fade in ./Audio/music/Winds Across the Plains.ogg
104286    INFO:          Engine: Music: Already Present
105122   DEBUG:    StateMachine: Temp State: ['move']
105136   DEBUG:            main: Current states ['free', 'move']
105146   DEBUG:    StateMachine: Temp State: ['transparent_dialogue']
105152   DEBUG:            main: Current states ['free', 'move', 'transparent_dialogue']
105152    INFO:   GeneralStates: Begin Dialogue State
105152   DEBUG:        Dialogue: Dialogue Current State: Processing
105152    INFO:        Dialogue: Script line to parse: ['set_level_constant', 'FlorinaVoice', 'static_random.get_other(1, 9)']
105153    INFO:       Turnwheel: Add Action 67: ChangeLevelConstant
105153    INFO:        Dialogue: Script line to parse: ['sound', 'FlorinaSelect5']
105153   DEBUG:   GeneralStates: Ending dialogue state
105153    INFO:   GeneralStates: Repeat Dialogue State!
105153   DEBUG:    StateMachine: Temp State: ['pop']
105170   DEBUG:            main: Current states ['free', 'move']
108568   DEBUG:    StateMachine: Temp State: ['clear', 'free']
108580   DEBUG:            main: Current states ['free']
108580    INFO:          Engine: Music: Fade to Normal
108580    INFO:          Engine: Music: Fade in ./Audio/music/Winds Across the Plains.ogg
108580    INFO:          Engine: Music: Already Present
115001   DEBUG:    StateMachine: Temp State: ['optionsmenu']
115014   DEBUG:            main: Current states ['free', 'optionsmenu']
115014   ERROR:            main: 'wheel'
Traceback (most recent call last):
  File "main.py", line 124, in <module>
  File "main.py", line 44, in main
  File "main.py", line 62, in run
  File "Code\StateMachine.py", line 198, in update
    begin_output = self.state[-1].begin(gameStateObj, metaDataObj)
  File "Code\GeneralStates.py", line 303, in begin
    if gameStateObj.mode['wheel'] == 1: #changed to query game modes.
KeyError: 'wheel'
116110   DEBUG:          Engine: Created save point from ./Saves\L11T1.p
1 Like

Thanks for the bug report. Does it do this on every chapter for you, or only on chapter 10? I’ll try to reproduce it.

1 Like

It also happens on my Chapter 8 chapter save, but not on a new Hard game. Possibly just a 0.1 backwards compatibility thing, then.

1 Like

Oh, was the save file from the previous 0.1 release?

1 Like

Yes - sorry, I missed that info out.

1 Like

OK, that makes sense. I don’t think saves from the previous version will work well with the new one. I will add this to the top post.

An explanation: I added a new turnwheel option to the game in this version. When you make a new save file, it stores whether you selected to use the turnwheel or not. Your old save did not make this selection since it was started in the earlier version. Thus, the game’s code can’t figure out whether to add in the turnwheel functions or not and is crashing.

Sorry for the inconvenience.

3 Likes

Just so folks know: rainlash, the author of the LT engine, is working on a big new engine version that will have additional features such as fog of war etc. This new engine will require me to translate many of my engine modifications etc. into a new code base. I will get around to doing this in a month or so, which is why updates on the project are stalled temporarily.

The new engine version will also include GUI-based editors for classes, units, etc. This should make FE7Lex a better template for modding for those who are not coding-inclined in the future.

3 Likes

@beccarte i would like to encourage you to keep going, i would really like to see how the final project turns out. and since there is no limitations (of the gba) i would be able to play it how i’d like. thank you for making what you already did and keep at it

1 Like

Thanks, Isaiah. I appreciate the support. I’ve been working on a remake of what I had done previously using the new version of the Lex Talionis engine by rainlash. This new version has opened up a ton of possibilities, but it has required that I remake everything that I had previously completed. I’m still making progress on this and hope to have something to share with everyone in a month or so.

2 Likes

what possibilities are opened in the new version?