uzair-ashraf / genshin-impact-wish-simulator Goto Github PK
View Code? Open in Web Editor NEWA React web application to simulate Genshin Impact gacha in the browser
Home Page: https://gi-wish-simulator.uzairashraf.dev/
A React web application to simulate Genshin Impact gacha in the browser
Home Page: https://gi-wish-simulator.uzairashraf.dev/
Although the simulator is supposed to be as close to actual game as possible, but I think few QOL improvements can be made:
Update the test/test.js
file to incorporate ventis randomness to work properly.
In the game, on the limited banners, if you pull a 4-star weapon/character that is not one of the featured weapons/characters, the next 4-star is guaranteed to be one of the featured weapons/characters. This feature is either not implemented or not working on this simulator, as I can often receive multiple non-featured items in a row.
It doesn’t seem to have it on iOS 14 IPad 5
Genshin Impact has released a new update for v1.1, which is one new banner, and updating the two existing banners. Will require the following updates:
A couple more feature requests.
1.) Can you please add the Tartaglia rerun? You’ll probably get there eventually, just a reminder.
2.) I’d love to see other weapon banners.
3.) A build your own banner. The user inputs that characters/weapons, and pulls on it like they would a normal banner.
Thanks!
There is an issue that I noticed that some people are still stuck on the Venti banner unless they perform a hard reset or cleared their cache.
My solution is to clear the local storage every time a new build occurs, and instead of using main.js
in the index.html
file, I propose that we use HTMLWebpackPlugin
to call main.js?<hash>
.
With this, I believe that every time a new build occurs, people will not have to perform a hard reset again (we're basically fooling the browser into thinking that we have a new build).
I am currently working on it, will make a PR as soon as I am done testing this.
Thank you!
Genshin Impact has released a new banner
Remember to address the beginners wish bug
Since the updates requested on reddit there have been new features added
Please update the readme with the following features
Hello, I started a pull request. It includes two commit, one adds I18N support, the other adds Chinese translation.
These translations include weapon names, character names, game terms, and don't include wish details.
used python lib:
"i18next": "^19.8.4",
"i18next-browser-languagedetector": "^6.0.1",
"i18next-http-backend": "^1.0.22", "i18next": "^19.8.4",
"i18next-http-backend": "^1.0.22",
"react-i18next": "^11.8.5",
I haven't added a language switch button for the time being. Because I usei18next-browser-languageDetector. it supports automatic language recognition and can also be accessed through http://127.0.0.1 :3000/?lng=zh-cn. (format: lng = country code)
In addition, because I'm not familiar with the test framework, I didn't write and run test.
It looks like there is no change in the animation when you pull a 5*. If possible, could you code that in?
hey, just letting you know that i’m having trouble clicking off the disclaimer (i’m on mobile, ipod touch). i’ve attempted to turn off portrait orientation but that doesn’t work either. i think it has to do with the size of my phone but maybe others have the same problem! thank you, have a nice day :)
Genshin Impact has released a new banner
As in the real game, a single pull option would be really greate for those who wants to pull this way.
Maybe next feature to add ?
the version of v1.6.1 has updated,but there is no js file for v1.6.1 @lauslim12 @elebitzero @uzair-ashraf @NathanPang001
Genshin Impact has released a new banner
It's been asked already, but to show demand, I'd really like a counter to show how many times I've wished on a banner.
After more than 90 draws, 5 stars will be awarded
hey @uzair-ashraf
i have idea for you what about to add function to the simulator that you can check and practice with the character gameplay and switch between elements to be more pro and learn the character mech
if you can add that its be amazing.
thank for reading that
I'm open this because this repo doesn't has any of image or title when share to media social platform like facebook / twitter.
And pull request is ready to take on that issue. #14
Thank you @uzair-ashraf
Details page sticks to the last selected after wish, except for beginners wish
Genshin Impact has released a new banner and an update to Epitome Invocation
Error content:It looks like this is your first time using Cypress: 6.0.1
✖ Verifying Cypress can run /root/.cache/Cypress/6.0.1/Cypress
→ Cypress Version: 6.0.1
Cypress failed to start.
This is usually caused by a missing library or dependency.
The error below should indicate which dependency is missing.
https://on.cypress.io/required-dependencies
If you are using Docker, we provide containers with all required dependencies installed.
/root/.cache/Cypress/6.0.1/Cypress/Cypress: error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file: No such file or directory
Platform: linux (Ubuntu - 20.04)
Cypress Version: 6.0.1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] cypress: cypress run --headed
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] cypress script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-03-01T12_55_36_469Z-debug.log
{ Error: Command failed with exit code 1: npm run cypress
at makeError (/www/wwwroot/genshin-impact-wish-simulator/node_modules/start-server-and-test/node_modules/execa/lib/error.js:56:11)
at handlePromise (/www/wwwroot/genshin-impact-wish-simulator/node_modules/start-server-and-test/node_modules/execa/index.js:114:26)
at process._tickCallback (internal/process/next_tick.js:68:7)
command: 'npm run cypress',
exitCode: 1,
signal: undefined,
signalDescription: undefined,
stdout: undefined,
stderr: undefined,
failed: true,
timedOut: false,
isCanceled: false,
killed: false }
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] test:cypress: start-server-and-test start http://localhost:3000 cypress
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] test:cypress script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-03-01T12_55_36_498Z-debug.log
ERROR: "test:cypress" exited with 1.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] test: run-s test:*
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-03-01T12_55_36_519Z-debug.log
Pitybreaks in Genshin prior to the 90 guaranteed pulls normally reset the pity counter.
However, this simulator consistently gives a 5☆ at the 90th pull, regardless of whether a pitybreak occurred prior.
e.g. 5☆ appears at 20 pulls, the counter should reset and therefore give the next guaranteed next 5☆ at 110 and not 90.
I've experienced this on character banners since the Venti banner version of this simulator was released, haven't tried Weapons banner however.
Extra edit: This also seems to happen on a smaller scale
for 4☆s with single pulls - regardless of pitybreaks, one will appear every multiple of 10 (compared to when the 10 max pity should reset whenever a 4☆ appears)
Need to set a max width on the container for the banners screen in order to keep the banner from being eaten up. Looks weird on very wide screens.
Need to make sure elements stay centered as well.
I made a GitHub account just to comment. I love your wish simulator as it keeps me anticipating for when Xiao releases so thank you!
As for the bug, it's very on and off. When I would pull a 5* whether it's on a character banner or the weapon banner itself then immediately summon another 10 pull on the weapon banner, the next 8 10 pulls would be 5* weapons. I'm not sure
In the photo, I pulled 9 times for limited character banner pity pulling Diluc. Then the next 8 pulls were all guaranteed 5* weapons (9 weapons total because I pulled 2 on the same 10pull). The amount spent ($371.52) was only about 180 summons but I got 10 5* drops.
Also, if you could, in future updates, add a soft pity counter (70-89 pulls since that's actually a thing created in the system for some reason) and add a wish counter in the inventory so I don't have to manually count in my head lol. Thanks!
Hope to make a Chinese version, from Chinese players
Hi, I really love this wish simulator, it's my favorite of ones I've come across. I've just noticed using it that I've never had a banner go to 90 pulls. I always get a 5 star in 80 pulls maximum. This seems extremely statistically unlikely so I wondered if maybe pity is erroneously kicking in at 80 instead of 90?
Need to incorporate Cypress to test the ui in its own test suite
Hi, I am a genshin lover and a traveler.
I am working for my own genshin plugin, and reuse your gacha video.
If its any infringement issues with that, pls tell me and i will delete it.
Thanks for your repo, i love that.
Forgive me if this has already been requested, but being able to show previous banners would add to the theory crafting fun. Im thinking of a scenario where you give yourself X-cash and then see if you could have snagged your "perfect team" if you'd been around for those banners (klee, venti, etc).
Again, forgive me if the functionality already exists and just isn't available on the live version.
Genshin Impact has released a new banner
According to the standard banner:
Base probability of winning 5-star item = 0.600%.
Base probability of winning 5-star character = 0.300%.
Base probability of winning 5-star weapon = 0.300%.
Base probability of winning 4-star item = 5.100%.
Base probability of winning 4-star character = 2.550%.
Base probability of winning 4-star weapon = 2.550%.
It only seems like the first case is coded, but not the second or third (respectively). Since there are more weapons than characters, leaving this as is will pull more weapons on average when a 4 or 5 star is pulled. When a 5-star or 4-star is pulled, there should be an equal chance for either character or weapon.
Recommend:
Separate functions for drawing character & weapon (perhaps similar to how getRandomFeaturedItem works).
Implement flipACoin to determine whether one or the other is drawn when a successful 4 & 5 star is triggered.
Edit:
This also affects 4-star drops on featured banners. When the 4-star is NOT the featured item, it acts similarly to the above.
Character banner:
Base probability of winning 4-star item = 5.100%.
Base probability of winning 4-star character = 2.550%.
Base probability of winning 4-star weapon = 2.550%.
Weapon banner:
Base probability of winning 4-star item = 6.000%.
Base probability of winning 4-star character = 3.000%.
Base probability of winning 4-star weapon = 3.000%.
Venti being guaranteed has bugs after the last refactor, will need to be fixed.
If you are in character banner and wish and click skip novice banner slide show
Genshin Impact has released a new banner and an update to Epitome Invocation
What hosting service do you use to keep the site online?
Genshin Impact has released a new banner and an update to Epitome Invocation
i cant extract it is broken?
There is an issue when i was rolling on Klee's, Weapon and Standard Banner.
After doing roll, i was intended to reset the banner. Then, i proceed to rolling again on the same banner. I noticed that, the banner immediately changed to Beginner Wish.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.