Closed Backxtar closed 1 year ago
Hello !
Hmm it's interesting but the aim of my API is to give factual data, and in my opinion this kind of data is subjective even if some of synergies can be obvious ingame 🤔 So it would not fit the API in my opinion and would be better if you implement it into your app directly 😉
Thank you for the link of your app, I'll give it a look when I've some time 😄
There is a new mode out - Team Ranked. So are the ranked symbols in https://overfast-api.tekrop.fr/players/{player_id}/summary just for role picking? maybe we can add some more details: all queue missing, free role missing, and team ranked missing.
I'll just update the description in the API by saying these are ranks for Role Queue ;) And we'll wait if Blizzard is making an update of their profile page with all the different ranks of not 🙈
Btw the profile images etc and some stats are not updated :) still getting my old avatar and banner displayed
The app is close to release btw :)
Available for Android and iOS
I'll make an update this month with the description mentioned in my previous comment 😉 Regarding your profile image, banner and stats, is the data still outdated ? If not, I think it's related to Blizzard, it's not the first time, and it seems that after every season update, there is a delay with statistics update 🤔 Good news for your app release, keep up the good work 😄
All data is now up to date :)!
Here is something for you: https://play.google.com/store/apps/details?id=de.backxtar.watchoveroverwatch
App is released for Android, iOS still need some checks from Apple.
Btw. your api is mentioned in privacy policy and terms of use :)!
Maybe you can link the app to the github desc :)
I tested your app and it looks great, I'll certainly update the README with the link 😄
Maybe we could add those informations to the csv. If you give me the csv data structure i can add those information to it and you can put this into the api.
If youre looking for hero synergy info, you could look into https://overpicker.win, it would require an extra api call for your app, but it seems to have the info youre after and is actively updated based on new patches/metas across different ranks
@Backxtar I think @s3840619 gave you a good hint if you're looking for hero synergy informations 😄 On my side, I'm updated the API with the comment regarding ranks concerning only Role Queue. Can I consider this issue closed ? 🤔
@s3840619 thanks :3 so I have to mention you also :) Uhm but I don’t know how to pick the conter and synergie out of a number value there :3
this could be a really good community project
No need to mention me @Backxtar , the hero information is all handled by Autopoetico (not sure of their github tag, but heres their linktree https://linktr.ee/Autopoietico)
As for understanding the api, its a little abstract but theres two main api's you should look at from the site
https://api.overpicker.win/hero-counters https://api.overpicker.win/hero-synergies
This will return a large json with the synergy/counter values of each hero with each other hero on the roster
From what I can see, it seems like the values range from 0-30 | Value | Synergy Value | Counter Value |
---|---|---|---|
0 | Doesn't synergize well | Doesnt counter | |
10 | Synergizes somewhat | Counters somewhat | |
20 | Synergizes Well | Counters well | |
30 | Strong Synergy | Strong Counter |
For example if we take a look at the synergy values for ana:
"Ana":{ "Ana":0, "Ashe":0, "Baptiste":20, "Bastion":20, "Brigitte":20, "Cassidy":10, "D.Va":20, "Doomfist":20, "Echo":20, "Genji":30, "Hanzo":0, "Junker Queen":10, "Junkrat":0, "Kiriko":10, "Lifeweaver":20, "Lucio":10, "Mei":10, "Mercy":20, "Moira":0, "Orisa":20, "Pharah":20, "Ramattra":20, "Reaper":20, "Reinhardt":20, "Roadhog":10, "Sigma":10, "Soldier: 76":20, "Sojourn":10, "Sombra":10, "Symmetra":10, "Torbjörn":0, "Tracer":10, "Widowmaker":0, "Winston":20, "Wrecking Ball":10, "Zarya":10, "Zenyatta":0 }
We can see that she synergizes really well with Genji (30) and poorly with Ashe (0)
Similarly if we take a look at the counter values for ana:
"Ana":{ "Ana":10, "Ashe":20, "Baptiste":10, "Bastion":20, "Brigitte":20, "Cassidy":20, "D.Va":0, "Doomfist":20, "Echo":20, "Genji":10, "Hanzo":10, "Junker Queen":20, "Junkrat":10, "Kiriko":0, "Lifeweaver":10, "Lucio":20, "Mei":10, "Mercy":20, "Moira":20, "Orisa":0, "Pharah":20, "Ramattra":20, "Reaper":10, "Reinhardt":10, "Roadhog":30, "Sigma":0, "Soldier: 76":20, "Sombra":10, "Sojourn":0, "Symmetra":20, "Torbjörn":10, "Tracer":10, "Widowmaker":10, "Winston":10, "Wrecking Ball":20, "Zarya":10, "Zenyatta":20 }
We can see that she is a strong counter to roadhog (30), but does little to counter D.Va (0)
Hope this helps! Happy coding
Thanks :) I just didn’t know what these numbers are.
the json handling is not the problem
thanks 😊
I have added a basic data structure file:
class OWHeroCounters {
List<Counters>? counters;
OWHeroCounters({this.counters});
OWHeroCounters.fromJson(Map<String, dynamic> json) {
counters = _getCounters(json);
}
List<Counters> _getCounters(Map<String, dynamic> json) {
List<Counters> counters = List<Counters>.empty(growable: true);
json.forEach((key, value) {
Counters conter = Counters.fromJson(value);
conter.name = key;
counters.add(conter);
});
return counters;
}
}
class Counters {
String? name;
int? ana;
int? ashe;
int? baptiste;
int? bastion;
int? brigitte;
int? cassidy;
int? dVa;
int? doomfist;
int? echo;
int? genji;
int? hanzo;
int? junkerQueen;
int? junkrat;
int? kiriko;
int? lifeweaver;
int? lucio;
int? mei;
int? mercy;
int? moira;
int? orisa;
int? pharah;
int? ramattra;
int? reaper;
int? reinhardt;
int? roadhog;
int? sigma;
int? soldier76;
int? sombra;
int? sojourn;
int? symmetra;
int? torbjRn;
int? tracer;
int? widowmaker;
int? winston;
int? wreckingBall;
int? zarya;
int? zenyatta;
Counters(
{this.name,
this.ana,
this.ashe,
this.baptiste,
this.bastion,
this.brigitte,
this.cassidy,
this.dVa,
this.doomfist,
this.echo,
this.genji,
this.hanzo,
this.junkerQueen,
this.junkrat,
this.kiriko,
this.lifeweaver,
this.lucio,
this.mei,
this.mercy,
this.moira,
this.orisa,
this.pharah,
this.ramattra,
this.reaper,
this.reinhardt,
this.roadhog,
this.sigma,
this.soldier76,
this.sombra,
this.sojourn,
this.symmetra,
this.torbjRn,
this.tracer,
this.widowmaker,
this.winston,
this.wreckingBall,
this.zarya,
this.zenyatta});
Counters.fromJson(Map<String, dynamic> json) {
ana = json['Ana'];
ashe = json['Ashe'];
baptiste = json['Baptiste'];
bastion = json['Bastion'];
brigitte = json['Brigitte'];
cassidy = json['Cassidy'];
dVa = json['D.Va'];
doomfist = json['Doomfist'];
echo = json['Echo'];
genji = json['Genji'];
hanzo = json['Hanzo'];
junkerQueen = json['Junker Queen'];
junkrat = json['Junkrat'];
kiriko = json['Kiriko'];
lifeweaver = json['Lifeweaver'];
lucio = json['Lucio'];
mei = json['Mei'];
mercy = json['Mercy'];
moira = json['Moira'];
orisa = json['Orisa'];
pharah = json['Pharah'];
ramattra = json['Ramattra'];
reaper = json['Reaper'];
reinhardt = json['Reinhardt'];
roadhog = json['Roadhog'];
sigma = json['Sigma'];
soldier76 = json['Soldier: 76'];
sombra = json['Sombra'];
sojourn = json['Sojourn'];
symmetra = json['Symmetra'];
torbjRn = json['Torbjörn'];
tracer = json['Tracer'];
widowmaker = json['Widowmaker'];
winston = json['Winston'];
wreckingBall = json['Wrecking Ball'];
zarya = json['Zarya'];
zenyatta = json['Zenyatta'];
}
}
This should be the structure of the api's data.
The counter / synergy is in :)
@TeKrop can u add the new gamemode and maps :)?
@Backxtar The new maps are already here, I added them at the same time as the update went live.
Regarding the gamemode, I'm parsing Blizzard official page (maps section of https://overwatch.blizzard.com/en-us/) but it seems they didn't update it, so I'll need to handle gamemodes manually instead of parsing ðŸ«
I'll create a dedicated issue and handle it in a few days :wink:
@Backxtar The new maps are already here, I added them at the same time as the update went live.
Regarding the gamemode, I'm parsing Blizzard official page (maps section of https://overwatch.blizzard.com/en-us/) but it seems they didn't update it, so I'll need to handle gamemodes manually instead of parsing ðŸ«
I'll create a dedicated issue and handle it in a few days 😉
Nice :) I’m working now on sole user experience. For a better overview :) Also the core functions are now usable without any login.
Another point: Is it possible to get the ability data? I mean dmg values reload values etc? :)
What do you think about specific herodata? I think about
Maybe we could add those informations to the csv. If you give me the csv data structure i can add those information to it and you can put this into the api.
Those informations are really helpful but no given by blizzard and overwatch. Would make our wiki a lot better or do you think i need to implement this into my code?
Btw: there is a beta version out for android if you wanna test it with your api :) https://github.com/Backxtar/watch-over-support/releases/tag/v1.0.0%2B33