summaryrefslogtreecommitdiff
path: root/src/char/char.c
AgeCommit message (Collapse)AuthorFilesLines
2014-02-02Fixed Bug 7962shennetsind1-0/+34
Fixed issue with "permanent" (durationless) status changes (such as carts) integrity caused on server shutdown. Special Thanks to Haru! http://hercules.ws/board/tracker/issue-7962-command-at/ Signed-off-by: shennetsind <ind@henn.et>
2014-01-18Socket interfacedshennetsind1-12/+12
We designed this one with having as little changes required elsewhere in mind, thus the way most socket-related things are called has not changed. Plugins may now take a greater advantage of the socket features. Signed-off-by: shennetsind <ind@henn.et>
2014-01-11Hercules 1st 2014 MegaPatchshennetsind1-25/+87
http://hercules.ws/board/topic/3886-hercules-1st-2014-megapatch/ Signed-off-by: shennetsind <ind@henn.et>
2014-01-08Introducing Hercules Autotrade Persistencyshennetsind1-5/+26
Aka autotrading merchants survive server restarts. Originally sekai's (aka me). Special Thanks to Haruna, Michieru. Signed-off-by: shennetsind <ind@henn.et>
2013-12-31Fixed issues pointed out in Report 7909shennetsind1-1/+1
Special Thanks to Vader. http://hercules.ws/board/tracker/issue-7909-some-code-errors-and-optimisations/ Signed-off-by: shennetsind <ind@henn.et>
2013-12-30Fixed account expiration timeshennetsind1-2/+20
Login server no longer insta-denies expired accounts, as there may be free to play (or non paying) char server modes in the list, also made sure type 3 is sent as normal mode to non-expired accounts (client has a hardcoded if type == 3 => "claim need to pay & deny message" Special Thanks to Beret. Signed-off-by: shennetsind <ind@henn.et>
2013-12-17Fixed several compiler warningsHaru1-26/+31
- 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-06HPM: mapindex interfaceshennetsind1-21/+21
Signed-off-by: shennetsind <ind@henn.et>
2013-11-29Corrected an uninitialized variable when adding an itemHaru1-0/+1
- 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-19Fixed Bug 7840shennetsind1-1/+1
Special Thanks to kyeme for all the debug information and help! http://hercules.ws/board/tracker/issue-7840-char-server-crash/ 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-18Follow up aee2f6317e1c927847993801b5973d7e2e27a418shennetsind1-8/+18
Fixed glitch that'd occur in clients with login screen where even after logging out the client would still remember previously sent banned timestamps, keeping the char banned until client was reopened. Also dropped a error message map server would show up when banning offline characters. Special Thanks to Mvmbles for pointing it out, Haruna for testing and helping fix it. Signed-off-by: shennetsind <ind@henn.et>
2013-11-16Introducing Character Ban Support.shennetsind1-56/+159
@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-16Minor char server char list fixesshennetsind1-9/+5
the array was being erroneously modified in old client packets. Signed-off-by: shennetsind <ind@henn.et>
2013-11-16Updated char server's response to offline map servershennetsind1-4/+16
Previously attempting to log in while map server was unavailable or not yet ready would close the client, now the char select window shows up and attempting to select a character while the map server is unavailable will display a pop up "the map is not available", client will remain in char select window and won't close anymore. Special Thanks to Haruna. Signed-off-by: shennetsind <ind@henn.et>
2013-11-16Fixed char server's maintenance modeshennetsind1-17/+36
Enabling the maintenance mode will now restrict login based on group id (previously maintenance mode was merely cosmetic and would allow all accounts to access). Renamed char-server.conf setting char_maintenance to char_server_type, added char_maintenance_min_group_id to be used in conjunction with char_server_type:1 Signed-off-by: shennetsind <ind@henn.et>
2013-11-07Item Bound Fixes/Adjustments/Improvementsshennetsind1-16/+16
Special Thanks to Haruna Signed-off-by: shennetsind <ind@henn.et>
2013-11-06Merge remote-tracking branch 'origin/master'shennetsind1-44/+50
Signed-off-by: shennetsind <ind@henn.et> Conflicts: conf/messages.conf src/common/mmo.h src/map/pc_groups.c src/map/pc_groups.h
2013-11-02Merge remote-tracking branch 'upstream/master'shennetsind1-8/+9
Signed-off-by: shennetsind <ind@henn.et> Conflicts: sql-files/main.sql sql-files/upgrades/index.txt src/common/mmo.h
2013-10-31No error after compilation, but when logging in at map server it will crash.sevenzz231-44/+50
Im pretty sure its on the clif.c Signed-off-by: sevenzz23 <sevenzz23@yahoo.com>
2013-10-30Official Font Supportshennetsind1-8/+9
Fonts are now relog-persistent. Font items are now toggle-on/off, they no longer go away on use, they go away when their rental duration is over (and the font effect goes back to original). Special Thanks to Yommy for all the data! Signed-off-by: shennetsind <ind@henn.et>
2013-10-30Account-wide Exp/Drop/Death Modifiersshennetsind1-7/+13
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 Bug #7418shennetsind1-4/+10
Item rentals now take place after status changes arrive, guaranteeing that items that expired cancel their effects properly. Thanks to kyeme, malufett. http://hercules.ws/board/tracker/issue-7418-setmount-boarding-hatler/ Signed-off-by: shennetsind <ind@henn.et>
2013-10-27Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind1-14/+8
2013-10-27Shadows System Baseshennetsind1-4/+4
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/+8
- 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-23Fixed char deletion on latest clients freezingshennetsind1-0/+8
Newer clients freeze unless the char select list is resent, Haru and I confirmed official servers re-send the list upon deletion (we were not able to identify when this started though, its currently set to 2013 onwards -- if you have info on this please contact us so we can fix the range :D). Special Thanks to LuLu, Haruna. Signed-off-by: shennetsind <ind@henn.et>
2013-10-11Fixed char.c msvc compiler warningsshennetsind1-3/+3
Thanks to LuLu for bringing it up. Signed-off-by: shennetsind <ind@henn.et>
2013-10-11Fixed Char Deletion Bug on 2013++ Clientsshennetsind1-2/+7
Thanks to LuLu who pointed us in the right direction, http://hercules.ws/board/topic/2453-help-open-pull-request-fixing-char-deletion-time-in-2013-client/ Signed-off-by: shennetsind <ind@henn.et>
2013-10-10Introducing Bank Supportshennetsind1-0/+25
http://hercules.ws/board/topic/2455-introducing-bank-support/ Thanks to Yommy, Haru! Signed-off-by: shennetsind <ind@henn.et>
2013-09-25Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind1-24/+22
Conflicts: src/map/chrif.c src/map/clif.c src/map/homunculus.c src/map/pet.c src/map/script.c src/map/skill.c src/map/status.c All clear.
2013-09-25Renamed iTimer interface to timer.shennetsind1-16/+16
Also removed duplicate mentions of timer within calls to shorten.
2013-09-22Corrected various hardcoded database table namesHaru1-1/+5
- Added an elemental_db setting to inter-server.conf (elemental table) - Switched an instance of hardcoded `ipbanlist` to use the ipban_table setting; thanks to Takkun, related to issue #135 - Switched two instances of hardcoded `char` to use the char_db setting - Added a TODO notice about the usage of the login table (on a side note, hardcoded) from the login server (related to issue #142) Signed-off-by: Haru <haru@dotalux.com>
2013-09-19Cleaned up and de-duplicated ranklist-related codeHaru1-23/+17
Follow-up to 6cf032d. Special thanks to Ind. Signed-off-by: Haru <haru@dotalux.com>
2013-09-03Fixed several packet errors with pre-renewal clients from 2006-2008Haru1-2/+8
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-08HPM Updateshennetsind1-0/+34
- 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-07-08Fixed compiling errors when CONSOLE_PARSE was disabledshennetsind1-1/+2
Special Thanks to quesoph for bringing this to our attention. Signed-off-by: shennetsind <ind@henn.et>
2013-07-08Cygwin Fix for the Hercules SQL Update Checkshennetsind1-0/+2
Also modified the output (i think its sightly improved), also added a console command to skip updates so no need to go add the query yourself 'sql update skip <file name>' Signed-off-by: shennetsind <ind@henn.et>
2013-07-04Split use_sql_db into the three available: item_db, mob_db, mob_skill_db.Matheus Macabu1-1/+3
Signed-off-by: Matheus Macabu <mkbu95@gmail.com>
2013-07-04Fixed Bug#7459malufett1-1/+1
-where 'working in progress' state is not cancel in change map/teleport. Fixed Bug#7265 -where casting AL_INCAGI into chars force them to stand where it now suppose to be. Fixed Bug#7337 -fixed some skills that deals 'work in progress' state. Fixed Bug#7467 -fixed compiling warning message. Renewal Updates -Temporary fix for skills final damage reduction. -Updated NJ_KUNAI to its renewal formula. -Updated/Fixed some interface messages. -Implemented additional new 3rd job skills(GN_ILLUSIONDOPING,RK_LUXANIMA,SO_ELEMENTAL_SHIELD,SC_ESCAPE) Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-07-03Fixed Char Creation Bugshennetsind1-5/+2
Would take place when trying to make use of a empty slot recently empty'd. Signed-off-by: shennetsind <ind@henn.et>
2013-06-13Hercules Renewal Phase : Renewalmalufett1-0/+2
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-10Added SqlStmt functions to the SQL interfaceSusu1-195/+195
2013-06-09Fixed Bug #7319shennetsind1-0/+5
Special Thanks to KeiKun~! http://hercules.ws/board/tracker/issue-7319-db-name/ Signed-off-by: shennetsind <ind@henn.et>
2013-06-08Follow up d73783f22b2bb881aab74524d153d89a5932a199shennetsind1-6/+6
Adjusting db.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-07Hercules Renewal Phase One : pc, party, map, timerSusu1-22/+22
Added iPc, iParty, iMap, iTimer to HPM exported interfaces
2013-05-30Memory Slasher - May 30 Patchshennetsind1-2/+2
http://hercules.ws/board/topic/928-memory-slasher-may-30-patch/ Signed-off-by: shennetsind <ind@henn.et>
2013-05-30Memory Slasher - May 30 Patchshennetsind1-15/+31
http://hercules.ws/board/topic/928-memory-slasher-may-30-patch/ Signed-off-by: shennetsind <ind@henn.et>
2013-05-18Some type conversion warnings fixed. If this breaks anything create a bug ↵Matheus Macabu1-2/+2
report ASAP and I will revert it gladly. Signed-off-by: Matheus Macabu <mkbu95@gmail.com>
2013-05-17- Made DB and malloc lib HPM-friendlySusu1-6/+6
- Also fixed a bug preventing the plugins to be loeaded because HPMI and HPMI_s weren't HPExport