870 Commits

Author SHA1 Message Date
Aleos
5647c875d6
Adds support for sharing battle-type Achievements (#5021)
* 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!
2020-06-12 13:02:50 -04:00
Lemongrass3110
d87ac21986
Added support for skill scale display (#5041)
Fixes #4530

Thanks to @Balferian
2020-06-04 19:53:19 +02:00
Lemongrass3110
45cd5808b7
Initial support for newer packet versions (#4944)
Basic support for packets up to April 2020
Changing the default packet version to 2020-04-01

Thanks to everyone involved!
2020-06-03 16:35:10 +02:00
Aleos
14c388b401
Resolves some Battleground issues (#4725)
* 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>
2020-05-25 12:39:36 -04:00
Atemo
b8ee97b6a1
Added rental_item_novalue config (#3749)
* Added a config to always sell the rental items to NPC for 0

Thanks to @Lemongrass3110, @cydh, @aleos89, @Daegaladh for the review !
2020-05-21 21:13:45 +02:00
Aleos
18b642c174
Skill Database cleanups (#4902)
* 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.
2020-05-19 15:32:57 -04:00
Aleos
83fc3e270a
Adjusts area size config back to 14 cells (#4967)
* 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.
2020-05-17 19:47:40 -04:00
Daegaladh
ca56c060cf
Added independent idle time and settings for homunculus share (#4761)
* Follow up to 921b3e2c3e9eae36cbf2ca35bcede6e0d73ba074
2020-04-27 20:21:22 +02:00
Lemongrass3110
f79cac8509
Fixed bodystyle for unsupported jobs (#4792)
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
2020-04-13 18:38:49 +02:00
victorgawk
044acebd75
Added config option for legacy NPC EMOTION behavior (#4728)
Co-authored-by: Victor Ferreira <victor.ferreira@esig.com.br>
2020-04-02 11:04:07 +02:00
Lemongrass3110
8ba918123e
Cleanup for the new_account feature (#4738)
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>
2020-03-27 13:40:54 +01:00
Lemongrass3110
0e826261a6 Cleaned up some misleading comments
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.
2020-03-26 21:40:42 +01:00
Aleos
652d77eb02
Job Improvement Project - Genetic (#3284)
* Fixes #2571.
* Updates Homunculus skills from kRO maintenance: http://ro.gnjoy.com/news/update/View.asp?seq=218&curpage=1
* Updates Genetic skills from kRO maintenance: http://ro.gnjoy.com/news/update/View.asp?seq=246&curpage=1
Thanks to @Tokeiburu, @Badarosk0, @Balferian, and @Haydrich!
2020-03-25 13:26:26 -04:00
Atemo
73fe0d26b7
Added setquest, erasequest, completequest, checkquest atcommand (#4692)
@ setquest : self explaining
@ erasequest : self explaining
@ completequest : give and complete the quest
@ checkquest : display the quest status HAVEQUEST, HUNTING, PLAYTIME
2020-03-18 19:14:15 +01:00
San
58e82dc149
Adds config for Land Protector Behavior (#4675)
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!
2020-03-11 18:29:58 -04:00
Aleos
ea8da71cdd
Rebalancing of 1st/2nd/Transcendent class skills (#4072)
* Fixes #3715.
* kRO changelog: http://ro.gnjoy.com/news/notice/View.asp?seq=7040
* Refactored size_fix database to YAML.
Thanks to @flamefury for his translations!
Thanks to @Angelic234, @mrjnumber1, @Badarosk0, @OptimusM, @attackjom, @Playtester, Melvo, @cydh, @cahya1992, Sigma, @whupdo, @teededung, @ecdarreola, @hotspicy945, @RagnaWay, @sader1992 for bug testing!
2020-03-06 10:57:19 -05:00
Aleos
97372ff423
Adds reload attendance database atcommand (#4657)
* 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!
2020-02-23 17:10:17 -05:00
Aleos
2931c00bd4
Implemented the Battleground Queue System (#3995)
* 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!
2020-02-12 08:26:59 -05:00
gamingmagic
e2a1bb3f0c Fixed sitting issue for devoted players (#4538)
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>
2020-01-25 13:57:28 +01:00
Daegaladh
921b3e2c3e
Added conf option for homunculus idle no share (#4548)
* Added conf option to make characters stop receiving exp/drop from homunculi when they are idle
2020-01-22 18:55:59 +01:00
Lemongrass3110
e72c7360cf
Added int64 support to the script engine (#4522)
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.
2020-01-13 14:44:48 +01:00
Aleos
3142863a13
Cleaned up Storage Database documentation (#4521)
* Adjusted documentation to match standard.
* Removed double quote from Table as there are no special characters used for these.
* Added license to import file.
2020-01-13 08:12:25 -05:00
Daegaladh
78a02330b2
Follow up to e27aa8b2d82620aa461291b293e00afb7c79e0cb (#4509)
* Additional configs for boss idle AI
2020-01-11 15:14:33 +01:00
Daegaladh
e27aa8b2d8
Additional configs for mobs idle AI (#4503)
* 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>
2020-01-03 00:20:50 +01:00
Lemongrass3110
64b5c3082b
Migrated atcommand aliases and help to YAML (#4487)
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>
2019-12-21 19:19:19 +01:00
Jittapan Pluemsumran
3a7b832906
Threshold for blacksmith refine fame points (#4409)
* Made refine threshold for giving Blacksmith ranking point configurable. Fixes #4408
2019-12-21 16:45:00 +07:00
Stolao
7f6f241a12 Added Conf setting to Enable mob-warping when standing on Dimensional Door (#4472) 2019-12-12 11:03:03 -05:00
Kisuka
3c78691d2d Removed jAthena 1082 legacy code regarding castle defense rate. (#4400)
Fixes #4399
2019-10-09 17:49:04 +02:00
Aleos
78b2f10964
Corrected Fame Points for level 3 weapons (#4354)
* Fixes #4346.
* Level 3 forged weapons should give 1,000 fame points instead of 10,000.
Thanks to @Indigo000!
2019-09-20 10:50:16 -04:00
Jittapan Pluemsumran
bc15f5ce14
Dropped ragsrvinfo functionality (#4301) 2019-08-15 19:08:22 +07:00
Aleos
aa63c855c0
Corrected pet bonuses not applying (#4292)
* 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!
2019-08-14 08:56:48 -04:00
Cydh Ramdh
17f32a1756
Fixed CZ_STANDING_RESURRECTION check (#4242)
* Fixed CZ_STANDING_RESURRECTION check
* Player can force to resurrect as long as they have valid Token of Siegfried even in auto respawn maps
* Added command `@resurrect` to resurrect using first matched Token of Siegfried item in inventory clients that don't show Resurrect button
* Set `respawn_tid` to int
2019-07-22 22:27:35 +07:00
Aleos
2ca417b61f
Fixed STR affecting mob damage in pre-renewal (#4228)
* Follow up to fe197bf.
* STR should not affect monster's damage.
* Split battle config between pre-renewal and renewal.
Thanks to @Playtester!
2019-07-16 12:17:11 -04:00
Aleos
06020502b8
Adjusted pet walk speed (#4083)
* Added battle config pet_walk_speed.
* Resolves some pets walking too slow.
2019-04-11 18:49:07 -04:00
Atemo
7dde174c83
setpcblock script command (#4052)
* Added setpcblock and getpcblock script commands.
'setpcblock' command prevents/allows the player from doing the given type of action.
'getpcblock' command return the bit-mask value of the currently enabled block flags.

The available type are:
	PCBLOCK_MOVE
	PCBLOCK_ATTACK
	PCBLOCK_SKILL
	PCBLOCK_USEITEM
	PCBLOCK_CHAT
	PCBLOCK_IMMUNE
	PCBLOCK_SITSTAND
	PCBLOCK_COMMANDS
	PCBLOCK_NPCCLICK
	PCBLOCK_EMOTION
	PCBLOCK_ALL

Thanks to @sigtus, @secretdataz, @Lemongrass3110 and @aleos89 for the help and reviews !
Credit to https://github.com/HerculesWS/Hercules/pull/842 for the idea.
2019-03-31 18:28:55 +02:00
Sader Fawall
c2abd6d1fe Implementing atcommand_disable_npc config (#4043) 2019-03-29 08:32:07 +01:00
Jittapan Pluemsumran
ac558d7c1e
Initial implementation of pet evolution system + Pet DB conversion to YAML (#3544)
* 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
2019-03-26 22:51:57 +07:00
Atemo
e4b41ef7e0
Revert "Added pcblock and checkpcblock script commands. (#3951)" (#4048)
This reverts commit 3e0d3d2fe6b244099d3987b7a21260d6b070512e.
2019-03-26 16:41:14 +01:00
Atemo
3e0d3d2fe6 Added pcblock and checkpcblock script commands. (#3951)
* Added getpcblock and setpcblock script commands.
* Added the docs
* Added the message 'This action is currently blocked.' when the player attempts to perform the following blocked actions
* PCBLOCK_USEITEM
* PCBLOCK_SITSTAND
* PCBLOCK_NPCCLICK
* The actions blocked are saved in state.block_action
* Click to the npc returns the WORK_IN_PROGRESS message when PCBLOCK_NPCCLICK is enabled
* Blocked action and reload script.
The player will return to his/her original state after reload script.

Thanks to @aleos89, @Lemongrass3110, @secretdataz
2019-03-26 22:18:59 +07:00
Aleos
78eed02273 Updated the YAML parsing method (#3694)
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!
2019-02-28 22:19:39 +01:00
Aleos
c5a5c54518
Converted remaining C comments (#3927)
* Converted remaining documentation that references .c or .h files.
2019-02-09 15:08:45 -05:00
Kezzo
de70e498dc Add missing unit type documentation (#3870)
Added missing unit type documentation
* Fixes #3869.
* Added missing unit type documentation to all battle config files.
Thanks to @Kezzo!
2019-01-17 10:10:31 -05:00
Daegaladh
93a7a20f68
Fixed @alootid spanish usage message (#3839) 2019-01-06 23:31:15 +01:00
Lemongrass3110
eb2e40c370
Added epoll support on linux (#3798)
Added epoll event dispatching support on linux systems.
You can enable it by adding the configure option --enable-epoll

Credits to Hercules.
2018-12-26 23:58:04 +01:00
Lemongrass3110
818ff109f3
Initial Release of Equipment Switch (#3548)
Thanks to everyone who contributed to this release in any way, be it donations, information or testing.

Merry Christmas :-)
2018-12-24 14:10:29 +01:00
Lemongrass3110
4944491228
Added support for viewpointvalue command (#3754)
Additionally added a script command to update the player's camera.
Added a new atcommand camerainfo for this, which is limited to admins.

Credits to @4144 for finding /setcamera
2018-12-20 19:26:02 +01:00
Lemongrass3110
9183a54a0d
Fixed homunculus auto feed for broken luas (#3758)
Fixes #3318

Thanks to @yoonjunho72, @AzarthMZintos and @admkakaroto
2018-12-17 13:53:37 +01:00
Lemongrass3110
bff89bd70e
Fixed possible string out of bounds in configurations (#3631)
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
2018-11-29 22:56:17 +01:00
Aleos
e8c116246e
Implemented official buy/sell amount restrictions (#3673)
* 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!
2018-11-08 16:44:46 -05:00
Lemongrass3110
caab654fbb
Added login user count colorization (#3651)
Credits to @4144 for his implementation of the feature.
2018-11-05 21:42:25 +01:00