February Digest 2020

Ridley

Community Administrator
Messages
1,157
Points
0
Age
38
Location
Germany
Discord
Ridley#5102
IRC Nickname
Ridley
Github
ridley8819
Emulator
Client Version
2019-03-22
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 CouncilModerator or Graphics Moderator and got moved to Community Contributor Group. Thank you for your help and contribution.




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

 
Last edited by a moderator:
Back
Top