summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2013-12-17Added support for non-aborting assertionsHaru3-41/+71
- Added Assert_ret, Assert_retv, Assert_retb, Assert_retr, working similarly to the corresponding nullpo_ functions. - Moved Assert-related macros to nullpo.h, since they share some functions. Signed-off-by: Haru <haru@dotalux.com>
2013-12-17Nullpo cleanupHaru3-285/+72
- Removed unused, nonportable nullpo checks with formatted message (related: eAthena r15245) - Converted nullpo_chk to a macro, to make it easier on the llvm static analyzer. - Added more details to the nullpo_info reports (related: eAthena r15246) - Ensured that the nullpo check macros evaluate their pointer argument once and only once, so that it's safe to use with expressions that assign values or have side-effects. Signed-off-by: Haru <haru@dotalux.com>
2013-12-17Changed plugin extension from .so to .dylib on OS XHaru1-1/+3
- No functional changes. That's just the correct OS X file extension for dynamic libs. Signed-off-by: Haru <haru@dotalux.com>
2013-12-11HPM Hooks UpdateHercules.ws1-60/+60
Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
2013-12-11Corrected some local 'mapindex' variables shadowing the global oneHaru15-41/+40
Signed-off-by: Haru <haru@dotalux.com>
2013-12-10Fixed 64b warnings on db2sqlshennetsind1-5/+5
Special Thanks to Haru! Signed-off-by: shennetsind <ind@henn.et>
2013-12-10Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind4-8/+9
2013-12-09Fixed some logic errorsshennetsind13-106/+126
Special Thanks to Haru Signed-off-by: shennetsind <ind@henn.et>
2013-12-09Fixed a crash when casting GN_SPORE_EXPLOSION on certain systems.Haru3-2/+3
- Follow-up to 44c33fda3614d588e6bf6cee1cf884e98f1531f0. - Also fixed some incorrect va_end calls that came up while debugging. - Special thanks to Ind for his help debugging the problem. Signed-off-by: Haru <haru@dotalux.com>
2013-12-08Follow up d4a58d24d6bcb23a995d62a3d9f9e7190c054b49shennetsind1-3/+1
Enabled plugin access to mapindex interface Signed-off-by: shennetsind <ind@henn.et>
2013-12-08HPM Hooks UpdateHercules.ws1-6/+6
Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
2013-12-08Fixed cell basilicashennetsind1-0/+4
which was broken 5 years ago in 13106, special Thanks to karazu, Angelmelody and kyeme. Signed-off-by: shennetsind <ind@henn.et>
2013-12-07Fixed angra manyu aspd base calcshennetsind2-5/+11
fixed as in, it now skips the thing entirely, matching official behavior and no longer affected by job-specific modifiers. Thanks to Yommy. Signed-off-by: shennetsind <ind@henn.et>
2013-12-06HPM: mapindex interfaceshennetsind14-194/+226
Signed-off-by: shennetsind <ind@henn.et>
2013-12-06Corrected some potential issues in the questlog systemHaru2-5/+6
- Should fixe bugreport:7888, thanks to rosfus http://hercules.ws/board/tracker/issue-7888-some-issue-crush-my-mapserver - Special thanks to Ind. Signed-off-by: Haru <haru@dotalux.com>
2013-12-05Follow-up to 6f55c00e72ca6db130a84fe92218f73a777428f4Haru1-2/+5
- Fixed a memory leak (bugreport:7885), thanks to rosfus http://hercules.ws/board/tracker/issue-7885-memory-leaks-found-at-20131205-20h31m31s-rev-13617/ Signed-off-by: Haru <haru@dotalux.com>
2013-12-05Fixed Bug 7879shennetsind1-5/+7
guild storage would remain locked when the operation failed, now it unlocks regardless of success. Special Thanks to GrumpyPanda http://hercules.ws/board/tracker/issue-7879-guild-storage-bug/ Signed-off-by: shennetsind <ind@henn.et>
2013-12-05HPM Hooks UpdateHercules.ws3-0/+31
Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
2013-12-05Improved script builtin function parserHaru2-75/+87
- Removed duplicate code shared between script_hp_add and script_parse_builtin. - Improved error handling in script_hp_add to be on par with the script_parse_builtin version. - Added script->add_builtin function, providing a hooking point for plugins (i.e. text editor syntax definition generators) to obtain the builtin commands list. - Special thanks to Ind. Signed-off-by: Haru <haru@dotalux.com>
2013-12-05Improved plugins MakefileHaru1-2/+11
- It is now possible to build a plugin without adding it to the Makefile, by using 'make plugin.my_plugin_name'. - To have it built through 'make all' or 'make plugins', it is still necessary to add it to the Makefile, as before. Signed-off-by: Haru <haru@dotalux.com>
2013-12-04Follow-up to 6e9c385b8fa2fbca97ca23e35f0b8e5dabd13526Haru5-27/+61
- Case-sensitive AegisName and Sprite ID lookups are now optional, controlled by the case_sensitive_aegisnames battle config flag (you can set it to "no" to restore the case insensitive behavior.) - Special thanks to Ind. Signed-off-by: Haru <haru@dotalux.com>
2013-12-04Fixed Bug 7883shennetsind1-1/+1
Special Thanks to Megasantos, Beret. Follows up 098dbcf672e04657553b9f1629550e6bc8771af3 http://hercules.ws/board/tracker/issue-7883-reloaditemdb/ Signed-off-by: shennetsind <ind@henn.et>
2013-12-04Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind18-395/+702
2013-12-04Follow-up to 6f55c00e72ca6db130a84fe92218f73a777428f4Haru1-1/+1
- Fixed an issue that caused the quest list not to be sent to the map server. - Special thanks to Beret. Signed-off-by: Haru <haru@dotalux.com>
2013-12-03HPM Hooks UpdateHercules.ws3-43/+102
Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
2013-12-03Questlog fixesHaru14-332/+580
- Improved memory usage of the quest log system. (saves up to 75kB per online character). Fixes issue #133. - Fixed various issues with quest entries disappearing from characters without an apparent reason, or monster kill counters getting stuck - the issues were caused by a de-synchronization between the two parallel questlog arrays in map_session_data. - Added some code documentation. - Thanks to Ind. Signed-off-by: Haru <haru@dotalux.com>
2013-12-03Corrected Steal Coin formulas and battle log messageHaru2-20/+20
- Updated to use official formulas from Aegis (for both success chance and stolen zeny amount.) - It now shows the correct stolen zeny amount in the battle log, rather than showing the skill level. - Made possible thanks to Yommy and Ind. Signed-off-by: Haru <haru@dotalux.com>
2013-12-03Fixed Bug 7542shennetsind3-4/+15
replaced pc_isuseitem 90overweight error message by its official version, added invent-full check for when trying to open packages/boxes, and modified mail getAttachment to fail when over 90% weight. Special Thanks to kyeme. http://hercules.ws/board/tracker/issue-7542-bug-when-weight-90/ Signed-off-by: shennetsind <ind@henn.et>
2013-12-02Fixed an uninitialized variable / broken code.Haru2-23/+22
- Follow up to c6c2ad187c386d8d27d3336dcbdd5a92555493d2 - Special thanks to Ind Signed-off-by: Haru <haru@dotalux.com>
2013-12-02Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind8-254/+298
2013-12-02Fixed Bug 7336 (woo %2)shennetsind1-1/+3
flag was discarding elegible guild mates. Special Thanks to kyeme. http://hercules.ws/board/tracker/issue-7336-gvg-noparty-is-missing/ Signed-off-by: shennetsind <ind@henn.et>
2013-12-02HPM Hooks UpdateHercules.ws3-48/+18
Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
2013-12-01Fixed Bug 7866shennetsind3-7/+10
Fixed EQI_SHADOW_ACC_L ability to produce bonuses, Special Thanks to rosfus, Angelmelody. http://hercules.ws/board/tracker/issue-7866-eqi-shadow-acc-l-missing-effect/ Signed-off-by: shennetsind <ind@henn.et>
2013-12-01Changed item Aegis ID and mob Sprite ID lookups to case sensitive.Haru2-5/+5
Signed-off-by: Haru <haru@dotalux.com>
2013-12-01Changed variables, labels, functions, commands to case sensitive.Haru3-112/+179
- Fixes bugreport:7810, thanks to Wend, kyeme, evilpuncker, jaBote, and various other people I may be forgetting to mention http://hercules.ws/board/tracker/issue-7810-disguise-script-command - Due to the nature of this change, I'm leaving the deprecation messages lingering around for a while more (as errors rather than warnings), to make sure they won't pass unnoticed, in case you haven't yet updated your custom scripts to comply with this. - Special thanks to Ind. Signed-off-by: Haru <haru@dotalux.com>
2013-12-01Changed builtin keywords in the script engine to case sensitive.Haru3-88/+94
- Any scripts using the wrong case, that were throwing deprecation warnings until now, will become invalid. - Related to bugreport:7810. Signed-off-by: Haru <haru@dotalux.com>
2013-11-30Fixed an issue with assignment operators and expressionsHaru1-2/+3
- Assignment operators would not work correctly, or at all, when followed by an expression (as opposed as a value). - Fixes bugreport:7864, thanks to Lelouch, Ind. - Added associativity tests for those operators to the self-test script. - Added total error count to the self-test script (thanks to Lighta.) Signed-off-by: Haru <haru@dotalux.com>
2013-11-30Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind4-5/+12
2013-11-30Minor adjustmentsshennetsind4-5/+24
- improved @makehomun -1 so that if the homun data hasnt been loaded it is requested. - instances of private types (party/guild/char) no longer create channels, however global types still does (IOT_NONE). - Fixed an issue with party/guild instance data not being freed when either is destroyed (Special Thanks to Yommy). Signed-off-by: shennetsind <ind@henn.et>
2013-11-29Minor improvementshennetsind4-32/+39
pc_checkitem is now triggered by @reloaditemdb to ensure modified conditions are respected, also a performance boost that causes the itemlist/cartlist/storagelist/gstoragelist lookups to only be triggered on demand instead of on every teleport. Closes #219 Fixed ancient monster ai bug that caused mobs to consider themselves elegible targets, which would waste status_check_skilluse and battle_check_target calls. Signed-off-by: shennetsind <ind@henn.et>
2013-11-29Follow up 3a269dca93c421141631b4c87b2f366b6c130a42shennetsind1-0/+3
Extended to the fix to aggregated as well, as in val: [ y,x ]/{y,x}/(x,y,...) Signed-off-by: shennetsind <ind@henn.et>
2013-11-29Update JOB_REBELLION 'job_db1.txt' to its official values and some mini ↵malufett2-3/+7
adjustment. Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-11-29Corrected an uninitialized variable when adding an itemHaru3-2/+5
- The .favorite field of newly added inventory items wasn't correctly initialized to zero, potentially causing data loss (fixes bugreport:7854, thanks to Vincent, GrumpyPanda). Signed-off-by: Haru <haru@dotalux.com>
2013-11-28Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind3-32/+154
2013-11-28Fixed conf inheritance issueshennetsind1-5/+9
Special Thanks to bgamez23, kyeme. Signed-off-by: shennetsind <ind@henn.et>
2013-11-28HPM Hooks UpdateHercules.ws3-32/+154
Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
2013-11-28Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind2-122/+172
2013-11-28Follow up fdb6de1aa34086fd4d22ae127437727f556cea3cshennetsind10-185/+346
Modified reflect code so that each reflection source can judge whether to apply or not, necessary for mechanics such as item-bonus reflect triggers even on autoguard while reflect shield does not. Re-added that "reflect shield" overhead display which I mistakenly removed in fdb6de1aa34086fd4d22ae127437727f556cea3c. Added code to refrain damage numbers from overlapping in the client, which would render them illegible. Special Thanks to kyeme, Yommy. http://hercules.ws/board/tracker/issue-7792-safety-wall-reflect-bug-body-relocation-error/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-28Added support for automatic concatenation of adjacent string literalsHaru1-18/+21
- [ This commit is part of a larger script engine related update ] - Adjacent string literals are now automatically concatenated into one string upon parsing. - Adjacent string literals are string literals (i.e. "such as this", with only whitespace (including line breaks and/or comments) between them. For example, the lines: mes "this will be concatenated " /* skipping this comment */ " into one string"; // at parse time will produce an output of "this will be concatenated into one string". - The feature brings parity with other languages (i.e. C), and makes it easier to split long strings in multiple lines, without having to resort to a, slower, run-time string concatenation operator ('+') - Special thanks to Trojal for the idea. Signed-off-by: Haru <haru@dotalux.com>
2013-11-28Corrected operator precedence table.Haru1-20/+20
- [ This commit is part of a larger script engine related update ] - Operator precedence rules now closely follow those of languages such as C and derivates/related (C++, Java, PHP, etc.) - Please note that if you had custom scripts with non parenthesized expressions containing bitwise |, &, ^ operators, they may behave incorrectly now (or perhaps they were already behaving incorrectly, since the previous behavior was undocumented). - Added an up to date operator precedence/associativity table in the script documentation. - Added an operator/keyword self-test script in the npc/custom folder, in case if may be of some use for future regression-testing.