137 Commits

Author SHA1 Message Date
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
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 53761b952af832455526401acfc8b388a60a5d84.
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
Aleos
1fc4b8de20
Battleground Queue fixes (#4648)
* 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!
2020-02-20 22:25:14 -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
Lemongrass3110
b0ac1717f2
Added an option to block discount in shop (#4606)
This is required for the correct implementation of #4387
2020-02-07 00:29:33 +01: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
Lemongrass3110
97894a627a
Fixed SG_FEEL dialog cancel (#4566)
Fixes #3535

Thanks to @anacondaq
2020-01-25 23:45:39 +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
b0119631a4
Allow NPC view data modifications (#4385)
* Fixes #4289.
* Updated script commands setunitdata and getunitdata to support the modification of NPC view data.
* Converted mob_avail database to YAML.
Thanks to @Lemongrass3110, @4144, @exneval, @Balferian, @cahya1992 and @teededung!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2019-12-22 10:27:43 -05:00
Aleos
77d86c6da5
Converted Reading Spellbook Database to YAML (#4440)
* Split database between pre-renewal and renewal.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2019-12-20 12:37:16 -05:00
Aleos
beec1c2766
Corrected Enchant Arms for older clients (#4484)
* Follow up to 754274b.
* Resolved the status icon not clearing for each element.
Thanks to @Daegaladh!
2019-12-19 17:02:19 -05:00
Cydh Ramdh
5bcbed556a * Fixed equip view to only send equipped item (#4450)
Fixed equip view to only send equipped item
Limiting only can view player's equip only at same map
2019-12-12 17:04:53 +01: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
Lemongrass3110
4664e88b91
Fixed item removal in RODEX (#4332)
Fixes #4317

Thanks to @voyfmyuh
2019-09-05 23:26:36 +02:00
Atemo
be1194e4b4
Empty message in announce script command (#4200)
Added a check to fail silently when the message in the *announce script commands is ""
2019-08-13 19:05:29 +02: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
ac46920e73
Fixed Achievement Level progression (#4156)
* Fixes #4131.
* Changed the behavior of achievement experience to roll over remaining experience rather than check from the total amount.
* Cleaned up achievement level logic.
Thanks to @daisyanne1380 and @SeravySensei!
2019-07-19 10:25:28 -04:00
Kakaroto
87b858199b Pet Fix Client after 20180704 (#4202)
A minor fix that corrects a problem when hatching eggs from pets to clients after 20180704.

Fixes #4190 

Thanks @4144 and @Asheraf
2019-07-07 20:13:24 +02:00