* Updates getenchantgrade() script command adding <equipement slot> as optional argument to retrieve the grade of a specific equipment slot.
Thanks to @Lemongrass3110 and @aleos89 !
* Converts the Skill Tree Tables file into YAML.
* Includes CSV2YAML converter.
* Corrected the tree according to the client (SkillInfoList)
* Removed 3rd jobs tree from pre-renewal, some required stats not being loaded by default
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Adds Baby Ninja, Baby Kagerou, Baby Oboro, Baby Taekwon, Baby Star Gladiator, Baby Soul Linker, Baby Gunslinger, and Baby Rebellion who weren't in the old TXT database during the YAML conversion.
Fixes#6393
Thanks to @kaninhot004
With 6bc0dff the csv2yaml tool does not use deprecated constants anymore.
In our conversion logic we still used them though and therefore conversion might crash.
Thanks to @Rytech2
* Implemented new card subtype to differentiate normal cards from enchanted ones
* Available Subtypes:
** Normal (default)
** Enchant
* Updated the item database with the new subtype
* Updated the npc folders using getiteminfo ITEMINFO_SUBTYPE
Thanks to @Lemongrass3110 and @aleos89 !
* Converts the Mercenary Tables file into YAML.
* Includes CSV2YAML converter.
* Fixed mercenary name not properly displayed after moving
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Please note that there are some gaps in between these ID ranges, but since we did the same with ID 4700 - 4999, i figured it should be fine.
Fixed#6389
* Fixes#6360.
* Adds missing HP/SP values for Rebellion, Baby Rebellion, Expanded Super Novice, Expanded Super Baby, Baby Summoner, Star Emperor, Baby Star Emperor, Soul Reaper, and Baby Soul Reaper.
* Adds official HP/SP values for Summoner, Baby Summoner, Star Emperor, Baby Star Emperor, Soul Reaper, and Baby Soul Reaper. These are missing levels 176-200 though.
* Fixes the BonusStats parser to properly check for the max job level.
* Adds several logical checks for blocking level 0 during parse.
* Adds several logical checks for skipping content over a job's max level for HP/SP and BEXP/JEXP.
* Fixes the SP values being filled against the max job level instead of base level if the HP/SP Table wasn't being used.
* The parser will now properly fill the HP/SP array with 0's so that the loadingFinished() function can properly calculate a value to insert if something is missing.
* Adds a better solution to CSV2YAML when checking for the max base level when converting HP/SP.
* Fixes the CSV2YAML generating bad job bonus stat conversions.
Thanks to @kaninhot004 and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Exchange costumes is now fully based on KRO, to get rid of TWRO customizations.
* Fixes wrong enchant stone box rewards.
* Removes custom costumes from possible enchant lists. (this list is most likely still inaccurate)
Fixes#6206
* 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>
* Fixes#6346.
* Resolves an issue with bonus3 bAutoSpell, bonus3 bAutoSpellWhenHit, and bonus4 bAutoSpellOnSkill having their self and target flags flipped.
Thanks to @Anjuts and @mazvi!
* Added more parameters to the script command addmonsterdrop to support the random option system.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Thanks to @aleos89
* Implemented Temple of the Demong God instance
Implemented the skills NPC_WIDEWEB, NPC_WIDESUCK and NPC_FIRESTORM from https://github.com/idathena/trunk
Credit to @exneval
Thanks to @Badarosk0 @idk-whoami @Everade @aleos89
* Wave mode instances - walkthrough conversions
* NPC_EMOTION and NPC_EMOTION_ON disrupted the walking system and have been restricted on the maps.
* Implemented AI_SPECIALs. AI and normal monsters can naturally fight each others. However monsters with AI_SPECIAL can't be hit by normal monsters.
* Implemented mob_setidleevent command.
`mob_setidleevent <GID>,<event>;`
This command will attach an event label to the monster with the given <GID> which will execute when the <GID> is idle.
* Added parameters to unitskilluseid and unitskillusepos
-- `<cancel>`: define if the skill can be interrupted when hit (by default the cancel value was 'castcancel' from skill_db.txt)
-- `<Line_ID>` : the monster will say the message from 'Line_ID' in mob_chat_db.yml when casting the skill
* Added `UMOB_IGNORE_CELL_STACK_LIMIT` for setunitdata/getunitdata script command.
When true, the monster will ignore the stack limit (max number of characters that can stack within a single cell) defined by 'official_cell_stack_limit' in misc.conf
* The script is disabled by default like on KRO
Thanks to @Lemongrass3110 @aleos89 @Badarosk0 @sigtus @Questune09 !
* Fixes#6153.
* Fixes variable types to avoid any loss of data.
* Fixes AutoSpellOnSkill random level cast being mixed with the target selection flag.
* Removes the overloaded use of variables for the autospell bonuses.
Thanks to @randell1993 and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Added a missing argument of getiteminfo script command in some script
* Fixed the missing curly in ticket_refiner.txt
Thanks to @Lemongrass3110 @aleos89 @Daegaladh @Skystar18
Added the refine information for weapon level 5 and armor level 2.
Added the event refine information for weapon level 5 and armor level 2 to the import template.
Additionally added TODOs for missing bonuses that will be added later on.
Thanks to @Phaicm and @Balferian for their help.
* Resolves an issue of trying to create an item or mob whose name was over the cap limit.
* Display a warning now when the length is over the cap.
* Resized the item and monster database values that were over the cap.
Thanks to @Lemongrass3110, @secretdataz, and @Atemo
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>
* Fixes#6272.
* Card bonus damage adjustments were hitting the cap of short resulting in damage being nullified.
Thanks to @Badarosk0 and @kaninhot004!
* Fixes#6232.
* Follow up to 9e4dc7d.
* Fixes the aftercast delay of skills so that status and item bonuses properly stack before calculating the final result.
* bSkillDelay should add directly to the time and not be included in the rate formula.
Thanks to @AsurielRO!
The issue caused skills in skill tree to disappear in some circumstances.
Thanks to @hnomkeng for the report and @Lelouzh for the help in testing and discovering the cause of this bug
Co-authored-by: Lelouzh <lelouzh@lelouzh.com>
* Fixes#6254.
* Adds a few checks for MF_RESTRICTED so the status is not disabled if other zones are active for the same map.
Thanks to @xEasycore and @Lemongrass3110!
* 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!
* The required NPC name parameter is now optional for the following script commands:
enablenpc
disablenpc
hideonnpc
hideoffnpc
cloakonnpc
cloakoffnpc
isnpccloaked
* Updated docs
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
* Fixes#6135.
* Mystical Amplification should not have the IgnoreStatus CastTime flag.
* Foresight will only apply a cast reduction to learned skills, not those that are granted through item bonuses guild skills, pets, etc.
* Item bonus bDelayRate will now stack with other delay reduction bonuses.
* General cleanups to variable defines.
Thanks to @Everade, @mrjnumber1, and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Fixes#6224.
Restart the iterator if a skill unit is deleted when trying to clear previous grouped unit skills.
Thanks to @technoken!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Fixes#2217.
* Adjusts the storage for skill unit group from DBMap to unordered_map.
* Removes the MAX_SKILLUNITGROUP limit.
* Cleans up memory management to utilize shared_ptr.
Thanks to @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* 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#5951.
* Adjusts the behavior of Comet to a unit skill type.
* Comet will now behave properly around Maya Card and other unit skill type interactions.
Thanks to @Felleonel, @Playtester, and @Lemongrass3110!
* Fixes#6163.
* An item's sell value will now always be calculated whether the item exists or not. This resolves adjustment of an item's buy value during the import process.
* Moves a couple checks to the loadingFinished function.
Thanks to @Daegaladh!
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
* on Aegis files the shadow gear have all theses extra stats (the stats are often skipped in the description)
* added atk and matk for shadow gear weapon
* added hp for shadow gear type armor
* Converted mob_item_ratio to YAML
* Includes CSV2YAML converter.
* Added the possibility to remove an item from monster drop using this feature
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Thanks to @idk-whoami !
* Fixes#6095.
* Proper implementation of Soul Attack for Doram.
* Adds the missing client EFST when learning the skill.
* Fixes the behavior so that skills that block or reduce ranged attacks are properly taken into account.
Thanks to @Everade!
* Corrected an issue with UniqueId
* On Aegis some stackable items have the same GUID, the commit adds a setting to give the stackable items stacked (or not) to the player
* Removed IG_MAX in the parsing to allow new entries from const.txt
* Added more information about the 'Group' in a warning
* Removed exp_guild.txt (mistake from previous PR)
Partial takeover from #5997
Did some further cleanup and took it out of the pull request until secret has time to finish it.
All credits to @secretdataz
Co-authored-by: secretdataz <secretdataz@users.noreply.github.com>
* When a player deserts an active Battleground they will no longer receive the SC_ENTRY_QUEUE_APPLY_DELAY status from leaving the queue. This makes it so that the proper Battleground desertion message is shown when trying to join another Battleground.
* Fixes a timer not getting removed from players when they join an active battleground. The timer would continue after accepting the invite and would eventually remove the player from the queue resulting in the player getting the "Left queue time penalty".
If use_statpoint_table was disabled and the player got additional stats or status points from somewhere (bugs in scripts, gm commands, etc.) they were not reset correctly, because the additional points were taken into account when reseting the stats.
Thanks to @Everade
Fixes#5939.
Fire Expansion Acid should behave like it did prior to the skill balance updates and not like the current Acid Demonstration behavior.
Thanks to @Felleonel!
* Converts the Monster summon group Database into YAML. (mob_boss.txt, mob_branch.txt, mob_classchange.txt, mob_poring.txt, mob_mission.txt, mob_pouch.txt, mob_random_db.txt)
* Includes CSV2YAML converter.
Thanks to @Lemongrass3110 !
Added further support for enchantgrade so that the enchantgrade is not lost during certain processes and can be accessed via script commands.
Also added missing logging support for it.
* Follow up to f10de84.
* Fixes an extra 100% bonus being applied to the SP damage bonus formula.
* Also fixes the decimal value when the level used is less than 5.
Thanks to @limitro!
* Fixes#5449.
* Updates several Monster Transform items with their updated bonuses.
Thanks to @Balferian!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* 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!
* Fixes#4363.
* Resolves players warping to freed maps resulting in a crash.
* Clear out the instance_id from mapdata when clearing.
Thanks to everyone who reported and helped get to the bottom of the issue!
This makes sure that every possible leftover of any console messages that contained \r are correctly removed when using a category based show message call.
* Fixes#4265.
* Shadow Leap's cast range is now 5-9 in pre-renewal and 6-10 in renewal.
* Shadow Slash is now considered a melee attack.
Thanks to @Indigo000!
The wrong version was given when the database was not the latest version but was still compatible with the parser's minimum version.
Additionally only in cases of full incompatibility the file name was displayed. Added this as well so the file that needs an upgrade is known to the user. This has especially been a problem with empty import databases with outdated header versions.
* Fixes (#5836)
* Multiplier value based on party members count doesn't include the party leader.
Thanks to @Tydus1 and @Indigo000!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
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>
* Fixes#5798.
* Targets will now become affected by Vacuum Extreme when walking through an active area but won't be sucked to the center unless they were standing still upon placement of the skill.
Thanks to @Rayvakarian and @Balferian!
* Fixes#5777.
* Adds a missing case for applying the Lex Divina status.
* Updates the database duration to use the correct values.
Thanks to @rubie123!
* Fixes#5768.
* Bowling Bash will no longer cause Strip Weapon.
* Fixes Brandish Spear not causing Strip Weapon for pre-renewal.
* Brandish Spear will now cause Strip Weapon for 1 second.
* Players who cast Grand Cross will have Strip Shield for 950ms and a walk delay of 1 second.
* Monsters who cast Grand Cross or Grand Darkness will not have any strip effects and a walk delay of 1 second.
Thanks to @mrjnumber1!
* Partial fix for #5766.
* Resolves the interaction between Maya Purple Card and Box of Sunlight.
* Intravision status will now end if a hat with Maya Purple Card is taken off while Box of Sunlight is active.
Thanks to @mrjnumber1!
* Fixes#5804.
* Poison React now has a chance to attack twice, with same rate of Double Attack, when the character has learned Double Attack.
* Number of hit counters is changed to 1/1/2/2/3/3/4/4/5/5.
Thanks to @eppc0330!
* Fixes#5796.
* Fixes a small typo in the documentation for script command makeitem3.
Thanks to @jaBote!
Co-authored-by: Vincent Stumpf <vincents.995@gmail.com>
* Fixes#5793.
* Adjusts the location of Loyalists Hood from Costume Garment to Garment.
* Fixes a small typo in the yaml2sql tool for the location_costume_garment column.
Thanks to @Melk3000!
* Replaced warp "Random",0,0; by itemskill "AL_TELEPORT",1; in the items script functions (#5774)
* Added an exception to bypass the mapflag MF_NOTELEPORT in pc_randomwarp for some script commands
* Fixed#5764
Thanks to @limitro !
All slaves will be killed when the monster database is reloaded.
If a monster does not exist in the database after reloading all spawned monsters of this monster ID will be killed and a warning will be issued.
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
* Corrections of the data of item 590000, 13450, 13481 and 27295
* Corrected the name of ID 22702 ~ 22707
Fixed#5750
Thanks to @Melk3000, @RagnaWay and @Balferian !
* Fixes#5758.
* Removes the skill casting restrictions on no teleport maps for Fatal Menace as the teleport effect is no longer part of the skill.
Thanks to @Badarosk0!
* 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>
* Fixes#5707.
* Fixes Cross Impact and items with bNoKnockback causing a desync in the player's position on the client.
* Cross Impact will now fail when the player is unable to reach the target.
Thanks to @eppc0330 and @Balferian!
Adds the DamageTaken flag which reduces damage done to specific naturally spawning MVP.
Fixes#3324.
Thanks to @admkakaroto, @SonaSonaSona and @Atemo!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Converts labels to camelCase.
* Converts labels to plural where needed.
* Converts Target MobID to use the Sprite name.
* Converts Rewards ItemID to use the Aegis name.
* Dependents now checks for duplicate IDs.
* Dependents now properly supports import methods.
* Added YAMLUpgrade tool to convert previous YAML databases to new format.
* Removes the unique index value for Dependent Achievement ID.
* Adds support for the AG_CHATTING achievement types triggered by script (achievementupdate script command).
* AG_CHATTING map type achievements are still disabled as behavior is unknown.
* AG_HEAR and AG_SEE are now dropped and those achievements have been converted to AG_CHATTING.
* Converts the group constants to how Aegis names them.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Combines mob_race2 and mob_drop databases into one.
* General cleanups and optimizations.
* Includes CSV2YAML conversion tool.
Thanks to @vstumpf, @lukasrmattos, and @Lemongrass3110!
* 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#4524.
* Adds support for the new slimmer Madogear suit.
* Adjusts script command setmadogear to support changing to this type.
* Adjusts atcommand mount to support changing to this type.
* Removes a 3rd class check from setoption for Rangers and Mechanics.
* Removes status_calc_pc call from pc_setoption so that it can be handled via normal status change calculations.
* Adds Mado_Box02 item for Mado Suit.
Thanks to @admkakaroto, @Atemo and @Lemongrass3110!
* Fixes#5651
* Resolves an issue with Golden X potion causing 1 reflect damage even if the target doesn't have any reflect abilities active.
Thanks to @eppc0330!
* Fixes#5702.
* Adds the MVP attribute to Bijou.
* Updates drop data.
Thanks to @mazvi and @Atemo!
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
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
Added a configuration that allows you to delete mails without attachment instantly after the given interval.
Introduced a define for the iteration size of how many mails will be deleted in each circle.
It his highly recommended to not increase it too high or your char server might lag, if you have a lot of mails on your server.
Always delete all mails sent by the server after the given interval in a single statement and ignoring the iteration size.
Added transaction safety for mail deletion. With this a mail and it's attachments will always be safely deleted together.
Fixed a duplication issue, when deletion of the mail would have failed, but the mail was still returned.
Fixed notification of online characters in certain rate circumstances.
* Fixes#5489.
* Removes the gutterline feature from Bowling Bash in renewal mode.
* Skill will now behave as a normal 5x5 AoE.
* Fixes knockback getting removed during battle calculation.
Thanks to @humanwizzard and @Daegaladh!
Fixes#554, fixes#578, and fixes#909.
The right hand attack display should only show bonuses given by weapons and not the STR/DEX bonus.
Thanks to @reigneil, @Paoly28, @panko11, and @limitro!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Only applies if you do not use the status point table.
Additionally replaced the hardcoded value with the one from the configuration.
While at it added a missing else.
Fixes#5634
Thanks to @zeffen
* 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.
* Fixes#5409.
* Adjusts the behavior of Advent of Star Emperor spheres to work like Millennium Shield.
* Fixes the spheres not visually being removed when the the status ends.
Thanks to @molavian053!
* Add dockerised local development environment
* Enable tini (--init) for server container
See https://docs.docker.com/compose/compose-file/#init for details
* Add local development environment documentation
* Add a tip for how-to connect a client on the same machine
* Add specialized tools/docker folder
Co-authored-by: Eric <latiosworks@gmail.com>
Correctly removing the state tracking of fake NPC usage in case the player was detached before the script ended.
Fixes#5379
Thanks to @blipblopblip and @Patotron
* Cleanup of some minor skill db issues.
* Fixes CastCancel documentation to describe default as false.
Thanks to @Tokeiburu!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* 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!
* Fixes#965.
* Fixes several skills getting their elemental damage recalculated several times resulting in extra damage.
Thanks to @exneval, @julia40124009, and @RagnarokNova!
* Fixes#3084.
* Creating random option groups now further reflects official behavior.
* Group bonuses can now be created without having to create multiple permutations of the same group.
* Specific slot options can now be defined which guarantee a bonus.
* Non-guaranteed options can now be defined along with a maximum amount.
* Random option value can now be defined as a range instead of a static value.
* Adds conversion of official random option groups.
* Includes CSV2YAML conversion tool.
Thanks to @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Since Doram's are 16 and MAPID_ALL was defined with only the first 16 bits were covered by 0xFFFF, the job restriction failed if Summoner was not explicitly allowed.
Fixes#5516
Thanks to @kaninhot004
Fixes#5510.
Resolves an issue with nodeExists not checking for null nodes resulting in parsing false-positives.
Further cleanup to the item DB SQL node parsing to allow some extra options to be toggle-able.
Default stacking options to false if not defined.
Thanks to @mplaten and @Lemongrass3110!
Fixes a couple issues with the column checking.
Adds verification to table columns to make sure table format is correct.
Cleans up the node processing.
Adds a loading progress status.
Adjusts the SQL import files to not destroy previously imported data.
Updated README.md to reflect the changes for SQL importing.
Fixes#5485Fixes#5477
Thanks to @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Only report duplicate Aegisname, if it is not the same item.
When buy and sell price caused a possible zeny exploit the whole YAML node will be reported, since it could be from import and either Buy or Sell might not exist.
* 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#5395.
* Fixes Overheat not properly accounting for the Mechanic during battle calculations.
* Minor cleanups and improvements.
Thanks to @LotusRO!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Resolves an issue with damage not being passed back to the parent function after it has been reduced by various statuses or skills.
Thanks to @teededung!
Moved changes from the Hercules file to rAthena's intermediate layer where possible.
Updated to the latest Hercules definitions.
Added missing packed attributes.
* Fixes#5401.
* Minor optimizations to core skill behavior.
* Adjusts the status timer to be stored in val4.
* Impose a unit lock before doing status damage.
* Check for status state before attempting to reapply the status timer.
Thanks to @LotusRO!
* Fixes#5413.
* Fixes an issue where achievements that check for specific base/job level events don't get triggered if battle_config.multi_level_up is enabled.
Thanks to @saya9200!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Update and correction in item_db and item_combo_db
Thanks to Edward Luciano # 1568
Thanks to 🅺🅸🅽🅶🅰🆁🆃🅴🆁 # 4210
Co-Authored-By: crazyarashi <meganekiho@gmail.com>
This reverts commit b51a87146f.
*This caused an exploit also present in the official pre-re script. NPC dialog suggests it was never intended to reenter this instance after players leaver or die.
* Follow up to 0d81697.
* Added a separate check for Mado Gear and blocking Merchant/Blacksmith/Whitesmith specific statuses.
* Harmonized the statuses with the new allowed skill list.
Thanks to @slyx88!
* Added more information in the doc about waitingroom2bg_single and bg_join commands
* Added MF_BATTLEGROUND mapflag check in waitingroom2bg_single and bg_join to prevent the player to join a bg when the battle map is not a battleground map
* Updated monsters DB (data from aegis and DP)
* Updated item_db (data from aegis and DP)
* Updated quest_db, thanks to @zackdreaver for the quests names !
* Implemented SC_EP16_2_BUFF_SS, SC_EP16_2_BUFF_SC, SC_EP16_2_BUFF_AC buff, thanks to @aleos89 !
** Not removed on change map
** Not removed on log out
** Not removed by dispell/clearance/Vanishing Buster
** Removed on death
* SQL synchronisation
Thanks to @Badarosk0, @attackjom, @admkakaroto, @JohnnyPlayy, @Angelic234, @teededung for the reviews/contributions !
* Adds the Advanced Potion Merchant who sells the Red, Yellow, White, and Blue Syrups for Concentrated Red Syrup Potion, Concentrated Blue Syrup Potion, and Concentrated Golden Syrup Potion creation.
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
* Fixes#5354.
* Fixes invalid or wrong timers getting deleted from skill_keep_using when using a second time.
* Adds skill casting checks to prevent timers from being created if the player can't cast the skill to begin with.
Thanks to @Masao87 and @admkakaroto!
* Fixes a potential crash with the mail system
* Fixes#5298.
* Resolves a potential crash with the mail system if someone is modifying packets.
* Adds an extra item verification check.
Thanks to @blipblopblip!
* Fixes#3503.
* Adjusts weight damage modifier 7%.
* Adjusts size damage modifier for small targets to 115%.
* Adjusts size damage modifier for large targets to 85%.
* Adjusts size damage modifier to only apply for players.
Thanks to @mrjnumber1!
* Fixes#5330.
* Lowers the job level from 70 to 60.
* Includes SQL file to revert any characters that may have gone beyond job level 60.
Thanks to @mazvi, @attackjom, and @Balferian!
* Fixes the Concentrated Red, Blue, and Golden Syrup Potions to only require 5 Empty Potion Bottles instead of 10.
* Fixes Golden X to return 1 damage instead of 0 on reflect.
Thanks to @Badarosk0 and Sigma!
* 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!
* updates 15.1 using aegis files
- Police quests
- Wandering Bard Quest
- gm npc
- added doom Prayers spawn event on verus04
- Corrected To Phantasmagorika! quest
- Corrected Vestige quest
- Added Reward Coordinator and Contribution Certificate Vending Machine npcs (the daily quests coming with them are officially disabled but the rewards npcs remain)
- Added the missing kafra on verus04
- Corrected the main quest
* updates 15.2
- Corrected misc npcs
- Corrected Krotzel's Request quest
- Corrected memory quest
* Corrected the item DB and quest DB
Added a sql file to replace the old player variables
* Fixes#5312.
* Fixes general item production skills not consuming catalyst items with high IDs.
* Adjusts item searching functions to use t_itemid instead of uint32.
* Adjusts script command makeitem2 to use t_itemid isntead of uint32.
* Fixes output and lookups for atcommands idsearch, autolootitem, iteminfo, whodrops, makeegg, and itemlist.
* Fixes signed vs unsigned checks.
* Fixes MVP logging.
* Fixes item drop ratio storage.
* Fixes CSV2YAML conversion checks.
Thanks to @idk-whoami and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Fixes#5288.
* Follow up to 1c6270f.
* Changes NPC that have waiting rooms to not be disabled, but be hidden.
Thanks to @Forte22!
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
* Fixes#1679 and fixes#3176.
* Converts the skill to a unit-based skill.
* Damage is now properly calculated based on the caster's ATK.
* Damage is considered magic with the element forced to Neutral.
* Now ignores target's DEF and Land Protector.
* Kaupe and Tumbling now can avoid the first attack only.
* Removed old bits of the skill.
Thanks to @poporing, @mrjnumber1, @Daegaladh, @malufett, and @exneval!
* Fixes#5061.
* Resolves the client crashing when attempting to retrieve all attachments from mail.
* Mail should not be marked as read after retrieving the attachments from them.
* Converts packets to new struct format.
Thanks to @admkakaroto and @attackjom!
* "+x% magic damage reduction from enemy with defense element e"
* Corrected random option script: RDMOPT_MDAMAGE_PROPERTY_element_USER
* Fixes#1706: Fire Golem Card (27029)
* Corrected Books of Apocalypse (1557) script
* Applied bMagicSubDefEle bonus to some items
* Fixes#1893.
* Implements NPC_HELLBURNING skill for Horror Toy Factory Instance.
* Enables NPC_HELLBURNING for HIDDEN_MOB7.
Thanks to @Atemo and @exneval!
* Fixes#2156.
* Adjusts the two script commands to take into account the type of skill being used.
* Adjusts documentation to reflect.
* Verify skill and skill level.
Thanks to @Yuchinin and @Lemongrass3110!
Resolves some remaining issues with NPC secure timeout.
Fixed scripts freezing on close
Idle timer is reseted on closing
Fixed npc_idle_tick being set again on closing
Co-authored-by: Daegaladh <daegaladh@shadowgames.es>
* 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!
* Fixes#2671.
* Restructured battle_calc_damage to utilize battle_status_block_damage for statuses that block damage.
* Renewal Safety Wall has a hit count tracker, same as pre-renewal.
* Updated renewal Safety Wall HP formula.
* Safety Wall will now check for Land Protector before attempting to consume a Blue Gemstone.
* Moves Kyrie and other similar type status changes that may or may not block damage to the top of the list of priority.
* Adds a short delay to Parrying for the next attack when damage is successfully blocked.
* Fixes Millennium Shields remaining shields getting destroyed when damage was over 1000.
* Fixes Millennium Shields disappearing on map change.
Thanks to @Paoly28 and @mrjnumber1, @cydh, @ecdarreola, @InusualZ, and @Badarosk0!
* Fixes#5248.
* Commented out LUK bonus.
* Now reduces variable cast time by 30%.
* ASPD and cast reduction bonus now lasts for 5 seconds.
Thanks to @llchrisll!
* Updates EXP table to 200/70
* Always store exp as uint64 no matter the client date.
* Adjusts guild exp to uint64.
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Fixes#3622 and fixes#5220.
* Monsters now properly escape from the attacker.
* NPC_RUN should determine distance based on skill level > 1.
* Resolves Sphere Mine when summoned by an Alchemist not escaping.
Thanks to @Balferian, @Indigo000, and @Daegaladh!
* Players are no longer detached from the script.
* Players can't walk, attack, use items, or use skills while progress bar is active.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
* Fixes#4529.
* Adds support for applying groups and titles to non-player objects.
* Expands script command setunitdata and getunitdata to support group ID.
* Adds script commands setunittitle and getunittitle.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Fixes#5032.
* Soul Reaper souls will now persist relogs.
* Removed the soul_timer as the timer data is stored to the status change.
Thanks to @laziem and @Tokeiburu!
* Fixes#3268.
* Adds more safety checks for possible nullptr skill_unit_group data.
* Adjusts order of failure checks to speed up operations.
Thanks to @uddevil and @ecdarreola!
* Fixes#5110.
* Fixes a potential map server crash when non-player objects attempt to use Chain Lightning, Tetra Vortex, or Flash Combo and are kill during duration.
Thanks to @Hope8888!
* Added support to trigger 'OnTouch'/'OnTouch_' npc label when a npc is moving through npcwalkto script command.
* Fixed#502
Thanks to @aleos89, @wbgneto !
* 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
* The cards with specific 'compound on accessory side' can now only be inserted on accessory equipment using the same side.
* Fixed#4977
Thanks to @attackjom
Corrected MM_SARAH monster mode (added MD_MVP and MD_STATUS_IMMUNE to the mode)
Changed warpparty to mapwarp command in the instance script for now
Fixed#4323Fixed#5098
Thanks to @Badarosk0 and @Everade
* Adds support for instance destruction button
* Adds an extra parameter in the instance database to toggle if an instance is destroy-able or not.
* Adds support for being notified about character and Clan instances on login.
* Fixes an issue with the instance window displaying wrong instance information on an instance map when multiples instances were running for the character.
Co-authored-by: atemo <capucrath@gmail.com>
* 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!
* Fixes#4987.
* Ensemble skills apply SC_ENSEMBLEFATIGUE which should disable skill casting and reduces movement speed/ASPD by 30%.
* Applies SC_ENSEMBLEFATIGUE to both the caster and partner.
Thanks to @LordWhiplash!
* Fixes#4930.
* Fixes Mix Cooking quantity calculation to be based off the difference of the good and bad stat.
* Fixes Mix Cooking failure to create a random amount of failure material that's independent of the initial quantity calculation.
* Fixes Create Bomb to behave similar to Mix Cooking without the failure materials.
* Fixes Special Pharmacy quantity calculation to be based off of the difference of the good and bad stat along with a base quantity depending on the level used.
Thanks to @mrjnumber1 and @SeravySensei!
* 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!
* Fixes#5065.
* Removes Blue Gemstone cost.
* No longer has a lingering hitbox.
* Deals full damage as one bundle of hits instead of pulsing individual hits.
* Can overlap with itself.
Thanks to @flamefury!
* Animations for Angelus, Impositio Manus, Suffragium, Magnificat, and Gloria no longer play for party members who are within skill range but outside of visible viewing range.
* Fixes AoE size of Magnificat and Impositio Manus.
* Fixes SP consumption of Impositio Manus.
* Fixes the splash range for Angelus and Gloria.
Thanks to @flamefury!
* Fixed an issue when several characters with the same ip are in the same guild and ip check is enabled, the character offline could receive the reward instead of the character online
Fixed#4833
Thanks to @mazvi !
* Initial implementation of the costume exchange NPC in malangdo
* Initial implementation of the costume enchant npc 'Aver De Dosh'
* Initial implementation of the costume enchant npc 'Lace La Zard'
* Added the groups box IG_Enchant_Stone_Box (number 5 to 15)
* Updated the aegis item name of the costumes
* Corrected the equipment location of some costumes
Thanks to @RagnaWay, @peney7 and @teededung for the review !
* Centralized the Summoner Power skill tree checks into one function.
* Fixes a couple passive skill bonuses not being recalculated when reaching 20 investment points.
Thanks to @exneval and @Balferian!
* Fixes#4801.
* Fixes Bard and Dancer not gaining the opposite class's skills.
* Cleans up check to not be reliant on sketchy index checks.
Thanks to @ihernandeza, @gidzdlcrz, and @Lemongrass3110!
Fixes#4646
Switches AppVeyor build worker image to Visual Studio 2015.
Fixed a bug with serv.bat, since crashes would result in a negative number sometimes, the crash would not be detected and would not be reported.
Thanks to @aleos89
Adds an upgrade script to change all existing entries to the respective gender in their account.
Cleanup of a few strange design decisions in the character server code.
Removed SEX_ACCOUNT.
Thanks to @Daegaladh for his help.
Slaves sometimes ended up with weird status calculations or insane speed, because their status got recalculated before their master and this way their speed could not be copied from the master.
Thanks to @Daegaladh
* Fixes#5005.
* Whikebain's Black Tail should not apply curse.
Thanks to @reunite-ro and @LordWhiplash!
Co-authored-by: LordWhiplash <LordWhiplash@users.noreply.github.com>
* Follow up to b6b6b13.
* Fixes#4941.
* Fixes cases of monsters getting stuck when they lose sight of their target item that is looted by another monster.
Thanks to @iraciz and @SeravySensei!
* Follow up to bfb6972.
* Adds a new return array for script command inventorylist: `@inventorylist_tradable`
* Adjusts script command countitem to not count rental items.
* 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 SU_POWEROFSEA max HP and max SP bonus when investing more than 20 skill points.
* Fixes SU_SPIRITOFLAND and SU_CN_POWDERING combo's perfect dodge bonus.
Thanks to @LordWhiplash, @qwerty7vp, and @Balferian!
* Fixes#4864.
* Adjusts damage formula to official.
* Adjusts damage type from Misc to Magic.
* Skill now has a 50% success chance to damage the target.
* Removes Flee and Defense Card ignore flags.
Thanks to @Masao87 and @mrjnumber1!
* Fixes#4964.
* Fixes Blood Sucker not being able to be recast on another map if caster dies while active.
* Minor cleanups and added safety checks.
Thanks to @Everade!
* Fixes#4953.
* Remove Summoner Hide when changing maps to avoid equipment from being stripped due to the inability to change equipment while the status is active.
Thanks to @Everade!
* When reloading the skill_db clear out Abra, Magic Mushroom, and Reading Spell Book databases as well.
* Fixes NC_SHAPESHIFT and NC_REPAIR checking an invalid ItemCost slot based on the old implementation.
* Updated a lot of references to the old skill databases.
* Partial revert of ea8da71.
* Adjusts the battle config for the area size back to 14 cells.
* Adjusts the Bard/Dancer songs to be 15 cells rather than attempting to use AREA_SIZE.
* 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 Acid Demonstration to use the target's VIT and not casters.
* Fixes Fire Expansion - Acid to behave like Acid Demonstration.
* Fixes Crazy Weed not doing 2 damage attacks.
* Crazy Weed is now a long ranged physical attack.
* Adjusts Hell's Plant behavior to no longer be removed on map change.
* Adds missing status icon for Hell's Plant.
* Fixes Hell's Plant attack formula when learning Summon Flora.
* Hell's Plant now uses the caster's weapon as the element.
* Hell's Plant no longer ignores the target's DEF and Element.
* Fixes Hell's Plant removing Thorns Trap.
* Removes fixed cast time from Xeno Slasher.
* Adds new Genetic Pharmacy potions (items are disabled until int32 item ID support).
* Fixes Spore Explosion's splash attack doing the same damage as the initial.
Thanks to @teededung, @Badarosk0, @cahya1992, and @OptimusM!
* Adds skill placeholder for Super Novice Expanded in the pre-renewal skill database.
* Prevents undefined skill errors for pc_checkskill.
Thanks to @gidzdlcrz!
* Fixes#4856.
* Follow up to d1f8c8c and 652d77e.
* A missing break from an old commit along with a refactor in code resulted in a "valid" fall through and breaking status change timers.
* Also fixes a potential crash with Book of Creating Star.
Thanks to @OptimusM, @technoken, @sader1992, @mazvi, and @akiyamamio16 for helping debug!
* Fixes#4808.
* Weapon Crush now uses SC_WEAPONBLOCK_ON to track the target instead of SC_COMBO.
* Also fixes Quick Draw Shot target selection.
* Quick Draw Shot and Weapon Blocking should be considered a combo and not end physical attacks when casting them.
* SC_QD_SHOT_READY will no longer become active if the player has 193+ ASPD.
* SC_QD_SHOT_READY will now end once Quick Draw Shot has been casted.
* Cleans up skill_check_condition_sc_required and removes duplicate code.
Thanks to @wdivet, @LordWhiplash, and @ecdarreola!
* Fixes#4802.
* Adds back AB_EUCHARISTICA, GN_SLINGITEM, and GN_MAKEBOMB.
* Adds back CR_CULTIVATION for renewal.
* Skills are disabled in the skill tree database but gives easy ability to re-enable.
* Fixes an issue with pre-renewal produce database spitting errors when using any production-type skills.
Thanks to @trinitynetworks!
Corrected the following combos
* Shackles + Prisoner's Uniform
* All of Vesper + Memory of Lovers
* Sprint Glove + Sprint Mail + Sprint Shoes + Sprint Ring
Thanks to Jumbo
* Fixes#4812.
* This script event can be replaced with the other various player script events.
* The trigger during equipment changing causes headache across other calculation events in source.
* Removes target SP consumption based on damage dealt by Tiger Cannon.
* This effect was removed in #4256 but accidentally merged back in through #3659.
Thanks to @Badarosk0!
Added missing status change cancel condition, when the player has reached the maximum amount of soul spheres.
Fixed duration display on the client.
Some cleanup of duplicate code.
Thanks to @aleos89
Adds missing checks for Super Novice Expanded, Star Emperor and Soul Reaper.
Enables bodystyles saving by default, since all sprites have been released officially long enough.
Adjusted the mismatching default value for max_body_style.
Fixes#4787
Thanks to @reunite-ro
* Adds Star Emperor and Soul Reaper restriction in WoE:TE
* Adds Rebellion, Summoner, Star Emperor, and Soul Reaper statuses to the status_disabled database.
Thanks to @reunite-ro!
* Fixes#4770.
* Adds back missing case for pre-renewal damage calculation.
* Adds back long ranged check for Neutral Barrier in pre-renewal.
Thanks to @danieljorge17!
Walking NPCs are not supported on official servers.
Therefore we have to respawn the NPC units as player units before they start walking.
After they stop walking we respawn them as NPC units again so that they show the bubbles for talking to them again.
Since player sprites have a small aura during spawning hardcoded in the client, this aura will be shown each time they begin walking now.
Fixes#4505
Thanks to @RagnaWay and @aleos89
* 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!
* Fixes#4743.
* Resolves an issue with power skills and default data defined in the skill's array.
* Adds back linear determination and documentation for it.
* Adds a check in the converter to not print out values of 0 for levels 6 and higher for skill unit layout and skill unit range.
* Removes these values from the skill database.
Thanks to @Surefirer and @teededung!
* Changes TimeLimit format to be human readable.
* Converts title to string.
* Converts objectives and drop items to vectors.
* General clean ups and optimizations.
* Got rid of dummy_quest.
* Added TXT to YAML converter.
Thanks to @Atemo and @Normynator!
Co-authored-by: atemo <capucrath@gmail.com>
* Fixed a bug where the player can't finish the quest if the NPC times out after obtaining the weapon.
*Fixed savepoints for pre-renewal.
*Thanks to @Tydus1
Disabled by default - as on official servers.
Gives a better warning if it is turned on and client side password encryption is enabled and the account cannot be created because of this.
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
1) global_acc_reg_num_table and global_acc_reg_str_table are used in the login server only and their configuration and access is not shared with any other component.
2) The character server does not check for global_acc_reg_str_table and global_acc_reg_str_table, but for acc_reg_str_table and acc_reg_str_table.
* Fixes#4707.
* Follow up to ea8da71.
* Skill now applies long range damage.
* Skill now does 3 hits.
* Target's placement in the AoE does not affect damage; it's all the same for each target.
* Updates strength bonus.
* Reverts Mercenary Brandish Spear to pre-renewal effects.
Thanks to @violent01 and @mrjnumber1!
* 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#4702.
* Skill no longer ignores the target's flee.
* Skill now deals 2 hit when using dagger instead of doubling the damage.
Thanks to @yashimwong!
* Fixed some part in nightmare Biolab scripts
* Updated the normal monsters death count to spawn the 'mini-boss' (100 -> 110) and 'mini-boss' death count to spawn the mvp (10 -> 4)
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!
* The player can interact with a NPC cloaked by cloakonnpc command (click, mob event..) but the NPC trigger area is disabled (= the OnTouch* part is disabled).
* The changes last until the player leaves the map, logs out, or the npc option is updated by disablenpc/enablenpc/hideonnpc/hideoffnpc/cloakonnpc/cloakoffnpc commands.
Thanks to @aleos89
* Fixes#4660.
* Resolves an issue with skill database reloading not clearing the previous data first.
* While clearing the YAML cache it will also resize the cache to the previous capacity.
Thanks to @teededung!
* 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!
* Updated Hero Token Exchanger npc to match official npc
* Updated Dimensional Travel Quest to match official script
* Dimensional Travel Quest now uses the official variable for future reference and to fill the missing sequence
* Moved the npcs from dimensional travel quest to separate custom npcs from official conversion of npcs
* Added official system to spawn the mini-boss on moro_vol map
* Added Flaming Basin and Doom Prayers quests
* Updated the aegis name and english name of the items from moro_vol map
* Fixed hardcoded castle count
* Adjusted to new header format and added changelog
* Fixed rewards for multiple characters in a guild
* Fixed#4619
* Fixed#4636
Thanks to @mazvi
* Cleans up Summoner dual-cast attacks Bite, Silvervine Stem Spear, Scar of Tarou, and Picky Peck so that they behave like Professor's Double Casting.
* Adjusts success formula.
Thanks to @Rytech2!
* Fixes#4656.
* Adds an atcommand option for reloading the attendance database.
* Adds missing headers for attendance database.
* Adds missing reload options in the atcommand configuration.
Thanks to @lelouch22's suggestion!
* Fixes#4644.
* Initialize all battleground queues at startup to reduce overhead of creation/deletion during live server.
* Removes lots of duplicate code between team checks.
* Adds missing checks for script commands bg_leave and bg_desert to only warp players out using the Battleground Queue System.
* Adds documentation for script commands bg_leave and bg_desert to state players will be warped out after when using the Battleground Queue System.
* Optimizes join logic to add new players to the end of the queue rather than the front.
* Cleans up the client messages so certain responses are cleared when they need to be.
Thanks to @Balferian and @Lemongrass3110!
Developers can get up and running quickly with a Dockerized development environment that installs all dependencies needed to run and develop on rAthena.
See [Docker documentation](https://github.com/rathena/rathena/blob/master/tools/docker/README.md) for details
<!-- NOTE: Anything within these brackets will be hidden on the preview of the Issue. -->
* **rAthena Hash**:
@@ -21,7 +30,7 @@ How to get your GitHub Hash:
* Result: <!-- Describe the issue that you experienced in detail. -->
* Expected Result: <!-- Describe what you would expect to happen in detail. -->
* How to Reproduce: <!-- If you have not stated in the description of the result already, please give us a short guide how we can reproduce your issue. -->
* Official Information:<!-- If possible, provide information from official servers (kRO or other sources) which prove that the result is wrong. Please take into account that iRO (especially iRO Wiki) is not always the same as kRO. -->
* Official Information:<!-- If possible, provide information from official servers (kRO or other sources) which prove that the result is wrong. Please take into account that iRO (especially iRO Wiki) is not always the same as kRO. -->
<!-- * _NOTE: Make sure you quote ``` `@atcommands` ``` just like this so that you do not tag uninvolved GitHub users!_ -->
// NOTE: This allows you to configure different settings for homunculus, separated from normal idle timer and 'idletime_option'.
// It will only apply to homunculus-only kills and it will not affect normal autoloot and party share options.
idletime_hom_option: 0x1F
// The rate at which homunculus gain experience from kills. (Note 2)
// Only applies to renewal mode.
// Official: 10%
homunculus_exp_gain: 10
// The hunger rate, less than or equal to, at which a homunculus' hunger delay changes. (Note 2)
// See 'homunculus_starving_delay' for the delay value.
// Set to 0 to disable.
// Official: 10
homunculus_starving_rate: 10
// Homunculi normally lose hunger every 60 seconds but when the 'homunculus_starving_rate' is met the hunger delay drops to 20 seconds (in milliseconds).
// Should the mobs respawn time have variance applied to it? (Note 3)
// On official servers monsters spawned by the boss_monster command (mostly MVPs) have variance, legacy Athena behavior is that variance is applied for all mobs.
// 0: None
// 1: Boss monsters (official)
// 2: Normal monsters
// 3: All monsters (legacy Athena)
mob_spawn_variance: 1
// Should mobs not spawn within the viewing range of players?
// 0 is disabled, otherwise it is the number of retries before giving up
// and spawning the mob within player-view anyway, unless the max (100) is used,
76: Toutes les compétences sont ajoutées à votre arbre de compétence.
77: Résultat de '%s' (nom: id):
78: %s: %d
78: %s: %u
79: %d résultats sont affichés.
80: Veuillez donner le nom/id du montre.
81: Votre niveau de GM ne vous autorise pas à effectuer cette action sur le Joueur spécifié.
@@ -183,7 +183,7 @@
166: Aucun équipement n'a été raffiné.
167: 1 objet raffiné.
168: %d objets raffinés.
169: L'objet (%hu: '%s') ne peut pas s'équiper.
169: L'objet (%u: '%s') ne peut pas s'équiper.
170: L'objet ne peut pas s'équiper.
171: %d - void
//172: You replace previous memo position %d - %s (%d,%d).
@@ -449,7 +449,7 @@
// Homunculus messages
450: Vous possédez déjà un homunculus
//451 free
451: Cash Shop is disabled on this map.
// Message System
460: Entrez une langue (usage: @langtype <langue>).
@@ -512,7 +512,7 @@
537: Personnage '%s' (compte: %d) essaie d'utiliser un bot (il essaie de détecter un faux mob).
// Trade Spoof Messages
538: Hack sur échange: Personnage '%s' (account: %d) essaie d'échanger plus d'Objets qu'il ne possède.
539: Ce Joueur a %d d'une sorte d'Objet (id: %hu), et tente d'en échanger %d.
539: Ce Joueur a %d d'une sorte d'Objet (id: %u), et tente d'en échanger %d.
540: Joueur définitivement bloqué.
// Rare Items Drop/Steal announce
541: '%s' obtient de %s l'Objet %s (chance: %0.02f%%)
@@ -1055,9 +1055,9 @@
1189: Objet trouvable.
1190: Vous ramasser déjà automatiquement cet Objet.
1191: Votre liste d'Objet à ramasser est pleine. Supprimez des Objets avec @autolootid -<nom_ou_ID_Objet>.
1192: Ramassage automatique de: '%s'/'%s' {%hu}
1192: Ramassage automatique de: '%s'/'%s' {%u}
1193: Actuellement vous ne ramassez pas automatiquement cet Objet.
1194: Onjet supprimé: '%s'/'%s' {%hu} de votre liste de 'autolootitem'.
1194: Onjet supprimé: '%s'/'%s' {%u} de votre liste de 'autolootitem'.
1195: Vous pouvez avoir %d Objets dans votre liste d'Objets ramassés automatiquement avec 'autolootitem'.
1196: Pour ajouter un Objet à votre liste, utilisez "@alootid +<nom_ou_ID_Objet>". Pour supprimer un Objet de la liste, utilisez "@alootid -<nom_ou_ID_Objet>".
1197: "@alootid reset" videra votre liste d'Objets ramassés automatiquement avec 'autolootitem'.
@@ -1147,12 +1147,12 @@
1239: Entrez un nom de monstre/ID (usage: @mobinfo <nom_du_monstre_ou_ID>).
1240: Monstre MVP: '%s'/'%s'/'%s' (%d)
1241: Monstre: '%s'/'%s'/'%s' (%d)
1242: Lv:%d HP:%d Base EXP:%u Job EXP:%u HIT:%d FLEE:%d
1242: Lv:%d HP:%d Base EXP:%llu Job EXP:%llu HIT:%d FLEE:%d
1194: Предмет: '%s'/'%s' {%hu} удалён из списка автоматической сборки предметов.
1194: Предмет: '%s'/'%s' {%u} удалён из списка автоматической сборки предметов.
1195: Вы можете иметь %d предметов в списке автоматической сборки предметов.
1196: Чтобы добавить предмет в список используйте "@alootid +<ID/название предмета>". Чтобы удалить предмет из списка: "@alootid -<ID/название предмета>".
75: En estos momentos no hay ninguna guerra de clanes.
76: Se han añadido todas las habilidades a tu árbol de habilidades.
77: Estos son los resultados de la búsqueda de '%s' (nombre: ID):
78: %s: %d
78: %s: %u
79: Total de resultados: %d
80: Debes introducir el nombre del monstruo o su ID.
81: Tu nivel de GM no te permite utilizar este comando en ese jugador.
@@ -179,7 +179,7 @@
166: No se ha refinado ningún objeto.
167: Se ha refinado 1 objeto.
168: Se han refinado %d objetos.
169: El objeto (%hu: '%s') no puede ser equipado.
169: El objeto (%u: '%s') no puede ser equipado.
170: No puedes equiparte ese objeto.
171: %d - vacío
//172: Has reemplazado tu lugar memorizado %d - %s (%d,%d).
@@ -458,7 +458,7 @@
// Mensajes de homúnculos
450: Ya tienes un homúnculo.
//451 free
451: Cash Shop is disabled on this map.
// Sistema de mensajería
460: Introduce un idioma válido (instrucciones: @langtype <idioma>)
@@ -545,7 +545,7 @@
// Mensajes del sistemade intercambio de objetos
538: Se ha detectado una irregularidad en el intercambio de objetos del personaje '%s' (cuenta: %d), está intentando intercambiar más de lo que tiene.
539: Ese jugador tiene %d unidades del objeto (id: %hu), pero ha intentado intercambiar %d.
539: Ese jugador tiene %d unidades del objeto (id: %u), pero ha intentado intercambiar %d.
540: Ese jugador ha sido bloqueado.
// Anuncios de consecución de objetos poco comunes y robos de objetos.
@@ -733,19 +733,19 @@
707: Serás VIP hasta: %s
708: El jugador será VIP hasta: %s
709: El objeto %hu ha sido eliminado de tu inventario.
710: El objeto %hu ha sido eliminado de tu carro.
711: El objeto %hu ha sido eliminado de tu almacén.
709: El objeto %u ha sido eliminado de tu inventario.
710: El objeto %u ha sido eliminado de tu carro.
711: El objeto %u ha sido eliminado de tu almacén.
// Item shop
712: No tienes suficientes %s (%hu).
712: No tienes suficientes %s (%u).
713: No tienes suficientes '%s'.
714: Listado de la tienda de objetos: %s (%hu)
714: Listado de la tienda de objetos: %s (%u)
715: Listado de puntos de la tienda: '%s'
716: Tu '%s' ahora es: %d
// MVP EXP reward message
717: ¡Enhorabuena! ¡Eres todo un MVP! ¡¡Puntos de experiencia obtenidos: %u!!
717: ¡Enhorabuena! ¡Eres todo un MVP! ¡¡Puntos de experiencia obtenidos: %llu!!
// @showrate
718: La información de ratio personal no se mostrará.
@@ -1194,9 +1194,9 @@
1189: Ese objeto no existe.
1190: Ese objeto ya estaba programado para ser recogido automáticamente.
1191: Tu lista de recogida de objetos de forma automática está llena. Elimina alguno de esos objetos con @autolootid <nombre/ID del objeto>.
1192: Recogiendo: '%s'/'%s' {%hu}
1192: Recogiendo: '%s'/'%s' {%u}
1193: No estás recogiendo ese objeto.
1194: Has eliminado'%s'/'%s' {%hu} de tu lista de recogida de objetos.
1194: Has eliminado'%s'/'%s' {%u} de tu lista de recogida de objetos.
1195: Puedes almacenar %d objetos en tu lista de recogida de objetos.
1196: Para añadir un nuevo objeto a la lista utiliza @alootid +<nombre/ID del objeto>. Para eliminar un objeto utiliza @alootid -<nombre/ID del objeto>.
1197: "@alootid reset" reiniciará tu lista de recogida de objetos.
@@ -1286,12 +1286,12 @@
1239: Introduce el nombre/ID de un monstruo (instrucciones: @mobinfo <nombre/ID del monstruo>).
1240: Monstruo MVP: '%s'/'%s'/'%s' (%d)
1241: Monstruo: '%s'/'%s'/'%s' (%d)
1242: Nv:%d HP:%d EXP de base:%u EXP de oficio:%u HIT:%d FLEE:%d
1242: Nv:%d HP:%d EXP de base:%llu EXP de oficio:%llu HIT:%d FLEE:%d
# AegisName Server name to reference the elemental in scripts and lookups, should use no spaces.
# Name Name in English.
# Level Level.
# Hp Additional HP. Base HP depends on caster HP. (Default: 0)
# Sp Additional SP. Base SP depends on caster SP. (Default: 1)
# Attack Additional minimum attack. Base attack depends on caster attack. (Default: 0)
# Attack2 Additional maximum attack. Base attack depends on caster attack. (Default: 0)
# Defense Physical defense of the elemental, reduces melee and ranged physical attack/skill damage. Base defense depends on the caster defense. (Default: 0)
# MagicDefense Magic defense of the elemental, reduces magical skill damage. Base magic defense depends on the caster magic defense. (Default: 0)
# Str Strength which affects attack. (Default: 0)
# Agi Agility which affects flee. (Default: 0)
# Vit Vitality which affects defense. (Default: 0)
# Int Intelligence which affects magic attack. (Default: 0)
# Dex Dexterity which affects hit rate. (Default: 0)
# AegisName Server name to reference the elemental in scripts and lookups, should use no spaces.
# Name Name in English.
# Level Level.
# Hp Additional HP. Base HP depends on caster HP. (Default: 0)
# Sp Additional SP. Base SP depends on caster SP. (Default: 1)
# Attack Additional minimum attack. Base attack depends on caster attack. (Default: 0)
# Attack2 Additional maximum attack. Base attack depend on caster attack. (Default: 0)
# Defense Physical defense of the elemental, reduces melee and ranged physical attack/skill damage. Base defense depends on the caster defense. (Default: 0)
# MagicDefense Magic defense of the elemental, reduces magical skill damage. Base magic defense depends on the caster magic defense. (Default: 0)
# Str Strength which affects attack. (Default: 0)
# Agi Agility which affects flee. (Default: 0)
# Vit Vitality which affects defense. (Default: 0)
# Int Intelligence which affects magic attack. (Default: 0)
# Dex Dexterity which affects hit rate. (Default: 0)
# Slots: Slot in which an Item Random Option is guaranteed to be applied. Max of MAX_ITEM_RDM_OPT.
# - Slot Slot number.
# Options: List of possible Item Random Options for slot.
# - Option Item Random Option constant.
# MinValue Minimum value. (Default: 0)
# MaxValue Maximum value. (Default: 0)
# Param Parameter value. (Default: 0)
# Chance Chance applied specifically to this Item Random Option (1 = 0.01%, 10000 = 100%). (Default: 0)
# MaxRandom Maximum amount of random options applied. These options are not guaranteed to be applied. Max of (MAX_ITEM_RDM_OPT - Total 'Slots'). (Default: 0)
# Random: List of possible Item Random Options for remaining slots. (Optional)
# - Option Item Random Option constant.
# MinValue Minimum value. (Default: 0)
# MaxValue Maximum value. (Default: 0)
# Param Parameter value. (Default: 0)
# Chance Chance applied specifically to this Item Random Option (1 = 0.01%, 10000 = 100%). (Default: 0)
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.