300 Commits

Author SHA1 Message Date
Aleos
323db7e661
Fixes Overheat behavior (#5455)
* Fixes #5395.
* Fixes Overheat not properly accounting for the Mechanic during battle calculations.
* Minor cleanups and improvements.
Thanks to @LotusRO!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-10-19 16:03:48 -04:00
Jittapan Pluemsumran
8e84f0e9ef
Grouped bonus arrays into a single struct (#5454) 2020-10-19 11:08:11 +07:00
Aleos
62312d2e84
Fixes achievements and multi level up events (#5425)
* Fixes #5413.
* Fixes an issue where achievements that check for specific base/job level events don't get triggered if battle_config.multi_level_up is enabled.
Thanks to @saya9200!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-10-02 10:05:05 -04:00
Aleos
0da05e29c3
Corrected some statuses and Mado Gear interaction (#3782)
* Follow up to 0d81697.
* Added a separate check for Mado Gear and blocking Merchant/Blacksmith/Whitesmith specific statuses.
* Harmonized the statuses with the new allowed skill list.
Thanks to @slyx88!
2020-09-10 10:27:04 -04:00
Daegaladh
1c123a517e
Added/improved SG's maps and monsters reset script and GM commands (#5359) 2020-08-26 23:52:26 +02: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
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
Sader Fawall
dd4cce55a3
fix stuck on warp/writing mail (#5299) 2020-08-07 21:36:32 +02:00
Cydh Ramdh
b898c9bc29
Added "bonus2 bMagicSubDefEle,e,x;" (#4375)
* "+x% magic damage reduction from enemy with defense element e"
* Corrected random option script: RDMOPT_MDAMAGE_PROPERTY_element_USER
* Fixes #1706: Fire Golem Card (27029)
* Corrected Books of Apocalypse (1557) script
* Applied bMagicSubDefEle bonus to some items
2020-08-04 11:04:30 -04:00
Lemongrass3110
47a1c7112d
Follow up to 2e88b27 (#5260)
Resolves some remaining issues with NPC secure timeout.

Fixed scripts freezing on close
Idle timer is reseted on closing
Fixed npc_idle_tick being set again on closing

Co-authored-by: Daegaladh <daegaladh@shadowgames.es>
2020-08-03 23:27:25 +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
Lemongrass3110
afdd8d3897
Cancel skill usage keeping on death (#5206)
Fixes #5058

Thanks to @admkakaroto and @qwerty7vp
2020-07-13 10:19:52 +02:00
Jittapan Pluemsumran
9d70b7c35f
Fixed a potential segfault in pc_insert_card (#5167) 2020-07-02 02:34:36 +02:00
Jittapan Pluemsumran
2e04ca98b0
Random options update (#3993)
* Implemented additional random options from official server
Fixed #3988

Thanks to @Stolao @cydh @aleos89
2020-06-30 23:39:40 +02: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
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
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
Aleos
82f3ff9fb6
Fixes IM_CHAR instances to persist relog (#5088)
* Fixes #3132.
* Fixes IM_CHAR instances not persisting relogs.
Thanks to @ghTravis!
2020-06-15 16:53:42 -04:00
Aleos
6ce5ba10b4
Corrects Hell's Plant behavior (#4966)
* Skill is no longer a unit skill but a status.
* Adjusts the attack rate timer to official.
* Skill does not proc cards.
* Skill does not reflect damage.
Thanks to @Tokeiburu, @ecdarreola, and @attackjom!
2020-06-12 08:11:25 -04:00
Sader Fawall
f481cc9c46
Fixed crash on deleting soul balls (#5077)
Fixes #5076
2020-06-10 23:31:53 +02:00
Aleos
35c3301dda
Clean up Summoner Power skill checks (#4999)
* Centralized the Summoner Power skill tree checks into one function.
* Fixes a couple passive skill bonuses not being recalculated when reaching 20 investment points.
Thanks to @exneval and @Balferian!
2020-06-06 22:42:30 -04:00
Aleos
4d962d6f87
Fixes Bard and Dancer Soul Link bonus (#5055)
* Fixes #4801.
* Fixes Bard and Dancer not gaining the opposite class's skills.
* Cleans up check to not be reliant on sketchy index checks.
Thanks to @ihernandeza, @gidzdlcrz, and @Lemongrass3110!
2020-06-06 21:52:59 -04: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
Daegaladh
929c30c414 Fixed death counter not updating properly
Also fixes Super Novice bonus not being removed on death and a possible crash
*Thanks to @aleos89
2020-06-03 04:46:33 +02:00
Aleos
7cc59c6708
Adjusts a few checks for item tradability (#4995)
* Follow up to bfb6972.
* Adds a new return array for script command inventorylist: `@inventorylist_tradable`
* Adjusts script command countitem to not count rental items.
2020-05-25 20:28:11 -04: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
Aleos
ab628b2369
Remove Summoner Hide when changing maps (#4958)
* Fixes #4953.
* Remove Summoner Hide when changing maps to avoid equipment from being stripped due to the inability to change equipment while the status is active.
Thanks to @Everade!
2020-05-20 16:54:42 -04:00
Aleos
44e5c5bcc7
Job Improvement Project - Rune Knight (Part 2) (#4709)
* Fixes #4708.
* kRO Changelog: http://ro.gnjoy.com/news/update/View.asp?seq=243&curpage=1
Thanks to @ecdarreola, @Litro, @Haydrich, and @LordWhiplash!
2020-05-18 13:35:07 -04:00
Aleos
a23c84d345
Job Improvement Project - Guillotine Cross (#4705)
* Fixes #4704.
* kRO Changelog: http://ro.gnjoy.com/news/update/View.asp?seq=243&curpage=1
Thanks to @Angelic234, @nehpetskie, @ecdarreola, @Haydrich, @Badarosk0, and @LordWhiplash!
2020-05-18 10:47:21 -04:00
Aleos
061e586a1f
Few Genetic skill fixes (#4813)
* Fixes Acid Demonstration to use the target's VIT and not casters.
* Fixes Fire Expansion - Acid to behave like Acid Demonstration.
* Fixes Crazy Weed not doing 2 damage attacks.
* Crazy Weed is now a long ranged physical attack.
* Adjusts Hell's Plant behavior to no longer be removed on map change.
* Adds missing status icon for Hell's Plant.
* Fixes Hell's Plant attack formula when learning Summon Flora.
* Hell's Plant now uses the caster's weapon as the element.
* Hell's Plant no longer ignores the target's DEF and Element.
* Fixes Hell's Plant removing Thorns Trap.
* Removes fixed cast time from Xeno Slasher.
* Adds new Genetic Pharmacy potions (items are disabled until int32 item ID support).
* Fixes Spore Explosion's splash attack doing the same damage as the initial.
Thanks to @teededung, @Badarosk0, @cahya1992, and @OptimusM!
2020-05-13 21:02:57 -04:00
Aleos
b65443d8f5
Removal of OnPCStatCalcEvent (#4831)
* Fixes #4812.
* This script event can be replaced with the other various player script events.
* The trigger during equipment changing causes headache across other calculation events in source.
2020-04-23 16:53:07 -04:00
Daegaladh
058ad2c67e
Fixed duplicated skill status check when switching weapons (#4806)
* Thanks to @aleos89
2020-04-16 16:21:25 +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
Daegaladh
3424928fa1
Added missing restrictions when writing a mail (#4772) 2020-04-06 22:19:12 +02:00
Aleos
a67f5c5d6a
Fixes heal item recovery effects (#4750)
* Fixes #4748.
* Recovery item effects should be multiplicatively stacked.
Thanks to @Singe-Horizontal!
2020-04-05 15:22:36 -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
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
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
userid0
f76bc09fbe
Fixed a compiler warning in pc.cpp (#4601)
fix warning C4804: '>': unsafe use of type 'bool' in operation
2020-02-04 22:04:43 +01:00
Lemongrass3110
b86926a7a2
Fixed a compiler warning in script.cpp (#4586)
Fixes #4582

Thanks to @idk-whoami and @aleos89
2020-02-03 14:44:58 +01:00
aleos
ecd2a9af87 Fixes script command resetskill
* Follow up to dca3797.
* Resolves a missing skill index lookup during skill reset.
Thanks to @mmanlapat!
2020-02-01 08:54:34 -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
Aleos
de9f667d2f
Corrects Max Baby Third Parameter issue (#4578)
* Fixes #4576.
* Added missing case for returning battle config for Baby Third classes.
Thanks to @reunite-ro!
2020-01-29 17:03:24 -05:00
Lemongrass3110
e1c40cc741
Fixed a pvp bug with option invisible (#4563)
Fixes #4230

Thanks to @Stingor
2020-01-25 17:23:08 +01:00
Aleos
bd2d82157a
Fixed Expanded Baby parameter cap (#4551)
* Fixes #4350.
* Resolved Expanded Baby classes parameter cap defaulting to the upper class.
* Fixes baby parameters for Summoners as well.
* Removed redundant baby checks due to correct order now.
Thanks to @bgamez23!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-01-24 10:56:39 -05:00
Aleos
bf9a3b47fe
Removed an extra status calculation for players (#4525)
* Follow up to 2732176.
* Fixes #4150.
* Removed an extra status calculation for players resulting in some status data being nullified.
* Adjusted status calculation for autobonus and unequipping items.
* Cleaned up delayed damage logic.
Thanks to @cydh, @Hatfun, and @NeutralDev!
2020-01-17 20:30:35 -05:00