Age | Commit message (Collapse) | Author | Files | Lines |
|
equivalent macros
Because 2/3 jumps to perform such a operation is just awful
Signed-off-by: shennetsind <ind@henn.et>
|
|
Because 2 jumps to get a single value is just awful.
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>
|
|
|
|
Special Thanks to Haru
Signed-off-by: shennetsind <ind@henn.et>
|
|
- Follow-up to 44c33fda3614d588e6bf6cee1cf884e98f1531f0.
- Also fixed some incorrect va_end calls that came up while debugging.
- Special thanks to Ind for his help debugging the problem.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: shennetsind <ind@henn.et>
|
|
- 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>
|
|
|
|
- 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>
|
|
replaced pc_isuseitem 90overweight error message by its official version, added invent-full check for when trying to open packages/boxes, and modified mail getAttachment to fail when over 90% weight.
Special Thanks to kyeme.
http://hercules.ws/board/tracker/issue-7542-bug-when-weight-90/
Signed-off-by: shennetsind <ind@henn.et>
|
|
- improved @makehomun -1 so that if the homun data hasnt been loaded it is requested.
- instances of private types (party/guild/char) no longer create channels, however global types still does (IOT_NONE).
- Fixed an issue with party/guild instance data not being freed when either is destroyed (Special Thanks to Yommy).
Signed-off-by: shennetsind <ind@henn.et>
|
|
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>
|
|
Official item drop announce support, currently hardcoded list -- we'll be following up shortly with a decent way of storing it.
Special Thanks to Yommy, Beret, kyeme.
http://hercules.ws/board/tracker/issue-7858-monster-rare-drop-announcement/
Signed-off-by: shennetsind <ind@henn.et>
|
|
mon_trans_disable_in_gvg: yes no longer displays the error message repeatedly to no purpose.
Special Thanks to kyeme
http://hercules.ws/board/tracker/issue-7838-wrong-message/
Signed-off-by: shennetsind <ind@henn.et>
|
|
Follow up 61841e7861f63d98ecb417e2bf17135970b79c5a
http://hercules.ws/board/tracker/issue-7855-error-compiling-vb-2013/
Signed-off-by: shennetsind <ind@henn.et>
|
|
Special thanks to Rytech for pointing it out, updated to match latest data (Thanks to Yommy) and some minor cleanup
Signed-off-by: shennetsind <ind@henn.et>
|
|
Server now (virtually) enforces character to be facing north upon teleporting, fixes issues such as when you're facing left, teleports, uses high jump, and still goes left even though client makes it look like you're facing north.
Special Thanks to kyeme.
http://hercules.ws/board/tracker/issue-7764-warp-facing/
Signed-off-by: shennetsind <ind@henn.et>
|
|
- 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).
|
|
Implemented in 2009-10-27, the packet was being redirected to a account name req packet, while it was a entirely different feature. this fixes the (GM-Suit) 'right click' option 'remove all equipment'.
Special Thanks to Yommy.
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>
|
|
@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>
|
|
As brought up in http://hercules.ws/board/topic/2225-paid-server/
Special Thanks to Haruna for all the help!
Thanks to Beret, Ai4rei for information
Signed-off-by: shennetsind <ind@henn.et>
|
|
Implements the 'BindOnEquip' item db field which determines whether the piece of equipment should bind to the character upon being equipped.
When a character tries to equip such a item for the first time a dialog shows up asking the character to confirm whether to equip the item or not, and notifying the character that by equipping the item it will become bound to the character, and therefore unable to be used by another character.
Special Thanks to Beret for all the information, Haruna for testing.
Signed-off-by: shennetsind <ind@henn.et>
|
|
NPC Duplicates with xs/ys weren't being properly loaded, Special Thanks to Haruna.
Also fixes an issue with the instance empty timer.
http://hercules.ws/board/tracker/issue-7807-endless-tower/
Signed-off-by: shennetsind <ind@henn.et>
|
|
Thanks to Haruna!
Signed-off-by: shennetsind <ind@henn.et>
|
|
Special Thanks to Haruna
Signed-off-by: shennetsind <ind@henn.et>
|
|
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
|
|
Signed-off-by: shennetsind <ind@henn.et>
Conflicts:
src/map/pc.c
|
|
|
|
Introducing the Hercules Standalone Script Syntax Checker
|
|
Enabled Party/Guild joining methods, Implements first attempt at the splitting algorithm (Thanks to jaBote!)
Checks item 1 on issue #69
Help us test! -- http://hercules.ws/board/topic/1302-bg-queue-debug/
Signed-off-by: shennetsind <ind@henn.et>
|
|
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.
|
|
Signed-off-by: shennetsind <ind@henn.et>
Conflicts:
sql-files/main.sql
sql-files/upgrades/index.txt
src/common/mmo.h
|
|
Im pretty sure its on the clif.c
Signed-off-by: sevenzz23 <sevenzz23@yahoo.com>
|
|
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>
|
|
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>
|
|
Modified Storage packet so that the size of the packet is no longer a problem; splitting now in chunks of 500, made possible thanks to Yommy!
http://hercules.ws/board/tracker/issue-7788-storage-problem/
Signed-off-by: shennetsind <ind@henn.et>
|
|
http://hercules.ws/board/tracker/issue-7788-storage-problem/
Credits to Haruna!
Signed-off-by: shennetsind <ind@henn.et>
|
|
The movement of invisible units is no longer sent to the game clients of foes, therefore cheat tools that'd display hidden units, without requiring maya p, will no longer function.
Special Thanks to hemagx, Haruna.
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>
|
|
counter val could go off making the empty timer not to be run.
Signed-off-by: shennetsind <ind@henn.et>
|
|
|
|
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>
|
|
- 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>
|
|
Quest Bubbles (Actually Works Finally)
|
|
As requested by the community in http://hercules.ws/board/topic/1477-mapflag-for-cash-shop/ and http://hercules.ws/board/topic/1476-disable-cashshop-in-pvp-woe/
'nocashshop' mapflag disables the usage of the cashshop button as well as any attempts to purchase (in case the flag is turned on after someone gets the shop open).
Signed-off-by: shennetsind <ind@henn.et>
|