Age | Commit message (Collapse) | Author | Files | Lines |
|
http://hercules.ws/board/tracker/issue-8047-taekwon-stance-item/
|
|
Fixed issue with permanent statuses being removed during logout for memory-freeing operations, special thanks to streusel and all those who contributed to the bug report.
http://hercules.ws/board/tracker/issue-8046-cart-disappearance/
Signed-off-by: shennetsind <ind@henn.et>
|
|
Animation fixes.
|
|
Follow-up to my previous logout animation fix. Pets, homunculi and mercenaries were not vanishing correctly after CLR_TELEPORT was changed to CLR_RESPAWN.
|
|
Player's var db was being cleared on unit free rather than on auth db clear, which'd cause map server to crash when trying to save already-disconnected (aka char logged out when char server was down) data.
Special Thanks to FeNixZ.
http://hercules.ws/board/tracker/issue-8037-map-crash-every-6-12/
Signed-off-by: shennetsind <ind@henn.et>
|
|
Signed-off-by: shennetsind <ind@henn.et>
|
|
- More info on the forums, at
http://hercules.ws/board/topic/4428-michierus-renewal-update/
Signed-off-by: Haru <haru@dotalux.com>
|
|
Special Thanks to Mhalicot!
Also improves the overall memory usage of the item combo feature
Signed-off-by: shennetsind <ind@henn.et>
|
|
Fixed an issue where character position would not be instantly updated upon using a skill with casttime while in hiding (e.g. cloaking -> soul break), Special Thanks to Michieru!
Turned the feature optional, by commenting out ANTI_MAYAP_CHEAT in src/config/secure.h due it not being entirely able to mimic skill casting out of hiding (read the description in secure.h for further details).
Also fixed some status.c indentation which, unfortunately, considerably increased this commits size.
Signed-off-by: shennetsind <ind@henn.et>
|
|
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>
|
|
http://hercules.ws/board/topic/3886-hercules-1st-2014-megapatch/
Signed-off-by: shennetsind <ind@henn.et>
|
|
- 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>
|
|
- 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>
|
|
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>
|
|
- Modified how the core handles it, making it easier to add new points.
- Modified how plugins call it, calls were made shorter, e.g. 'HPMi->getFromSession(session[fd],HPMi->pid,0)' => 'getFromSession(session[fd],0)' -- check src/common/HPMi.h #defines for all the options
- Added support for npc_data (getFromNPCD and so on) as requested in http://hercules.ws/board/topic/2923-hpm-custom-struct-npcs/
Signed-off-by: shennetsind <ind@henn.et>
|
|
homunculus skill delays (cooldown was fixed in 7803b4e0d437681aa09113b5240363d03d85a1b8 ) are no longer reset upon being vaporized
Thanks to Wend, kyeme.
http://hercules.ws/board/tracker/issue-7800-homunculus-skills-cooldown/
Signed-off-by: shennetsind <ind@henn.et>
|
|
1. Homun cooldowns are no longer reset upon being vaporized.
2. Call Homun now displays the skill title above the char upon success.
3. Homuns that have been out of owners sight for over 3 seconds will now be teleport back to master.
4. pc_jobchange now correctly vaporizes the homun.
5. New homunculus now spawn with full health.
Special Thanks to kyeme/Beret for all the information and official server testing.
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.
|
|
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>
|
|
whenever a character's hp was modified (e.g. damage/heal), clif_hpmeter would look for nearby characters with the PC_PERM_VIEW_HPMETER permission (foreachinarea operation), and since most of the time there isn't such a char nearby it would needlessly consume processing power, now hpmeter is only triggered when there are actual need (when a character with such capabilities is within the map). as little as this may look like, its a mega boost for damage-intensive areas e.g. woe, whereas a single AoE damaging 10 people would, without this, trigger foreachinarea 10 times one very hit.
Signed-off-by: shennetsind <ind@henn.et>
|
|
- 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>
|
|
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. Instance data now available to plugins via instance->list (struct instance_data array)
Signed-off-by: shennetsind <ind@henn.et>
|
|
Moved missing vars and declarations of interest into the interface, removed duplicate mentions of chat within calls to shorten wherever it made sense to, and renamed some members to ease reading.
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>
|
|
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.
|
|
- Note to plugin developers:
change your GET_SYMBOL("iDuel") to GET_SYMBOL("duel").
Signed-off-by: Haru <haru@dotalux.com>
|
|
Fully Integrated. Closes #97
Signed-off-by: shennetsind <ind@henn.et>
|
|
Fully Integrated
Signed-off-by: shennetsind <ind@henn.et>
|
|
Fully Integrated.
Signed-off-by: shennetsind <ind@henn.et>
|
|
Fully Interfaced.
Special Thanks to Haruna
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>
|
|
-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>
|
|
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>
|
|
- 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>
|
|
http://hercules.ws/board/tracker/issue-7597-server-crash/
Signed-off-by: shennetsind <ind@henn.et>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hercules Renewal Phase One.
Signed-off-by: shennetsind <ind@henn.et>
|
|
Now uses binary heap defined in `db.h`.
Walk requests now use A* (hard) pathfinding only to match game client
behavior.
Added defines for movement cost.
Added some documentation & comments.
|