Skip to content

v2020.04.05

Compare
Choose a tag to compare
@MishimaHaruna MishimaHaruna released this 06 Apr 04:03
· 2557 commits to stable since this release
d3d1927

Added

  • Added/updated packets, encryption keys and message tables for clients up to 2020-04-01. (#2663)
  • The setpcblock() and checkpcblock() 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 new options 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 the pet_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 the pet_equip_min_friendly battle config setting.
    • Adjusted inter_pet_tosql() and inter_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 the userid column of the login SQL table to prevent having multiple accounts with the same name. (#2666, related to #2169)
  • Increased the column size of listfor the ipbanlist 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 to ud->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 the HungerDecrement field of the Pet DB. (part of #2600)
  • Removed the pet_equip_min_friendly battle config setting, superseded by the code inside the Pet DB EquipScript fields. (part of #2600)
  • Removed the redundant SpriteName field from pet DB. (part of #2600)