* Fixes a potential crash when adding new maps
* Fixes#5396.
* Fixes a potential crash on start up when adding a map to maps_athena.conf and the map has not yet been added to map_cache.dat.
Thanks to @nubspixel!
* Inverts check
* Fixes#4183.
* Adds 3 new guild skills: GD_CHARGESHOUT_FLAG, GD_CHARGESHOUT_BEATING, and GD_EMERGENCY_MOVE
* Changes 5 minute guild global cooldown to be 3 minute individual cooldowns for GD_RESTORE, GD_REGENERATION, GD_BATTLEORDER, GD_EMERGENCYCALL, and GD_ITEMEMERGENCYCALL.
* Reduces GD_RESTORE fixed cast time from 10 seconds to 1.
* Combines item_avail, item_buyingstore, item_delay, item_flag, item_nouse, item_stack, and item_trade databases into one.
* General cleanups and optimizations.
* Includes CSV2YAML conversion tool.
* Includes YAML2SQL conversion tool.
* Adjusts dummy_item from being created by malloc and now creates it by make_shared.
* Item combos are now stored as a STL.
Thanks to @Lemongrass3110, @Atemo, and @cydh!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* 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!
* Added support to trigger 'OnTouch'/'OnTouch_' npc label when a npc is moving through npcwalkto script command.
* Fixed#502
Thanks to @aleos89, @wbgneto !
* Skill is no longer a unit skill but a status.
* Adjusts the attack rate timer to official.
* Skill does not proc cards.
* Skill does not reflect damage.
Thanks to @Tokeiburu, @ecdarreola, and @attackjom!
* 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>
* Fixes#4915.
* Fixes instance map names when it reaches 1000.
* Fixes instances with more than 8 character crashing the client.
* Other minor cleanups.
Thanks to @voyfmyuh and @Atemo!
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
* Fixes#3087 and fixes#3095.
* Converts database file to YAML.
* Converts static array to unordered_map which frees up pre-allocated memory that may never be fully used.
* Got rid of all DBMap/ERS features.
* Removes MAX_INSTANCE_DATA in favor of INT_MAX.
* Includes TXT converter.
Thanks to @Lemongrass3110, @secretdataz, @Atemo, @lighta, @InusualZ, @Angelic234, @Normynator, @cydh, and @ecdarreola!
* Initial implementation of these two classes skills.
* Includes kRO balancing patch: http://ro.gnjoy.com/news/devnote/View.asp?category=1&seq=3921697
Thanks to @Rytech2, @Mateuus, @nubspixel, @exneval, @idamonli, @hotspicy945, @admkakaroto, @cahya1992 and @RagnaWay!
* Fixes#4574.
* Removes the usage of atoi as any failure returns 0.
* Adds checks for cases of invalid data.
* General cleanups and fixes.
* Fixes the import database documentation.
Thanks to @Skormie!
* 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!
Added support for signed 64 bit integer value computation into the script engine.
This is required because newer official features require support for bigger numbers inside the scripts.
This also cleans up a lot of messy code and fixes a few issues like script stack corruptions.
Thanks to @aleos89 and everyone who supported me with this.
Merges atcommand_athena.conf and help.txt into a single file.
Removed some leftover settings that were removed before.
Removed CLI support for modifying the atcommand configuration file.
Moved atcommand and charcommand symbol definition into conf/battle/gm.conf
Removed some messages that are not needed anymore
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
* The <quest ID> is now removed, all the conditions are handled by a <condition> argument. The <condition> is using the achievement_check_condition (like in achievement_db.yml) so any condition (in theory) can be used to display the icon.
* A new script command has been added to refresh the bubble for the given player anytime.
Thanks to @aleos89 and @secretdataz for the review!
* Fixes#1939 and fixes#2274.
* OnTouch NPC are now able to overlap one another and properly trigger as they do on official servers.
* When entering an overlap area it should trigger both NPC.
* Walking from overlap area to either NPC should trigger neither.
* Walking from one NPC to the other (skipping the overlap area) should trigger the NPC area you enter.
* Entering an OnTouch area will no longer stop the player from walking unless a message or menu window opens (or other events that should stop the player).
* Resolves OnTouch_ overlapping issues.
* Dead players don't trigger OnTouch_ anymore.
* Hidden players don't trigger NPC clicks when OnTouch_ label is defined.
Thanks to @Tokeiburu, @Lemongrass3110, @Atemo, and @Normynator!
* Added the use of DBPATH/DBIMPORT definition for guild EXP, job information, level penalties, and map cache to remove hardcoded values.
Thanks to @marky291!
* Fixes#131 and fixes#2699.
* Added item bonus bNoWalkDelay to replace infinite SC_ENDURE bonus in items.
* Added a warning if INFINITE_TICK is detected in the item combo bonus.
* Included some minor cleanups and additions.
Thanks to @exneval, @c0nflicts, and @esu1214!
* Fixes#3872.
* Added a couple more map data validity checks on block list counting functions.
* QD Shot should no longer remove the read status.
* Dragon Trail should no longer end the Crimson Marker status.
* Some other minor optimizations/cleanups.
* Fixed a va_arg corruption
Thanks to @attackjom, @Lemongrass3110, and @teededung!
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.
Added safestrncpy to char's inter configurations
Added safestrncpy to map's inter configurations
Added safestrncpy to message configurations
Adjusted some char configurations
Cleaned up logging configurations
Fixes#3624
Thanks to @mrjnumber1
* Added skill_duration mapflag.
* This mapflag sets a skill unit time limit to n% of original duration.
* Implemented mapflags for Hunter's Traps in GVG, BG, and Novice Guild maps.
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Fixed#3517, new map from instance doesn't use unused map slots
* Fixed#3528, crashed on reloadscript if there is instance map
* Cleared map flags on reloadscript
* Resolves PvP timers and effects not displaying properly.
* Resolves any GvG effects not displaying properly.
* If PvP or GvG is disabled, stop players from attacking.
* Moved PvP timer and attack functions to appropriate locations.
* Removed redundancy from atcommands.
* Fixes#3369, fixes#3370, and fixes#3382.
* Converted maps storage container back to static array.
* Converted mapflag storage containers to unordered_map.
* Removed a lot of redundancy and recursive lookups.
* Fixed a couple short-circuit checks to help with performance.
* Fixed multiple instance creation/destruction issues.
* Fixed PK Mode attempting to set PvP on flags that are already active.
* Getting MF_RESTRICTED will return the map's zone value instead of the state.
* Converted mapflag macros to inline functions.
Thanks to @teededung, @lelouch22, @mazvi, @Lemongrass3110, and @cydh!
Follow up to a942853.
Fixes#3336.
Moved map_data storage to std::map container.
Created map_getmapdata to obtain pointer to map_data.
Got rid of MAX_MAP_PER_SERVER define.
Resolved deletion of instances causing other instances to lose their intended map ID.
Refactored warp suggestions
Thanks to @teededung, @anacondaqq, @cydh and @Lemongrass3110!