summaryrefslogtreecommitdiff
path: root/src/map/status.c
AgeCommit message (Collapse)AuthorFilesLines
2013-11-19Replaced hardcoded Item IDs with constantsHaru1-12/+12
- This makes it harder to get the item IDs wrong in the code. - Fixes item 'Slot_Coupon' being incorrectly considered a Spell Book due to an oversight (wrong item nameid) when the check was introduced. Signed-off-by: Haru <haru@dotalux.com>
2013-11-19Sanitized and improved several macros through the codeHaru1-14/+18
- 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-18Corrected size-related constant names and cleaned up comments (closes #222).Mumbles1-3/+3
2013-11-06Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind1-1/+4
2013-11-06Merge pull request #217 from HerculesWS/script-checkershennetsind1-1/+4
Introducing the Hercules Standalone Script Syntax Checker
2013-11-06Fixed Bug 7799shennetsind1-11/+2
SC_MOONSTAR, SC_SUPER_STAR are no longer removeable by sc_end all, and sc clear. Modified sc_config.txt, added a new flag (0x80/128) for such cases. http://hercules.ws/board/tracker/issue-7799-sc-moonstar/ Special Thanks to kyeme. Signed-off-by: shennetsind <ind@henn.et>
2013-11-06Modified status_calc_shennetsind1-36/+39
Replaces the previous 'first' flag with a multi-option flag capable of selectively determining calls where the recalculation must not be hold by delayed damage, and therefore must take place immediately. This fixes issues caused by actions that require immediate recalculation e.g. on-level-up max_hp update, also modified @baselevel where status_calc was being called after the heal and not before, causing it not to be fully healed. Special Thanks to Haruna! <3 Signed-off-by: shennetsind <ind@henn.et>
2013-11-05Introducing the Hercules Standalone Script Syntax CheckerHaru1-1/+4
- 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-11-02Fixed Bug #7621shennetsind1-10/+10
Magicmushroom poison now properly cancels skills being cast upon activating one of its own, also modified unit_skillcastcancel's error message upon timer deletion failure so that it becomes easier to debug in the future. http://hercules.ws/board/tracker/issue-7621-erro-map-server-waraitake/ Thanks to Beret Signed-off-by: shennetsind <ind@henn.et>
2013-11-02Fixed Bug #7786shennetsind1-13/+15
@speed no longer screws up on map change, modified @speed feedback so its clear whether the permanent speed flag is gone, enhanced @speed by making it capable of bypassing battle_config.max_walk_speed, made status_calc_speed rely on MIN_WALK_SPEED instead of the hardcoded 0, modified MIN_WALK_SPEED from 0 to 20 (it 1) wasnt being respected and 2) less than 20 clips). @speed is now capable of moving the character faster, prior to this commit @speed 0 was equivalent to @speed 50 of this new version, @speed 20 for example is now the new maximum (and moves much faster). http://hercules.ws/board/tracker/issue-7786-speed-bug-when-changing-maps/ Thanks to Mumbles for all the info Signed-off-by: shennetsind <ind@henn.et>
2013-10-27Added full support on Moon Star and Super Star itemsJedzkie1-0/+7
Signed-off-by: Jedzkie <jedzkie13@rocketmail.com>
2013-10-27Follow-up to 44c33fda3614d588e6bf6cee1cf884e98f1531f0Haru1-6/+6
Corrected some 64 bit literal constants not declared as such, and causing compiler warnings and possible issues on some systems. Special thanks to Yommy. Signed-off-by: Haru <haru@dotalux.com>
2013-10-26Changed 'tick' variables to 64 bitHaru1-10/+27
- 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-24Follow up f304c3637f82a5a3ab3a979c5d4b463ab26e7d72shennetsind1-1/+3
Fixed SC_AQUAPLAY_OPTION which was eaten away during the change, and removed a duplicate val2 set on SC_CRESCENTELBOW Signed-off-by: shennetsind <ind@henn.et>
2013-10-24Follow UP Fixed Bug #7754ossi01101-0/+1
Follow Up Fixed Bug #7754 there was the SC_CASH_RECIVEITEM line missing in Inds Commit. added case SC_CASH_RECEIVEITEM: so it will display the correct % value.
2013-10-24Fixed Bug #7754shennetsind1-0/+2
Fixed Field Manuals not display the proper boost percentage on the client. http://hercules.ws/board/tracker/issue-7754-field-manuals-issue/ Thanks to Frost Signed-off-by: shennetsind <ind@henn.et>
2013-10-22Fixed bug with status visual effects on relogshennetsind1-66/+124
val_flag was being set only when status were being created, not loaded, moved them into its own switch so its set regardless of flag&4 being set or not. Signed-off-by: shennetsind <ind@henn.et>
2013-10-21Minor identation fixes on status_change_startshennetsind1-2348/+2348
Signed-off-by: shennetsind <ind@henn.et>
2013-10-16Fixed Bug#7374malufett1-0/+16
-Hercules now fully support Monster Transformation. Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-10-10Homun-S Quest Updatedshennetsind1-1/+1
Partial Merge of 0b68607 Quest Changelog: - 1.2 Replaced with official script. [Euphy] Closes #177 Closes #178 Signed-off-by: shennetsind <ind@henn.et>
2013-10-07Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind1-4/+1
2013-10-07Fixed Bug #7744shennetsind1-16/+19
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-10-03Merge branch 'master' of https://github.com/HerculesWS/Herculesshenhuyong1-664/+662
2013-10-02HPM: Map.c Completedshennetsind1-19/+19
Fully Interfaced. Moved missing vars and declarations of interest into the interface, removed duplicate mentions of map within calls to shorten wherever it made sense to. Ladies and Gentleman its my pleasure to announce that with this commit we've revised all of map-server, we've learned a hell lot from this, improved many things on the go and have a number of features to be released thanks to this. *cough* hpm hooking *cough*. Signed-off-by: shennetsind <ind@henn.et>
2013-09-29HPM: Status.c Completedshennetsind1-646/+644
Fully Interfaced. Moved missing vars and declarations of interest into the interface. Removed a couple things from pc.h into mmo.h due to circular dependence. Signed-off-by: shennetsind <ind@henn.et>
2013-09-29* Fixed Bug #7708shenhuyong1-4/+1
http://hercules.ws/board/tracker/issue-7708-mandragora-howl-chance-way-too-high/ Mandragora Howl chance --- way too high. Base on a patch of the fix made by Rytech in 3ceam.
2013-09-28HPM: pc.c Completedshennetsind1-2/+2
Moved missing vars and declarations of interest into the interface. Signed-off-by: shennetsind <ind@henn.et>
2013-09-28Merge pull request #161 from shenhuyong/mastershennetsind1-1/+1
Added full support for the Rebellion.
2013-09-27HPM: Skill.c Completedshennetsind1-2/+2
Moved missing vars and declarations of interest into the interface. Signed-off-by: shennetsind <ind@henn.et>
2013-09-27Renamed iMap interface to mapHaru1-114/+110
Signed-off-by: Haru <haru@dotalux.com>
2013-09-27Added full support for the Rebellion.shenhuyong1-1/+1
Credits to 3ceam2 for the base,Thanks to Rytech. -The skill still needs to be completed, as well as support for higher base stats. -Bonus stats are set to temporarily values until the official ones are known. -Updated the item_db.txt file with information on the Rebellion's job equip mask. -Added packets and packet keys for 2013-08-07Ragexe with the info provided by Shakto,Thanks to Shakto. -A 2013-08-07Ragexe client or higher is required for this job to be properly playable.
2013-09-27Renamed iStatus interface to statusHaru1-706/+653
Signed-off-by: Haru <haru@dotalux.com>
2013-09-26Renamed variables that would conflict with a rename of iMap to mapHaru1-32/+27
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 local variables that would conflict with a rename of iStatus to statusHaru1-909/+855
Signed-off-by: Haru <haru@dotalux.com>
2013-09-25Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind1-124/+117
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-33/+33
Also removed duplicate mentions of timer within calls to shorten.
2013-09-25Renamed local variables that would conflict with a rename of iTimer to timerHaru1-7/+6
Signed-off-by: Haru <haru@dotalux.com>
2013-09-25Renamed more forgotten variables during interface conversionsHaru1-119/+113
(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-16HPM: Pet.c Interfaceshennetsind1-2/+2
Fully Integrated. Signed-off-by: shennetsind <ind@henn.et>
2013-09-16HPM: Npc.c Interfaceshennetsind1-3/+3
Fully Interfaced. Special Thanks to Haruna Signed-off-by: shennetsind <ind@henn.et>
2013-09-16HPM: Unit.c Interfaceshennetsind1-40/+40
Fully Interfaced Signed-off-by: shennetsind <ind@henn.et>
2013-09-16HPM: Mob.c Interfaceshennetsind1-13/+13
Fully Interfaced Signed-off-by: shennetsind <ind@henn.et>
2013-09-09Fixed Bug #7335shennetsind1-4/+4
Modified several gvg checks to include checking whether it is a guild castle ( map_flag_gvg2 does so and no it doesn't mean woe:se ) Special Thanks to kyeme. http://hercules.ws/board/tracker/issue-7335-woe-castle-behavior/ Also follow up 24ced6fcef1a95a2abd0c60b4fe90cbbc3aea268 changed 512 with its constant, special thanks to EPuncker. Signed-off-by: shennetsind <ind@henn.et>
2013-09-09Fixed Bug #7637shennetsind1-1/+16
Fixed visual effects stacking which'd make them remain visible even after they were gone. Special Thanks to Michieru, mleo1 http://hercules.ws/board/tracker/issue-7637-camouflage-never-ending/ Signed-off-by: shennetsind <ind@henn.et>
2013-09-09Fixed Bug #7613shennetsind1-0/+2
Fixed issue with wedding status type moving speed being delayed to be applied/removed. Special Thanks to bgamez23 http://hercules.ws/board/tracker/issue-7613-walking-speed-bug/ Signed-off-by: shennetsind <ind@henn.et>
2013-09-06Fixed a mapserver crash due to uninitialized iterface functionsHaru1-1/+1
Caused by iStatus->get_total_m?def in pre-renewal. Follow-up to cccc5bc9. Signed-off-by: Haru <haru@dotalux.com>
2013-08-30Follow up @ cccc5bc9256b196b1f4e9ad881838ad32c8b3424malufett1-1/+3
-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-26Fixed Bug#7584malufett1-7/+3
-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 7f9f6e1b84061a7d393debf37395c8b4a2667db1shennetsind1-6/+8
Special Thanks to KeiKun for bringing them to me. Signed-off-by: shennetsind <ind@henn.et>
2013-08-22Fixed Bug #7652shennetsind1-33/+40
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>