v2020.02.09
MishimaHaruna
released this
10 Feb 07:59
·
2823 commits
to stable
since this release
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 commandssellitem()
,startsellitem()
,sellitemcurrency()
,endsellitem()
. Note: this includes a database migration. (part of #2625) - Added the new script commands
cloakonnpc()
andcloakoffnpc()
. (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 relatedMADO_ROBOT
andMADO_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
inpc_readparam()
. (#2624, issue #1311) - Extended
itemskill()
with a newISF_INSTANTCAST
flag to be able to cast a skill without cast time. (part of #2616) - Extended
itemskill()
with a newISF_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 uninitializeddmg_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 aHairStyleId
. The hair style will now default to 1 when aViewData
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 ofitemskill()
. The constantsISF_NONE
andISF_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)