summaryrefslogtreecommitdiff
path: root/src/map/clif.h
AgeCommit message (Collapse)AuthorFilesLines
2013-12-17Fixed several compiler warningsHaru1-12/+12
- Warnings detected thanks to Xcode's compiler settings (more strict by default) and clang, warnings mostly but not only related to data sizes on 64 bit systems, that were silenced until now by very lax compiler settings. - This also decreases by a great deal the amount of warnings produced by MSVC in x64 mode (for the adventurous ones who tried that) - Also fixed (or silenced in case of false positives) the potential issues pointed out by the (awesome) clang static analyzer. - Patch co-produced with Ind, I'm merging and committing in his place! Signed-off-by: Haru <haru@dotalux.com>
2013-12-04Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind1-6/+6
2013-12-03Questlog fixesHaru1-6/+6
- 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-03Fixed Bug 7542shennetsind1-0/+1
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-11-28Follow up fdb6de1aa34086fd4d22ae127437727f556cea3cshennetsind1-1/+13
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-27Fixed Bug 7858shennetsind1-0/+1
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-25Fixed getareachar_skillunit v4 and minor cleanupshennetsind1-2/+2
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-19Sanitized and improved several macros through the codeHaru1-1/+1
- Sanitized all potentially unsafe macros (related eA:15259) - Improved some function-like macros to evaluate their argument only once and keep it in a temporary variable. This improves performance in the damage calculation related code. Signed-off-by: Haru <haru@dotalux.com>
2013-11-18Fixed the erroneously redirected GM Full Strip Packetshennetsind1-0/+1
Implemented in 2009-10-27, the packet was being redirected to a account name req packet, while it was a entirely different feature. this fixes the (GM-Suit) 'right click' option 'remove all equipment'. Special Thanks to Yommy. Signed-off-by: shennetsind <ind@henn.et>
2013-11-16Introducing Character Ban Support.shennetsind1-0/+2
@charban/@charunban, can temporarily block any accounts as opposed to the usual account-wide block. Special Thanks to Haruna, Yommy! Signed-off-by: shennetsind <ind@henn.et>
2013-11-15Official Item BindOnEquip Supportshennetsind1-0/+2
Implements the 'BindOnEquip' item db field which determines whether the piece of equipment should bind to the character upon being equipped. When a character tries to equip such a item for the first time a dialog shows up asking the character to confirm whether to equip the item or not, and notifying the character that by equipping the item it will become bound to the character, and therefore unable to be used by another character. Special Thanks to Beret for all the information, Haruna for testing. Signed-off-by: shennetsind <ind@henn.et>
2013-11-07Item Bound Fixes/Adjustments/Improvementsshennetsind1-0/+8
Special Thanks to Haruna Signed-off-by: shennetsind <ind@henn.et>
2013-11-06Merge remote-tracking branch 'upstream/master'shennetsind1-1/+1
Signed-off-by: shennetsind <ind@henn.et> Conflicts: src/map/pc.c
2013-11-05Introducing the Hercules Standalone Script Syntax CheckerHaru1-1/+1
- Added a command line argument '--script-check' to check a script's syntax without running the server (and without requiring a SQL connection). Usage: ./map-server --script-check /path/to/the/script.txt - For convenience, a script-checker bash script is provided, to set the path correctly when called from a different directory. Usage: /path/to/Hercules/script-checker /path/to/the/script/to/check.txt - While the script checker will supposedly work under windows as well, no convenience scripts are currently provided for platforms other than UNIX (feel free to open a pull request with a .bat launcher or whatever you like) - Integration with IDEs or text editors is possible. In fact, I already have a fully functional plugin for vim (through vim-syntastic), and if there's enough interest, I'll publish it. - screenshot: http://d.pr/i/NOBD - If you want an online checker, http://haru.ws/scriptchecker/ is running this code, without modifications and will be kept up to date (without any warranty though.) - Special thanks to Ind, Yommy, Streusel, who helped making this possible, in a way or another.
2013-10-30Account-wide Exp/Drop/Death Modifiersshennetsind1-0/+2
Attempting to mimic the official as suggested in http://hercules.ws/board/topic/250-official-vip-system/ The variables can be read and modified thru scripting as well as sql, the patch introduces 3 new pc-arams 'ModExp','ModDrop' and 'ModDeath' for that purpose. The OnLogin modifier display is not the real deal though -- wasn't able to get it to output properly (though that might have been my client files failt) Up for review. Signed-off-by: shennetsind <ind@henn.et>
2013-10-27Fixed Ancient Invisible Bugshennetsind1-0/+2
The movement of invisible units is no longer sent to the game clients of foes, therefore cheat tools that'd display hidden units, without requiring maya p, will no longer function. Special Thanks to hemagx, Haruna. Signed-off-by: shennetsind <ind@henn.et>
2013-10-27Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind1-14/+14
2013-10-27Shadows System Baseshennetsind1-2/+25
http://hercules.ws/board/topic/581-implement-the-shadows-system/ Special Thanks to Yommy for all the client data, Haru for making it possible to get it out and rosfus for the details on the feature. Shadows Feature requires packetver 20120925 or newer. ---------- Also: Updated all packets related to the shadows system, improved memory/processing of inventory/cart/storage/viewequip packets Signed-off-by: shennetsind <ind@henn.et>
2013-10-26Changed 'tick' variables to 64 bitHaru1-14/+14
- This fixes an issue with timers that stop working after about 24-49 days when the tick overflows (note that this may happen much earlier than that, and at hard to predict times, on some systems) - Updated the RDTSC help message in the configure script to also warn users about issues with SpeedStep enabled systems. - On Windows, tick() still has a resolution of 10~15ms (or even as low as 100ms on some systems). A TODO comment (thanks, Ai4rei) was added for a follow-up patch, as I want this one to be as small as possible) - Note: on Windows versions earlier than 6.x (Vista, Server 2008), the tick overflow issue is NOT fixed, since they don't support the function used to retrieve a 64 bit tick. This isn't a big issue, since those platforms are already - or going soon to be - out of their extended support period, and it's already advisable to upgrade, for other reasons. If you're the unfortunate user of such a system, it is recommended that you reboot your machine at least once every 49 days for Hercules to work reliably. - Note: To clear some doubts, since I've already been asked, this has absolutely NOTHING to do with 32/64 bit CPUs or OSes. It's all about a variable's size, not the size of registers of your CPU, and your 32bit CPU will be able to handle this just fine. Signed-off-by: Haru <haru@dotalux.com>
2013-10-16Fixed Bug#7770malufett1-0/+1
-split 'item_delay.txt'. Follow up @ 9692bc034537693d331148ae8bd15153265c6cf0 -implement PACKET_ZC_SHOWSCRIPT. Special thanks to Kyeme and super awesome Yommy. Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-10-10Introducing Bank Supportshennetsind1-0/+22
http://hercules.ws/board/topic/2455-introducing-bank-support/ Thanks to Yommy, Haru! Signed-off-by: shennetsind <ind@henn.et>
2013-10-07Follow up c56e3eb701658079f1de09db759f3b09327ec046shennetsind1-0/+10
Adjusted PARTY_RECRUIT accordingly, special thanks to ossi0110 for bringing it up. Signed-off-by: shennetsind <ind@henn.et>
2013-10-07Fixed Bug #7744shennetsind1-6/+0
Adjusted missing #ifdef behavior to be friendly to the hooking. http://hercules.ws/board/tracker/issue-7744-compiler-error-on-hpm-hooking-after-undefined-packetver-re/ Signed-off-by: shennetsind <ind@henn.et>
2013-09-26Renamed variables that would conflict with a rename of iMap to mapHaru1-1/+1
Note to plugin developers: if you were importing the "map", you'll need to change it to "maplist" Signed-off-by: Haru <haru@dotalux.com>
2013-09-25Renamed more forgotten variables during interface conversionsHaru1-8/+8
(related: b9c8f57) Most renames are trivial (just to avoid shadowing global variables, even if they currently did no harm), but there were some cases of partly renamed variables that caused some NULL checks to always pass and who knows what could have been happened when they were too subtle to make the application crash. Also corrected some potentially unsafe macro definitions Signed-off-by: Haru <haru@dotalux.com>
2013-09-19Cleaned up and de-duplicated ranklist-related codeHaru1-10/+3
Follow-up to 6cf032d. Special thanks to Ind. Signed-off-by: Haru <haru@dotalux.com>
2013-09-18Merge pull request #137 from Schwierig/RankingListFixHaruna1-0/+10
Ranking list fix
2013-09-18Fixed Ranking Lists for 2013 clientsAmir El Sayed1-0/+10
2013-09-17HPM: Battleground.c Interfaceshennetsind1-1/+1
Fully Integrated. Closes #97 Signed-off-by: shennetsind <ind@henn.et>
2013-09-11Fixed announce script command support for bc_blue and bc_woeHaru1-8/+27
- Fixes an issue where it wasn't possible to use bc_blue or bc_woe at the same time as bc_map, bc_area or bc_self. (this partly works around bugreport:7693 - http://hercules.ws/board/tracker/issue-7693-character-with-name ) - Replaced bc_* related values from various places through the sources with constants. Signed-off-by: Haru <haru@dotalux.com>
2013-08-22Fixed MSVC warnings on 7f9f6e1b84061a7d393debf37395c8b4a2667db1shennetsind1-1/+1
Special Thanks to KeiKun for bringing them to me. Signed-off-by: shennetsind <ind@henn.et>
2013-08-22Fixed Bug #7652shennetsind1-3/+3
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-12Added support for Nick Server GHOST commandHaru1-0/+1
Credits to Yommy for the idea Signed-off-by: Haru <haru@dotalux.com>
2013-08-12Added support for target-less commands in the IRC bridgeHaru1-1/+1
Needed for future updates (such as receiving "QUIT" commands Signed-off-by: Haru <haru@dotalux.com>
2013-08-07For Report #7333shennetsind1-0/+1
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-04Fixed Bug #7605shennetsind1-0/+1
http://hercules.ws/board/tracker/issue-7605-problem-with-old-client-versions/ Signed-off-by: shennetsind <ind@henn.et>
2013-08-01Improved packet obfuscation reliabilityHaru1-1/+2
- 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 #7605shennetsind1-1/+4
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-29BG Queue Fixesshennetsind1-1/+1
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-17Added missing initialization of some functions in the homunculus interfaceHaru1-2/+3
- Fixes issue #7536 (thanks to jTynne for the report) http://hercules.ws/board/tracker/issue-7536-map-crash-july-15th/ - Minor corrections to the other interfaces as well (reordered initialization to follow the definitions, removed duplicate entry in the skill interface initialization, commented out some unused entries) Signed-off-by: Haru <haru@dotalux.com>
2013-07-11Fix to Bug #7434shennetsind1-0/+1
Fixing a ancient bug where placing a item from inventory to cart when cart is full would render such item un-clickable, same for when doing so from storage to cart. Special Thanks to Yommy for all the data, jTynne for bringing this up. http://hercules.ws/board/tracker/issue-7434-weightinability-to-click-item-issue/ Signed-off-by: shennetsind <ind@henn.et>
2013-07-01Fixed Bug #7216shennetsind1-1/+1
Special Thanks to Shikazu, wouldn't have been able to identify this issue without his help! http://hercules.ws/board/index.php?app=tracker&showissue=7216 Signed-off-by: shennetsind <ind@henn.et>
2013-06-30Fixed Skill Cooldownsshennetsind1-0/+2
Special Thanks to Vylow for bringing this to our attention. Also added support for the client-side cooldown left/total feature (packetver 20120604 and newer) Made Possible Thanks to Yommy =3 Signed-off-by: shennetsind <ind@henn.et>
2013-06-28BG Queue Testingshennetsind1-1/+1
http://hercules.ws/board/topic/1302-bg-queue-debug/ Signed-off-by: shennetsind <ind@henn.et>
2013-06-23Official Item Group/Package/Chainshennetsind1-0/+1
http://hercules.ws/board/topic/1244-official-item-grouppackagechain/ Also Further implemented itemdb.c/storage.c interfaces, and a minor update to db2sql plugin. Signed-off-by: shennetsind <ind@henn.et>
2013-06-14Hercules WPE Freeshennetsind1-0/+4
Official Packet Obfuscation Support http://hercules.ws/board/topic/1105-hercules-wpe-free-june-14th-patch/ Signed-off-by: shennetsind <ind@henn.et>
2013-06-13Hercules Renewal Phase : Renewalmalufett1-6/+6
Rename SC names to eagis standard. Implement SC Configuration.(see db/sc_config.txt) Skill updates and fixes. Some code optimization. Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-06-08mkbu95's Party Recruit Updateshennetsind1-0/+16
There are still some features as blocklist and volunteer that were not worked on due to some lack of information. Special Thanks to mkbu95, Spira and Yommy Signed-off-by: shennetsind <ind@henn.et>
2013-06-08Follow up d73783f22b2bb881aab74524d153d89a5932a199shennetsind1-1/+1
Adjusting pc.c interface name to adhere with the rest (pretty much we try to make it as short as we can, and being there were no conflicts we saw no reason to maintain the 'i') Signed-off-by: shennetsind <ind@henn.et>
2013-06-01IRC Bridge Fix/Adjustmentsshennetsind1-1/+1
All Credits to Haruna~! Thank you very much! Signed-off-by: shennetsind <ind@henn.et>