Skip to content

uzair-ashraf/genshin-impact-wish-simulator

Repository files navigation

Genshin Impact Wish Simulator

A React web application to simulate Genshin Impact gacha in the browser

Disclaimer

This Genshin Impact Wish Simulator was only created for fun and absolutely no monetary gain.

I am someone who enjoys playing Genshin Impact and enjoys building applications for fun. I am not affiliated with Mihoyo, all assets in this application were taken from third party websites and some screenshotted from the game itself.

If you are someone from Mihoyo and would like the website taken down please email me here and I shall do so.

Pls don't get me in trouble this was just for fun T_T

All product names, logos, and brands are property of their respective owners in the United States and/or other countries.

Special Thanks

Thank you to all the supporters on Reddit, everyone's kind words mean a lot and the feedback has been awesome.

Thank you to lauslim12 and elebitzero, your guy's contributions have been an amazing help.

Thanks to the following redditors who sent me their 5 Star animation videos.

  • /u/ShiroYashaa
  • /u/a_truly_masterpiece

Technologies Used

  • React
  • Webpack
  • Babel
  • Bootstrap 4
  • Mocha
  • Chai
  • Cypress

Live

Try the application live at https://gi-wish-simulator.uzairashraf.dev/

Preview

  • Banners

  • Details

  • Wish

  • Inventory

Features

  • User can wish
  • User can view banners
  • User can switch banners
  • User can preserve the banner they wished for
  • User can view inventory
  • User can reset inventory
  • User can filter between characters, weapons, and ratings in inventory
  • User can see estimated money spent in USD
  • User can see wish animation before seeing pulls
  • User can see both 4 and 5 star animation for pulls
  • User can skip animation
  • User's inventory and attempts persists in local storage
  • User won't sue me (pls)

Development

System Requirements

  • NPM 6 or higher
  • Node 10 or higher

Getting Started

  1. Clone the repository.

    git clone https://github.com/uzair-ashraf/genshin-impact-wish-simulator.git
    cd genshin-impact-wish-simulator
  2. Install all dependencies with NPM.

    npm install
  3. Confirm application is working appropriately

    npm run test

    For some operating systems using wsl may not be able to run the full test script and may need to run them individually. If that is the case run the following commands below.

    Development server

    npm start

    Unit tests

    npm run test:mocha

    Integration tests

    npm run cypress
  4. Run the webpack development server.

    npm start
  5. Once started you can view the application by opening http://localhost:3000 in your browser.

Testing

  1. Any banner added or modified will require additions to the unit and integration tests. Please check the test/ and cypress/ directories.

  2. Run tests

    npm run test

Contributing

I am welcome to all contributors! Please open an issue when a problem is found and feel free to open a pull request.