150 Commits

Author SHA1 Message Date
Atemo
f230b13ded
Converted statpoint.txt to YAML (#6010)
* Converts the Statpoint Database into YAML.
* Includes CSV2YAML converter.
* Added start_status_points to inter_athena.conf

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2021-07-05 19:06:49 +02:00
Lemongrass3110
af97f7f9bd
Added ID field to mob_db structure (#6069)
Fixes #6055

Thanks to @k1ngJ
2021-07-03 17:48:30 +02:00
Vincent Stumpf
ebdce4a530
whodrops should respect drop_rate0item (#5984)
Fixes #5983
Thanks to heyChille#1304 on Discord
2021-06-01 23:01:13 -07:00
Vincent Stumpf
ec1b6da54c
Fixes another possible crash with atcommand time (#5962)
Fixes #5956

Adds a timer data validation check for atcommand time.
Thanks @cahya1992
2021-05-27 22:29:41 +02:00
Lemongrass3110
7052b8a95a
Fixed reloading of statusdb (#5893)
Fixes #5879

Thanks to @mazvi
2021-04-25 01:51:42 +02:00
Lemongrass3110
1a8cfbffc0
Initial release of the refine UI (#2494)
Overhaul of the refine database
Added blacksmith blessing to existing NPCs.

Thanks to @Atemo, @aleos89, @cydh and everyone who tested it.

Co-authored-by: Atemo <capucrath@gmail.com>
2021-04-11 00:05:15 +02:00
Balfear
b41043d393
Fix getnameditem command (#5807)
* Fixes #5713.
* Resolves script command getnameditem not properly naming items.
* Also resolves atcommand getring.
Thanks to @Erukanu and @Balferian!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2021-03-30 19:46:31 -04:00
Aleos
2b94f0aeff
Implements autoloot support for Mercenary (#5594)
* Fixed #5570.
* Adds the ability for mercenary to trigger autoloot.
* Adds idle sharing and idle option configs for granular settings.
Thanks to @saya9200's suggestion and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2021-02-27 17:14:10 -05:00
Aleos
5aa9f75343
Cleaned up remaining TODO for Achievements (#4446)
* Converts labels to camelCase.
* Converts labels to plural where needed.
* Converts Target MobID to use the Sprite name.
* Converts Rewards ItemID to use the Aegis name.
* Dependents now checks for duplicate IDs.
* Dependents now properly supports import methods.
* Added YAMLUpgrade tool to convert previous YAML databases to new format.
* Removes the unique index value for Dependent Achievement ID.
* Adds support for the AG_CHATTING achievement types triggered by script (achievementupdate script command).
* AG_CHATTING map type achievements are still disabled as behavior is unknown.
* AG_HEAR and AG_SEE are now dropped and those achievements have been converted to AG_CHATTING.
* Converts the group constants to how Aegis names them.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2021-02-17 18:01:11 -05:00
Mambow
cbaef6d9a5
Fixes atcommand killmonster2 bypass
* Atcommand killmonster2 would make monsters drop items because of a case insensitive check.
Thanks to @Mamb0w!
2021-02-17 10:52:50 -05:00
Aleos
7992e0891b
Converts the mob database to YAML (#5435)
* Combines mob_race2 and mob_drop databases into one.
* General cleanups and optimizations.
* Includes CSV2YAML conversion tool.
Thanks to @vstumpf, @lukasrmattos, and @Lemongrass3110!
2021-02-16 17:09:06 -05:00
Aleos
c36f6b820f
Adds support for new Madogear appearance (#5081)
* Fixes #4524.
* Adds support for the new slimmer Madogear suit.
* Adjusts script command setmadogear to support changing to this type.
* Adjusts atcommand mount to support changing to this type.
* Removes a 3rd class check from setoption for Rangers and Mechanics.
* Removes status_calc_pc call from pc_setoption so that it can be handled via normal status change calculations.
* Adds Mado_Box02 item for Mado Suit.
Thanks to @admkakaroto, @Atemo and @Lemongrass3110!
2021-02-01 16:09:24 -05:00
Lemongrass3110
f57b037b83
Fixed monster exp definitions (#5672)
Fixes #5656

Thanks to @Skystar18
2021-01-06 18:42:43 +01:00
CairoLee
01188b1501
Fixed memory leak when using loadnpc or reloadnpcfile command (#5667)
Fixes #5649
2021-01-03 21:41:57 +01: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
81e7d8ef89
Converted penalty db to YAML (#5562)
Fixes #5463

Added penalty for MVP exp and MVP drops
Removed penalty support for monster classes

Thanks to @attackjom and @aleos89
2020-11-21 01:05:07 +01:00
Lemongrass3110
4f853c96e9
Fixed a bug in reloadnpcfile (#5553)
Introduced in d098c01b

Fixes #5541
Fixes #4846

Thanks to @Triedge and @Stingor
2020-11-17 12:41:34 +01:00
Aleos
be9babee32
Converts the random option databases to YAML (#5494)
* Fixes #3084.
* Creating random option groups now further reflects official behavior.
* Group bonuses can now be created without having to create multiple permutations of the same group.
* Specific slot options can now be defined which guarantee a bonus.
* Non-guaranteed options can now be defined along with a maximum amount.
* Random option value can now be defined as a range instead of a static value.
* Adds conversion of official random option groups.
* Includes CSV2YAML conversion tool.
Thanks to @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-11-08 12:21:52 -05:00
Lemongrass3110
7336058485
Cleaned up and fixed some subtype checks (#5472)
Fixes #5471

Thanks to @LuciferGmes

Co-authored-by: aleos <aleos89@users.noreply.github.com>
2020-10-22 23:56:54 +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
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
Daegaladh
1c123a517e
Added/improved SG's maps and monsters reset script and GM commands (#5359) 2020-08-26 23:52:26 +02:00
Daegaladh
0e4b36dbb8
Fixed battlegrounds not resetting on reloadscript (#5255)
* Thanks to @aleos89
2020-08-19 18:05:52 +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
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
429569d4b6
Added some missing pet egg checks (#5175)
Also cleaned up some code duplicates to use the existing function for the respective check.

Fixes #5152

Thanks to @admkakaroto
2020-07-11 13:11:50 +02:00
Lemongrass3110
02c5b8c8d8
Added and fixed some pet features (#5040)
Fixes #5019

Thanks to @alisonrag
2020-07-03 13:52:15 +02:00
Daegaladh
a3125e6e95
Added a config for triggering OnPCLogout events on autotrade (#5159) 2020-07-01 13:59:39 +02:00
Daegaladh
fb00561fc1
Added leader change restrictions to @changegm command (#5157) 2020-06-30 19:55:18 +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
Aleos
0fba10c324
Fixes a potential crash with atcommand time (#4989)
* Fixes #4960.
* Adds a timer data validation check for atcommand time.
Thanks to @marky291!
2020-05-20 21:21:31 -04:00
CairoLee
bf4b41bd66
Fixes a crash caused by invalid skill ID (#4935)
* Fixes #4934.
* Fixes a potential crash when using atcommand useskill.
Thanks to @Stingor and @CairoLee!
2020-05-20 09:22:53 -04: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
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
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
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
73fe0d26b7
Added setquest, erasequest, completequest, checkquest atcommand (#4692)
@ setquest : self explaining
@ erasequest : self explaining
@ completequest : give and complete the quest
@ checkquest : display the quest status HAVEQUEST, HUNTING, PLAYTIME
2020-03-18 19:14:15 +01: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
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
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
c52b3b784a
Expanded a couple baby job names (#4500)
* Expanded Job_Baby_Rune -> Job_Baby_Rune_Knight, Job_Baby_Bishop -> Job_Baby_Arch_Bishop, Job_Baby_Cross -> Job_Baby_Guillotine_Cross, Job_Baby_Guard -> Job_Baby_Royal_Guard, and Job_Baby_Chaser -> Job_Baby_Shadow_Chaser.
* Expanded related MAPID/EAJ constants as well.
* Added deprecation notice for old constants.
* Updated database and NPC scripts to use new constants.
2020-01-01 22:53:40 -05:00
Lemongrass3110
64b5c3082b
Migrated atcommand aliases and help to YAML (#4487)
Merges atcommand_athena.conf and help.txt into a single file.
Removed some leftover settings that were removed before.
Removed CLI support for modifying the atcommand configuration file.
Moved atcommand and charcommand symbol definition into conf/battle/gm.conf
Removed some messages that are not needed anymore

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2019-12-21 19:19:19 +01:00
Aleos
72338366c9
Corrected atcommand mobinfo for VIP (#4404)
* Fixes #4403.
* The EXP results for atcommand mobinfo return an incorrect adjustment for VIP status.
2019-10-15 10:25:17 -04:00
Lemongrass3110
beb6b579f2
Fixed dropall counter (#4331)
Fixes #4330
2019-09-03 20:32:48 +02:00
Jittapan Pluemsumran
bc15f5ce14
Dropped ragsrvinfo functionality (#4301) 2019-08-15 19:08:22 +07: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