Ridley 295 Posted February 28, 2020 February Digest 2020 The following digest covers the month of February 1st - February 29th 2020 Team Changes @Wolf is now a Global Moderator The following Members have been moved to the new "Retired Staff" Group. Special thanks to Ind and Jman for funding Hercules and this community - and also to everyone else who has contributed towards it. @Ind, @Jman and @Mystery - Former Administrators @Masao, @Nameless2you, @Ragno and @Sneaky - Former Script Developers @malufett, @Michi and @mkbu95 - Former Core Developers The following Members were contributing as High Council, Moderator or Graphics Moderator and got moved to Community Contributor Group. Thank you for your help and contribution. @Eurydice, @Gepard, @Muad_Dib, @Xgear, @Yommy, @jaBote, @Judas, @Adel and @Uzieal 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 #2179) 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. (1000b10026) Deprecated None Removed None Special thanks to @Haru, @4144, @Kenpachi, @Asheraf Additional thanks to @Haziel for creating the badge for the retired staff group 2 Khazou and Senos reacted to this Quote Share this post Link to post Share on other sites