v2020.04.05
MishimaHaruna
released this
06 Apr 04:03
·
2557 commits
to stable
since this release
Added
- Added/updated packets, encryption keys and message tables for clients up to 2020-04-01. (#2663)
- The
setpcblock()
andcheckpcblock()
can now be used on another character by passing the account id. (#2668) - Added new StatusChange types (
SC_POPECOOKIE
,SC_VITALIZE_POTION
,SC_SKF_MATK
,SC_SKF_ATK
,SC_SKF_ASPD
,SC_SKF_CAST
,SC_ALMIGHTY
) and updated relevant items. (#2658, related to #1177) - Added libbacktrace support (currently Linux-only) for better error call stack logging. (#2581)
Changed
- Extended the atcommand
@fakename
with a newoptions
parameter, to select which names will be displayed. (#2637, related to issue #1966 and #2168) - Refactored the pet system code. (#2600, issues #2434 and #303)
- Added enumerations for pet hunger/intimacy levels
- Added value capping to
pet_set_intimate()
function. - Adjusted pet catch rate calculation. The old, custom, calculation can be restored by setting the
pet_catch_rate_official_formula
battle config flag to false. - Adjusted pet intimacy calculation when feeding.
- Improved validation of the Pet DB fields and of the input of various pet related functions.
- Removed the redundant
SpriteName
field from pet DB. - Changed
EggItem
field in pet DB to be mandatory. - Added new field
HungerDecrement
to pet DB. This replaces thepet_hungry_friendly_decrease
battle config setting. - Added new field
Intimacy.StarvingDelay
to pet DB. - Added new field
Intimacy.StarvingDecrement
to pet DB. - Increased
MAX_MOB_DB
to 22000. - Added pet DB documentation file. (
doc/pet_db.txt
) - Removed fields from pet DB where default values can be used.
- Added intimacy validation to pet DB
EquipScript
fields. This replaces thepet_equip_min_friendly
battle config setting. - Adjusted
inter_pet_tosql()
andinter_pet_fromsql()
functions to use prepared statements. - Refactored and/or updated code style of various functions that were touched by this pull request.
- Added a backtrace to the error message of
clif_unknownname_ack()
. (part of #2663) - Added a
UNIQUE
constraint to theuserid
column of thelogin
SQL table to prevent having multiple accounts with the same name. (#2666, related to #2169) - Increased the column size of
list
for theipbanlist
SQL table to accomodate for non-wildcard IPv4 and for IPv6 compatiblity. (#2665, issue #2631)
Fixed
- Fixed memory violations and incorrect handling of
npc_data
in the quest info code. (#2682) - Fixed an issue that prevented the fake name to show up when using
@fakename
in RE clients. (part of #2637) - Fixed a compiler error in
PACKET_ZC_SE_CASHSHOP_OPEN
. (part of #2663, issue #2669) - Added missing libraries into the plugins Makefile, causing a linking error when a plugin uses MySQL or other libraries. (part of #2663)
- Fixed a bug causing failed assertions that appeared when attacking a skill unit (such as Ice Wall). (#2678)
- Fixed a bug causing failed assertions in
timer_do_delete()
, related toud->walktimer
. (#2676) - Fixed a bug allowing to equip bullets and grenades regardless of the weapon type. (#2660, issue #2661, related to #2579)
- Fixed a memory leak in barter NPCs. (#2655)
- Fixed a pointer overflow in the script command
getiteminfo()
. (#2656) - Refactored and fixed several bugs in the skill auto-cast system. (#2657, issue #1211)
Removed
- Removed the
pet_hungry_friendly_decrease
battle config setting, superseded by theHungerDecrement
field of the Pet DB. (part of #2600) - Removed the
pet_equip_min_friendly
battle config setting, superseded by the code inside the Pet DBEquipScript
fields. (part of #2600) - Removed the redundant
SpriteName
field from pet DB. (part of #2600)