Skip to content

v2020.02.09

Compare
Choose a tag to compare
@MishimaHaruna MishimaHaruna released this 10 Feb 07:59
· 2823 commits to stable since this release
9106bba

Added

  • Added/updated packets, encryption keys and message tables for clients up to 2020-02-06. (#2625)
  • Added support for the expanded barter shop, see example script in npc/custom/expandedbartershop.txt and the related script commands sellitem(), startsellitem(), sellitemcurrency(), endsellitem(). Note: this includes a database migration. (part of #2625)
  • Added the new script commands cloakonnpc() and cloakoffnpc(). (part of #2615)
  • Added the new script command achievement_iscompleted() to check for achievement completion. (part of #2615)
  • Added Exploration Achievement NPCs. (#2615)
  • Added support for an OnNPCUnload label, where a script can perform its cleanup before being unloaded (such as removing mapflags, etc). (part of #2590)
  • Added the Rebellion jobchange quest and its related mobs and items. (#2621)
  • Added support for switching madogear type. See the documentation for setmount() and the related MADO_ROBOT and MADO_SUITE constants. (#2586)

Changed

  • Changed the logic of skill_get_index to make it easier to add new skills, custom or official. (#2596)
  • Refactored int_party code related to exp sharing calculations. (part of #2601)
  • Updated the Duel system cooldown to be configurable with seconds granularity. The duel_time_interval setting can be safely updated and with @reloadbattleconf, applying to any existing cooldowns. (#1495)
  • Converted PACKET_ZC_STATE_CHANGE to use its struct format and added a function to send it to a single target. (part of #2615)
  • Changed the behavior of @unloadnpc, @reloadnpc, @unloadnpcfile to kill the monsters that were spawned by the unloaded script (non-permanent spawns). (#2590, issue #2530)
  • Updated the mobdbconverter.py tool to support Race, Size and Element constants. The script now requires Python 3. (#2620)
  • Cleaned up a duplicate definition of SP_VARCASTRATE in pc_readparam(). (#2624, issue #1311)
  • Extended itemskill() with a new ISF_INSTANTCAST flag to be able to cast a skill without cast time. (part of #2616)
  • Extended itemskill() with a new ISF_CASTONSELF flag to be able to forcefully cast a skill on the invoking character. (part of #2616)
  • Converted ZC_AUTORUN_SKILL to use its struct format. (part of #2616)

Fixed

  • Fixed some signed/unsigned mismatch compiler warnings. (#2601, issue #1434)
  • Fixed some cases where the family exp sharing state wasn't correctly detected. (part of #2601)
  • Fixed a duplicate "Skill Failed" message when using Asura Strike. (part of #2248, issue #1239)
  • Fixed an issue that made a character turn to face its target after casting Asura Strike. (#2248, issue #1239)
  • Fixed the position of a character after a failed Asura Strike cast, to be 3 cells from its original position instead of 2. (part of #2248, issue #1239)
  • Fixed the status icon from the Elemental Resistance Potions and the Undead Element Scroll not disappearing when the status changes end. (#2614, issue #2593)
  • Fixed a crash when using @loadnpc, @reloadnpc or @unloadnpcfile on a directory. (part of #2590, issue #1279)
  • Fixed PR_STRECOVERY to only cure status effects if the target's element isn't Undead. (#2618, issue #2558)
  • Fixed the mobs spawned by mob_clone_spawn() (clone(), @evilclone) being invulnerable because of an uninitialized dmg_taken_rate taking the value of 0. (#2617, issue #2607)
  • Fixed a crash when the script function getunits() was called with an invalid mapindex. Now an error message is added when the mapindex validation fails. (#2619)
  • Fixed a crash when map_forcountinmap() was called with an invalid mapindex. Now the function will return 0 instead. (part of #2619)
  • Fixed clientside errors when using a ViewData block in the mob database without specifying a HairStyleId. The hair style will now default to 1 when a ViewData block is specified. (#2622)
  • Fixed the damage calculation being too low when using weapons of type W_RIFLE (in pre-renewal). (#2623)
  • Fixed an issue that could cause homunculi to be in an unexpected partially-vaporized state (i.e. when a Vanilmirth kills its own master through HVAN_EXPLOSION). (#2626)
  • Fixed NPC ID validation when SECURE_NPCTIMEOUT is defined, causing scripts to abort with an "Unknown NPC" error on the console. (#2627, issue #2073)
  • Fixed the skill condition checks and the flag parameter of itemskill(). The constants ISF_NONE and ISF_IGNORECONDITIONS are now available. (part of #2616)
  • Fixed the itemskill() items to provide their proper Aegis behavior, in their requirement checks, self-targeting and item consumption. (#2616, issue #819)
  • Fixed the Earth Spike Scroll to consume 10 SP when SC_EARTHSCROLL is active. (part of #2616)
  • Fixed warnings in the HPMHookGenerator. (1000b10)