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>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: shennetsind <ind@henn.et>
|
|
- 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>
|
|
pc_checkitem is now triggered by @reloaditemdb to ensure modified conditions are respected, also a performance boost that causes the itemlist/cartlist/storagelist/gstoragelist lookups to only be triggered on demand instead of on every teleport.
Closes #219
Fixed ancient monster ai bug that caused mobs to consider themselves elegible targets, which would waste status_check_skilluse and battle_check_target calls.
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>
|
|
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>
|
|
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
|
|
- 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.
|
|
|
|
The last file without a interface is now no more (date.h doesn't count :P).
Modified the way permissions are stored in order to enable plugins to be able to create permissions ( pcg->add_permission("name") [returns permission key] ).
Special Thanks to Haruna!
Closes #121
Signed-off-by: shennetsind <ind@henn.et>
|
|
- Small tweaks to the command, fixed merge conflicts
Signed-off-by: Haru <haru@dotalux.com>
|
|
Item in shadow slots are now able to give bonuses properly, thanks to rosfus for pointing it out!
Also added the missing constants for script handling.
Signed-off-by: shennetsind <ind@henn.et>
|
|
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>
|
|
|
|
- Corrected an issue with ammunitions not being detected correctly,
making all ammo-dependent skills fail.
- Credits to Ind, special thanks to Yommy
Signed-off-by: Haru <haru@dotalux.com>
|
|
Item rentals now take place after status changes arrive, guaranteeing that items that expired cancel their effects properly.
Thanks to kyeme, malufett.
http://hercules.ws/board/tracker/issue-7418-setmount-boarding-hatler/
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>
|
|
|
|
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>
|
|
Fixed 7723, skill cooldowns are no longer have concurrent duplicates, when adding cooldown for a skill already in cooldown the timer is modified instead.
http://hercules.ws/board/tracker/issue-7723-skill-blockpc-end-error
Special Thanks to Haru, Wend and Beret.
Also fixed skill cooldown duration/total display for characters that relog with a skill cooldown on clients 20120604 or higher
Signed-off-by: shennetsind <ind@henn.et>
|
|
Topic:http://hercules.ws/board/topic/2540-add-rathena-new-aloot-type/
|
|
http://hercules.ws/board/topic/2455-introducing-bank-support/
Thanks to Yommy, Haru!
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 a couple things from pc.h into mmo.h due to circular dependence.
Signed-off-by: shennetsind <ind@henn.et>
|
|
Moved missing vars and declarations of interest into the interface.
Signed-off-by: shennetsind <ind@henn.et>
|
|
Added full support for the Rebellion.
|
|
Credits to 3ceam2 for the base,Thanks to Rytech.
-The skill still needs to be completed, as well as support for higher base stats.
-Bonus stats are set to temporarily values until the official ones are known.
-Updated the item_db.txt file with information on the Rebellion's job equip mask.
-Added packets and packet keys for 2013-08-07Ragexe with the info provided by Shakto,Thanks to Shakto.
-A 2013-08-07Ragexe client or higher is required for this job to be properly playable.
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
(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 Interfaced
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>
|
|
HELLO WORLD. DADDY IS BACK.
Fixed ancient pc_calc_skillpoint bug that'd count guild skills towards the player's total.
Special Thanks to malufett and the countless who provided us with debug information on this issue.
This commit implements a temporary command @skdebug, in case there are people still reproducing the issue please include the output of this command in your new report, it displays the information required for us to adjust any possible oddities.
http://hercules.ws/board/tracker/issue-7471-skill-points-not-evenly-distributed-anymore/
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>
|
|
- Fixes bugreport:7607
http://hercules.ws/board/tracker/issue-7607-changing-emblem-with-packet-obfuscation-2-unknown-packet/
- Resolved unintended disconnections caused by invalid packets when
obfuscation is enabled and a fragmented packet is received.
- Improved packet parsing reliability when packet obfuscation is set to
optional.
Special thanks to serverkid for reporting the issue and Ind for figuring
out the cause and suggesting a solution.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Added the missing support for conf/battle/gm.conf::atcommand_mobinfo_type on @mobinfo (partially from rathena)
Modified @ii to stop always displaying 'monsters dont drop this item' while the configuration is on.
Special Thanks to Napster.
http://hercules.ws/board/tracker/issue-7453-mobinfo-iteminfo-not-showing-the-correct-information-depending-the-level/
Follow up 2fbec282b9b3eb84f710d5537f70e6bc221187b3
Missing messages.conf entry
Signed-off-by: shennetsind <ind@henn.et>
|
|
* 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.
|
|
It will no longer block the equipping of items, instead it will delay (if applicable) the item's effect until it is no longer capable of affecting the skills under the timer.
Special Thanks to kyeme for the information.
Signed-off-by: shennetsind <ind@henn.et>
|
|
Also modified sd->state.gmaster_flag from struct to a 'unsigned int : 1;' flag as sd->guild already stores the pointer and was thus a duplicate.
Special Thanks to Haru, Xgear
Signed-off-by: shennetsind <ind@henn.et>
|
|
- Fixes issue #7536 (thanks to jTynne for the report)
http://hercules.ws/board/tracker/issue-7536-map-crash-july-15th/
- Minor corrections to the other interfaces as well (reordered
initialization to follow the definitions, removed duplicate entry in
the skill interface initialization, commented out some unused entries)
Signed-off-by: Haru <haru@dotalux.com>
|
|
-Where RE equip atk doesn't properly update status window and negative equip atk should now affect atk.
Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
|
|
-where SR_GENTLETOUCH_REVITALIZE is not working properly.
Fixed Bug#6547 & Bug#6141
-SC_BLOODYLUST should now work properly like as official behavior.
Fixed Bug#7395
-SO_SPELLFIST should now work properly.
Fixed Bug#7477
-removed hidden walkdaley that makes character stop when hit even if SC_ENDURE is active.
Fixed Bug#7475
-fixed error message in SA_AUTOSPELL when cancel button is pressed.
Fixed Bug#7337
-MG_CHANGECART should now work properly.
Fixed Bug#7474
-SC_MAELSTROM should now work properly like as official behavior.
|
|
http://hercules.ws/board/tracker/issue-7307-status-weapon-switch/
Special Thanks to kyeme, Beret.
Signed-off-by: shennetsind <ind@henn.et>
|
|
are already called 'status')
|