Commit Graph

48 Commits

Author SHA1 Message Date
atemo
0dae6b4251 Merge branch 'master' into feature/lapine_synthesis_and_upgrade 2020-10-05 19:22:50 +02:00
Aleos
35702c62c2 Corrects item group announce flag item ID cap (#5371)
* Fixes #5370.
* Corrects the item group announce flag option being limited to uint16 for the item to display in the broadcast.
Thanks to @OriginRO!
2020-09-15 11:08:07 -04:00
aleos
93cfc55118 Converts item ID to item name
* Converts the databases to utilize item names instead of their ID.
* Updates header of YAML files.
* Enables some 32bit items.
* Updates item names to match kRO.
* Removes some items that got duplicated during the merge to master.
* Fixes some minor left overs for t_itemid usage.
2020-09-14 14:15:12 -04:00
aleos
a02e829d03 Merge branch 'master' into feature/lapine_synthesis_and_upgrade 2020-09-10 13:41:20 -04:00
Aleos
36195d157d Job Improvement Project - Warlock (#4897)
* Fixes #4706.
* kRO Changelog: http://ro.gnjoy.com/news/update/View.asp?seq=239&curpage=1
Thanks to @LordWhiplash,  @Badarosk0, Sigma, @Balferian, @tumemmac, @teededung, @attackjom, @Felleonel and @mrjnumber1!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-08-08 12:23:29 -04:00
Vincent Stumpf
3776bfbaa3 Support itemids up to ~2 billion (#5141)
Co-authored-by: aleos89 <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-08-08 12:06:07 +02:00
Cydh Ramdh
1658f273de Adjust EXP storage to uint64 (#4377)
* 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>
2020-07-28 16:43:46 -04:00
Atemo
5ba29be2a3 Added support for race/size/element/min level/max level quest objectives (#5191)
* Added support for race/size/element/min level/max level quest objectives
* Enabled Butler for the Richards hunting quests (ep16.1) 

Co-authored-by: Aleos <aleos89@users.noreply.github.com>

Thanks to @attackjom, @Balferian !
Took some parts from b67c688e79 (diff-f3653b71c45029581a98314726e4d8f5) thanks to @exneval !
2020-07-20 18:59:50 +02:00
aleos
d13eed6cd8 Merge branch 'master' into feature/lapine_synthesis_and_upgrade 2020-06-19 11:18:13 -04:00
Aleos
3804d7f603 Adds support for instance destruction button (#5073)
* 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>
2020-06-17 14:52:22 -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
Lemongrass3110
6fe0ed5819 Fixed a problem with walking NPCs (#4782)
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
2020-04-09 17:03:37 +02:00
Aleos
06c159c405 Refactored Instances to utilize C++ features (#3163)
* 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!
2020-04-08 12:52:45 -04:00
aleos
4ef7888af9 Merge branch 'master' into feature/lapine_synthesis_and_upgrade 2020-03-27 09:38:37 -04:00
aleos
0021b6d577 Revert "SQL synchronization"
This reverts commit 53761b952a.
2020-03-24 17:49:00 -04:00
rAthenaAPI
53761b952a SQL synchronization 2020-03-24 18:38:07 +01:00
Aleos
412d90048d Implemented Star Emperor and Soul Reaper classes (#4386)
* 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!
2020-03-24 13:37:58 -04:00
Atemo
de80c5aab6 [Suggestion] Implement cloakonnpc/cloakoffnpc (#4688)
* 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
2020-03-11 22:47:23 +01: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
Aleos
dca3797d44 Converted the skill database to YAML (#4531)
* 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>
2020-01-31 14:14:08 -05:00
Atemo
b412c4fcab questinfo requirement update (#4168)
* 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!
2019-10-06 17:15:46 +02:00
Lemongrass3110
df6385fd4a Fixed reply for adding to equip switch (#4384)
Fixes #4031

Thanks to @sctnightcore
2019-10-02 11:26:14 +02:00
Jittapan Pluemsumran
08d160aaac Added multi-hit critical damage display support (#2982)
* Fixed #1788.
* Double Attack and Fear Breeze can now critically strike.
2019-09-17 14:48:29 +07:00
Cydh
10f0ead08f Lapine UI Features
* Features from LapineDdukDdakBox and LapineUpgradeBox
* Added db files: item_synthesis.yml, item_upgrade.yml
* Added script commands: upgradeui, synthesisui
* Supported & tested for clients: 2018-06-20e RagexeRE and 2018-06-21a RagexeRE
* Thanks to: @Lemongrass3110, Divine-pride.net
2019-09-15 23:13:36 +07: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
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
01f61cfa4f Added support for 64bit ticks (#3768)
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.
2018-12-21 00:02:19 +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
bde580fdbd Add drop highlighting effect feature (#3710)
Fixes #3610

Thanks to @Balferian, @admkakaroto and credits to @Asheraf
2018-11-29 22:34:57 +01:00
Lemongrass3110
55acdb9863 Initial release of the guild storage log (#3365)
Thanks to @aleos89 and @Everade
2018-10-10 17:51:49 +02:00
Aleos
d3d8f3c5a7 Implemented official ammo equip behavior (#3438)
* Fixes #1155.
* Added specific checks for weapons when equipping ammo.
* Ammo is removed if the required weapon is removed.
* Added battle configs to disable behavior.
Thanks to @Atemo, @exneval, and @benching!
2018-09-05 10:44:34 -04:00
Aleos
2ab298076c Cleaned up header guard names (#3395)
* Fixes #3385.
* Updated the header guard names to C++ standards.
Thanks to @elfring's suggestion!
2018-08-10 15:57:50 -04:00
Lemongrass3110
95c3aed810 Fixing party death icon in newer clients
Fixes #2356

Thanks to @admkakaroto and @4144
2018-07-23 23:05:18 +02:00
Aleos
b409936f8d Updated max recovery weight to 70% for renewal (#3309)
* Fixes #2622.
* Added a new battle config for renewal.
* Adjusted the battle config to support dropping the recovery weight to 0.
* Added the new weight limit packet.
Thanks to @functor-x and @Lemongrass3110!
2018-07-17 16:18:39 -04:00
Lemongrass3110
a5588dd9ab Initial Release of Attendance Feature (#3297)
Thanks to @secretdataz and @aleos89 for their help.
Thanks to @Haikenz and @admkakaroto for testing.
Thanks to @Daegaladh for his ideas.
2018-07-16 21:39:42 +02:00
Lemongrass3110
fe7c0a78ec Refactored roulette system (#3271)
Fixes #2887 - thanks to @Everade
Fixes #3292 - thanks to @admkakaroto

Added a script command to open the roulette window from server side.
Added support for clients >= 2018-05-16
Fixed losing behavior for roulette
Enabled roulette system by default
Added a server side delay
Added missing sql log enum value 'Y'

Thanks to @Everade, @admkakaroto, @V0rr, @ecdarreola, @Haikenz and everyone else who contributed to this.
2018-07-06 22:39:58 +02:00
Aleos
11b42569fc Synchronized source file headers (#3212)
* Alphabetically sorted includes.
* Updated copyright and license text to match across all files.
* Removed pragma once define in header files in lieu of ifdef guards.
2018-06-20 18:08:30 -04:00
Lemongrass3110
801d3ed942 Moved common, config and mapcache to C++ (#3200)
Dropped BETA_THREAD_TEST and everything around it
Dropped mt19937
Replaced msinttypes with cinttypes
Removed IRC link and updated README name
2018-06-14 21:51:58 +02:00
Aleos
12c01b0b40 Cleaned up item broadcast code (#3117)
* Fixes #2847.
* Removed some unused variables.
Thanks to @anacondaqq!
2018-05-17 18:55:41 -04:00
Lemongrass3110
ce324ad13d Added atcommand for limited sale (#3103)
Removed permission
Added state tracking instead to make sure player can use the atcommand

Thanks to @secretdataz for his idea.
2018-05-08 21:32:52 +02:00
Lemongrass3110
aff70f6482 Added support for homunculus autofeeding (#3007)
* Added support for homunculus autofeeding
This feature is available in 2017-09-20bRagexeRE or later

Credits to @Asheraf in HerculesWS/Hercules#1898
2018-04-04 13:55:51 +07:00
Lemongrass3110
170da17844 Dropped an unused declaration 2018-04-03 10:15:46 +02:00
Lemongrass3110
3a8c8a9da4 Cleaned up whisper code between map-servers (#2763)
Fixes #2760
Fixes #2762

Thanks to @LunarSHINING
2018-01-24 18:33:09 +01:00
Atemo
ea88ea5054 Emoticons constant name (#2527)
This PR change the emoticons constant name to match emoticonlist from client side.
Note: the previous emoticons names are now deprecated.

Additionnally emotion and unitemote scripts commands are being merged together to the new format
-> emotion <emotion number>{,<target>};
Where target use the target Game ID (GID) of the unit (npc, pet, character etc..).

* unitemote is now deprecated.
* Additionnally fixed incorrect variable in quests_brasilis.txt

Thanks to @aleos89 and @Lemongrass3110 !
2017-11-10 18:35:21 +01:00
aleos89
728a29d435 Harmonized include guards
* Follow up to 24b3509 and c4a364b.
* Harmonized the include guards for char-server and map-server header files.
2017-11-07 10:22:03 -05:00
Aleos
c4a364be2c Initial work for map server to C++ (#2565)
* Initial progression of moving the map-server to C++ format.
* Converted all core files to .cpp and header files to .hpp.
* Refactored the refine database parser to utilize native YAML C++.
Thanks to @Jeybla and @lighta for their help!
2017-11-02 17:39:03 -04:00