How elvlin/exvius-offline works
Exvius Offline is an Android adaptation of Final Fantasy Brave Exvius: the user downloads game data once, then plays against a local synthetic game service. The graph follows setup into local play and highlights battle settlement, repeatable Lapis, summons, shops and special modes. The SOURCE INDEX shows imports and module references, but not every runtime dispatch; some domain connections are therefore omitted. README-described event browsing and solo raids are retained as capabilities, with their internal wiring left unspecified where it was not shown.
Main entry points: player_state.py Player state · ffbe_pipeline.py Reply pipeline · ffbe_battle.py Battle settlement · LocalGameBridge.java Android game app
Components 21
Android client
- Android game app
source/memorial/android/src/main/java/com/exvius/local/LocalGameBridge.java - Data downloads
source/memorial/android/src/main/java/com/exvius/local/DataUpdates.java - Game assets
source/memorial/android/src/main/java/com/exvius/local/GameAssets.java - Local connection
source/memorial/android/src/main/java/com/exvius/local/LocalGameConnection.java
Local game service
- Python game adapter
source/memorial/android/src/main/python/android_game.py - Request service
source/server/capture_server.py - Reply pipeline
source/server/ffbe_pipeline.py
Gameplay domains
- Game actions
source/server/exvius_actions.py - Battle settlement
source/server/ffbe_battle.py - Repeat rewards
source/server/exvius_repeat.py - Summons
source/server/ffbe_gacha.py - Shops and crafting
source/server/exvius_actions_shops.py - Special modes
source/server/exvius_actions_modes.py - Event archive
source/server/event_archive.py - Raid progress
source/server/exvius_raid_progress.py
Rules and state
- Player state
source/server/player_state.py - Runtime state
source/server/ffbe_state.py
Game content
- Game configuration
source/server/ffbe_config.py - Data locations
source/server/data_paths.py
Other components
- Player
- GitHub data
Connections 24
- Player → Android game app: plays
README.md - Android game app → Data downloads: checks updates
source/memorial/android/src/main/java/com/exvius/local/DataUpdates.java - Data downloads → Game assets: uses assets
source/memorial/android/src/main/java/com/exvius/local/DataUpdates.java - GitHub data → Data downloads: supplies downloads
README.md - Android game app → Local connection: opens connection
source/memorial/android/src/main/java/com/exvius/local/LocalGameBridge.java - Local connection → Python game adapter: connects locally
- Python game adapter → Request service: adapts requests
- Request service → Reply pipeline: runs replies
source/server/capture_server.py - Reply pipeline → Game actions: dispatches actions
source/server/ffbe_pipeline.py - Request service → Runtime state: selects endpoints
source/server/capture_server.py - Runtime state → Player state: holds player
source/server/ffbe_state.py - Reply pipeline → Battle settlement: settles battles
source/server/ffbe_pipeline.py - Reply pipeline → Repeat rewards: reports runs
source/server/ffbe_pipeline.py - Reply pipeline → Shops and crafting: applies shop use
source/server/ffbe_pipeline.py - Game actions → Battle settlement: uses battle rules
source/server/ffbe_pipeline.py - Battle settlement → Player state: updates player
source/server/ffbe_battle.py - Repeat rewards → Player state: credits rewards
source/server/exvius_repeat.py - Summons → Player state: grants pulls
source/server/ffbe_gacha.py - Shops and crafting → Player state: mutates inventory
source/server/exvius_actions_shops.py - Special modes → Battle settlement: reuses settlement
source/server/exvius_actions_modes.py - Special modes → Player state: uses player
source/server/exvius_actions_modes.py - Raid progress → Player state: tracks progress
source/server/exvius_raid_progress.py - Game configuration → Data locations: resolves data
source/server/ffbe_config.py - Runtime state → Data locations: loads paths
source/server/ffbe_state.py