262 Commits

Author SHA1 Message Date
Aleos
2d97ece2a2
Implements new guild skills (#5192)
* 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.
2020-11-28 17:16:22 -05:00
Lemongrass3110
f37990414f
Cleanup of MVP mode checking (#5559)
Fixes #5368

Thanks to @mazvi, @attackjom and @aleos89
2020-11-22 02:09:02 +01:00
Lemongrass3110
9e68985f61
Fixed invisible items after VIP expiration (#5521)
Fixes #5083

Thanks to @Everade and @mazvi
2020-11-06 23:19:41 +01:00
Lemongrass3110
d01b718cc0
Initial support for enchantgrade (#5445)
Thanks to @LunarSHINING, @idk-whoami and @attackjom
2020-11-05 22:18:12 +01:00
Vincent Stumpf
d158603424
Fix other character disguises on @refresh (#5366) 2020-11-01 12:58:16 -08:00
Lemongrass3110
ed473d066d
Cleaned up hat effect code (#5462)
Converted from self written container to std::vector.
Converted clif code to struct usage.
2020-10-23 01:07:12 +02:00
Lemongrass3110
20f39922dc
Fixes compilation on 2010-07-30 and older (#5470)
Fixes #5464

Thanks to @KrokusPokus
2020-10-22 12:54:22 +02:00
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 921b3e2c3e9eae36cbf2ca35bcede6e0d73ba074
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