project-topaz / topaz

Server emulator for FFXI
Other
160 stars 224 forks source link

Fix exp_rate configs. #613

Open tankfest opened 4 years ago

tankfest commented 4 years ago

I have:

Additional Information (Steps to reproduce/Expected behavior) :

Currently, exp_rate in map.conf multiplies ALL exp received, including exp received from the lua util player:addExp(x). My understanding is that this should only multiply exp received from kills in the exp_base table.

EXP_RATE in settings.lua supposedly only modifies the quests/FOV/GOV exp, but I haven't tested it.

Both should be in the same config/setting file, and they should be aptly named to eliminate confusion.

TeoTwawki commented 4 years ago

This is somewhat expected behavior - its poorly documented causing the surprise so not "expected" by the user, but expected as in it was made this way. The conf is meant to hit -all- exp, the setting was just for quest/books, which is ironic given that at the time the setting was made quest exp wasn't a thing and books didn't exist yet. Since the exp happing in scripts has to eventually get to that core function to do anything, it gets the conf boost applied as well.

The conf makes its adjustment ad the core function where all exp must land at, while the lua setting is simply a variable used in scripts as a multiplier (and can actually be used to reduce book exp by setting it less than 1 e.g. 0.5 for half exp) Short of overloading the function to add a bool for "is this script exp?" I dunno how you'd separate them.

Hozu commented 4 years ago

If the exp rate is high enough, you can actually gain EXP by dying and being raised.

TeoTwawki commented 4 years ago

If the exp rate is high enough, you can actually gain EXP by dying and being raised.

Diff issue with diff cause.