Age | Commit message (Collapse) | Author | Files | Lines |
|
- Changed the hplugin_data_store's array into a VECTOR.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Several explicit casts are removed, to have a slightly better
type-checking at compile time.
- A destructor function is provided, to remove code duplication.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
Improved compatibility, portability and standards conformance.
- Since it is not possible to portably and reliably re-use the core's
symbols in plugins, symbols are no longer exported unless explicitly
required, in the UNIX builds. This mimics the Windows behavior and
adds HPM compatibility to OSes such as FreeBSD. Credits to Andrei Karas
for making this possible.
- For convenience, it is no longer necessary to call GET_SYMBOL, since
the plugin will automatically import all the available symbols when
it's loaded, depending on the included headers.
- Plugins are now supposed to include the "common/hercules.h" header
before including anything else. Incluing common/HPMi.h,
common/cbasetypes.h or conf/core.h is no longer necessary, as those
are guaranteed to be automatically included by hercules.h.
- HPM API version bumped to 1.1.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Include directives are now directory-independent.
- This will allow building plugins from other directories in future.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Replaced several hardcoded values with the appropriate enums.
- Added documentation for some hardcoded values that haven't been
replaced by enums (yet)
- Minor code legibility improvements.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Replaced several hardcoded values with the appropriate enums.
- Added documentation for some hardcoded values that haven't been
replaced by enums (yet)
- Minor code legibility improvements.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Servers can now run on any number of languages, without editing npc files.
Designed by Haruna and Ind
http://hercules.ws/board/topic/8687-hercules-ultimate-localization-design/
Signed-off-by: shennetsind <ind@henn.et>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Variable scopes reduced
- Parenthesized ambiguous expressions
- Removed or added NULL checks where (un)necessary
- Corrected format strings
- Fixed typos potentially leading to bugs
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
|
|
This includes, and is not limited to: mixed or wrong indentation, excess
whitespace (horizontal and vertical), misalignment, trailing spaces.
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
Dropped id2storage entirely, replaced with idb_get (1) it was redundant 2) the rename on a46b190764df4cce0b378bc691218ac0814a5673 was a very poor choice as plugins using the previous version would be calling the other).
Signed-off-by: shennetsind <ind@henn.et>
|
|
Fixes issue where kicking a online guild member (on a server with GP_BOUND_ITEMS defined) would render the guilds storage (if not previously loaded during the servers lifespan (since boot)) to be wiped.
Special Thanks to Xgear!
Signed-off-by: shennetsind <ind@henn.et>
|
|
- Added documentation for the pc->search_item function and formalized
its return values. If the searched item is not found, now it returns
the newly introduced constant INDEX_NOT_FOUND.
- Updated pc->search_item checks to make use of INDEX_NOT_FOUND.
- Fixed an issue with anvils not detected by the weapon forginc code,
if they were in the first position of the inventory.
- Added ITEMID constants for the four anvil types.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Complies with CERT DCL37-C
- Fixes issue #293 (special thanks to elfring)
Signed-off-by: Haru <haru@dotalux.com>
|
|
guardian (10240 bytes total)
|
|
|
|
- The issue would only happen if the #ally channel is on auto-join, when
a guild is first loaded.
- Follow-up to cd2f5e4a687b2abbdb9d795e5c91b874aa0d2546
- Special thanks to Ind.
Signed-off-by: Haru <haru@dotalux.com>
|
|
determine how invite/expel work inside castles during WoE/GvG
See: http://hercules.ws/board/topic/1623-additional-settings-in-guildconf/
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
This reverts commit 94657284973f4037596bae468ebfbee5c217e02b.
|
|
This reverts commit b6b3f58795288701d0e162d43fa6f0a47af913b3.
Fixes issue 8184
http://hercules.ws/board/tracker/issue-8184-cart-related/
|
|
- 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>
|
|
* Added new method to handle refreshing the storage window when it was closed automatically by the client
* http://hercules.ws/board/tracker/issue-8027-when-the-storage-is-open-you-can-use-self-skills
* http://hercules.ws/board/tracker/issue-7694-guild-notice
Follow up to d57781c
* Fixed minor typo as pointed by @MishimaHaruna
|
|
http://hercules.ws/board/tracker/issue-7694-guild-notice/
Follow up to 7a5f7db
Follow up to 4147d9f
|
|
Guild bound item deletion is no longer relies on account id to lookup (would cause false positives)
, instead it relies on char id. special thanks to kyeme.
http://hercules.ws/board/tracker/issue-7936-guildparty-item-bounded/
Signed-off-by: shennetsind <ind@henn.et>
|
|
- Removed some unused messages.
- Re-mapped some duplicate IDs - fixes bugreport:8057, thanks to
AnnieRuru http://hercules.ws/board/tracker/issue-8057-jobname-with-invalid-id-return-tomb/
- Fixed some issues with the message range loaded by the char server.
- Reworded some messages, fixed typos in others.
Note for translation users: some messages have been remapped to new IDs.
You'll need to remap them in your custom translations as well. The list
of changes is as follows:
- Removed messages (you can safely remove them from your translations):
15, 26-27, 35, 48-52, 57-58, 65-69, 82-83, 86-87, 91, 101, 140-142,
164, 189-194, 199-200, 202-203, 209-211, 215-218, 267-268, 275,
289-290, 380-385, 387-388, 401, 497, 499, 535-537, 922, 995, 1063,
1079, 1291-1294
- New messages (you need to add them to your translations): 15
- Moved messages (you need to change their IDs in your translations file):
* [Unknown Job] 656 -> 620,
* [Job names] 681~693 -> 656~668
* [Tombstone related] 656~661 -> 856~861
* [Etc messages] 662~680 -> 862~880
* [@version] 1436 -> 1294
* [Hercules Chat] 1475 -> 1436
Signed-off-by: Haru <haru@dotalux.com>
|
|
Changed types in clif.c:
bool clif_setip -> map:ip_set, map: char_ip_set changed as well
bool clif_setbindip
bool clif_send
bool clif_spawn
void clif_homskillinfoblock
bool clif_sub_guild_invite
Note that return values of those types have changed, so if any modification uses their return values
it should be changed.
clif_disp_onlyself replaced as a macro
clif_viewequip_fail replaced as a macro
Merged clif_skillup and clif_guild_skillup as they were using the same packet
Added packet_len() values in clif_updatestatus
|
|
Signed-off-by: shennetsind <ind@henn.et>
|
|
As requested by the community in http://hercules.ws/board/topic/3832-hpm-custom-data-struct-for-instance-data-guild-data-and-party-data/
Signed-off-by: shennetsind <ind@henn.et>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- 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>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
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>
|
|
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
|
|
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.
|
|
Im pretty sure its on the clif.c
Signed-off-by: sevenzz23 <sevenzz23@yahoo.com>
|
|
- 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>
|