summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2013-09-03Fixed several packet errors with pre-renewal clients from 2006-2008Haru4-6/+22
Thanks to Beret for reporting the issues, Ind for his great help with research, suggestions and the necessary tools to fix this. Signed-off-by: Haru <haru@dotalux.com>
2013-08-30Changed dlopen to use RTLD_DEEPBIND where availableHaru1-3/+7
- Fixes bugreport:7680 http://hercules.ws/board/tracker/issue-7680-hpm-is-broken/ Signed-off-by: Haru <haru@dotalux.com>
2013-08-29Follow up@c11390cbffc983b01ac9ee4af3b16ccb533dd94cmalufett1-2/+2
-Fixed bug#7681 -sorry guys got crossed eyed in diffing..XD
2013-08-30Follow up @ cccc5bc9256b196b1f4e9ad881838ad32c8b3424malufett2-2/+6
-Bonus 'bLongAtkRate' is not working properly. RE Updates -Added missing atk bonus of BS_HILTBINDING and removed unnecessary hit bonus of BS_WEAPONRESEARCH. Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-08-28Fixed an error with the '+=' operator on string variablesHaru1-1/+2
When attempting to concatenate and assign to a previously empty string with +=, it'd throw a memory manager error. Follow-up to 22d2718. Signed-off-by: Haru <haru@dotalux.com>
2013-08-27Silenced a MSVC warning about int64->int32 conversionHaru1-1/+1
Follow-up to 8351881. Thanks to Takkun for the report Signed-off-by: Haru <haru@dotalux.com>
2013-08-26Merged strtoll MSVC fix from Ind's ScriptEngineUpdateP1 branchHaru1-0/+1
Credits to Ind for the fix, thanks to Takkun for reporting it Signed-off-by: Haru <haru@dotalux.com>
2013-08-26Added support for non-fatal error messages from the script parserHaru2-15/+47
- Changed overflow errors to be non-fatal. The value will now be capped to INT_MAX or INT_MIN. - Follow-up to 8351881 Signed-off-by: Haru <haru@dotalux.com>
2013-08-26Added an integer overflow check on literal values in the script parserHaru1-2/+9
- When attempting to use a value greater than INT_MAX or smaller than INT_MIN (about +/- 2 billions), an error message will be shown and script execution will be aborted. - Corrected some scripts that were attempting to use such values. - Fixed some possible issues when using literal negative values in scripts. Thanks to Ind for his help on this issue (figuring it out and fixing it) Signed-off-by: Haru <haru@dotalux.com>
2013-08-26Fixed Bug#7584malufett13-188/+238
-Where HW_SOULDRAIN should work only in single target. Fixed Bug#7670 -Where PA_GOSPEL is not working properly. Fixed Bug#7668 -Bonus 'bLongAtkRate' is not working properly. Fixed Bug#7512 -Bonus 'bCritAtkRate' is not working properly. Fixed Bug#7515 -Fixed MO_EXTREMITYFIST animation. -Fixed RE armor/weapon storage tab positioning. -Fixed HW_MAGICPOWER cast time. -Fixed '/item' '/monster' aegis command where it not working properly in some item names or monsters. -Added NC_DISJOINT cast time hidden modifier. -Updated RE ATK for post damage modifier. Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-08-22Fixed MSVC warnings on 7f9f6e1b84061a7d393debf37395c8b4a2667db1shennetsind6-40/+47
Special Thanks to KeiKun for bringing them to me. Signed-off-by: shennetsind <ind@henn.et>
2013-08-22Fixed Bug #7308shennetsind1-12/+14
Special Thanks to Haruna for the fix, kyeme for the information http://hercules.ws/board/tracker/issue-7308-guild-aura-on-ally/ Closes #78 Signed-off-by: shennetsind <ind@henn.et>
2013-08-22Fixed Bug #7652shennetsind10-103/+109
damage storage has been changed from int32 to int64 within areas where it could otherwise modified beyond the limit and get screwed up, this solves all related problems within any skills, not only asura. http://hercules.ws/board/tracker/issue-7652-asura-strike-overdamage/ Signed-off-by: shennetsind <ind@henn.et>
2013-08-20Fixed a mapserver crash when using instanced maps with custom namesHaru4-9/+8
- Fixes bugreport:7658 (thanks to purityz) http://hercules.ws/board/tracker/issue-7658-instance-mapserver-crashing/ - The crash was caused by a pointer becoming invalid when reallocating map[] (i.e. when adding maps), since 20bdc01f Signed-off-by: Haru <haru@dotalux.com>
2013-08-19Fixed a crash in case a clone uses SO_ELEMENTAL_SHIELDHaru1-3/+4
Signed-off-by: Haru <haru@dotalux.com>
2013-08-14Fixed crash uncovered by the ab1fad052cd771e183f496f5db922fa03a13edea updateshennetsind1-2/+3
Special Thanks to Haruna Signed-off-by: shennetsind <ind@henn.et>
2013-08-14Fixed Bug #7646shennetsind3-36/+75
Fixed changing map zones/flag of a instance map crashing, also added IOT_ (Instance Owner Type) constants to db/const.txt Special Thanks to purityz for all the help and test scenarios. http://hercules.ws/board/tracker/issue-7646-bg-mapflag-instance-reloadscript-mapserver-crash/ Signed-off-by: shennetsind <ind@henn.et>
2013-08-14Fix for Bug #7471shennetsind3-75/+41
HELLO WORLD. DADDY IS BACK. Fixed ancient pc_calc_skillpoint bug that'd count guild skills towards the player's total. Special Thanks to malufett and the countless who provided us with debug information on this issue. This commit implements a temporary command @skdebug, in case there are people still reproducing the issue please include the output of this command in your new report, it displays the information required for us to adjust any possible oddities. http://hercules.ws/board/tracker/issue-7471-skill-points-not-evenly-distributed-anymore/ Signed-off-by: shennetsind <ind@henn.et>
2013-08-12Replaced own bool typedef with <stdbool.h> where availableHaru1-0/+12
Fixes bugreport:7645 http://hercules.ws/board/tracker/issue-7645-rev-12302-compiler-error-and-warnings-on-gcc-49 Special thanks to Takkun for VS2012 testing and info Signed-off-by: Haru <haru@dotalux.com>
2013-08-12Added support for Nick Server GHOST commandHaru3-1/+9
Credits to Yommy for the idea Signed-off-by: Haru <haru@dotalux.com>
2013-08-12Added support for long IRC messagesHaru2-6/+16
- IRC messages are no longer truncated to one line of client chat message, if they are longer than that. They're instead posted as multiple lines. (See comments in the source to disable this, if you wish to.) - Added a define for the max acceptable IRC message length, and increased the size of send_string to fit it Signed-off-by: Haru <haru@dotalux.com>
2013-08-12Small IRC bridge tweaksHaru2-16/+81
- Added documentation for the remaining undocumented functions - Dropped unused function ircbot->join - Moved commented out debug commands to ifdef blocks; to quickly toggle them, (un)comment #define IRBCOT_DEBUG on top of irc-bot.c Signed-off-by: Haru <haru@dotalux.com>
2013-08-12Added support for CTCP commands to the IRC bridgeHaru1-14/+55
- Implements relevant parts from the CTCP specification at http://www.irchelp.org/irchelp/rfc/ctcpspec.html - Fixed parsing of CTCP VERSION requests (follow-up to 19b8cbb) - Added support for new CTCP commands: - ACTION (also known as /me command): will be shown to players in the #irc channel as "[ #irc ] * IRC.<nick> <action message> *" - ERRMSG, FINGER: are silently ignored (irrelevant or deprecated) - PING is replied to with the correct pong reply - TIME is replied to with the current server time Signed-off-by: Haru <haru@dotalux.com>
2013-08-12Added support for JOIN, QUIT, PART, NICK in the IRC bridgeHaru2-0/+71
- It'll now show messages such as: [ #irc ] User IRC.<nick> joined the channel. [ #irc ] User IRC.<nick> left the channel. [Quit: <quit message>] [ #irc ] User IRC.<nick> left the channel. [<leave message>] [ #irc ] User IRC.<old nick> is now known as IRC.<new nick>" - To disable, comment out the respective entries in irc_bot_init. Signed-off-by: Haru <haru@dotalux.com>
2013-08-12Added support for target-less commands in the IRC bridgeHaru4-8/+13
Needed for future updates (such as receiving "QUIT" commands Signed-off-by: Haru <haru@dotalux.com>
2013-08-11Follow up @ d8b2eb622f14e10e4da0e521deb5dee6e849affamalufett1-0/+5
-Quest log counter should now work properly upon login.
2013-08-10Fixed Bug#7643malufett2-5/+6
-Fixed SC_ZANGETSU glitch formula. Fixed Bug#7582 -Where quest log's monster counter is not displaying properly. -Fixed renewal atk having wrong parenthesis for variance atk formula. Special Thanks to: Michieru and CottonCandy Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-08-08MSVC and CMake support for 6b9f58446c46877ecfc5fe40847636145acf5af8shennetsind1-0/+2
Signed-off-by: shennetsind <ind@henn.et>
2013-08-08HPM Updateshennetsind21-64/+639
- Custom Packet Support - Custom Data Struct Support (currently append-able to map_session_data and socket_data) - Char Server Support - Login Server Support http://hercules.ws/board/topic/1934-hercules-plugin-manager-update/ Documentation will soon be updated in http://hercules.ws/wiki/HPM Signed-off-by: shennetsind <ind@henn.et>
2013-08-08Enabled Pre-Renewal builds in the CI buildbotHaru1-0/+4
Both Renewal and Pre-Renewal branches will now be built and tested. Signed-off-by: Haru <haru@dotalux.com>
2013-08-07Fixed Bug #7633shennetsind1-2/+20
unitskillusepos/unitskilluseid script commands werent functioning because the npc's status weren't properly measured. Special Thanks to purityz http://hercules.ws/board/tracker/issue-7633-unitskillusepos-unitskilluseid/ Signed-off-by: shennetsind <ind@henn.et>
2013-08-07For Report #7333shennetsind2-0/+2
Added official 'this item cannot be used within this area' response http://hercules.ws/board/tracker/issue-7333-map-zone-db/ Special Thanks to kyeme Signed-off-by: shennetsind <ind@henn.et>
2013-08-07Fixed skill flagging (mostly related to SKILL_FLAG_REPLACED_LV_0 )shennetsind2-12/+16
Adjusted value as to not conflict with the perm_granted flag Special Thanks to Wildcard, malufett. Also made pc_skillup rely on the change_level_2nd/3rd vars instead of hardcoded values, and added a pc_gainexp packetver check that'd otherwise cause map server warnings when within the range. Signed-off-by: shennetsind <ind@henn.et>
2013-08-05Improved reliability of the packet obfuscation key update functionHaru1-1/+1
Follow-up to 38b8bf0 Solves some edge cases where, depending on key and packet combination, the key may not be correctly updated and leads to a forced disconnection. Signed-off-by: Haru <haru@dotalux.com>
2013-08-04Fixed Bug #7605shennetsind3-8/+98
http://hercules.ws/board/tracker/issue-7605-problem-with-old-client-versions/ Signed-off-by: shennetsind <ind@henn.et>
2013-08-03Corrected character position de-synchronization when disguisedshennetsind1-2/+2
- Fixes bugreport:7502 http://hercules.ws/board/tracker/issue-7502-disguise-bug/ Special thanks to bgamez23 for the report Signed-off-by: shennetsind <ind@henn.et>
2013-08-02Fixed @reloadatcommand breaking all @-commandsHaru1-9/+12
- Follow-up to e7750ec - Fixes bugreport:7618 http://hercules.ws/board/tracker/issue-7618-reloadatcommand/ Thanks to kyeme, Via for the report. Signed-off-by: Haru <haru@dotalux.com>
2013-08-02Fixed MSVC build, follow-up to 38b8bf0Haru1-1/+1
Thanks to Takkun for pointing it out. Signed-off-by: Haru <haru@dotalux.com>
2013-08-02Corrected alignment of the Hercules console logoHaru1-11/+11
- This fixes a display issue in terminal emulators that ignore the Esc[K ANSI sequence (i.e. GNU screen or tmux, with TERM=screen or TERM=screen-256color.) - In those terminal emulators, the logo background has now a fixed width of 72 characters. Signed-off-by: Haru <haru@dotalux.com>
2013-08-01Improved packet obfuscation reliabilityHaru3-23/+41
- Fixes bugreport:7607 http://hercules.ws/board/tracker/issue-7607-changing-emblem-with-packet-obfuscation-2-unknown-packet/ - Resolved unintended disconnections caused by invalid packets when obfuscation is enabled and a fragmented packet is received. - Improved packet parsing reliability when packet obfuscation is set to optional. Special thanks to serverkid for reporting the issue and Ind for figuring out the cause and suggesting a solution. Signed-off-by: Haru <haru@dotalux.com>
2013-07-31Fixed Bug #7080shennetsind2-71/+88
(LG) Overbrand no longer capable of hitting targets with hide (can do so with others e.g. cloak), and it displays a miss when failing to do instead of no feedback (thanks to kisuka for this part). Special Thanks to gunzlinger, kisuka. http://hercules.ws/board/tracker/issue-7080-overbrand/ Signed-off-by: shennetsind <ind@henn.et>
2013-07-31Fixed Bug #7453shennetsind5-22/+51
Added the missing support for conf/battle/gm.conf::atcommand_mobinfo_type on @mobinfo (partially from rathena) Modified @ii to stop always displaying 'monsters dont drop this item' while the configuration is on. Special Thanks to Napster. http://hercules.ws/board/tracker/issue-7453-mobinfo-iteminfo-not-showing-the-correct-information-depending-the-level/ Follow up 2fbec282b9b3eb84f710d5537f70e6bc221187b3 Missing messages.conf entry Signed-off-by: shennetsind <ind@henn.et>
2013-07-31Fixed Bug #7602shennetsind1-6/+34
@homlvup/@homlevel now functions for homun-s http://hercules.ws/board/tracker/issue-7602-homlevel-homlvup/ Also adjusted @makehomun so that it resurrects the homun when call isn't possible (for when used with -1), prior to this it'd do nothing when homun was dead and not vaporised. Signed-off-by: shennetsind <ind@henn.et>
2013-07-31New 'close2' warningshennetsind1-1/+7
When attempting to use this command without a prior dialog window it now will throw a warning and skip halting the script. Special Thanks to j-tkay, Gepard. Signed-off-by: shennetsind <ind@henn.et>
2013-07-31Fixed Bug #7605shennetsind3-164/+79
For packetver 2009 and below. http://hercules.ws/board/tracker/issue-7605-problem-with-old-client-versions/ Signed-off-by: shennetsind <ind@henn.et>
2013-07-31Merge pull request #71 from HerculesWS/permission-cache-fixPiotr HaƂaczkiewicz20-350/+426
Permission cache overhaul * Reworked group permission caching in session data (follow-up to cd45c30ab2dcc44bfbfac283d15bb09b3d4644bc) * Removed duplicated information from session data in favor of direct pointer to group settings. * Added getters for all group data required to process permissions and related stuff. * Added new functions to PC interface and updated calls everywhere. * Extracted function to set new group for a player (used at login, group config reload, manual adjustment of group). * Moved command permission config parsing to atcommand module. * Improved dummy map session handling. * Since it's required for all map sessions to have a valid group, dummy sessions are now created by a designated function. * Updated related code that uses dummy sessions (console `gm use` and script `atcommand`, `useatcmd`). * Various minor improvements and cleanups. * Eliminated some global variables related to loading atcommand permissions for group by passing them directly to function. * Moved definition of global array holding PC permission names from header file to source file. * Streamlined destuction of atcommands database to use DBApply helper function instead of DBIterator. * Replaced hardcoded position of console dummy session with defines from mapindex.h (thx Haruna for pointing it out). * Removed fixed length restriction on group names.
2013-07-31Fixed Bug#7601malufett2-7/+13
-Disabled reflect damage cap in pre-re. Fixed Bug#7606 -Where GC_CREATENEWPOISON is not working properly. Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-07-30Fixed mapserver crash (bugreport:7599)Haru1-0/+2
http://hercules.ws/board/tracker/issue-7599-map-crash-july-29-latest/ Follow-up to 853489b intif->create_pet was defined but never initialized, causing a mapserver crash (segmentation fault) whenever a pet was created. Thanks to jTynne for reporting it. Signed-off-by: Haru <haru@dotalux.com>
2013-07-29BG Queue Fixesshennetsind7-88/+122
Cleared 3 out of 5, #69 Support for the cancel button, for pre-game position to return afterwards and fix to the queue position problem after first game. Signed-off-by: shennetsind <ind@henn.et>
2013-07-29Permission cache overhaulPiotr HaƂaczkiewicz20-350/+426
* Reworked group permission caching in session data (follow-up to cd45c30ab2dcc44bfbfac283d15bb09b3d4644bc) * Removed duplicated information from session data in favor of direct pointer to group settings. * Added getters for all group data required to process permissions and related stuff. * Added new functions to PC interface and updated calls everywhere. * Extracted function to set new group for a player (used at login, group config reload, manual adjustment of group). * Moved command permission config parsing to atcommand module. * Improved dummy map session handling. * Since it's required for all map sessions to have a valid group, dummy sessions are now created by a designated function. * Updated related code that uses dummy sessions (console `gm use` and script `atcommand`, `useatcmd`). * Various minor improvements and cleanups. * Eliminated some global variables related to loading atcommand permissions for group by passing them directly to function. * Moved definition of global array holding PC permission names from header file to source file. * Streamlined destuction of atcommands database to use DBApply helper function instead of DBIterator. * Replaced hardcoded position of console dummy session with defines from mapindex.h (thx Haruna for pointing it out). * Removed fixed length restriction on group names.