Skip to content

My Genshin Impact's probability based Gacha Pity System's Simulator

License

Notifications You must be signed in to change notification settings

resyfer/genshin-wish-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Genshin Impact Wish Simulator

img img img

My Simulator for Genshin Impact's probability driven Gacha Wish System

Visit the instructions on development setup

Frontend : img

Backend API Calls :

  • GET https://resyfer-genshin-wish-sim.herokuapp.com/api/v1/all : To view all items available through Gacha
  • GET https://resyfer-genshin-wish-sim.herokuapp.com/api/v1/1/p5val/p5guar/p4val/p4guar/ : To make a 1 pull
  • GET https://resyfer-genshin-wish-sim.herokuapp.com/api/v1/10/p5val/p5guar/p4val/p4guar/ : To make a 10 pull

p5val and p4val mean the pity in numbers with a range of 0-89 and 0-9 respectively.

p5guar and p4guar mean the guarantee rateup drop in numbers being either 1 for guarateed pity, 0 otherwise.

eg. https://resyfer-genshin-wish-sim.herokuapp.com/api/v1/10/85/1/5/0 means 5⭐ pity at 85 with a guaranteed rateup drop, and 4⭐ pity at 5 with no guarantee

NOTE: The current rates for the characters or items are for the banner Adrift In The Harbor

banner

Rate-Ups :

  • 5⭐ Characters : Ganyu
  • 4⭐ Characters : Noelle, Xingqiu, Xiangling

Getting a 5⭐ character has a 0.6% chance (Ganyu has a 50% chance given it's a 5⭐), while getting a 4⭐ has a 5.1% chance (Noelle, Chongyun and Xiangling have a 50% chance total given it's a 4⭐, and they have an equal chance of occuring).

Moreover, there's a guaranteed 5⭐ in every 90 pulls from the previous 5⭐, and a guaranteed 4⭐ in every 10 pulls from the previous 4⭐. If, in the event of getting a 5⭐ or a 4⭐ that is not a rate-up character, the next 5⭐ or 4⭐ respectively and separately will be a guaranteed rate-up.

Development

i) Clone the project, and install the dependencies

git clone https://github.com/resyfer/genshin-wish-simulator.git
cd genshin-wish-simulator
cd server && npm i
cd ..
cd client && npm i

ii) Environment Variables

Make a copy of .env.example and rename it as .env and enter your own MongoDB database below the existing content as:

MONGO_URI = YOUR_MONGODB_URL_HERE

iii) Run the project Open two terminal tabs and cd into the project in both

  • Tab 1:
cd server
npm run dev
  • Tab 2:
cd client
npm start

(Ask for .env from author if authorized)

img

TODO

  • API
  • Basic Frontend
  • Decrease API req/res cycles, reducing response time (Issue #1)
  • Game-like Front-end
  • Include feature for selecting banners