This project simulates encountering Pokémon with a chance of finding shiny Pokémon. It features animated GIFs for Pokémon encounters, shiny tracking, encounter statistics, and customization options.
- Encounter simulation: Displays Pokémon with their respective rarities
- Shiny hunting: Tracks total shinies found with a 1/2000 chance
- Animated sprites: Shows normal and shiny Pokémon as animated GIFs
- Statistics tracking:
- Real-time encounter counter (resets after continuing from a shiny)
- Time elapsed tracker
- Total shinies found counter
- Sound effects:
- Shiny encounter notification
- Continue button confirmation
- Optional muting through config
- User-friendly customization: Easily configure settings through a simple config.json file - no coding required!
- Choose your own background image
- Toggle sound effects on/off
- Python 3.8 or later
- Required libraries:
Pillow
,pygame
,tkinter
,colorama
Install dependencies:
pip install pillow pygame colorama
Option 1: Run from source
- Clone the repository
- Run the simulator from the project root:
python src/main.py
Option 2: Run executable
- Download the latest release
- Extract the zip file
- Run IdleMon.exe
The simulator uses a JSON file (config.json
) for customization:
{
"gif_directory": "assets/gifs",
"background_image": "C:/Users/YourName/Pictures/custom_background.png",
"mute_audio": false
}
Note: All paths in the config file should be relative to the project root directory.
gif_directory
: Path to Pokémon GIFs (requiresnormal
andshiny
subdirectories)background_image
: Path to background image. Can be:- Absolute path (e.g., "C:/Users/YourName/Pictures/custom_background.png")
- Relative path from project root (e.g., "assets/images/custom_background.png")
- Defaults to "assets/images/default_background.jpg" if not found
mute_audio
: Set totrue
to disable all sound effects (default:false
)
project_root/
├── src/
│ ├── main.py
│ ├── config_loader.py
│ ├── data_manager.py
│ ├── encounter_manager.py
│ ├── gui_elements.py
│ └── logger.py
├── assets/
│ ├── gifs/
│ │ ├── normal/
│ │ │ └── pokemon.gif
│ │ └── shiny/
│ │ └── pokemon.gif
│ ├── sounds/
│ │ ├── shiny_sound1.wav
│ │ └── continue_sound1.wav
│ ├── data/
│ │ └── gen1_pokemon_names.txt
│ └── images/
│ └── background.png
├── logs/
│ ├── shiny_count.bin
│ ├── shinies_encountered.txt
│ └── error.log
└── config.json
- Each encounter has a chance of being shiny (1/2000 by default)
- When a shiny is found:
- The encounter animation changes
- A sound plays (if not muted)
- The encounter count remains displayed
- A continue button appears
- After pressing continue:
- The encounter counter resets to 0
- A new hunting session begins
- Shiny encounters trigger a special sound effect
- Continue button plays a confirmation sound
- Optional muting through config.json
- Real-time encounter counter (resets after continuing from a shiny)
- Elapsed time tracker
- Total shiny Pokémon found
- Automatic data saving for shiny counts
To reset your hunting progress, you can either:
Delete individual files:
- Navigate to the
logs
directory - Delete these files:
shiny_count.bin
(resets total shinies to 0)shinies_encountered.txt
(clears shiny encounter history)
OR
Simply delete the entire logs
directory.
New files will be automatically created on next launch.
- Missing GIFs: Ensure GIF files exist in both normal/shiny directories
- Animation Issues: Verify GIF files are properly formatted
- Sound Problems: Check that sound files exist in the assets/sounds directory
- Background Image: Ensure the specified path exists and is accessible
- config.json: Ensure the config.json file is correctly formatted and all paths are valid
This project is licensed under the MIT License.