* Adds the INF2_ISTOGGLEABLE skill flag which is used to enable or disable a skill's status. When toggled off the skill doesn't consume HP/SP.
Thanks to @Lemongrass3110!
* Removes the initialization of Status Changes via hard-code and puts it into YAML form.
* From this database it is much easier to delegate icons, calc flags, opt flags, miscellaneous flags, and several other things for all stats changes.
* Statuses can quickly be reloaded via atcommand reloadstatus.
Thanks to @cydh, @Atemo, @Lemongrass3110, and the others who helped!
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
Co-authored-by: atemo <capucrath@gmail.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Fixes#5918.
* Target magic skills should get blocked even when cast on self.
* Self magic skills should get blocked on all targets except self.
* Adds an IgnoreGtb skill flag to explicitly allow a skill to bypass these checks.
Thanks to @Playtester!
Merged Rytech2/4CrAM-Open@978d4fc406
Original author is @Rytech2 and all credits belong to him.
Cleanups by @Lemongrass3110, @aleos89 and @Atemo.
Co-authored-by: Rytech2 <rytech16@gmail.com>
Co-authored-by: aleos <aleos89@users.noreply.github.com>
Co-authored-by: Atemo <capucrath@gmail.com>
* Fixes#5266.
* Adds the ability to supply the ItemCost level to easily override a specific level or only define some levels that have item requirements.
* When the Level label is provided for ItemCost it becomes dependent to that level only.
* Removes some remaining hardcoded skills that have skill level dependent checks.
* Added support to CSV2YAML to properly convert those level dependent skills.
* Adds documentation to header and upped version.
Thanks to @Pringle012 and @Lemongrass3110!
* Fixes#6071.
* Updates the behavior of Stasis to block Songs, Ensembles, Choruses, and magic type skills.
* Removes the INF2_IGNORESTASIS flag as it doesn't effectively fit it's purpose anymore.
Thanks to @Felleonel!
* Fixes#3259.
* Fixes SP damage bonus for levels 1-4 being too low caused by a rounding issue.
* Gate of Hell is no longer reduced by long range modifiers.
* Fixes the HP/SP damage for statusAtk and masteryAtk to properly apply the NK_IGNOREELEMENT flag when checking target players. This subsequently applies to all skills.
* Adds a new NK flag to remove any hard coded skills that can ignore long range attack modifiers from the caster's side.
Thanks to @Tokeiburu and @exneval!
* Fixes#1061.
* Skills no longer assign 20% of the variable cast to fixed cast.
* Inverts the skill database behavior so that 0 actually means 0 cast time and -1 represents 20% behavior for backwards support.
* Updates documentation.
Thanks to @Tokeiburu!
* Combines skill_cast_db, skill_castnodex_db, skill_copyable_db, skill_nonearnpc_db, skill_require_db, and skill_unit_db into skill_db.
* Introduces a cached YAML class for quicker lookups.
* General cleanups and optimizations.
* Includes CSV2YAML conversion tool.
Thanks to @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>