Commit Graph

33 Commits

Author SHA1 Message Date
Aleos
35102c3059 Quest data should be cleared on char deletion (#4633)
* Fixes #4628.
* Player quest data should be deleted when the character is deleted.
Thanks to @Tokeiburu!
2020-02-11 14:33:20 -05:00
Lemongrass3110
0b3430c777 Fixed some database redundencies (#4565)
Cleaned redundancies in guild members and friends table

Fixes #4564

Thanks to @Everade
2020-02-03 20:27:11 +01:00
Jittapan Pluemsumran
bc15f5ce14 Dropped ragsrvinfo functionality (#4301) 2019-08-15 19:08:22 +07:00
Aleos
78eed02273 Updated the YAML parsing method (#3694)
Synchronized the process of loading and parsing YAML databases.
Provides more robust parse warnings/errors.
Added Header checks to validate database versions.
Adjusted root keys to a standard name of Body.
Adjusted inter-server storages, achievements, and attendance to follow the new format.

Fixes #3483

Thanks to @Lemongrass3110!
2019-02-28 22:19:39 +01:00
Aleos
c5a5c54518 Converted remaining C comments (#3927)
* Converted remaining documentation that references .c or .h files.
2019-02-09 15:08:45 -05:00
Lemongrass3110
818ff109f3 Initial Release of Equipment Switch (#3548)
Thanks to everyone who contributed to this release in any way, be it donations, information or testing.

Merry Christmas :-)
2018-12-24 14:10:29 +01:00
Lemongrass3110
01f61cfa4f Added support for 64bit ticks (#3768)
Fixes #3017

Thanks to Hercules for the idea and their implementation of it.

This deprecates Windows XP support. If you want to use it to run your server on it, you have to forcefully enable it now.
Since 64bit ticks do not exist on XP, you might encounter some issues that are already fixed on other OS.
2018-12-21 00:02:19 +01:00
Lemongrass3110
1c987de71d Fixed unknown map in character select (#3761)
Fixes #1145

Credits to @4144 for finding this!

Thanks to @RadianFord for reporting.
2018-12-20 17:56:13 +01:00
Lemongrass3110
bff89bd70e Fixed possible string out of bounds in configurations (#3631)
Added safestrncpy to char's inter configurations
Added safestrncpy to map's inter configurations
Added safestrncpy to message configurations
Adjusted some char configurations
Cleaned up logging configurations

Fixes #3624 

Thanks to @mrjnumber1
2018-11-29 22:56:17 +01:00
Lemongrass3110
c0793a8072 Adding LGTM to CI tools (#3636)
Thanks to @aleos89 for his help.
2018-10-29 21:25:36 +01:00
Aleos
48ae1a1e05 Cleaned up map storage type (#3384)
* Fixes #3369, fixes #3370, and fixes #3382.
* Converted maps storage container back to static array.
* Converted mapflag storage containers to unordered_map.
* Removed a lot of redundancy and recursive lookups.
* Fixed a couple short-circuit checks to help with performance.
* Fixed multiple instance creation/destruction issues.
* Fixed PK Mode attempting to set PvP on flags that are already active.
* Getting MF_RESTRICTED will return the map's zone value instead of the state.
* Converted mapflag macros to inline functions.
Thanks to @teededung, @lelouch22, @mazvi, @Lemongrass3110, and @cydh!
2018-08-10 13:52:07 -04:00
Gustavo Brigo
952ac43e59 Fixed EXP bug and added failsafe to family check functions (#3350)
Fixes #3349
2018-07-25 21:58:58 +02:00
Lemongrass3110
c4d7dc76d3 Hid timer function parameters in a macro (#3311) 2018-07-15 23:17:15 +02:00
Aleos
e13ca63cc8 Added Guild Storage Expansion Skill (#3244)
* Fixes #499 and part of #1303.
* Implements Guild Storage Expansion Skill which requires client 2013-12-23 or newer (enable by default depending on client date in src/config/packets.hpp).
* Implements guild storage permission which requires client 2014-02-05 or newer.
* Expanded script command guildopenstorage return values.
2018-07-03 08:49:34 -04:00
Aleos
11b42569fc Synchronized source file headers (#3212)
* Alphabetically sorted includes.
* Updated copyright and license text to match across all files.
* Removed pragma once define in header files in lieu of ifdef guards.
2018-06-20 18:08:30 -04:00
Lemongrass3110
801d3ed942 Moved common, config and mapcache to C++ (#3200)
Dropped BETA_THREAD_TEST and everything around it
Dropped mt19937
Replaced msinttypes with cinttypes
Removed IRC link and updated README name
2018-06-14 21:51:58 +02:00
Jittapan Pluemsumran
aab5d54945 Added a config for disabling novice/summoner character creation (#3008)
* Added a config for disabling novice/summoner character creation.
* Summoner can no longer be created on pre-renewal by default.
Thanks to @Lemongrass3110 for the help
2018-04-04 16:40:03 +07:00
Lemongrass3110
aff70f6482 Added support for homunculus autofeeding (#3007)
* Added support for homunculus autofeeding
This feature is available in 2017-09-20bRagexeRE or later

Credits to @Asheraf in HerculesWS/Hercules#1898
2018-04-04 13:55:51 +07:00
Lemongrass3110
f338d53c2c Added support for clients up to 2018-03-07bRagexeRE (#2975)
Thanks to @4144 as always
Credits to @dastgir and the leaked 2015 dump for the quest packets
Thanks to @idamonli for testing and feedback
2018-03-14 23:05:01 +01:00
lighta
24b3509e53 Initial work for char server to C++ (#2567)
* Initial work for char server to C++

* Changes suggested from @Lemongrass3110

* Removes unwanted beginning white spaces.
2017-11-06 22:40:35 -04:00
Jey
ae0da362f8 Follow up to fe75aea
* Fixes a compile warning
* Thanks to @Haikenz
2017-10-06 02:23:56 +02:00
Aleos
fe75aeab50 Corrected character slot movement (#2452)
* Corrected character slot movement
* Resolves characters changing slots (on the char-selection screen) to the first empty slot rather than to the actual slot index.
Thanks to @Tokeiburu, @Lemongrass3110, and @Jeybla!
2017-10-05 18:31:30 -04:00
Lemongrass3110
7de7472782 Added support for some missing clients (#2458) 2017-09-28 23:52:56 +02:00
Aleos
fc115b85a1 Adjusted HP, Max HP, SP, and Max SP SQL defines (#2389)
* Fixes #2387.
* Adjusted column define from mediumint to unsigned int.
* Synchronized default values to 0.
* Adjusted the parser format specifier
* Adjusted the specifiers to support unsigned.
Thanks to @M45T3Ryu and @Lemongrass3110!
2017-08-31 10:49:48 -04:00
Lemongrass3110
d319ff7ca5 Fixed character creation for expired VIP accounts
Fixes #2333

Thanks to @Everade
2017-08-16 13:50:13 +02:00
Lemongrass3110
34aa59d82b Added missing MySQL column check for show_equip
Follow up to 983d164
2017-08-07 09:31:32 +02:00
Lemongrass3110
983d164b7d Fixed public equip switch not being saved
Fixes #2310

Thanks to @mrjnumber1
2017-08-06 13:49:29 +02:00
Lemongrass3110
bbd42e7f12 Cleaned up character deletion code (#2296)
* Fixes #2271
Thanks to @Tokeiburu
2017-08-04 18:46:17 -04:00
Aleos
7f5411da07 Initial release of the Achievement System (#2044)
* Information based on kRO patch notes.
- http://ro.gnjoy.com/news/update/View.asp?seq=163&curpage=1
* Includes Title System which is integrated into the Achievement System.
* Includes RODEX integration for rewards.
* Added new atcommand reloadachievementdb.
* Added new script commands achievementinfo, achievementadd, achievementremove, achievementcomplete, and achievementexists.
Thanks to @Lux-uri, @RagnarokNova, @Lemongrass3110, and @Tokeiburu for their help!
2017-07-27 09:33:03 -04:00
Lemongrass3110
be15b62912 Follow up to a3c0590
Added a missing field check
2017-07-24 10:35:44 +02:00
aleos89
20908ee9c0 Replaced some final uses of rand()
* Replaced some final left overs of rand() with rnd() from MT19937AR.
2017-06-26 14:36:31 -04:00
Jey
809fc35b0e Follow up to 4a2574c.\r\nThanks to @Jeybla! 2017-06-26 01:24:54 +07:00
Jittapan Pluemsumran
4a2574c599 Migrate core source files to C++. Add yaml-cpp project as dependency (#2207)
By updating to this commit, Linux users have to regenerate Makefiles by re-running the configure script.

* Added yaml-cpp project as a 3rdparty library
* Migrated source files core to C++
* Updated configure scripts
* Make Linux installations compile *.cpp files
* Made server components' main source file C++
* Also made headers CPP-aware.

* Added basic C wrapper for yaml-cpp library
* YAML-node path is delimited by periods.
* Basic integer types and string are supported.
* Strings returned from this wrapper have to be freed with malloc.h::aFree
* Arrays (sequence) is supported with iterator wrapper.
* Remember to free every wrapper you create!

* Add yaml-cpp as dependency of common project
* Made the repo not ignore *.yml files

Thanks to @aleos89 and @Lemongrass3110.
2017-06-25 23:33:24 +07:00