We've mostly got this working. Events get executed in the array of
events. We don't use setTimeout anymore thankfully. I'm not in love with
this system, it still isn't straight forward about what events happen
where, but I do at least now have an ability to better control the flow.
The bottom newsbar still needs conversion, as do numerous other pieces,
but we're working our way there. Attempting adding some tests with
Claude, but they aren't functioning yet, making them effectively
useless. Continuing to iterate.
There is logic littered all over the place. We don't have some central
way of determining order for operations and it's driving me insane. This
needs a refactoring so we have a central way to control the order of
operations here.
Reintroducing the fix for the bug in tween.js (issue 677) that causes
the map to jump at the end of the tween.
Leaderboard name was used twice in the code base, once for the modal at
the beginning of games, and also for the rotating display in the bottom
left. I've removed the modal at the beggining of the game as its data is
stale and not updated yet. I've renamed the bottom left to
'rotatingDisplay' and the bottom right to 'leaderboard'.
Updated some of the start game functionality to properly reject the
promises so we can catch them later and update them. Updated tsNoCheck
so that we can build without it screaming about type errors
The git gods appear to have swallowed the code I previously wrote for
loadNextGame. Here is a fix for that. The games load in order, from 0 =>
infinity (more likely max of int).
Adding diary, name of powers, name of moment type, and some supporting
thoughts.
Added a debug menu item to disable or enable the eleven labs speech.
Useful for removing it when debugging
The moments are now triggered correctly and have the phases happen as
expected.
Also added an instant chat tool that skips the playing out of all the
messages and instead lets us quickly move through a game
I wanted to be able to cause the turns to either progress, or to set the
units in their specific spots. This way if I skip ahead a bunch of turns
for one reason or another, I don't have to worry about the units on the
board being all messed up.
The tween animation uses the tweening library to smoothly move the
camera across the board. Also added a smoothing for any large jumps in
the position of the camera.
There were a number of tiles that didn't have SCs, resulting in some of
the provinces appearing to have more units than SCs. This was an issue
with the map data and is now fixed.
When setting the unit destination, we were setting it when creating the
animation, meaning that when we went to create the next animation we
would find the unit we already made an animation for.
The gamestate object is now where most of the "state" of both the map
and the board live. The units load, just working on loading the colors
of the map ownership again.