Jump to content

I finally figured it out.


Humble_Bee

Recommended Posts


  • Group:  Members
  • Topic Count:  54
  • Topics Per Day:  0.03
  • Content Count:  112
  • Reputation:   9
  • Joined:  09/22/19
  • Last Seen:  

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.

Link to comment
Share on other sites

  • 2 months later...

  • Group:  Members
  • Topic Count:  74
  • Topics Per Day:  0.02
  • Content Count:  420
  • Reputation:   89
  • Joined:  01/30/12
  • Last Seen:  

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 by Antares
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...