Clean up the way we handle our script constants.
Since most of them come from source anyway we now export them directly into the scripting engine to ensure that they use the correct values.
The main benefits are that you users don't have to fear that we forget to adjust something according to source changes, if you use the constants in your scripts that is, and we developers do not have to think about updating them anyway. It also guarantees that constants that used wrong values before this use the correct values that are defined source side.
Created the respective enum on source side and changed the script doc to only refer to the constants not the direct values.
Additionally adjusted the sample script.
* Moved all item effects to source.
* Updated HP/SP Increase Potions to use the official statuses.
* Updated Vellum Flail to use the official status instead of Critical Wound.
Thanks to @exneval.
And updata mapcache to use DBPATH instead rechecking RENEWAL macro,
(code duplication)
Make mapcache use cli.o to give some feedback on arguments given.
-> All Credit to Kisuka for this big work.
Added news commands to alter questinfo conditions :
- setquestinfo_level : Add level range criteria for quest info with quest id 'quest_id'.
- setquestinfo_req : Add quest requirement for quest info with quest id 'quest_id'.
-> Player have / doesn't have the required quest.
- setquestinfo_job : To add additionnal job criteria.
-> Credit to Cydh !
* Follow up to 2cee5b6.
* Fixes#516 - Base stats (STR, AGI, etc) will now stick after the unit's statuses are recalculated.
* Statuses are directly modifiable now (ATK, DEF, etc)
* Created constant values so it's a lot easier to read.
* Updated script command documentation to reflect changes.
* Added type for `gethominfo`, `getpetinfo`, and `getmercinfo` to return GID.
* Added `geteleminfo`, to retrieve Elemental ID and GID. The otherinfo can be gained from `getunitdata`
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Fixes#629 - Removed an extra costume check during action requests.
* Fixes#632 - Fixed long broadcast messages getting truncated.
* Fixes#635 - Fixed Elementals getting removed twice from a map during map_quit().
* Fixes#639 - Adjusted two checks from status_get_sc_def() so that tick_def2 is properly adjusted when pc_sc_def_rate is adjusted in battle config.
* Fixes#645 - Fixed atcommand 'iteminfo' displaying items not dropping from any monsters when battle flag 'mobinfo_type' is active.
* Fixes#652 - Don't call clif_scriptclose() on script command 'close' and script command 'end' when an NPC shop is active.
* Fixes#670 - Resolved a possible map crash when using the Lux Anima Runestone.
* Fixed#651, now quest_db is separated between Renewal and Pre-Renewal to avoid non-existent monster/item (current missing monster/items are removed on Pre-Renewal). Thank @lordganja.
* Fixed#622, cast warning in script.c::get_val2. Thank @Litro .
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Removed `0x2715` and `logchrif_parse_updmail`, not being used that was duplicated by `logchrif_parse_reqchangemail` (`0x2722`).
* Changed packet header `0x2736` to `0x2b13` of `chrif_update_ip` from map-server to char-server. That was ambiguous with `0x2736` of `logchrif_parse_updcharip` that being used by char-server to login-server.
* Changed packet header `0x3804` to `0x2726`, the one that being used to send back global account reg from login-server to char-server. That was ambiguous with `0x3804` that being used by char-server (was inter actually) to map-server.
* Some indent clean up as result from char & login server refactor.
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Added array variable option in 3rd param of `getguildmember` and `getpartymember`, so the script will returns the result in reserved array instead using temporary global variable.
* Also, the script returns the member found directly.
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Cleaned up db_vdestroy errors at server shutdown.
* Expanded the ERS system. Thanks to Hercules.
* Added ERS to the database trees to speed up iterator memory allocation. Thanks to Hercules.