* 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>
Added some missing checks for distance to the target monster and if the target monster is hiding.
Fixes#6395
Thanks to @Everade and @mrjnumber1
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
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>
* Converts the job_db, job_db2, job_basehpsp_db, job_exp, and job_param_db to YAML.
* Optimizes several places utilizing C++ features.
* Removes 3rd class job data from pre-renewal.
* Adds minimal support for 4th jobs.
* Job level bonus stats now supports multiple bonuses per level as well as an integer for the specific stat instead of only being limited to 1.
* Includes CSV2YAML converter.
Thanks to @Lemongrass3110, @Atemo, @Balferian, @attackjom, @dimasshotta!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Adds the official pillar effect on dropped items depending on how many random options were applied to them.
Thanks to @limitro, @Atemo, and @Lemongrass3110!
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
* Updates various skills following kRO's job improvement patch.
* Change log: https://ro.gnjoy.com/news/notice/View.asp?BBSMode=10001&seq=7275&curpage=2
* Does not include changes to homunculus HP/SP level up bonuses as more information is required.
Thanks to @ecdarreola, @attackjom, @Haydrich, @rye305, @eppc0330, @Badarosk0, and @Lemongrass3110!
Overhaul of the refine database
Added blacksmith blessing to existing NPCs.
Thanks to @Atemo, @aleos89, @cydh and everyone who tested it.
Co-authored-by: Atemo <capucrath@gmail.com>
* Fixed#5570.
* Adds the ability for mercenary to trigger autoloot.
* Adds idle sharing and idle option configs for granular settings.
Thanks to @saya9200's suggestion and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Removed the ignore_items_gender config.
Fixed some existing items.
Moved some restrictions that were removed on official servers into the import folder.
Fixes#5458
Thanks to @HenryAlvarez12, @aleos89, @Atemo and @Daegaladh
* Fixes#3502.
* Adjusts map_foreachindir to include the caster's cell when calculating area of effect.
* Adds battle config 'skill_eightpath_same_cell' to allow toggling of the effect.
Thanks to @mrjnumber1!
* Fixes#2242.
* When a homunculus is starving (hunger between 0-10) their hunger delay drops from 60 seconds to 20 seconds.
* Added battle configs to allow easy adjustment.
Thanks to @mmalka and @mrjnumber1!
* Added RC_PLAYER_DORAM to differentiate summoner race from monster race RC_BRUTE (similiarly to RC_Player_Human and RC_DemiHuman)
* Replaced PC_Player by RC_Player_Human and added a deprecation notice
* Fixes#5003.
* Adds a battle config to toggle the ability for slaves to teleport back to their master when they are too far away.
* Officially, players can drag slaves away from the master without them teleporting back.
* Determined that slaves don't become completely stuck but rather immobile until a target comes in range again.
Thanks to @poporing and @Daegaladh!
* Fixes#5018.
* Adds support for sharing battle-type Achievements when killing monsters.
* The behavior mimics Quest objectives.
* Adds a battle_config to easily toggle (off by default until confirmed on kRO).
Thanks to @MccloudBR's suggestion!
* Queue data will now be kept available until a Battleground event is over.
* Players can now join an active Battleground.
* Adds a more detailed queue state tracking feature.
* When a battleground is being prepared and not enough players click accept, stop the battleground from beginning.
* When a player logs off or leaves a queue they will now properly be removed from the queue.
* Cleans up MinPlayers and MaxPlayers parsing to not accept values less than 1.
* Resolves players not being able to join an active battleground (up to MaxPlayers) unless someone quit early.
* Adds a team size priority check to avoid adding more players to a larger team.
* Fixes battlechat messages.
* Adds a battle_config to disable the ability for players on maps with MF_NOWARP to join Battlegrounds.
* Adds a new optional ActiveEvent label to the database.
* Fixes a typo in Flavius 2 during unbooking process.
* Cleans up the behavior of the Battle Therapists to use areapercentheal and areawarp.
* Fixes KVM score not properly set on the first Battleground.
* Fixes the global timer checks not ending the main timers on Flavius and Tierra Gorge.
* Added an extra bg_reserve on global timer checks in case someone tries to join the battleground just before it's ended.
* Fixed OnReadyCheck being called on global timer checks, causing the battlegrounds to start when there were no players on the map.
* Fixed a bug on Tierra Gorge where multiple barricade walls could be stacked.
* Fixes Croix also receiving 9 badges when Guillaume wins.
* Adjusts StartDelay default to 0.
* Add a database setting to give the ability to enable or disable joining as an individual, party, or guild.
* Add a database setting to restrict jobs from entering Battlegrounds.
* Better documents script commands bg_reserve and bg_unbook.
* Other fixes and cleanups.
Thanks to @roSBK and @Daegaladh, @admkakaroto, @Artuvazro, and @Atemo!
Co-authored-by: Daegaladh <Daegaladh@users.noreply.github.com>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
Adds config for Land Protector Behavior
* This battle config option adds the ability to change Land Protector to the old behavior.
* Related to #1404 and #4412.
* Thanks to @Cydh for the initial release. Thanks to @Tydus1 for the pull request!
* Fixes#1310.
* Added a battle config which allows toggling of the Battleground Queue client feature and also toggles between the modes of scripts.
* Added script commands bg_reserve, bg_unbook, and bg_desert.
* Removed old custom Battleground scripts.
Thanks to @Lemongrass3110, @Locien, @secretdataz, @InusualZ, @Normynator, @Atemo, @iubantot, @admkakaroto, and @noobzter003!
* 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#1927
If aplayer is under devotion and gets attacked he will remain sitting server side, while standing up client side. This will result in the player not being able to move anymore, until he sat down/stood up again.
Since this is the real behavior on AEGIS we added a configuration for the fix, which will be enabled by default, since we think this is broken behavior. You can always turn it off in case you want to mimic official behavior.
Additionally fixed the devoting player as well:
The devoting player should also stand up when the devoted player is hit.
If the player is missed or he lucky dodges and no damage is dealt, no damage packet should be sent to the devoter.
Additionally fixed that the devoter did not use the waving damage animation, because the amotion and dmotion values were not sent.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Added conf options to enable/disable monsters using idle skills and move when there's no players nearby.
Thanks to @aleos89
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Fixes#4283.
* Corrected pet bonuses not applying on intimacy changes.
* Removed pet_equip_min_friendly battle config as bonuses are determined on intimacy in the bonus script.
Thanks to @teededung!
* 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
* Fixes#4016.
* Cleaned up the way Vellum damage and Vanish damage are calculated.
* Implemented bonus3 bSPVanishRate/bHPVanishRate.
* Updated Mental Destroyer item bonus.
* Cleaned up and added documentation.
Thanks to @Balferian!
Fixes#3017
Thanks to Hercules for the idea and their implementation of it.
This deprecates Windows XP support. If you want to use it to run your server on it, you have to forcefully enable it now.
Since 64bit ticks do not exist on XP, you might encounter some issues that are already fixed on other OS.
* Fixes#3666.
* When purchasing items from a NPC shop, the minimum purchase price is always 1 Zeny.
* When selling items to a NPC shop, the minimum sell price is always 0 Zeny.
Thanks to @Balferian and @dastgirp!