Skip to content

Releases: HerculesWS/Hercules

v2017.11.19

19 Nov 20:09
c1c8d6b
Compare
Choose a tag to compare

Added

  • Added several missing members to the login interface. (Part of #1891)
  • Added support for colored character server population counter in the service selection list. Configurable through users_count in login-server.conf. (#1891)
  • Added top-level command miniboss_monster to label monsters as minibosses, and to send them as such to the client. (part of #1889)
  • Added support for 2017-10-25 - 2017-11-01 clients. (#1889)
  • Added support to display NPCs with player classes, including equipment and styles (best with clients starting from 20170726). This extends getunitdata() and setunitdata() with support for UDT_SEX, UDT_HAIRSTYLE, UDT_HAIRCOLOR, UDT_HEADBOTTOM, UDT_HEADMIDDLE, UDT_HEADTOP, UDT_CLOTHCOLOR, UDT_SHIELD, UDT_WEAPON, UDT_ROBE, UDT_BODY2. (#1893)
  • Added type constants for the getiteminfo() and setiteminfo() script commands. Existing third party code must be updated to use the new constants (see the pull request description and the command documentation for details). (#1902)
  • Added global function F_GetAmmoType(), counterpart to F_GetWeaponType() for ammunitions. Both functions have now been updated to only check the subtype if the item type is correct (IT_AMMO and IT_WEAPON respectively). (part of #1902)
  • Added support for the Skill Scale packet, available in client versions 20151223 and newer. (#1903)

Changed

  • Applied script standardization to the Octopus Cave instance script. (#1882)
  • Applied script standardization to the Ghost Palace instance script. (#1879)
  • Applied script standardization to the Sara's Memory instance script. (#1884)
  • Extended the script command setequipoption() with the possibility to remove item options from an equipment piece. (#1865)
  • Updated the QTYPE_* constants (questinfo(), showevent()) to support the new 2017 client icons. (#1894)
  • Applied script standardization to the Orc's Memory instance script. (#1872)
  • Applied script standardization to the Sealed Shrine instance script. (#1873)
  • Extended the global function F_GetArmorType() to support costumes and shadow equipment. (#1836)
  • Extended the script commands has_instance() and has_instance2() with suport to search instances of type IOT_NONE. (#1397)
  • Applied script standardization and improvements to the Endless Tower instance script. (#1862)
  • Cleared some confusion between skill IDs and indexes through the codebase. Rewritten Skill DB accessors in a safer, more readable way. (part of #1896)

Deprecated

  • The use of numeric type constants with getiteminfo() and setiteminfo() is deprecated. For technical reasons, no deprecation notice is displayed. (part of #1902)

Removed

  • The MAX_SKILL constant has been removed, in favor of the more clear MAX_SKILL_DB, to be used in all places that use the compacted Skill DB array. For use with the non-compacted clientside Skill IDs, the MAX_SKILL_ID constant is still available. (part of #1896)

Fixed

  • Fixed compilation warnings when compiling with gcc-7. (#1887)
  • Fixed the display flag for monsters labeled as boss_monster to be that of MVP monsters instead of miniboss monsters. (part of #1889)
  • Fixed a subtle error in case skill->unit_group_newid overflows, causing certain skill unit entries to get stuck and never get deleted correctly. This can manifest itself with some monster spawns becoming immune to certain AoE spells having the UF_NOOVERLAP flag (Storm Gust, Lord of Vermillion, etc). (#1896)
  • Implemented MATK support in the getiteminfo() and setiteminfo(). This functionality was previously advertised as availble in the command documentation, but was not implemented. (part of #1902)
  • Restored View Sprite support in the getiteminfo() and setiteminfo(). This functionality was lost with #1828. (part of #1902, issue #1895)
  • Reimplemented the global function F_GetArmorType() to reflect the fact that ITEMINFO_LOC returns a bitmask. The function now handles multi-slot headgears and other uncommon cases better. (part of #1902)
  • Corrected some incorrect data types passed to the SQL StmtBind functions, causing query errors and data loss. Said functions will now have a runtime assertion to ensure the right data type is passed. Third party code needs to be updated to reflect this stricter requirement. (#1901, issue #1531)
  • Corrected some RODEX related queries in case MAX_SLOTS or MAX_ITEM_OPTIONS are set to custom values. (part of #1901)

v2017.10.22+1

22 Oct 16:25
Compare
Choose a tag to compare

Fixed

  • Fixed a wrong null pointer check in logmes(), which caused the command to never log and instead print debug information.

v2017.10.22

22 Oct 02:32
Compare
Choose a tag to compare

Added

  • Added the script command getmapinfo(), which allows to obtain misc information about a map. (#1852)
  • Added an option to restrict party leader changes to characters on the same map. Controlled by the setting party_change_leader_same_map (defaults to true). (#1812)
  • Added initial support (shuffle packets, obfuscation keys) for clients 2017-09-27, 2017-10-02, 2017-10-11, 2017-10-18. (#1859)
  • Added the noautoloot mapflag, allowing to disable the @autoloot functionality on a map by map basis. (#1833)

Changed

  • Extended the script command logmes() with an option to log to the atcommandlog table. (#1843)
  • Updated RoDEX, with support for packetver 20170419 and newer. (#1859)
  • Updated Exp-related packets and handling functions to support values larger than 2 billions (as seen in packetver 20170830 and newer). (#1859)
  • Changed the diagnostic message in skill_init_unit_layout() to report the skill ID instead of its index. (#1854)

Fixed

  • Corrected the Kafra dialog in case a Doram without the Summoner's Basic Skill attempts to open the Storage. (#1864)
  • Changed the cell stack counting algorithm to ignore invisible NPCs, improving the Dancer Quest experience as well as other cases of hidden NPCs blocking off certain cells. (#1827)
  • Improved the handling of the cardfix value to make it more resistant to overflows, especially in renewal mode. Simplified the related renewal/pre-renewal conditional code. (#1825)
  • Fixed some compilation warnings occurring in VS2017. (#1870)

Other

  • New versioning scheme and project changelogs/release notes (#1853)