My Simulator for Genshin Impact's probability driven Gacha Wish System
Visit the instructions on development setup
Backend API Calls :
GET
https://resyfer-genshin-wish-sim.herokuapp.com/api/v1/all
: To view all items available through GachaGET
https://resyfer-genshin-wish-sim.herokuapp.com/api/v1/1/p5val/p5guar/p4val/p4guar/
: To make a 1 pullGET
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
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.
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)
- API
- Basic Frontend
- Decrease API req/res cycles, reducing response time (Issue #1)
- Game-like Front-end
- Include feature for selecting banners