* 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>
* Fixes#4289.
* Updated script commands setunitdata and getunitdata to support the modification of NPC view data.
* Converted mob_avail database to YAML.
Thanks to @Lemongrass3110, @4144, @exneval, @Balferian, @cahya1992 and @teededung!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Added the official values for the AG_GOAL_ACHIEVE.
* Refactored the leveling logic for Achievements to account for the new values.
* Moved achievement EXP to a database file.
* Added AchievementLevel player variable to allow for easy tracking in the achievement condition checks.
* Cleaned up player GUI EXP progression.
* Added a check to not save achievements that made no changes.
* Added first login achievement.
Thanks to @Lemongrass3110!
* Implemented official pet evolution system
* Added evolved pets to pet database
* Corrected various pet system mechanics
* Migrated pet database to YAML format and the converter from CSV format
Thanks to @Lemongrass3110 @aleos89 and @Atemo for their suggestions and additional fixes
Converted Guild Skill Tree database to YAML
Please run csv2yaml to convert your existing databases if necessary.
Thanks to @aleos89, @Atemo and @Lemongrass3110
Synchronized the process of loading and parsing YAML databases.
Provides more robust parse warnings/errors.
Added Header checks to validate database versions.
Adjusted root keys to a standard name of Body.
Adjusted inter-server storages, achievements, and attendance to follow the new format.
Fixes#3483
Thanks to @Lemongrass3110!
Introducing a new constant INFINITE_TICK
Changed current usages in items, npcs and source to use the new and correct constant.
Replaced some invalid usages of INVALID_TIMER and replaced them with the new constant.
* Fixes#3499.
* Corrected the way target monsters are generated for Taekwon Mission.
* Requires: The mob ID is in the range [MOBID_PORING, MOBID_GREEN_IGUANA], the mob must have below 30,000 HP, the mob must give Base EXP, the mob must be CLASS_NORMAL.
* Added a new mob group: MOBG_Taekwon_Mission
* Removed hard coded checks.
* Created constants for random monster group flags.
Thanks to @mrjnumber1, @Lemongrass3110, and @cydh!
* Fixes#2099.
* Added Emergency Magic Gear.
-- Mounts the user to a Madogear.
-- Only usable by Mechanic class.
-- Has a reuse delay of 3 minutes.
* Increased maximum weight limit by 1500.
* HP naturally recovers similar to Swordman Moving HP-Recovery.
* Updated Emergency Cool's interaction with Overheat calculation.
* Added new Emergency Cool cooling devices.
* The three cooling devices now lower Overheat by 45, 75, and 105 respectively.
* Overheat now only increases on every attack by 1 or by 3 with Fire element.
* The Overheat limit is increased to 150, 200, 280, 360, and 450 respective to skill level.
* Updated the check for Acceleration, Self Destruction, Shape Shift, Emergency Cool, Magnetic Field, Neutral Barrier, and Stealth Field to also check inventory for required equipment.
* Updated Magic Gear Master NPC.
-- Added Emergency Magic Gear purchase option.
-- Added High Quality Cooler and Special Cooler upgrade options.
Thanks to @Felleonel, @Rytech2, @exneval and @mrjnumber1!
* Converted refine_db.txt to refine_db.yml
* Refine success rates can now be set in refine_db.yml. rAthena's default NPCs will respect this database by default.
* Added shadow equipment refiner
Thanks to @Akkarinage @aleos89 @Atemo and @Mikegyver for their inputs.
* Added a new item flag for delayed consumption
* Fixes#550.
* The new flag will never consume the item.
* Supports script command itemskill.
Thanks to @cydh!
* Information based on kRO patch notes.
- http://ro.gnjoy.com/news/update/View.asp?seq=163&curpage=1
* Includes Title System which is integrated into the Achievement System.
* Includes RODEX integration for rewards.
* Added new atcommand reloadachievementdb.
* Added new script commands achievementinfo, achievementadd, achievementremove, achievementcomplete, and achievementexists.
Thanks to @Lux-uri, @RagnarokNova, @Lemongrass3110, and @Tokeiburu for their help!
Adds support for a lot of missing clients and features almost all clients from 2016 and 2017
clientinfo.xml's version value will be ignored from now on
By setting PACKETVER the server will configure everything else on it's own from now on
Dropped is_clientver script command
And a lot more
* Initial release item random option for monster drop
* To add item for monster with random option group, see 'db/[pre-]re/mob_drop.txt'
* To add item random option group with random option group, see 'db/[pre-]re/mob_item_randomopt_group.txt'
* Default entries for random options are follow iRO Crimson/Scarlet Weapon based on
* "[Renewal] Episode 15.2 Crimson Weapon System", see http://www.playragnarok.com/news/updatedetail.aspx?id=280&p=1.
* File uploaded by Oda (iRO's CM) on https://forums.warpportal.com/index.php?/topic/168763-fansitedb-information-distribution-and-request-station/?p=2495922
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Follow up 3b7db36288d70b6f40632e7397af4ed073595c8c
* Moved `RDMOPTG_Crimson_Weapon` from const.txt to `enum Random_Option_Group` in `itemdb.h`.
* Removed `RDMOPT_WEAPON_ATTR_POISON`, `RDMOPT_WEAPON_ATTR_TELEKINESIS`, and `RDMOPT_WEAPON_ATTR_UNDEAD` from Crimson Weapon random group (`RDMOPTG_Crimson_Weapon`), thanks to @atemo
* Added db header for impot-tmpl files, thanks to @secretdataz
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Follow up ac0cdd8dc87c534d26510cf3d37cb1609629919a
* Fixed type on steal checking
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Cleared some drop slot for crimson weapon
Added a permission for the cashshop sales
Thanks to @Angelic234 and everyone else who tested this feature while it was sleeping waiting in a pull request.
Thanks to @aleos89, @secretdataz and @lighta for reviewing and commenting.
* Implemented `job_noenter_map.txt` for TE maps.
* Added job list that cannot enter TE Castles and Guild Dungeons.
* Replaced `getpermissionwoete` with `jobcanentermap`.
* Added missing quest `7516`.
* Fixed typo in TE Mission NPC.
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Listed job with matched map zone is restricted to enter the map.
* Added db file `job_noenter_map.txt` with format: `JobID,FlagZone,GroupLevelBypass`.
* Reserved usage for WOE:TE implementation.
* Typo correction, thanks @aleos89 @Lemongrass3110
* Added basic support for random option system
* Don't forget to import upgrade_20160814.sql and upgrade_20160814_log.sql to make your existing rAthena installation functional!
* Camouflage now ends when attacking plant type monsters.
* Camouflage bonus is applied to the first skill after activating Camouflage.
* Corrected movement speed bonus checks.
* Removed INF3_NOENDCAMOUFLAGE enum as it is no longer needed.
* Updated skill_db documentation.
Cleaned up monster group parsing
* Adjusted monster groups to support sv_readdb.
* Updated the import folder documentation for the related monster groups.
* Fixes#1269.
Thanks to @Lemongrass3110!
Cleaned up item group parsing
* Adjusted item groups to support sv_readdb.
* Now allows for proper usage of the import directory for these item groups.
Thanks to @Lemongrass3110!
* Follow up to 2cfb844.
* Adjusted the instance_db documentation.
* Adjusted script command instance_announce to check when instance ID is 0 rather than -1 since instance IDs are stored as unsigned now.
* Added a couple of checks when sending instance information to the client.
* Fixed a compile warning.
* Follow up to c97be60.
* Added some safety measures when sending the instance name to the client.
* Adjusted the stored maps of instances to dynamic arrays to conserve memory.
- Max amount of possible maps increased to 255.
* Removed Map1 from the instance_db as the EnterMap is always the same value.
* Instances will now be destroyed even if the owner cannot be found.
* Corrected the return value when entering an instance when a character, party, or guild does not have an instance.
* Corrected a few script commands to properly stop the script engine on failures for instance script commands.
* Removed the instance name lookup for when entering an instance as instance_id is now passed.
- Adjusted script command instance_enter to no longer require the instance name.
* Adjusted script command instance_create to keep backwards compatibility.
* Cleaned up script command instance_warpall.
* Updated script documentation to reflect changes.
* Updated instance_db to reflect changes.
* Fixed a problem that many of the exp requirements were 1 level off
* Removed custom level requirements from the default pre-re/re rAthena files
* Optimized the structure of these files; no more redundant data
* Added a few custom exp rows to import-tmpl/job_exp.txt that can optionally be used
* Updated 1st and 2nd trans job exp requirements to the new official values from 2015
* Fixed a bug that caused monsters to still give 1 base/job exp even though their exp in the db is 0
* Updated Summoner EXP requirements according to latest test results; as Summoner has exactly the same base exp requirements as 3rd classes starting at level 99, it will now use the same row
* This database contains status (SC) that will be disabled/blocked on certain map.
* The specified map for SC is determined by map type or zone.
* The disabled SC will be removed if player has the SC from previous map and will fail to be applied again.
Thanks to @cydh!
* Fixed#651, now quest_db is separated between Renewal and Pre-Renewal to avoid non-existent monster/item (current missing monster/items are removed on Pre-Renewal). Thank @lordganja.
* Fixed#622, cast warning in script.c::get_val2. Thank @Litro .
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Changed 'JobLevel' to 'NeedLevel' and don't make it as optional.
* Make sure homun_skill_tree.txt column number is 15!
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>