Releases: HerculesWS/Hercules
Releases · HerculesWS/Hercules
v2019.05.05+3
v2019.05.05+2
v2019.05.05+1
v2019.05.05
Added
- Added
consolemes()
script function which allow the script engine to print error, warning, status, debug and info messages to the console. (part of #2440) - Added the item combo effect for Geffenia Tomb of Water (2161) and La'cryma Stick (1646). (#2441, issue #1982)
- Added support for mobs to drop items with Random Options. See the new database file
db/option_drop_group.conf
and the new optional syntax in the drop entries ofmob_db.conf
. (#2309) - Added a global function
F_MesItemInfo()
, to print an item name with description link, formatted for the current client version. (#2068) - Added/updated packets, encryption keys and message tables for clients up to 2019-05-02. (#2432)
- Added a new function
clif_selforarea()
to send packets to self, falling back to area when no target is specified. (part of #2432) - Added script commands
getunittitle()
andsetunittitle()
, and the related information in theunit_data
structure. (part of #2432) - Added support for players to automatically reject party invites through the party options. (part of #2432)
- Added an option to automatically drop the connection on the server side when a character is kicked. See
drop_connection_on_quit
inclient.conf
(note: the previous behavior was equivalent totrue
). (part of #2432) - Added an option to force character save when the party options are changed. See
save_settings
inmap-server.conf
. (part of #2432) - Added the script command
closeroulette()
and the related packetZC_ACK_CLOSE_ROULETTE
to close the roulette window. (part of #2432) - Added a missing
CSBR_BUSY
value toenum CASH_SHOP_BUY_RESULT
. (part of #2432) - Added support for the refinery UI. See the new
refine_db.conf
changes and the settingsenable_refinery_ui
andreplace_refine_npcs
infeatures.conf
to toggle between the new UI and the previous scripted refiner. (#2446) - Added a new
SkillInfo
flagHiddenTrap
, to make certain traps invisible, according to thetrap_options
configuration flag. The default settings have changed to match Renewal. Pre-renewal users might want to reviewtrap_options
and the now supersededtraps_setting
. (#2232, issues #1927 and #1928)
Changed
- Extended
@dropall
to accept an optional argument for item type (#2439). - Updated copyright header in the configuration files for year 2019. (part of #2452)
- Extended the
getinventorylist()
script command to return an array@inventorylist_favorite
, set to true when the item is located in the favorite tab. (#2426) - Split the function
clif_blname_ack()
into bl type-specific functions. (part of #2432) - Extended
getunitdata()
andsetunitdata()
with support for the group ID (UDT_GROUP
), and added the related information in theunit_data
structure. (part of #2432) - Moved the
UDT_*
constants fromconstants.conf
toscript.c
. (part of #2432) - Extended the guild expulsion information to include the character ID for supported client versions. This includes a database migration. (part of #2432)
- Disabled packet validation in
socket_datasync()
. (part of #2432) - Moved the refine database and refine related functions to a new
refine.c
file. A public and private interface is provided, with public database accessorsrefine->get_bonus()
andrefine->get_randombonus_max()
. (part of #2446) - Changed several battle calculation limits to be configurable through
battle/limits.conf
and no longer hardcoded. Severalstatus_data
fields and battle functions now useint
instead ofshort
to accommodate this change. (#2419) - Changed the
unitwarp()
script command to allow NPCs to be relocated to non-walkable cells (likemovenpc()
). (#2453)
Fixed
- Corrected MSVC version naming in console (#2450).
- Corrected an example using a sprite number instead of a constant in README.md. (#2449)
- Fixed an issue in a monster death label callback in
npc/custom/events/mushroom_event.txt
when the monster is killed without an attached player. (#2442, issue #1955) - Fixed an issue where when a chat room handler leaves, the following leader won't be checked for
cell_chknochat
and will bypass it. (#2443, issue #1569) - Corrected the documentation for
pincode.enabled
in the char-server configuration. (part of #2452) - Fixed an incorrectly displayed ITEMLINK entry in the OldGlastHeim script. (part of #2068)
- Fixed a packet size underflow in the storage packet for certain client versions. (#2424)
- Fixed an issue that caused named/brewed/forged items to be saved to database with the wrong character ID. Database migrations are provided, to update the existing data. (#2425, issue #2409)
- Fixed a truncated title in the inventory window. (part of #2432)
- Fixed a possible overflow in the guild member login field (only supporting timestamps until 2036-12-31). (part of #2432)
- Fixed a compile error with old packet versions. (part of #2432, issue #2438)
- Fixed a potential exploit related to the vending skill, by adding stricter validation on the vending status flags. (part of #2432)
- Fixed a regression, restoring the ability for HPM Hooks to hook into private interfaces, through the new macros
addHookPrePriv()
andaddHookPostPriv()
. (#2447) - Fixed a zeny loss caused by the inter-server deleting zeny from messages when the user only requests to take items. (#2455)
- Fixed a compatibility issue with Perl 5.26 in the item converter script. (#2444)
- Fixed various gitlab-ci build failures, by removing some no longer supported debian versions and packages. The gcc-4.6, gcc-4.7 and gcc-5 builds have been removed. (#2458)
Deprecated
- Deprecated the script command
debugmes()
, superseded byconsolemes()
. (part of #2440)
Removed
- Removed the superseded
traps_setting
configuration flag, replaced bytrap_options
. (part of #2232)
v2019.04.07+1
Fixed
v2019.04.07
Added
- Added a configuration flag to disable the achievement system even then it's supported by the current client version. See
features/enable_achievement_system
inbattle/feature.conf
. (#2170) - Added the
PETINFO_*
constants, to be used withgetpetinfo()
. (part of #2398) - Added/updated packets, encryption keys and message tables for clients up to 2019-04-03. (#2406)
- Added support for the
ZC_PING
andCZ_PING
packets. (part of #2406) - Added support for the
CZ_COOLDOWN_RESET
packet and the related/resetcooltime
client command. (part of #2406) - Added support for the "allow call" player configuration option. (part of #2406)
- Added support to open the macro UI in the client. (part of #2406)
- Added support for the
CZ_STYLE_CLOSE
packet. (part of #2406) - Exposed the
MAX_ITEM_ID
constant to the script engine. (#2367)
Changed
- Extended
getinventorylist()
to return the item's inventory index in the@inventorylist_idx[]
array. (#2401) - Extended
gettimestr()
to accept an optional argument providing a UNIX timestamp, as returned for example bygetcalendartime()
. (#2388) - Extended
getpetinfo()
to include information previously returned bypetstat()
. (#2398) - Renamed
clif_charnameack()
to the more accurateclif_blname_ack()
. (part of #2406) - Extended
showscript()
to accept an optional argument to specify the send target. (#2415) - Updated
README.md
to include links to the sections. (#2354)
Fixed
- Fixed a compilation error in the sample plugin, on systems where
rand()
is not available. (#2403) - Fixed a visual glitch caused by
setunitdata(UDT_LEVEL, ...)
not updating the monster level, whenshow_mob_info
is configured to display it. (#2408) - Fixed the
features/enable_pet_autofeed
configuration value that was ignored andfeatures/enable_homunculus_autofeed
was used instead. (#2417) - Fixed an unescaped string in the db2sql generated data for the mob skill database. (#2416, related to #2407)
- Fixed some possible null pointer warnings reported by gcc. (part of #2406)
- Fixed a client crash with
@bodystyle
andJob_Super_Novice_E
. (part of #2402, related to #2383) - Fixed a client crash when using
@jobchange
to a class that doesn't support alternate body styles while a body style is applied. (#2402)
Deprecated
v2019.03.10
Added
- Added
MOB_CLONE_START
andMOB_CLONE_END
to the constants available to the script engine. (#2390) - Added crash dumps to the Travis-CI output in case one of the servers crashes during the tests. (#2385)
- Added gcc-7 and gcc-8 builds to Travis-CI. (part of #2385)
- Added a configuration setting
magicrod_type
(skill.conf
) to restore the old eAthena behavior for the Magic Rod skill. (#2034) - Added some missing information to the documentation for
bg_create_team()
andwaitingroom2bg()
, to remove the automatic respawn. (#2381) - Added the
MERCINFO_*
constants to the script engine, forgetmercinfo()
. (#2397) - Added support for
MERCINFO_GID
togetmercinfo()
. (#2397) - Added the script commands
mobattached()
andkillmonstergid()
. (#2396) - Added/updated packets, encryption keys and message tables for clients up to 2019-03-06. (#2377)
- Added a missing value into enum
BATTLEGROUNDS_QUEUE_ACK
. (part of #2377)
Changed
- Changed the Windows SDK from version 10.0.15063.0 into 10.0.17763.0 for Visual Studio 2017. (#2368)
- Changed the return value of
getunitdata()
from0
to-1
in case the requested value couldn't be retrieved, in order to differentiate between a zero and an invalid value. Note: this may break existing scripts. (#2392) - Updated the
getunitdata()
andsetunitdata()
documentation to clarify that the command only handles integer values. (#2391) - Added the function
connect_client()
into the socket interface. (#2378) - Moved the variable
SOCKET_CONF_FILENAME
to the socket interface. (#2378) - Moved local variables from
atcommand.c
to the interface. (#2378) - Moved defines from
map.h
tomapdefines.h
to remove an inclusion loop. (#2378) - Moved the stylist-related functions to their own interface. (#2400)
Fixed
- Fixed some typos in the item bonus documentation. (#2376)
- Fixed a typo in the
setpcblock()
documentation. (c9bab97) - Fixed a missing return value in
F_GetTradeRestriction()
. (#2360) - Fixed the return value of
bg_create_team()
to be -1 in case of failure, as described in the documentation. (part of #2381) - Fixed the date field in the member list packet. (part of #2377)
- Fixed the documentation for
needed_status_point()
, not supporting thechar_id
argument. (#2399)
Deprecated
v2019.02.10+1
v2019.02.10
Added
- Added/updated packets, encryption keys and message tables for clients up to 2019-01-09. (#2339)
- Added support for the barter type shops. See
sellitem()
,NST_BARTER
and the demo scripts indoc/sample/npc_trader_sample.txt
andnpc/custom/bartershop.txt
. (part of #2339) - Added the
countnameditem()
script command. (#2307) - Added/updated packets, encryption keys and message tables for clients up to 2019-01-30. (#2353)
Changed
- Improved the response codes and error messages related to the login/char server authentication. (#2151, issue #737)
- Changed the character creation to use
FIXED_INVENTORY_SIZE
as default inventory size instead of relying on the SQL table default value. (part of #2353) - Changed the type of several variables from
short
toint
. (#2364)
Fixed
- Fixed a bug that caused the custom disguise event to run indefinitely. (#2351)
- Fixed issues (item db loading, item search by name) for item IDs higher than 65535. (#2337)
- Fixed an issue while sending the last page of
HC_ACK_CHARINFO_PER_PAGE
. (part of #2339) - Fixed the minimum duration of Voice of Siren. (#1631)
- Fixed the Sura Job Change Quest getting stuck after the first attempt. (#1656, issue #1655)
- Added support for recent MySQL versions that don't define the
my_bool
type. (#2365, issue #2363)
v2018.12.16+1
Fixed
- Added a missing check in
run_script_main()
. (#2362)