Avenroot / Classic_Score

Add-on for Classic World of Warcraft that tracks your characters progress.
https://avenroothcs.wixsite.com/hardcore-score
0 stars 0 forks source link

Existing API calls for HCS functions #41

Closed eTzmNcbkrng closed 9 months ago

eTzmNcbkrng commented 9 months ago

I was having a look at the commit pushed for awarding points at max level in SoD and had some thoughts I'd like to share.

You can use C_Seasons.GetActiveSeason() to check if SoD is active. I haven't tested yet but the code currently used I don't think will work for me as my realm is not actually called "Shadowstrike" it's "Shadowstrike (AU)" (this is how it appears in WTF folder) also instead of using a function to check if both SoD is active and a player is level 25 (which has to be changed with phase updates) you can use GetMaxLevelForExpansionLevel(GetExpansionLevel())

Finally, I don't think it's a good idea to award a random amount of points between 50 and 75, there should be a formula used that evaluates the difficulty of the mob being killed.

I'm away from my PC currently so apologise for the brevity and condescending tone, if I were able I would actually provide some drag and drop solutions but for now, just some thoughts I had will have to suffice.

Avenroot commented 9 months ago

Thanks @eTzmNcbkrng for the comments. Your tone is just fine. :)

I had a little time during the Holidays so I wanted to get a quick fix out. I did an initial search for Active Season API's but didn't find any. C_Seasons.GetActiveSeason() is an excellent approach and I have updated the code with this method. I no longer rely on Server names.

I didn't have the same luck for GetMaxLevelForExpansionLevel(GetExpansionLevel()) as it only returned the level max for the expansion (60) and not the season. I would welcome to see if you have an example of how it would work.

I totally agree that getting random points for experience is not the best. Again, I was trying to do a quick fix and the experience gained is min at best. The random experience still goes through a mob evaluation and adjusts for difficulty but you are right the initial xp is random. So, I have fixed it. I have updated the code to distribute the experience according to the difficulty of the mob. Thank you for bringing this to my attention. It works more like it should now. :)

Thank you for all the feedback.

eTzmNcbkrng commented 9 months ago

Well now I'm confused, I'm sure I was using GetMaxLevelForExpansionLevel(GetExpansionLevel()). I just logged in for the first time since before Christmas to test and you're right, that function returned 60, however, I did have GetMaxPlayerLevel() stored in my Cube addon which returned 25 on a L20 Priest.

However, I can't find any documentation on this function but I don't have any other addons loaded so it must be in the API.

Avenroot commented 9 months ago

The issue has been resolved.