summaryrefslogtreecommitdiff
path: root/src/map/battle.c
AgeCommit message (Collapse)AuthorFilesLines
2014-05-09Fixed order of includes in all source filesHaru1-29/+32
- Changed order according to the (upcoming) code style guidelines. - Fixes several issues caused by missing headers when their include order is changed or in plugins. Signed-off-by: Haru <haru@dotalux.com>
2014-05-08Homonculus S Updatemalufett1-21/+20
-Updated and fixed Eira skills to official behavior. Fixed Bug#8168 -http://hercules.ws/board/tracker/issue-8168-crush-strike/?gopid=22703#entry22703 Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2014-04-28Follow-up to 6af9ad3Haru1-1/+1
- Fixes bugreport:8167, thanks to Frost http://hercules.ws/board/tracker/issue-8167-packetver-re-small-issue/ Signed-off-by: Haru <haru@dotalux.com>
2014-04-19Add official support for lvl 175Michieru1-2/+3
- Add official Job stats bonus and fix old class (pre-re and re got same stats bonus) - Add official stats points for lvl 150 to 175 - Add new max_parameter for Extend Classes max stats 125 - Change max stats points for the 3rd classes to 130 - Add official Experience table for all classes Add Star Gladiator official renewal exp table Special thanks to Yommy and Muad_Dib for official info
2014-04-17Follow-up to 916aa169daeda32c823c0c704b86d1be1fb831b7Haru1-26/+44
- Stat server update to go along with the sysinfo changes Signed-off-by: Haru <haru@dotalux.com>
2014-04-17Added sysinfo (System Information) functionalitiesHaru1-3/+5
- More informative messages are displayed during startup, to make it easier to identify what system and environment Hercules is running. - Git/SVN revision detection is improved, separating the source version (cached at compile time) from the runtime version, in case the user updated their working copy without recompiling the server. Git version detection is also more reliable, in case a non-default branch is used. - The get_revision script command has been removed (as it was useless to begin with, after the switch to git). An alternative will be provided later, for feature-probing purposes. - The patch was tested under Linux (Gentoo / gcc 4.7 on i686 and x86_64, Debian 6 / gcc 4.4 on i686, Raspbian / gcc 4.6 on armv6l, CentOS 5 / gcc 4.1 on i686, CentOS 6 / gcc 4.4 on x86_64, Linux Mint 15 / gcc 4.7 on x86_64, OS X Mountain Lion / clang 5.0 and gcc 4.8 on x86_64, Cygwin-NT-5.1/gcc 4.8 on i686, FreeBSD 8 / gcc 4.2 on i386, FreeBSD 9 / gcc 4.2 on amd64, FreeBSD 10 / clang 3.3 on amd64, NetBSD 5 / gcc 4.1 on i386, NetBSD 6 / gcc 4.5 on amd64, OpenBSD 5 / gcc 4.2 on amd64, Solaris 11 / gcc 4.5 on i86pc, Windows 7 / Visual Studio 2012 on x86, Windows 8 / Visual Studio 2010 on WOW64, Windows 8.1 / Visual Studio 2013 on WOW64. Signed-off-by: Haru <haru@dotalux.com>
2014-03-23Fix Bug 8106Michieru1-3/+3
http://hercules.ws/board/tracker/issue-8106-crescent-elbow-knockback-range/ Increase reflect damage make by crescent elbow Fix Bug 8099 http://hercules.ws/board/tracker/issue-8099-renewal-acid-bomb-damage/ Cart Revolution will now always knock targets to the West - rAthena:1f26499994af9b64aa96d5ed46f6e7cdefdb025b Fix a bug with Backslide that let you continue to move even if you hit a wall on some case. Thanks to Ind
2014-03-22Fixed exploit in CR_ACIDDEMONSTRATIONpanikon1-1/+4
Fixed issue 8087 http://hercules.ws/board/tracker/issue-8087-excrescent-blank-line-in-pcc/
2014-03-16Fix Bug 8041Michieru1-14/+15
http://hercules.ws/board/tracker/issue-8041-sura-cresent-elbow/ Special Thanks to Ind Fix Bug 6826 http://hercules.ws/board/tracker/issue-6826-crescent-elbow/?gopid=15188#entry15188 Fix Bug 8075 http://hercules.ws/board/tracker/issue-8075-lightning-walk/
2014-03-09Follow-up to e2fdc3b858dda8abb7518735fbb254a2d63ea760Haru1-0/+2
Fixed pre-renewal build. Signed-off-by: Haru <haru@dotalux.com>
2014-03-09Fix Bug 8069Michieru1-0/+1
http://hercules.ws/board/tracker/issue-8069-gate-of-hell-bonus2-bsubrace-thara-frog-card/ Completely review the 1st and 2nd class skill_cast_db in renewal with aegis files. Thanks to Yommy and Ind for the files
2014-03-04Fix bug 8036Michieru1-1/+18
http://hercules.ws/board/tracker/issue-8036-gate-of-hell-over-powered/ Fix bug 7074 http://hercules.ws/board/tracker/issue-7074-suragoh-issues/ Fix bug 6866 http://hercules.ws/board/tracker/issue-6866-gate-of-hell/?gopid=15411#entry15411 Remove cast, after cast and cool down of All Odin Power as aegis info. All Odin Power is now watk and it's show the matk in the status window. http://hercules.ws/board/tracker/issue-7715-odins-power-lvl-2/ Fix Insignia consume the item correctly and can't be cast on Land Protector.
2014-02-21Follow up 6f264513874c80b912f47dbad1ec0347c67534e7shennetsind1-3/+4
Adjusted SC_INSPIRATION, I accidentally swapped target and src when I was converting it to the new reflect damage stuff Signed-off-by: shennetsind <ind@henn.et>
2014-02-14sc sourcesshennetsind1-8/+8
Signed-off-by: shennetsind <ind@henn.et>
2014-02-14Renewal mechanics rebalance mega-updateMichieru1-296/+388
- More info on the forums, at http://hercules.ws/board/topic/4428-michierus-renewal-update/ Signed-off-by: Haru <haru@dotalux.com>
2014-02-10Fixed 3 'Declaration shadows a variable in the global scope'shennetsind1-24/+24
warnings. Signed-off-by: shennetsind <ind@henn.et>
2014-02-10Fixed Bug#7933malufett1-0/+2
-http://hercules.ws/board/tracker/issue-7933-sonic-blow/?gopid=21551#entry21551 Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2014-02-10Fixed Bug#7988malufett1-4/+4
-http://hercules.ws/board/tracker/issue-7988-royal-guard-exceed-break-causes-map-server-crash/ Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2014-02-10Fixed Bug#7929malufett1-9/+76
-http://hercules.ws/board/tracker/issue-7929-overbrand-and-mapflags/?gopid=21542#entry21542 Fixed Bug#7966 -http://hercules.ws/board/tracker/issue-7966-over-brand/ Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2014-02-04Fixed millenium shield crash with clonesshennetsind1-5/+4
Thanks to Michieru Signed-off-by: shennetsind <ind@henn.et>
2014-01-14Updated return values of some atcommands.panikon1-5/+5
Altered many function types from int to bool(C99) and added meaningful return values. Altered many function types from int to void as they didn't have any meaningful return value. Replaced chrif_char_offline with a macro as this function did exactly the same as chrif_char_offline_nsd.
2014-01-03Fixed Bug#7709malufett1-6/+9
-http://hercules.ws/board/tracker/issue-7709-overbrand/?gopid=20445#entry20445 Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-12-30Fixed Bug#7735malufett1-6/+8
-http://hercules.ws/board/tracker/issue-7735-royal-guards-rage-burst/ Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-12-16Introducing HPM Support for custom battle confsshennetsind1-1/+5
Special Thanks to Mhalicot. Signed-off-by: shennetsind <ind@henn.et>
2013-12-15Replaced pc->pc_has_permission/can_give_items/can_give_bound_items with ↵shennetsind1-2/+2
equivalent macros Because 2/3 jumps to perform such a operation is just awful Signed-off-by: shennetsind <ind@henn.et>
2013-12-17Fixed several compiler warningsHaru1-11/+17
- 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-17Nullpo cleanupHaru1-14/+8
- Removed unused, nonportable nullpo checks with formatted message (related: eAthena r15245) - Converted nullpo_chk to a macro, to make it easier on the llvm static analyzer. - Added more details to the nullpo_info reports (related: eAthena r15246) - Ensured that the nullpo check macros evaluate their pointer argument once and only once, so that it's safe to use with expressions that assign values or have side-effects. Signed-off-by: Haru <haru@dotalux.com>
2013-12-08Fixed cell basilicashennetsind1-0/+4
which was broken 5 years ago in 13106, special Thanks to karazu, Angelmelody and kyeme. Signed-off-by: shennetsind <ind@henn.et>
2013-12-04Follow-up to 6e9c385b8fa2fbca97ca23e35f0b8e5dabd13526Haru1-9/+10
- 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-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-11-28Follow up fdb6de1aa34086fd4d22ae127437727f556cea3cshennetsind1-102/+144
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 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-25calc_return_damage cleanup & fixesshennetsind1-89/+91
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 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-19Replaced hardcoded Item IDs with constantsHaru1-10/+10
- 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-18/+32
- 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-18Merge pull request #224 from datmumbles/size_changesshennetsind1-9/+9
Corrected size-related constant names (closes #222).
2013-11-18Fixed Bug 7819 - Renewal Elemental Damageshennetsind1-5/+1
Special Thanks to Michieru for gathering official server data and testing. http://hercules.ws/board/tracker/issue-7819-element-tables/ Signed-off-by: shennetsind <ind@henn.et>
2013-11-18Corrected size-related constant names and cleaned up comments (closes #222).Mumbles1-9/+9
2013-11-17Added emblem blank pixels checkHaru1-0/+1
- Made possible thanks to (and using base code by) Ai4rei - eAthena r15263 and add-on patch http://hercules.ws/board/topic/2974-add-on-patch-for-ea-r15263-commit/ - Modified to allow checking for a percentage of transparent pixels rather than full image transparency. - Tweaked to accept some other bmp formats that are currently allowed by the client. - The performance hit from enabling this check is negligible (benchmarks show that scanning an emblem requires about half the time required to decompress it after it's received), but it does exist, as noted in the configuration file. - Special thanks to Ind. Signed-off-by: Haru <haru@dotalux.com>
2013-11-16Renewal elemental attr fixshennetsind1-2/+5
I'm committing on malufett's behalf. Signed-off-by: shennetsind <ind@henn.et>
2013-11-06Merge pull request #217 from HerculesWS/script-checkershennetsind1-1/+4
Introducing the Hercules Standalone Script Syntax Checker
2013-11-06Modified status_calc_shennetsind1-2/+2
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-10-26Changed 'tick' variables to 64 bitHaru1-9/+9
- 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-24Added idletime optionsshennetsind1-0/+1
There have been requests for the extension of the feature, I was reluctant given more options would cause features relying on the feature to be easier to counter (less accurate), with the modification of the feature to employ options the feature is now configurable at the server owners discretion. Special Thanks to Haruna Signed-off-by: shennetsind <ind@henn.et>
2013-10-19Fixed Bug#7737malufett1-22/+7
-http://hercules.ws/board/tracker/issue-7737-shadow-form-and-interaction-with-multi-hit-skills/?gopid=20576#entry20576 Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-10-16Fixed Bug#7122malufett1-0/+2
-where 'bLongAtkDef' affects magic in RE. Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-10-16Fixed Bug#7374malufett1-1/+8
-Hercules now fully support Monster Transformation. Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
2013-10-11Follow up 646f7e2f4ea4bd6b07e66d2949817ebdc18f3484shennetsind1-1/+1
Adjusted range, thanks to haruna realising the feature had been fixed on recent clients. Special Thanks to ossi0110 for testing the feature on multiple 2013 clients, which allowed us to restrict the date range more accurately. Signed-off-by: shennetsind <ind@henn.et>