summaryrefslogtreecommitdiff
path: root/src/map
AgeCommit message (Collapse)AuthorFilesLines
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-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/Herculesshennetsind12-252/+450
2013-12-03Questlog fixesHaru11-232/+430
- 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/Herculesshennetsind5-206/+280
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-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/Herculesshennetsind2-4/+7
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-29Update JOB_REBELLION 'job_db1.txt' to its official values and some mini ↵malufett1-2/+3
adjustment. Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-11-29Corrected an uninitialized variable when adding an itemHaru2-2/+4
- 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/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.
2013-11-28Added pre de/increment operators. Fixed post de/increment operators.Haru2-102/+150
- [ This commit is part of a larger script engine related update ] - Suffix ++ and -- operators now behave like in other languages (updating the variable *after* its value is returned.) - Prefix ++ and -- operators are added for parity with other scripting/programming languages. They update the variable they're applied to *before* returning its value. - Please note that the implementation of the prefix form of those operators (like it happens in most languages) is more efficient than the suffix form. '++.@i' is (slightly) faster than '.@i++', or at least not slower. - Fixed some outdated script debug functions. - Follow-up to c18f438. Signed-off-by: Haru <haru@dotalux.com>
2013-11-28Removed meaningless '~=' operator.Haru1-1/+0
- [ This commit is part of a larger script engine related update ] - Since: c18f438 Signed-off-by: Haru <haru@dotalux.com>
2013-11-27Fixed Bug 7858shennetsind4-0/+38
Official item drop announce support, currently hardcoded list -- we'll be following up shortly with a decent way of storing it. Special Thanks to Yommy, Beret, kyeme. http://hercules.ws/board/tracker/issue-7858-monster-rare-drop-announcement/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-27Plugins can now make use of msg_txt()shennetsind2-6/+4
Signed-off-by: shennetsind <ind@henn.et>
2013-11-27Dropped emperium spawn restrictionsshennetsind5-18/+12
Thanks to kyeme for bringing it to our attention. Signed-off-by: shennetsind <ind@henn.et>
2013-11-27Fixed Bug 7495shennetsind1-0/+4
warping (e.g. @recall) of autotrade characters no longer leaves them in memory limbo, the trigger that'd be expected from the client is now called for autotrade units so that they complete the warp procedure in full, vendings are loaded properly as well. http://hercules.ws/board/tracker/issue-7495-autotrade/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-27Fixed Bug 7792shennetsind1-37/+37
Updated damage reflection logic to reflect the official (but weird to say the least) logic, whereas ATK_BLOCK can trigger reflection (e.g. inside safety wall) instead of only ATK_DEF (atk_def = attack connected, yup misleading name). Special Thanks to Yommy, kyeme, Haruna. http://hercules.ws/board/tracker/issue-7792-safety-wall-reflect-bug-body-relocation-error/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-27Fixed Bug 7805shennetsind1-3/+22
Modified @itembound so that it provides feedback in case of bind conditions that fail to meet. pc_additem messages will remain so that any other area that might create a invalid bind item will still be cancelled and provide feedback. Special Thanks to kyeme. http://hercules.ws/board/tracker/issue-7805-itembound-console-error-when-no-partyguild/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-26Fixed Bug 7859shennetsind1-3/+4
magic reflect now nullifies any knockback. Special Thanks to Yommy. http://hercules.ws/board/tracker/issue-7859-magic-reflect-knock-back/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-26Fixed Bug 7794shennetsind1-0/+13
monster's healing now refreshes their hp bar accordingly. Special Thanks to Beret. http://hercules.ws/board/tracker/issue-7794-healing-in-monsters/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-26Fixed Bug 7700shennetsind1-1/+3
@useskill adjusted to update invincibility state. http://hercules.ws/board/tracker/issue-7700-using-useskill-command/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-26Fixed Bug 7838 (addendum)shennetsind1-1/+1
mon_trans_disable_in_gvg: yes no longer displays the error message repeatedly to no purpose. Special Thanks to kyeme http://hercules.ws/board/tracker/issue-7838-wrong-message/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-26Fixed Bug 7855shennetsind1-2/+2
Follow up 61841e7861f63d98ecb417e2bf17135970b79c5a http://hercules.ws/board/tracker/issue-7855-error-compiling-vb-2013/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-25calc_return_damage cleanup & fixesshennetsind2-90/+92
Fixed skill_id not being passed and thus causing some conditions to never be met, dropped some other conditions that would never be met and thus were just wasting space. Moved clif damage outside so that its only used once and with the overall damage instead of several times aggregating the combined delay. Special Thanks to Haruna. Signed-off-by: shennetsind <ind@henn.et>
2013-11-25Fixed getareachar_skillunit v4 and minor cleanupshennetsind4-114/+108
Special thanks to Rytech for pointing it out, updated to match latest data (Thanks to Yommy) and some minor cleanup Signed-off-by: shennetsind <ind@henn.et>
2013-11-25Fixed Bug 7827shennetsind1-1/+13
Fixed reflect shield not respecting maps reduction flags. Data tested and confirmed on official server, special Thanks to Yommy and Haruna. http://hercules.ws/board/tracker/issue-7827-reflect-shield-woe-reductions-autoguard/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-25Fixed Bug 7838shennetsind1-1/+1
Was pointing to the wrong message id, special thanks to sevenzz23 http://hercules.ws/board/tracker/issue-7838-wrong-message/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-25Fixed Bug 7764shennetsind1-0/+1
Server now (virtually) enforces character to be facing north upon teleporting, fixes issues such as when you're facing left, teleports, uses high jump, and still goes left even though client makes it look like you're facing north. Special Thanks to kyeme. http://hercules.ws/board/tracker/issue-7764-warp-facing/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-25Fixed txt_time (used by @time)shennetsind1-11/+10
number of screwed up scenarios e.g. when day, hour and second are 0 but minute is not. Signed-off-by: shennetsind <ind@henn.et>
2013-11-25Fixed Bug 7849shennetsind1-35/+14
@time crash depending on night/day timer settings, also dropped 2 unsupported scenarios (been there for ages) http://hercules.ws/board/tracker/issue-7849-map-crash/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-22Minor HPMi Sub Modificationsshennetsind2-2/+0
- HPMi->addCommand is now addAtcommand, dropped usage of ACMD_A() - HPMi->addScript is now addScriptCommand, dropped usage of BUILDIN_A() - HPMi->addCPCommand is now addCPCommand, dropped necessity of CPCMD_A() - HPMi->addPacket is now addPacket, 5th param (HPMi->pid) is now automatically filled by the macro, therefore param count drops to 4 (packetID,packetLength,packetFunction,packetIncomingPoint). There is no longer necessity to check for the availability of the commands, the macros will do it on their own and drop a warning about it upon failure. These changes won't affect pre-compiled plugins. Signed-off-by: shennetsind <ind@henn.et>
2013-11-21Fixed a somehow-cygwin-only warning 'array subscript is above array bounds'shennetsind1-1/+1
Signed-off-by: shennetsind <ind@henn.et>
2013-11-20Dropped some unused aliases in atcommand usage messages.shennetsind1-4/+4
Those were prone to be confusing with the recent implementation of charban/charunban, special thanks to uzieal for bringing it up. Signed-off-by: shennetsind <ind@henn.et>
2013-11-20Added support for 'make plugin.pluginname' to compile only 'pluginname'Haru1-33/+38
- Various Makefile optimizations Signed-off-by: Haru <haru@dotalux.com>
2013-11-19Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind25-549/+786
2013-11-19Fixed Bug 7799 - SC_MOONSTAR neverendingshennetsind1-2/+10
Follows up 665f1306a130d4b8c359972bf4e58ef9d3bd9cd8 http://hercules.ws/board/tracker/issue-7799-sc-moonstar/ Signed-off-by: shennetsind <ind@henn.et>