Commit Graph

155 Commits

Author SHA1 Message Date
Aleos
04cfe17b2b Converted item database to YAML (#4335)
* 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>
2020-10-21 19:02:11 -04:00
Lemongrass3110
be3aee7f74 Update and cleanup of packet definitions (#5443)
Moved changes from the Hercules file to rAthena's intermediate layer where possible.
Updated to the latest Hercules definitions.
Added missing packed attributes.
2020-10-13 20:02:29 +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
229f086b31 Fixes a potential crash with the mail system (#5345)
* 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!
2020-08-21 16:59:34 -04:00
Aleos
5c5c6839a0 Fixes item production with high item IDs (#5315)
* 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>
2020-08-11 10:39:37 -04:00
Lemongrass3110
84223d5e22 Fixed logging out on newer clients (#5302)
Fixes #5215

Thanks to @4144, @mazvi and @attackjom
2020-08-09 21:19:46 +02: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
Lemongrass3110
2d9ef842e4 Added additional idle options (#5284)
Previously no NPC interaction was taken into account.
This will be fixed and enabled by default now.
2020-08-08 12:36:28 +02: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
Aleos
28b1d1142c Fixes RODEX retrieve all button (#5238)
* 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!
2020-08-04 13:27:45 -04:00
Aleos
01afe464bb Fixes attack cursor not showing up in duels (#5259)
* Fixes #5256.
* Fixes the attack cursor not being displayed when players are in a duel.
Thanks to @roSBK!
2020-07-31 14:47:46 -04:00
Aleos
9991b09837 Updates behavior of statuses that reduce damage (#3129)
* 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!
2020-07-31 08:34:04 -04:00
Aleos
1c6270f96a Removes waitingroom check for Maya Purple hackfix (#5269)
* Fixes #3102 and fixes #3645.
* Removes the waitingroom check for the Maya Purple card hackfix.
Thanks to @sader1992 and @Badarosk0!
2020-07-31 07:54:31 -04: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
Daegaladh
2e88b27b9b Fixed secure timeout triggering npc_scriptcont debug messages (#5239) 2020-07-28 19:40:04 +02: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
Lemongrass3110
f9974170c9 Fixed a few possible crashes (#5202)
Fixes #5196

Thanks to @ecdarreola
2020-07-13 12:07:46 +02:00
Aleos
ff38cf70d2 Fixes party name display (#5182)
* Fixes #5179.
* Fixes players who are not in parties sending out invalid data and possibly crashing the server.
2020-07-04 13:54:14 -04:00
Aleos
b13e4f0fbc Adds support for object groups and titles (#5171)
* 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>
2020-07-03 13:25:17 -04:00
Lemongrass3110
02c5b8c8d8 Added and fixed some pet features (#5040)
Fixes #5019

Thanks to @alisonrag
2020-07-03 13:52:15 +02:00
Jittapan Pluemsumran
d38d2b6b71 Guild emblem implementation for late 2019 clients or later (#5144)
Co-authored-by: valhein <35770095+attackjom@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2020-06-30 15:57:03 +07:00
Aleos
cef956d352 Soul Reaper souls now persist relog (#5142)
* 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!
2020-06-29 13:49:01 -04:00
Atemo
0f9dde4e33 OnTouch support when npc is walking (#5134)
* Added support to trigger 'OnTouch'/'OnTouch_' npc label when a npc is moving through npcwalkto script command.
* Fixed #502

Thanks to @aleos89, @wbgneto !
2020-06-26 15:59:39 +02:00
Atemo
940c22a6ee Fixed accessory-card insertion (#5145)
* 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
2020-06-25 19:33:38 +02:00
aleos
4c1955664f Fixes a compile warning
* Follow up to 5ef29be.
* Casts the size of the guild storage log to int16.
2020-06-24 20:40:34 -04:00
Lemongrass3110
5ef29be68e Fixed an issue with guild storage log (#5138)
Fixes #5115

Thanks to @Angelic234 and all others
2020-06-24 22:36:55 +02:00
Lemongrass3110
27cef7bf86 Fixed lucky roulette updating (#5139)
Fixes #5128

Thanks to @Balferian
2020-06-24 08:57:36 +02: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
d929a87d9d Small signedness cleanup 2020-06-15 13:44:13 +02:00
Lemongrass3110
60a2f2fc14 Fixed sending of storages full of equip (#5102)
Fixes #5084

Thanks to @laziem, @Hope8888 and @qwerty7vp
2020-06-15 13:40:09 +02:00
Lemongrass3110
db1277e76b Fixed some invalid packet version checks (#5072)
Fixes #5069

Thanks to @sader1992
2020-06-09 22:41:54 +02:00
Lemongrass3110
79feae3629 Fixed a problem with kafra points in the cashshop
Fixes #5057

Thanks to @mazvi and @Stingor
2020-06-09 16:24:46 +02:00
Lemongrass3110
d87ac21986 Added support for skill scale display (#5041)
Fixes #4530

Thanks to @Balferian
2020-06-04 19:53:19 +02:00
Lemongrass3110
afaee2f01d Fixed some compiler warnings
Follow up to 45cd580

Thanks to @aleos89
2020-06-03 23:28:50 +02:00
Lemongrass3110
e2185b8c7d Fixed an issue with storages
Thanks to @Daegaladh
2020-06-03 23:10:59 +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
SeravySensei
cd0937c468 Fix missing pet egg checks (#5029)
Fixes #5024
2020-05-31 16:11:01 +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
Daegaladh
ca56c060cf Added independent idle time and settings for homunculus share (#4761)
* Follow up to 921b3e2c3e
2020-04-27 20:21:22 +02: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
02e61abbdd Fixes a compile error for older clients (#4776)
* Fixes #4773.
* Resolves a compile error for clients older than 20150513 quest objectives.
Thanks to @Cainho!
2020-04-06 16:05:25 -04:00
Aleos
2f326bf04a Converted Quest Database to YAML (#4064)
* 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>
2020-03-30 13:17:19 -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
80810e24f8 Follow-up de80c5aab6
Fixed a typo in clif_changeoption
2020-03-13 15:21:27 +01: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
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