Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
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>
|
|
- 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>
|
|
- 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>
|
|
Corrected size-related constant names (closes #222).
|
|
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>
|
|
|
|
- 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>
|
|
I'm committing on malufett's behalf.
Signed-off-by: shennetsind <ind@henn.et>
|
|
Introducing the Hercules Standalone Script Syntax Checker
|
|
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>
|
|
- 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.
|
|
- 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>
|
|
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>
|
|
-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>
|
|
-where 'bLongAtkDef' affects magic in RE.
Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
|
|
-Hercules now fully support Monster Transformation.
Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
|
|
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>
|
|
Regarding http://hercules.ws/board/topic/414-auction-feature-all-screwed-up
Signed-off-by: shennetsind <ind@henn.et>
|
|
http://hercules.ws/board/topic/2455-introducing-bank-support/
Thanks to Yommy, Haru!
Signed-off-by: shennetsind <ind@henn.et>
|
|
Thanks to Haruna, ossi0110
Signed-off-by: shennetsind <ind@henn.et>
|
|
Partial merge of a4b7719bde71b7fa82a2fcebb9084a3dafb1dc5c
Closes #153
Signed-off-by: shennetsind <ind@henn.et>
|
|
http://hercules.ws/board/topic/2399-hpm-hooking-now-available/
Signed-off-by: shennetsind <ind@henn.et>
|
|
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>
|
|
Moved missing vars and declarations of interest into the interface.
Signed-off-by: shennetsind <ind@henn.et>
|
|
Moved missing vars and declarations of interest into the interface, removed duplicate mentions of party within calls to shorten wherever it made sense to, and renamed some members to ease reading.
Signed-off-by: shennetsind <ind@henn.et>
|
|
Moved missing vars and declarations of interest into the interface
Signed-off-by: shennetsind <ind@henn.et>
|
|
Moved missing vars and declarations of interest into the interface.
Signed-off-by: shennetsind <ind@henn.et>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
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>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
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.
|
|
Also removed duplicate mentions of timer within calls to shorten.
|
|
(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>
|
|
Fully Integrated. Closes #97
Signed-off-by: shennetsind <ind@henn.et>
|
|
Issue identified and solved by Michieru, Thanks!
Signed-off-by: shennetsind <ind@henn.et>
|
|
Fully Integrated
Signed-off-by: shennetsind <ind@henn.et>
|
|
Fully Interfaced
Signed-off-by: shennetsind <ind@henn.et>
|
|
Fully Interfaced
Signed-off-by: shennetsind <ind@henn.et>
|
|
Implemented official guild notice behavior of re-displaying upon teleport, added conf/battle/guild.conf setting to modify this.
Special Thanks to kyeme, Frost.
http://hercules.ws/board/tracker/issue-7694-guild-notice/
Signed-off-by: shennetsind <ind@henn.et>
|
|
Game client is currently broken on this feature, sending the request when the criteria doesn't match and not doing anything when it matches, I've restored the previous method to make the feature work once again, the message is configurable by conf/messages.conf and whether maxed characters can use it now a setting in conf/battle/player.conf
http://hercules.ws/board/tracker/issue-6626-cant-prayer-guardian-angel-super-novice/
Signed-off-by: shennetsind <ind@henn.et>
|
|
-Fixed bug#7681
-sorry guys got crossed eyed in diffing..XD
|
|
-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>
|
|
-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>
|
|
Special Thanks to KeiKun for bringing them to me.
Signed-off-by: shennetsind <ind@henn.et>
|
|
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>
|
|
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.
|
|
-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>
|