diff options
author | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-05-18 07:24:58 +0000 |
---|---|---|
committer | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-05-18 07:24:58 +0000 |
commit | b98423cf76290dfd3b6ee8e0fc32bbf78068b382 (patch) | |
tree | 46a63a997a432d87947362f3c9e8a0f16b14b1f7 /db/Changelog.txt | |
parent | 05ba06503dc75b58046331d292e557624688bc7f (diff) | |
download | hercules-b98423cf76290dfd3b6ee8e0fc32bbf78068b382.tar.gz hercules-b98423cf76290dfd3b6ee8e0fc32bbf78068b382.tar.bz2 hercules-b98423cf76290dfd3b6ee8e0fc32bbf78068b382.tar.xz hercules-b98423cf76290dfd3b6ee8e0fc32bbf78068b382.zip |
status calc code cleanup
* Inverted the status calc code order, so that status_calc_bl optionally invokes status_calc_pc/mob/whatever instead of every status_calc_* calling status_calc_bl.
* Inlined functions status_calc_bl_sub_pc, status_calc_bl_sub_hom and status_calc_bl_sub_mer into status_calc_bl.
* Restructured status_calc_bl to require as little bl type-specific branching as possible.
* Split status_calc_bl into two layers - the inner does the battle status calculations, while the outer deals with running appropriate base status calculations, remembering old values and handling client updates.
* The status_calc_bl function is now the single entry-point for all status calculations.
* status_calc_bl will now trigger a client update only on attributes that actually changed.
* If hp or sp changes during status_calc_bl, it will now properly refresh on the client.
* Removed SCB_PC, now SCB_ALL should be used instead.
* Revived the unused status calc flag SCB_BASE to indicate that a base status recalculation should be done first (that's what the status_calc_* functions are for).
* Defined a new symbolic bitmask SCB_BATTLE (SCB_ALL - SCB_BASE) in case someone needs to only calculate the battle status (currently unused).
Please report any issues with this update.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13789 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'db/Changelog.txt')
0 files changed, 0 insertions, 0 deletions