Humble_Bee Posted March 29, 2021 Group: Members Topic Count: 54 Topics Per Day: 0.03 Content Count: 112 Reputation: 9 Joined: 09/22/19 Last Seen: July 24, 2022 Share Posted March 29, 2021 While it isn't perfect, I finally figured how to game the aspd issue I was having. For the life of me, I couldn't find where that "50" was in the (50 / (200-aspd)) in the coding. BUT, the biggest thing that was important to me was wanting agility to have a clearer impact. I adjusted "temp_aspd", and along with some other small modifications- like setting one-handed weapons to leave a user with a base of 100 aspd when used- I was able to make it so that every 100 agility increased dps by 100% of my starting point. Meaning if I do 100 dps to start, it will allow me to do 200 dps with 100 agility, and then 300 dps with 200 agi, and so on. I'm super pumped about this, because now it will balance strength when I'm finished, and I have some clearer calculations I can work with. I hated all the "aspd corrections" and "we'll throw in some extra fractions for the fun of it." Just give me straight numbers! I also figured how to adjust my two-handed weapons to hit half as often (time-wise- 1 hit every 4 seconds vs 1 hit every 2 seconds), while still having my aspd mod make it so the dps speed boost from agi stayed the same. Since my two-handed weapons hit twice as hard, it finally adds a truly new playstyle to the game. Instead of the wishy-washy "this dagger does more damage than that mace" of standard RO play, I can finally have options- heavy damage user, normal damage user, tankier low damage user, etc. *Breathes in deeply* Ahhhh. I look forward to working out the rest of the kinks so playing different characters feels a lot more fresh and alive again. I can't wait to finally turn my crossbows into one-handed bows, and run around as a tanky trapper archer with low damage. Quote Link to comment Share on other sites More sharing options...
Antares Posted June 2, 2021 Group: Members Topic Count: 74 Topics Per Day: 0.02 Content Count: 420 Reputation: 89 Joined: 01/30/12 Last Seen: April 29, 2023 Share Posted June 2, 2021 (edited) I was involved in figuring out the Re ASPD system when the Renewal version came around. You have to think a bit in reverse. ASPD is somewhat the effect and not the cause. The game thinks in animation speed (how long an animation takes), and you can't make it go away, since the client expect this. So ASPD is complicated because of this. You are calculating ASPD, then you calculate animation legth from it (in milisecs if I remember correctly) that is later translated back into the aspd number that you can see on the character window. There are many animations in the game that is somewhat ASPD dependant like damage motion, attack motion, cast animations and they all use animation legth under the hood. It's not that compicated tho if you get to think this way (in reverse) Base ASPD amotion (uses status_clac_aspd) : https://github.com/rathena/rathena/blob/master/src/map/status.cpp#L3017 status_base_amotion_pc() Bonus ASPD amotion (uses status_calc_aspd_rate) : https://github.com/rathena/rathena/blob/master/src/map/status.cpp#L4830 ASPD amotion function call: https://github.com/rathena/rathena/blob/master/src/map/status.cpp#L6066 Base ASPD clac: https://github.com/rathena/rathena/blob/master/src/map/status.cpp#L7864 status_calc_aspd Fixed ASPD bonuses calc: https://github.com/rathena/rathena/blob/master/src/map/status.cpp#L8008 status_calc_fix_aspd Bonus ASPD calc: https://github.com/rathena/rathena/blob/master/src/map/status.cpp#L8045 status_calc_aspd_rate If you want to change ASPD, then change the ASPD calc parts, not the amotion calcs, but there are many references scattered all over the code, so you might have to check all of them. Edited June 2, 2021 by Antares Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.