Jump to content

Singe Horizontal

Members
  • Posts

    26
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by Singe Horizontal

  1. Hi, On the servers I played on for the last couple years, I noticed that the effect of Hell poodle cards and such, that is all the items that give bonus to heal rate, were quite nerfed. The 100% bonus heal was neither multiplied to the bonus given by vitality and Increase Hp Recovery. I made some research in old commits, and I found something on pc.cpp, on the function pc_itemheal(). On 29 Jun 2017, a commit was made with one objective of "Clean[ing] up overall pc_itemheal function calculations.", which made that change on line 8290 - bonus += bonus*pc_get_itemgroup_bonus(sd, itemid)/100; + bonus += pc_get_itemgroup_bonus(sd, itemid); This is what explained the change in the behavior of the bonus items, and is more than just cleaning code. Here is the commit : https://github.com/rathena/rathena/commit/5729a3dedb6aca0d4cced23e242462d4970ffd3b Then, the code was refactored, propagating the new behavior - for(i = 0; i < ARRAYLENGTH(sd->itemhealrate) && sd->itemhealrate[i].nameid; i++) { - if (sd->itemhealrate[i].nameid == itemid) { - bonus += sd->itemhealrate[i].rate; + for(const auto &it : sd->itemhealrate) { + if (it.id == itemid) { + bonus += it.val; https://github.com/rathena/rathena/commit/c71ef92fb0aa50119484d5576853eb0c79baa397#diff-49937e616f59c440ac7bc7d0d5ec2237 Shouldn't the correct behavior be bonus+= bonus*it.val/100 ? EDIT : To give an example, with 100 vit and increase hp recovery 10, one meat gives 280~400. Now with x2 hell poodles, with the old formula you used to heal for 840,00 ~1 200,00, now it's 420~600, which is disappointing considering the investment and the weight of a meat (15)
×
×
  • Create New...