├── .editorconfig ├── .git-blame-ignore-revs ├── .gitattributes ├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ └── feature_request.yml ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── analysis_codeql.yml │ ├── build_servers_clang.yml │ ├── build_servers_cmake.yml │ ├── build_servers_gcc.yml │ ├── build_servers_modes.yml │ ├── build_servers_msbuild.yml │ ├── build_servers_packetversions.yml │ ├── build_servers_vip.yml │ └── npc_db_validation.yml ├── .gitignore ├── .mailmap ├── 3rdparty ├── CMakeLists.txt ├── README.txt ├── cmake │ ├── FindFunctionLibrary.cmake │ ├── FindMYSQL.cmake │ ├── FindPCRE.cmake │ ├── GetGitVersion.cmake │ ├── GetSvnVersion.cmake │ └── tests │ │ ├── HAVE_MONOTONIC_CLOCK.c │ │ └── HAVE_TLS.c ├── httplib │ ├── CMakeLists.txt │ ├── Makefile.in │ ├── httplib.cc │ ├── httplib.h │ ├── httplib.vcxproj │ └── httplib.vcxproj.filters ├── json │ ├── CMakeLists.txt │ ├── LICENSE.MIT │ └── include │ │ └── nlohmann │ │ ├── json.hpp │ │ └── json_fwd.hpp ├── libconfig │ ├── CMakeLists.txt │ ├── LICENSE │ ├── Makefile.in │ ├── grammar.c │ ├── grammar.h │ ├── libconfig.c │ ├── libconfig.h │ ├── libconfig.vcxproj │ ├── libconfig.vcxproj.filters │ ├── parsectx.h │ ├── scanctx.c │ ├── scanctx.h │ ├── scanner.c │ ├── scanner.h │ ├── strbuf.c │ ├── strbuf.h │ └── wincompat.h ├── mysql │ ├── CMakeLists.txt │ ├── include │ │ ├── big_endian.h │ │ ├── binary_log_types.h │ │ ├── byte_order_generic.h │ │ ├── byte_order_generic_x86.h │ │ ├── decimal.h │ │ ├── errmsg.h │ │ ├── keycache.h │ │ ├── little_endian.h │ │ ├── m_ctype.h │ │ ├── m_string.h │ │ ├── my_alloc.h │ │ ├── my_byteorder.h │ │ ├── my_command.h │ │ ├── my_compiler.h │ │ ├── my_config.h │ │ ├── my_dbug.h │ │ ├── my_dir.h │ │ ├── my_getopt.h │ │ ├── my_global.h │ │ ├── my_list.h │ │ ├── my_sys.h │ │ ├── my_thread.h │ │ ├── my_thread_local.h │ │ ├── my_xml.h │ │ ├── mysql.h │ │ ├── mysql │ │ │ ├── client_authentication.h │ │ │ ├── client_plugin.h │ │ │ ├── client_plugin.h.pp │ │ │ ├── get_password.h │ │ │ ├── mysql_lex_string.h │ │ │ ├── plugin_auth_common.h │ │ │ ├── plugin_trace.h │ │ │ ├── psi │ │ │ │ ├── mysql_file.h │ │ │ │ ├── mysql_idle.h │ │ │ │ ├── mysql_mdl.h │ │ │ │ ├── mysql_memory.h │ │ │ │ ├── mysql_ps.h │ │ │ │ ├── mysql_socket.h │ │ │ │ ├── mysql_sp.h │ │ │ │ ├── mysql_stage.h │ │ │ │ ├── mysql_statement.h │ │ │ │ ├── mysql_table.h │ │ │ │ ├── mysql_thread.h │ │ │ │ ├── mysql_transaction.h │ │ │ │ ├── psi.h │ │ │ │ ├── psi_base.h │ │ │ │ └── psi_memory.h │ │ │ ├── service_my_snprintf.h │ │ │ └── service_mysql_alloc.h │ │ ├── mysql_com.h │ │ ├── mysql_com_server.h │ │ ├── mysql_embed.h │ │ ├── mysql_time.h │ │ ├── mysql_version.h │ │ ├── mysqld_ername.h │ │ ├── mysqld_error.h │ │ ├── sql_common.h │ │ ├── sql_state.h │ │ ├── sslopt-case.h │ │ ├── sslopt-longopts.h │ │ ├── sslopt-vars.h │ │ ├── thr_cond.h │ │ ├── thr_mutex.h │ │ ├── thr_rwlock.h │ │ └── typelib.h │ ├── lib │ │ ├── Win32 │ │ │ ├── libmysql.dll │ │ │ └── libmysql.lib │ │ └── x64 │ │ │ ├── libmysql.dll │ │ │ └── libmysql.lib │ └── mysql-6.1.9 ├── pcre │ ├── CMakeLists.txt │ ├── include │ │ └── pcre.h │ ├── lib │ │ ├── Win32 │ │ │ ├── pcre8.dll │ │ │ └── pcre8.lib │ │ └── x64 │ │ │ ├── pcre8.dll │ │ │ └── pcre8.lib │ └── pcre-8.33.0.1.utf8 ├── rapidyaml │ ├── .gitchangelog.rc │ ├── .gitignore │ ├── .gitmodules │ ├── .lgtm.yml │ ├── CMakeLists.txt │ ├── CONTRIBUTING.md │ ├── LICENSE.txt │ ├── MANIFEST.in │ ├── Makefile.in │ ├── README.md │ ├── ROADMAP.md │ ├── c4core.dir │ │ └── Debug │ │ │ ├── c4core.lib.recipe │ │ │ └── c4core.vcxproj.FileListAbsolute.txt │ ├── c4core.vcxproj │ ├── c4core.vcxproj.filters │ ├── changelog │ │ ├── 0.1.0.md │ │ ├── 0.2.0.md │ │ ├── 0.2.1.md │ │ ├── 0.2.2.md │ │ ├── 0.2.3.md │ │ ├── 0.3.0.md │ │ ├── 0.4.0.md │ │ └── current.md │ ├── compat.cmake │ ├── ext │ │ └── c4core │ │ │ ├── .github │ │ │ ├── .old │ │ │ │ ├── log.hpp │ │ │ │ └── util.hpp │ │ │ ├── .travis.yml.old │ │ │ ├── appveyor.yml.old │ │ │ ├── release.sh │ │ │ ├── reqs.sh │ │ │ ├── setenv.sh │ │ │ ├── vagrant │ │ │ │ ├── Vagrantfile │ │ │ │ ├── macos │ │ │ │ │ └── Vagrantfile │ │ │ │ └── vagrant-provision.sh │ │ │ └── workflows │ │ │ │ ├── arch.yml │ │ │ │ ├── benchmarks.yml │ │ │ │ ├── ci.yml │ │ │ │ ├── emscripten.yml │ │ │ │ ├── libcxx.yml │ │ │ │ ├── macosx.yml │ │ │ │ ├── release.yml │ │ │ │ ├── test.yml │ │ │ │ └── test_install.yml │ │ │ ├── .gitignore │ │ │ ├── .gitmodules │ │ │ ├── CMakeLists.txt │ │ │ ├── LICENSE-BOOST.txt │ │ │ ├── LICENSE.txt │ │ │ ├── README.md │ │ │ ├── ROADMAP.md │ │ │ ├── changelog │ │ │ ├── 0.1.0.md │ │ │ ├── 0.1.1.md │ │ │ ├── 0.1.2.md │ │ │ ├── 0.1.3.md │ │ │ ├── 0.1.4.md │ │ │ ├── 0.1.5.md │ │ │ ├── 0.1.6.md │ │ │ ├── 0.1.7.md │ │ │ ├── 0.1.8.md │ │ │ └── current.md │ │ │ ├── cmake │ │ │ ├── .gitignore │ │ │ ├── ConfigurationTypes.cmake │ │ │ ├── CreateSourceGroup.cmake │ │ │ ├── Doxyfile.full.in │ │ │ ├── Doxyfile.in │ │ │ ├── ExternalProjectUtils.cmake │ │ │ ├── FindD3D12.cmake │ │ │ ├── FindDX12.cmake │ │ │ ├── GetFlags.cmake │ │ │ ├── GetNames.cmake │ │ │ ├── LICENSE.txt │ │ │ ├── PVS-Studio.cmake │ │ │ ├── PatchUtils.cmake │ │ │ ├── PrintVar.cmake │ │ │ ├── README.md │ │ │ ├── TargetArchitecture.cmake │ │ │ ├── Toolchain-Arm-ubuntu.cmake │ │ │ ├── Toolchain-Armv7.cmake │ │ │ ├── Toolchain-PS4.cmake │ │ │ ├── Toolchain-XBoxOne.cmake │ │ │ ├── amalgamate_utils.py │ │ │ ├── bm-xp │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── bm.js │ │ │ │ ├── bm.py │ │ │ │ ├── requirements.txt │ │ │ │ └── template │ │ │ │ │ └── index.html │ │ │ ├── c4CatSources.cmake │ │ │ ├── c4Doxygen.cmake │ │ │ ├── c4DoxygenConfig.cmake │ │ │ ├── c4GetTargetPropertyRecursive.cmake │ │ │ ├── c4Project.cmake │ │ │ ├── c4SanitizeTarget.cmake │ │ │ ├── c4StaticAnalysis.cmake │ │ │ ├── c4stlAddTarget.cmake │ │ │ ├── compat │ │ │ │ ├── c4 │ │ │ │ │ └── gcc-4.8.hpp │ │ │ │ └── gtest_gcc-4.8.patch │ │ │ └── requirements_doc.txt │ │ │ ├── compat.cmake │ │ │ ├── src │ │ │ └── c4 │ │ │ │ ├── allocator.hpp │ │ │ │ ├── base64.cpp │ │ │ │ ├── base64.hpp │ │ │ │ ├── bitmask.hpp │ │ │ │ ├── blob.hpp │ │ │ │ ├── c4_pop.hpp │ │ │ │ ├── c4_push.hpp │ │ │ │ ├── c4core.natvis │ │ │ │ ├── char_traits.cpp │ │ │ │ ├── char_traits.hpp │ │ │ │ ├── charconv.hpp │ │ │ │ ├── common.hpp │ │ │ │ ├── compiler.hpp │ │ │ │ ├── config.hpp │ │ │ │ ├── cpu.hpp │ │ │ │ ├── ctor_dtor.hpp │ │ │ │ ├── dump.hpp │ │ │ │ ├── enum.hpp │ │ │ │ ├── error.cpp │ │ │ │ ├── error.hpp │ │ │ │ ├── export.hpp │ │ │ │ ├── ext │ │ │ │ ├── debugbreak │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── COPYING │ │ │ │ │ ├── GNUmakefile │ │ │ │ │ ├── HOW-TO-USE-DEBUGBREAK-GDB-PY.md │ │ │ │ │ ├── README.md │ │ │ │ │ ├── debugbreak-gdb.py │ │ │ │ │ └── debugbreak.h │ │ │ │ ├── fast_float.hpp │ │ │ │ ├── fast_float │ │ │ │ │ ├── .cirrus.yml │ │ │ │ │ ├── .github │ │ │ │ │ │ └── workflows │ │ │ │ │ │ │ ├── alpine.yml │ │ │ │ │ │ │ ├── amalgamate-ubuntu20.yml │ │ │ │ │ │ │ ├── msys2-clang.yml │ │ │ │ │ │ │ ├── msys2.yml │ │ │ │ │ │ │ ├── ubuntu18.yml │ │ │ │ │ │ │ ├── ubuntu20-cxx20.yml │ │ │ │ │ │ │ ├── ubuntu20.yml │ │ │ │ │ │ │ ├── vs15-ci.yml │ │ │ │ │ │ │ ├── vs16-arm-ci.yml │ │ │ │ │ │ │ ├── vs16-ci.yml │ │ │ │ │ │ │ ├── vs16-clang-ci.yml │ │ │ │ │ │ │ └── vs16-cxx20.yml │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── AUTHORS │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── CONTRIBUTORS │ │ │ │ │ ├── LICENSE-APACHE │ │ │ │ │ ├── LICENSE-MIT │ │ │ │ │ ├── README.md │ │ │ │ │ ├── ci │ │ │ │ │ │ └── script.sh │ │ │ │ │ ├── cmake │ │ │ │ │ │ └── config.cmake.in │ │ │ │ │ ├── include │ │ │ │ │ │ └── fast_float │ │ │ │ │ │ │ ├── ascii_number.h │ │ │ │ │ │ │ ├── bigint.h │ │ │ │ │ │ │ ├── decimal_to_binary.h │ │ │ │ │ │ │ ├── digit_comparison.h │ │ │ │ │ │ │ ├── fast_float.h │ │ │ │ │ │ │ ├── fast_table.h │ │ │ │ │ │ │ ├── float_common.h │ │ │ │ │ │ │ ├── parse_number.h │ │ │ │ │ │ │ └── simple_decimal_conversion.h │ │ │ │ │ └── script │ │ │ │ │ │ ├── amalgamate.py │ │ │ │ │ │ ├── analysis.py │ │ │ │ │ │ └── table_generation.py │ │ │ │ ├── fast_float_all.h │ │ │ │ ├── rng │ │ │ │ │ └── rng.hpp │ │ │ │ └── sg14 │ │ │ │ │ ├── README.md │ │ │ │ │ └── inplace_function.h │ │ │ │ ├── format.cpp │ │ │ │ ├── format.hpp │ │ │ │ ├── hash.hpp │ │ │ │ ├── language.cpp │ │ │ │ ├── language.hpp │ │ │ │ ├── memory_resource.cpp │ │ │ │ ├── memory_resource.hpp │ │ │ │ ├── memory_util.cpp │ │ │ │ ├── memory_util.hpp │ │ │ │ ├── platform.hpp │ │ │ │ ├── preprocessor.hpp │ │ │ │ ├── restrict.hpp │ │ │ │ ├── span.hpp │ │ │ │ ├── std │ │ │ │ ├── std.hpp │ │ │ │ ├── std_fwd.hpp │ │ │ │ ├── string.hpp │ │ │ │ ├── string_fwd.hpp │ │ │ │ ├── tuple.hpp │ │ │ │ ├── vector.hpp │ │ │ │ └── vector_fwd.hpp │ │ │ │ ├── substr.hpp │ │ │ │ ├── substr_fwd.hpp │ │ │ │ ├── szconv.hpp │ │ │ │ ├── time.cpp │ │ │ │ ├── time.hpp │ │ │ │ ├── type_name.hpp │ │ │ │ ├── types.hpp │ │ │ │ ├── unrestrict.hpp │ │ │ │ ├── utf.cpp │ │ │ │ ├── utf.hpp │ │ │ │ ├── windows.hpp │ │ │ │ ├── windows_pop.hpp │ │ │ │ └── windows_push.hpp │ │ │ ├── tbump.toml │ │ │ └── tools │ │ │ └── amalgamate.py │ ├── pyproject.toml │ ├── requirements.txt │ ├── ryml.vcxproj │ ├── ryml.vcxproj.filters │ ├── src │ │ ├── c4 │ │ │ └── yml │ │ │ │ ├── common.cpp │ │ │ │ ├── common.hpp │ │ │ │ ├── detail │ │ │ │ ├── checks.hpp │ │ │ │ ├── parser_dbg.hpp │ │ │ │ ├── print.hpp │ │ │ │ └── stack.hpp │ │ │ │ ├── emit.def.hpp │ │ │ │ ├── emit.hpp │ │ │ │ ├── export.hpp │ │ │ │ ├── node.cpp │ │ │ │ ├── node.hpp │ │ │ │ ├── parse.cpp │ │ │ │ ├── parse.hpp │ │ │ │ ├── preprocess.cpp │ │ │ │ ├── preprocess.hpp │ │ │ │ ├── std │ │ │ │ ├── map.hpp │ │ │ │ ├── std.hpp │ │ │ │ ├── string.hpp │ │ │ │ └── vector.hpp │ │ │ │ ├── tree.cpp │ │ │ │ ├── tree.hpp │ │ │ │ ├── writer.hpp │ │ │ │ └── yml.hpp │ │ ├── ryml-gdbtypes.py │ │ ├── ryml.hpp │ │ ├── ryml.natvis │ │ └── ryml_std.hpp │ └── tbump.toml ├── yaml-cpp │ ├── CMakeLists.txt │ ├── Makefile.in │ ├── include │ │ └── yaml-cpp │ │ │ ├── anchor.h │ │ │ ├── binary.h │ │ │ ├── contrib │ │ │ ├── anchordict.h │ │ │ └── graphbuilder.h │ │ │ ├── depthguard.h │ │ │ ├── dll.h │ │ │ ├── emitfromevents.h │ │ │ ├── emitter.h │ │ │ ├── emitterdef.h │ │ │ ├── emittermanip.h │ │ │ ├── emitterstyle.h │ │ │ ├── eventhandler.h │ │ │ ├── exceptions.h │ │ │ ├── mark.h │ │ │ ├── node │ │ │ ├── convert.h │ │ │ ├── detail │ │ │ │ ├── bool_type.h │ │ │ │ ├── impl.h │ │ │ │ ├── iterator.h │ │ │ │ ├── iterator_fwd.h │ │ │ │ ├── memory.h │ │ │ │ ├── node.h │ │ │ │ ├── node_data.h │ │ │ │ ├── node_iterator.h │ │ │ │ └── node_ref.h │ │ │ ├── emit.h │ │ │ ├── impl.h │ │ │ ├── iterator.h │ │ │ ├── node.h │ │ │ ├── parse.h │ │ │ ├── ptr.h │ │ │ └── type.h │ │ │ ├── noexcept.h │ │ │ ├── noncopyable.h │ │ │ ├── null.h │ │ │ ├── ostream_wrapper.h │ │ │ ├── parser.h │ │ │ ├── stlemitter.h │ │ │ ├── traits.h │ │ │ └── yaml.h │ ├── src │ │ ├── binary.cpp │ │ ├── collectionstack.h │ │ ├── contrib │ │ │ ├── graphbuilder.cpp │ │ │ ├── graphbuilderadapter.cpp │ │ │ ├── graphbuilderadapter.h │ │ │ ├── yaml-cpp.natvis │ │ │ └── yaml-cpp.natvis.md │ │ ├── convert.cpp │ │ ├── depthguard.cpp │ │ ├── directives.cpp │ │ ├── directives.h │ │ ├── emit.cpp │ │ ├── emitfromevents.cpp │ │ ├── emitter.cpp │ │ ├── emitterstate.cpp │ │ ├── emitterstate.h │ │ ├── emitterutils.cpp │ │ ├── emitterutils.h │ │ ├── exceptions.cpp │ │ ├── exp.cpp │ │ ├── exp.h │ │ ├── indentation.h │ │ ├── memory.cpp │ │ ├── node.cpp │ │ ├── node_data.cpp │ │ ├── nodebuilder.cpp │ │ ├── nodebuilder.h │ │ ├── nodeevents.cpp │ │ ├── nodeevents.h │ │ ├── null.cpp │ │ ├── ostream_wrapper.cpp │ │ ├── parse.cpp │ │ ├── parser.cpp │ │ ├── ptr_vector.h │ │ ├── regex_yaml.cpp │ │ ├── regex_yaml.h │ │ ├── regeximpl.h │ │ ├── scanner.cpp │ │ ├── scanner.h │ │ ├── scanscalar.cpp │ │ ├── scanscalar.h │ │ ├── scantag.cpp │ │ ├── scantag.h │ │ ├── scantoken.cpp │ │ ├── setting.h │ │ ├── simplekey.cpp │ │ ├── singledocparser.cpp │ │ ├── singledocparser.h │ │ ├── stream.cpp │ │ ├── stream.h │ │ ├── streamcharsource.h │ │ ├── stringsource.h │ │ ├── tag.cpp │ │ ├── tag.h │ │ └── token.h │ ├── yaml-cpp.vcxproj │ └── yaml-cpp.vcxproj.filters └── zlib │ ├── CMakeLists.txt │ ├── include │ ├── zconf.h │ └── zlib.h │ ├── lib │ ├── Win32 │ │ ├── zlib.dll │ │ └── zlib.lib │ └── x64 │ │ ├── zlib.dll │ │ └── zlib.lib │ └── zlib-1.2.8 ├── AUTHORS ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── LICENSE ├── Makefile.in ├── README.md ├── athena-start ├── conf ├── atcommands.yml ├── battle │ ├── battle.conf │ ├── battleground.conf │ ├── client.conf │ ├── drops.conf │ ├── exp.conf │ ├── feature.conf │ ├── gm.conf │ ├── guild.conf │ ├── homunc.conf │ ├── instance.conf │ ├── items.conf │ ├── misc.conf │ ├── monster.conf │ ├── party.conf │ ├── pet.conf │ ├── player.conf │ ├── skill.conf │ └── status.conf ├── battle_athena.conf ├── channels.conf ├── char_athena.conf ├── charhelp.txt ├── grf-files.txt ├── groups.yml ├── import-tmpl │ ├── atcommands.yml │ ├── battle_conf.txt │ ├── char_conf.txt │ ├── groups.yml │ ├── inter_conf.txt │ ├── inter_server.yml │ ├── log_conf.txt │ ├── login_conf.txt │ ├── map_conf.txt │ ├── packet_conf.txt │ ├── script_conf.txt │ └── web_conf.txt ├── inter_athena.conf ├── inter_server.yml ├── log_athena.conf ├── login_athena.conf ├── map_athena.conf ├── maps_athena.conf ├── motd.txt ├── msg_conf │ ├── char_msg.conf │ ├── import-tmpl │ │ ├── map_msg_chn_conf.txt │ │ ├── map_msg_eng_conf.txt │ │ ├── map_msg_frn_conf.txt │ │ ├── map_msg_grm_conf.txt │ │ ├── map_msg_idn_conf.txt │ │ ├── map_msg_mal_conf.txt │ │ ├── map_msg_por_conf.txt │ │ ├── map_msg_rus_conf.txt │ │ ├── map_msg_spn_conf.txt │ │ └── map_msg_tha_conf.txt │ ├── login_msg.conf │ ├── map_msg.conf │ ├── map_msg_chn.conf │ ├── map_msg_frn.conf │ ├── map_msg_grm.conf │ ├── map_msg_idn.conf │ ├── map_msg_mal.conf │ ├── map_msg_por.conf │ ├── map_msg_rus.conf │ ├── map_msg_spn.conf │ ├── map_msg_tha.conf │ └── web_msg.conf ├── packet_athena.conf ├── readme.md ├── script_athena.conf ├── subnet_athena.conf ├── valkyrie_sample.cfg └── web_athena.conf ├── configure ├── configure.ac ├── db ├── GeoIP.dat ├── abra_db.yml ├── achievement_db.yml ├── achievement_level_db.yml ├── attendance.yml ├── attr_fix.yml ├── battleground_db.yml ├── captcha_db.yml ├── castle_db.yml ├── const.yml ├── create_arrow_db.yml ├── elemental_db.yml ├── enchantgrade.yml ├── exp_guild.yml ├── exp_homun.yml ├── guild_skill_tree.yml ├── homunculus_db.yml ├── import-tmpl │ ├── abra_db.yml │ ├── achievement_db.yml │ ├── achievement_level_db.yml │ ├── attendance.yml │ ├── attr_fix.yml │ ├── battleground_db.yml │ ├── captcha_db.yml │ ├── castle_db.yml │ ├── const.yml │ ├── create_arrow_db.yml │ ├── elemental_db.yml │ ├── enchantgrade.yml │ ├── exp_guild.yml │ ├── exp_homun.yml │ ├── guild_skill_tree.yml │ ├── homunculus_db.yml │ ├── instance_db.yml │ ├── item_cash.yml │ ├── item_combos.yml │ ├── item_db.yml │ ├── item_enchant.yml │ ├── item_group_db.yml │ ├── item_noequip.txt │ ├── item_packages.yml │ ├── item_randomopt_db.yml │ ├── item_randomopt_group.yml │ ├── item_reform.yml │ ├── job_noenter_map.txt │ ├── job_stats.yml │ ├── laphine_synthesis.yml │ ├── laphine_upgrade.yml │ ├── level_penalty.yml │ ├── magicmushroom_db.yml │ ├── map_cache.dat │ ├── map_drops.yml │ ├── map_index.txt │ ├── mercenary_db.yml │ ├── mob_avail.yml │ ├── mob_chat_db.yml │ ├── mob_db.yml │ ├── mob_item_ratio.yml │ ├── mob_skill_db.txt │ ├── mob_summon.yml │ ├── pet_db.yml │ ├── produce_db.txt │ ├── quest_db.yml │ ├── refine.yml │ ├── reputation.yml │ ├── reputation_group.yml │ ├── size_fix.yml │ ├── skill_changematerial_db.txt │ ├── skill_damage_db.txt │ ├── skill_db.yml │ ├── skill_nocast_db.txt │ ├── skill_tree.yml │ ├── spellbook_db.yml │ ├── statpoint.yml │ ├── status.yml │ ├── status_disabled.txt │ └── stylist.yml ├── instance_db.yml ├── item_cash.yml ├── item_combos.yml ├── item_db.yml ├── item_enchant.yml ├── item_group_db.yml ├── item_packages.yml ├── item_randomopt_db.yml ├── item_randomopt_group.yml ├── item_reform.yml ├── job_stats.yml ├── laphine_synthesis.yml ├── laphine_upgrade.yml ├── level_penalty.yml ├── magicmushroom_db.yml ├── map_cache.dat ├── map_drops.yml ├── map_index.txt ├── mercenary_db.yml ├── mob_chat_db.yml ├── mob_db.yml ├── mob_item_ratio.yml ├── mob_summon.yml ├── pet_db.yml ├── pre-re │ ├── abra_db.yml │ ├── achievement_db.yml │ ├── achievement_level_db.yml │ ├── attendance.yml │ ├── attr_fix.yml │ ├── castle_db.yml │ ├── exp_guild.yml │ ├── exp_homun.yml │ ├── guild_skill_tree.yml │ ├── homunculus_db.yml │ ├── instance_db.yml │ ├── item_combos.yml │ ├── item_db.yml │ ├── item_db_equip.yml │ ├── item_db_etc.yml │ ├── item_db_usable.yml │ ├── item_group_db.yml │ ├── item_noequip.txt │ ├── job_aspd.yml │ ├── job_basepoints.yml │ ├── job_exp.yml │ ├── job_noenter_map.txt │ ├── job_stats.yml │ ├── map_cache.dat │ ├── mercenary_db.yml │ ├── mob_db.yml │ ├── mob_skill_db.txt │ ├── mob_summon.yml │ ├── pet_db.yml │ ├── produce_db.txt │ ├── quest_db.yml │ ├── refine.yml │ ├── size_fix.yml │ ├── skill_db.yml │ ├── skill_nocast_db.txt │ ├── skill_tree.yml │ ├── statpoint.yml │ └── status.yml ├── quest_db.yml ├── re │ ├── achievement_db.yml │ ├── achievement_level_db.yml │ ├── attendance.yml │ ├── attr_fix.yml │ ├── castle_db.yml │ ├── elemental_db.yml │ ├── enchantgrade.yml │ ├── exp_guild.yml │ ├── exp_homun.yml │ ├── generator │ │ ├── reputation.yml │ │ └── reputation_group.yml │ ├── guild_skill_tree.yml │ ├── homunculus_db.yml │ ├── instance_db.yml │ ├── item_combos.yml │ ├── item_db.yml │ ├── item_db_equip.yml │ ├── item_db_etc.yml │ ├── item_db_usable.yml │ ├── item_enchant.yml │ ├── item_group_db.yml │ ├── item_noequip.txt │ ├── item_packages.yml │ ├── item_randomopt_db.yml │ ├── item_randomopt_group.yml │ ├── item_reform.yml │ ├── job_aspd.yml │ ├── job_basepoints.yml │ ├── job_exp.yml │ ├── job_noenter_map.txt │ ├── job_stats.yml │ ├── laphine_synthesis.yml │ ├── laphine_upgrade.yml │ ├── level_penalty.yml │ ├── magicmushroom_db.yml │ ├── map_cache.dat │ ├── map_drops.yml │ ├── mercenary_db.yml │ ├── mob_db.yml │ ├── mob_skill_db.txt │ ├── mob_summon.yml │ ├── pet_db.yml │ ├── produce_db.txt │ ├── quest_db.yml │ ├── refine.yml │ ├── reputation.yml │ ├── reputation_group.yml │ ├── size_fix.yml │ ├── skill_db.yml │ ├── skill_nocast_db.txt │ ├── skill_tree.yml │ ├── spellbook_db.yml │ ├── statpoint.yml │ ├── status.yml │ └── stylist.yml ├── readme.md ├── refine.yml ├── reputation.yml ├── reputation_group.yml ├── size_fix.yml ├── skill_changematerial_db.txt ├── skill_damage_db.txt ├── skill_db.yml ├── skill_tree.yml ├── spellbook_db.yml ├── statpoint.yml ├── status.yml ├── status_disabled.txt └── stylist.yml ├── doc ├── achievements.md ├── atcommands.txt ├── captcha_db.txt ├── ea_job_system.txt ├── effect_list.md ├── item_bonus.txt ├── item_db.txt ├── item_group.txt ├── logo.png ├── map_cache.txt ├── map_server_generator.md ├── mapflags.txt ├── md5_hashcheck.txt ├── mob_avail.txt ├── mob_db.txt ├── mob_db_mode_list.txt ├── mob_item_ratio.txt ├── mob_skill_db_powerskill.txt ├── model │ ├── Model_Relation.mwb │ ├── Model_Relation.png │ └── rathena.vpp ├── packet_client.txt ├── packet_interserv.txt ├── packet_struct_notation.md ├── permissions.txt ├── quest_db.txt ├── quest_variables.txt ├── sample │ ├── bank_test.txt │ ├── basejob_baseclass_upper.txt │ ├── checkoption.txt │ ├── delitem2.txt │ ├── getequipcardid.txt │ ├── getequipid.txt │ ├── getguildinfo.txt │ ├── getiteminfo.txt │ ├── getmonsterinfo.txt │ ├── gstorage_test.txt │ ├── inarray.txt │ ├── instancing.txt │ ├── localized_npc.txt │ ├── navigate.txt │ ├── npc_dynamic_shop.txt │ ├── npc_extend_shop.txt │ ├── npc_live_dialogues.txt │ ├── npc_shop_test.txt │ ├── npc_test_array.txt │ ├── npc_test_chat.txt │ ├── npc_test_duplicate.txt │ ├── npc_test_func.txt │ ├── npc_test_getunits.txt │ ├── npc_test_npctimer.txt │ ├── npc_test_npctimer2.txt │ ├── npc_test_pcre.txt │ ├── npc_test_quest.txt │ ├── npc_test_setitemx.txt │ ├── npc_test_setmapflag.txt │ ├── npc_test_skill.txt │ ├── npc_test_time.txt │ └── randomopt.txt ├── script_commands.txt ├── skill_db.txt ├── source_doc.txt ├── status.txt ├── status_change.txt ├── whisper_sys.txt ├── woe_time_explanation.txt └── yaml │ ├── db │ ├── abra_db.yml │ ├── achievement_db.yml │ ├── attr_fix.yml │ ├── castle_db.yml │ ├── const.yml │ ├── create_arrow_db.yml │ ├── elemental_db.yml │ ├── enchantgrade.yml │ ├── exp_guild.yml │ ├── exp_homun.yml │ ├── guild_skill_tree.yml │ ├── homunculus_db.yml │ ├── instance_db.yml │ ├── item_cash.yml │ ├── item_combos.yml │ ├── item_db.yml │ ├── item_group_db.yml │ ├── item_randomopt_db.yml │ ├── item_randomopt_group.yml │ ├── job_basepoints.yml │ ├── job_exp.yml │ ├── job_stats.yml │ ├── level_penalty.yml │ ├── license.yml │ ├── magicmushroom_db.yml │ ├── mercenary_db.yml │ ├── mob_avail.yml │ ├── mob_chat_db.yml │ ├── mob_db.yml │ ├── mob_item_ratio.yml │ ├── mob_summon.yml │ ├── pet_db.yml │ ├── quest_db.yml │ ├── skill_db.yml │ ├── skill_tree.yml │ ├── spellbook_db.yml │ └── statpoint.yml │ └── sql │ ├── item_db.sql │ ├── item_db2.sql │ ├── item_db2_re.sql │ ├── item_db_equip.sql │ ├── item_db_etc.sql │ ├── item_db_re.sql │ ├── item_db_re_equip.sql │ ├── item_db_re_etc.sql │ ├── item_db_re_usable.sql │ ├── item_db_usable.sql │ ├── mob_db.sql │ ├── mob_db2.sql │ ├── mob_db2_re.sql │ └── mob_db_re.sql ├── function.sh ├── install.sh ├── mac.rathena-start.scpt ├── npc ├── airports │ ├── airships.txt │ ├── einbroch.txt │ ├── hugel.txt │ ├── izlude.txt │ ├── lighthalzen.txt │ ├── rachel.txt │ └── yuno.txt ├── barters.yml ├── battleground │ ├── bg_common.txt │ ├── flavius │ │ ├── flavius01.txt │ │ ├── flavius02.txt │ │ └── flavius_enter.txt │ ├── kvm │ │ ├── kvm01.txt │ │ ├── kvm02.txt │ │ ├── kvm03.txt │ │ ├── kvm_enter.txt │ │ └── kvm_item_pay.txt │ └── tierra │ │ ├── tierra01.txt │ │ ├── tierra02.txt │ │ └── tierra_enter.txt ├── cities │ ├── alberta.txt │ ├── aldebaran.txt │ ├── amatsu.txt │ ├── ayothaya.txt │ ├── brasilis.txt │ ├── comodo.txt │ ├── einbech.txt │ ├── einbroch.txt │ ├── geffen.txt │ ├── gonryun.txt │ ├── hugel.txt │ ├── izlude.txt │ ├── jawaii.txt │ ├── lighthalzen.txt │ ├── louyang.txt │ ├── lutie.txt │ ├── manuk.txt │ ├── morocc.txt │ ├── moscovia.txt │ ├── niflheim.txt │ ├── payon.txt │ ├── prontera.txt │ ├── rachel.txt │ ├── splendide.txt │ ├── umbala.txt │ ├── veins.txt │ └── yuno.txt ├── custom │ ├── barters.yml │ ├── battleground │ │ ├── bg_emp.txt │ │ └── bg_pvp.txt │ ├── breeder.txt │ ├── card_remover.txt │ ├── card_seller.txt │ ├── etc │ │ ├── airplane.txt │ │ ├── autopot.txt │ │ ├── bank.txt │ │ ├── bank_kafra.txt │ │ ├── blackjack.txt │ │ ├── floating_rates.txt │ │ ├── lottery.txt │ │ ├── marriage.txt │ │ ├── monster_arena.txt │ │ ├── morroc_raceway.txt │ │ ├── mvp_arena.txt │ │ ├── mvp_room.txt │ │ ├── penal_servitude.txt │ │ ├── quest_warper.txt │ │ ├── rpsroulette.txt │ │ ├── shifty_assassin.txt │ │ └── stock_market.txt │ ├── events │ │ ├── cluckers.txt │ │ ├── devil_square.txt │ │ ├── disguise.txt │ │ ├── holiday │ │ │ ├── hallow06.txt │ │ │ ├── uneasy_cemetery.txt │ │ │ ├── valentinesdayexp.txt │ │ │ └── xmas_rings_event.txt │ │ ├── mushroom_event.txt │ │ └── mvp_ladder.txt │ ├── healer.txt │ ├── item_signer.txt │ ├── itemmall.txt │ ├── jobmaster.txt │ ├── official │ │ └── GeffenMagicTournament.txt │ ├── platinum_skills.txt │ ├── quests │ │ ├── bandit_beard.txt │ │ ├── berzebub.txt │ │ ├── dead_branch.txt │ │ ├── elvenear.txt │ │ ├── event_6_new_hats.txt │ │ ├── hunting_missions.txt │ │ ├── jewel_case.txt │ │ ├── kaho_balmung.txt │ │ ├── kahohorn.txt │ │ ├── kings_items.txt │ │ ├── may_hats.txt │ │ ├── quest_shop.txt │ │ ├── questboard.txt │ │ ├── sphinx_mask.txt │ │ ├── sunglasses.txt │ │ ├── tha_statues.txt │ │ ├── thq │ │ │ ├── THQS_ChattingNPC.txt │ │ │ ├── THQS_GuildNPC.txt │ │ │ ├── THQS_QuestNPC.txt │ │ │ ├── THQS_Quests.txt │ │ │ └── THQS_TTShop.txt │ │ ├── umbalian_language.txt │ │ └── valhallen.txt │ ├── resetnpc.txt │ ├── stylist.txt │ ├── warper.txt │ └── woe_controller.txt ├── events │ ├── MemorialDay_2008.txt │ ├── RWC_2011.txt │ ├── RWC_2012.txt │ ├── StPatrick_2008.txt │ ├── bossnia.txt │ ├── children_week.txt │ ├── christmas_2005.txt │ ├── christmas_2008.txt │ ├── christmas_2013.txt │ ├── dumplingfestival.txt │ ├── easter_2008.txt │ ├── easter_2010.txt │ ├── event_skill_reset.txt │ ├── gdevent_aru.txt │ ├── gdevent_sch.txt │ ├── god_se_festival.txt │ ├── halloween_2006.txt │ ├── halloween_2008.txt │ ├── halloween_2009.txt │ ├── halloween_2013.txt │ ├── idul_fitri.txt │ ├── lunar_2008.txt │ ├── nguild │ │ ├── nguild_dunsw.txt │ │ ├── nguild_ev_agit.txt │ │ ├── nguild_flags.txt │ │ ├── nguild_guardians.txt │ │ ├── nguild_kafras.txt │ │ ├── nguild_managers.txt │ │ ├── nguild_treas.txt │ │ └── nguild_warper.txt │ ├── twintowers.txt │ ├── valentinesday.txt │ ├── valentinesday_2009.txt │ ├── valentinesday_2012.txt │ ├── whiteday.txt │ └── xmas.txt ├── guild │ ├── agit_controller.txt │ ├── agit_main.txt │ ├── aldeg_cas01.txt │ ├── aldeg_cas02.txt │ ├── aldeg_cas03.txt │ ├── aldeg_cas04.txt │ ├── aldeg_cas05.txt │ ├── gefg_cas01.txt │ ├── gefg_cas02.txt │ ├── gefg_cas03.txt │ ├── gefg_cas04.txt │ ├── gefg_cas05.txt │ ├── payg_cas01.txt │ ├── payg_cas02.txt │ ├── payg_cas03.txt │ ├── payg_cas04.txt │ ├── payg_cas05.txt │ ├── prtg_cas01.txt │ ├── prtg_cas02.txt │ ├── prtg_cas03.txt │ ├── prtg_cas04.txt │ ├── prtg_cas05.txt │ └── trs_rp.txt ├── guild2 │ ├── agit_main_se.txt │ ├── agit_start_se.txt │ ├── arug_cas01.txt │ ├── arug_cas02.txt │ ├── arug_cas03.txt │ ├── arug_cas04.txt │ ├── arug_cas05.txt │ ├── guild_flags.txt │ ├── schg_cas01.txt │ ├── schg_cas02.txt │ ├── schg_cas03.txt │ ├── schg_cas04.txt │ └── schg_cas05.txt ├── instances │ ├── EndlessTower.txt │ ├── NydhoggsNest.txt │ ├── OrcsMemory.txt │ └── SealedShrine.txt ├── jobs │ ├── 1-1e │ │ ├── gunslinger.txt │ │ ├── ninja.txt │ │ └── taekwon.txt │ ├── 2-1 │ │ ├── assassin.txt │ │ ├── blacksmith.txt │ │ ├── hunter.txt │ │ ├── knight.txt │ │ ├── priest.txt │ │ └── wizard.txt │ ├── 2-1a │ │ ├── AssassinCross.txt │ │ ├── HighPriest.txt │ │ ├── HighWizard.txt │ │ ├── LordKnight.txt │ │ ├── Sniper.txt │ │ └── WhiteSmith.txt │ ├── 2-1e │ │ └── StarGladiator.txt │ ├── 2-2 │ │ ├── alchemist.txt │ │ ├── bard.txt │ │ ├── crusader.txt │ │ ├── dancer.txt │ │ ├── monk.txt │ │ ├── rogue.txt │ │ └── sage.txt │ ├── 2-2a │ │ ├── Champion.txt │ │ ├── Clown.txt │ │ ├── Creator.txt │ │ ├── Gypsy.txt │ │ ├── Paladin.txt │ │ ├── Professor.txt │ │ └── Stalker.txt │ ├── 2-2e │ │ └── SoulLinker.txt │ ├── novice │ │ └── supernovice.txt │ └── valkyrie.txt ├── kafras │ ├── cool_event_corp.txt │ ├── dts_warper.txt │ ├── functions_kafras.txt │ └── kafras.txt ├── mapflag │ ├── battleground.txt │ ├── gvg.txt │ ├── gvg_noparty.txt │ ├── hidemobhpbar.txt │ ├── jail.txt │ ├── night.txt │ ├── nightmare.txt │ ├── nobranch.txt │ ├── nocostume.txt │ ├── nodynamicnpc.txt │ ├── noicewall.txt │ ├── nomemo.txt │ ├── nopenalty.txt │ ├── nopvp.txt │ ├── noreturn.txt │ ├── nosave.txt │ ├── noskill.txt │ ├── noteleport.txt │ ├── nowarp.txt │ ├── nowarpto.txt │ ├── partylock.txt │ ├── pvp.txt │ ├── pvp_noguild.txt │ ├── pvp_noparty.txt │ ├── reset.txt │ ├── restricted.txt │ ├── skill_damage.txt │ ├── skill_duration.txt │ └── town.txt ├── merchants │ ├── advanced_refiner.txt │ ├── alchemist.txt │ ├── buying_shops.txt │ ├── cash_trader.txt │ ├── cashheadgear_dye.txt │ ├── clothes_dyer.txt │ ├── coin_exchange.txt │ ├── dye_maker.txt │ ├── elemental_trader.txt │ ├── enchan_arm.txt │ ├── gemstone.txt │ ├── hair_dyer.txt │ ├── hair_style.txt │ ├── icecream.txt │ ├── inn.txt │ ├── kunai_maker.txt │ ├── milk_trader.txt │ ├── novice_exchange.txt │ ├── old_pharmacist.txt │ ├── quivers.txt │ ├── refine.txt │ ├── renters.txt │ ├── shops.txt │ ├── socket_enchant.txt │ ├── socket_enchant2.txt │ └── wander_pet_food.txt ├── mobs │ ├── jail.txt │ ├── pvp.txt │ └── towns.txt ├── other │ ├── CashShop_Functions.txt │ ├── Global_Functions.txt │ ├── acolyte_warp.txt │ ├── arena │ │ ├── arena_aco.txt │ │ ├── arena_lvl50.txt │ │ ├── arena_lvl60.txt │ │ ├── arena_lvl70.txt │ │ ├── arena_lvl80.txt │ │ ├── arena_party.txt │ │ ├── arena_point.txt │ │ └── arena_room.txt │ ├── auction.txt │ ├── books.txt │ ├── bulletin_boards.txt │ ├── card_trader.txt │ ├── comodo_gambling.txt │ ├── divorce.txt │ ├── fortune.txt │ ├── gm_npcs.txt │ ├── guildpvp.txt │ ├── gympass.txt │ ├── hugel_bingo.txt │ ├── mail.txt │ ├── marriage.txt │ ├── mercenary_rent.txt │ ├── monster_museum.txt │ ├── monster_race.txt │ ├── msg_boards.txt │ ├── poring_war.txt │ ├── powernpc.txt │ ├── pvp.txt │ └── turbo_track.txt ├── pre-re │ ├── airports │ │ └── izlude.txt │ ├── cities │ │ ├── alberta.txt │ │ ├── brasilis.txt │ │ ├── izlude.txt │ │ ├── jawaii.txt │ │ ├── lutie.txt │ │ ├── prontera.txt │ │ └── yuno.txt │ ├── guides │ │ ├── guides_alberta.txt │ │ ├── guides_aldebaran.txt │ │ ├── guides_amatsu.txt │ │ ├── guides_ayothaya.txt │ │ ├── guides_brasilis.txt │ │ ├── guides_comodo.txt │ │ ├── guides_einbroch.txt │ │ ├── guides_geffen.txt │ │ ├── guides_gonryun.txt │ │ ├── guides_hugel.txt │ │ ├── guides_izlude.txt │ │ ├── guides_juno.txt │ │ ├── guides_lighthalzen.txt │ │ ├── guides_louyang.txt │ │ ├── guides_morroc.txt │ │ ├── guides_moscovia.txt │ │ ├── guides_niflheim.txt │ │ ├── guides_payon.txt │ │ ├── guides_prontera.txt │ │ ├── guides_rachel.txt │ │ ├── guides_umbala.txt │ │ └── guides_veins.txt │ ├── jobs │ │ ├── 1-1 │ │ │ ├── acolyte.txt │ │ │ ├── archer.txt │ │ │ ├── mage.txt │ │ │ ├── merchant.txt │ │ │ ├── swordman.txt │ │ │ └── thief.txt │ │ ├── 1-1e │ │ │ └── taekwon.txt │ │ ├── 2-2 │ │ │ └── crusader.txt │ │ └── novice │ │ │ └── novice.txt │ ├── kafras │ │ └── kafras.txt │ ├── mapflag │ │ ├── gvg.txt │ │ ├── hidemobhpbar.txt │ │ └── nosave.txt │ ├── merchants │ │ ├── ammo_boxes.txt │ │ ├── ammo_dealer.txt │ │ ├── hair_dyer.txt │ │ ├── hair_style.txt │ │ ├── shops.txt │ │ └── socket_enchant2.txt │ ├── mobs │ │ ├── citycleaners.txt │ │ ├── dungeons │ │ │ ├── abbey.txt │ │ │ ├── abyss.txt │ │ │ ├── alde_dun.txt │ │ │ ├── ama_dun.txt │ │ │ ├── anthell.txt │ │ │ ├── ayo_dun.txt │ │ │ ├── beach_dun.txt │ │ │ ├── bra_dun.txt │ │ │ ├── c_tower.txt │ │ │ ├── ein_dun.txt │ │ │ ├── gef_dun.txt │ │ │ ├── gefenia.txt │ │ │ ├── glastheim.txt │ │ │ ├── gld_dun.txt │ │ │ ├── gld_dunSE.txt │ │ │ ├── gon_dun.txt │ │ │ ├── ice_dun.txt │ │ │ ├── in_sphinx.txt │ │ │ ├── iz_dun.txt │ │ │ ├── juperos.txt │ │ │ ├── kh_dun.txt │ │ │ ├── lhz_dun.txt │ │ │ ├── lou_dun.txt │ │ │ ├── mag_dun.txt │ │ │ ├── mjo_dun.txt │ │ │ ├── moc_pryd.txt │ │ │ ├── mosk_dun.txt │ │ │ ├── nyd_dun.txt │ │ │ ├── odin.txt │ │ │ ├── orcsdun.txt │ │ │ ├── pay_dun.txt │ │ │ ├── prt_maze.txt │ │ │ ├── prt_sew.txt │ │ │ ├── ra_san.txt │ │ │ ├── tha_t.txt │ │ │ ├── thor_v.txt │ │ │ ├── treasure.txt │ │ │ ├── tur_dun.txt │ │ │ ├── um_dun.txt │ │ │ ├── xmas_dun.txt │ │ │ └── yggdrasil.txt │ │ └── fields │ │ │ ├── amatsu.txt │ │ │ ├── ayothaya.txt │ │ │ ├── brasilis.txt │ │ │ ├── comodo.txt │ │ │ ├── einbroch.txt │ │ │ ├── geffen.txt │ │ │ ├── gonryun.txt │ │ │ ├── hugel.txt │ │ │ ├── lighthalzen.txt │ │ │ ├── louyang.txt │ │ │ ├── lutie.txt │ │ │ ├── manuk.txt │ │ │ ├── mjolnir.txt │ │ │ ├── morocc.txt │ │ │ ├── moscovia.txt │ │ │ ├── niflheim.txt │ │ │ ├── payon.txt │ │ │ ├── prontera.txt │ │ │ ├── rachel.txt │ │ │ ├── splendide.txt │ │ │ ├── umbala.txt │ │ │ ├── veins.txt │ │ │ └── yuno.txt │ ├── other │ │ ├── bulletin_boards.txt │ │ ├── mercenary_rent.txt │ │ ├── msg_boards.txt │ │ ├── pvp.txt │ │ ├── resetskill.txt │ │ └── turbo_track.txt │ ├── quests │ │ ├── collection │ │ │ ├── quest_alligator.txt │ │ │ ├── quest_caramel.txt │ │ │ ├── quest_coco.txt │ │ │ ├── quest_creamy.txt │ │ │ ├── quest_demonpungus.txt │ │ │ ├── quest_disguiseloliruri.txt │ │ │ ├── quest_dokebi.txt │ │ │ ├── quest_dryad.txt │ │ │ ├── quest_fabre.txt │ │ │ ├── quest_frilldora.txt │ │ │ ├── quest_goat.txt │ │ │ ├── quest_golem.txt │ │ │ ├── quest_hode.txt │ │ │ ├── quest_leafcat.txt │ │ │ ├── quest_mantis.txt │ │ │ ├── quest_pecopeco.txt │ │ │ ├── quest_pupa.txt │ │ │ └── quest_zhupolong.txt │ │ ├── cooking_quest.txt │ │ ├── first_class │ │ │ └── tu_archer.txt │ │ ├── monstertamers.txt │ │ ├── mrsmile.txt │ │ ├── quest_payon.txt │ │ ├── quests_13_1.txt │ │ ├── quests_izlude.txt │ │ ├── quests_lighthalzen.txt │ │ ├── quests_morocc.txt │ │ ├── quests_nameless.txt │ │ ├── quests_niflheim.txt │ │ ├── quests_veins.txt │ │ ├── seals │ │ │ ├── brisingamen_seal.txt │ │ │ └── megingard_seal.txt │ │ ├── skills │ │ │ └── swordman_skills.txt │ │ └── the_sign_quest.txt │ ├── scripts_athena.conf │ ├── scripts_jobs.conf │ ├── scripts_main.conf │ ├── scripts_mapflags.conf │ ├── scripts_monsters.conf │ ├── scripts_warps.conf │ └── warps │ │ ├── cities │ │ ├── alberta.txt │ │ ├── einbroch.txt │ │ ├── izlude.txt │ │ ├── prontera.txt │ │ ├── rachel.txt │ │ └── yggdrasil.txt │ │ ├── fields │ │ ├── com_fild.txt │ │ ├── geffen_fild.txt │ │ ├── hugel_fild.txt │ │ ├── morroc_fild.txt │ │ ├── payon_fild.txt │ │ ├── prontera_fild.txt │ │ ├── rachel_fild.txt │ │ ├── veins_fild.txt │ │ └── yuno_fild.txt │ │ ├── guildcastles.txt │ │ └── other │ │ ├── arena.txt │ │ └── sign.txt ├── quests │ ├── bard_quest.txt │ ├── bunnyband.txt │ ├── cooking_quest.txt │ ├── counteragent_mixture.txt │ ├── dandelion_request.txt │ ├── doomed_swords.txt │ ├── doomed_swords_quest.txt │ ├── eye_of_hellion.txt │ ├── first_class │ │ ├── tu_acolyte.txt │ │ ├── tu_archer.txt │ │ ├── tu_ma_th01.txt │ │ ├── tu_magician01.txt │ │ ├── tu_merchant.txt │ │ ├── tu_sword.txt │ │ └── tu_thief01.txt │ ├── guildrelay.txt │ ├── gunslinger_quests.txt │ ├── juice_maker.txt │ ├── kiel_hyre_quest.txt │ ├── lvl4_weapon_quest.txt │ ├── mage_solution.txt │ ├── monstertamers.txt │ ├── mrsmile.txt │ ├── newgears │ │ ├── 2004_headgears.txt │ │ ├── 2005_headgears.txt │ │ ├── 2006_headgears.txt │ │ └── 2008_headgears.txt │ ├── ninja_quests.txt │ ├── obb_quest.txt │ ├── okolnir.txt │ ├── partyrelay.txt │ ├── quests_13_1.txt │ ├── quests_13_2.txt │ ├── quests_airship.txt │ ├── quests_alberta.txt │ ├── quests_aldebaran.txt │ ├── quests_amatsu.txt │ ├── quests_ayothaya.txt │ ├── quests_brasilis.txt │ ├── quests_comodo.txt │ ├── quests_ein.txt │ ├── quests_geffen.txt │ ├── quests_gonryun.txt │ ├── quests_hugel.txt │ ├── quests_izlude.txt │ ├── quests_juperos.txt │ ├── quests_lighthalzen.txt │ ├── quests_louyang.txt │ ├── quests_lutie.txt │ ├── quests_morocc.txt │ ├── quests_moscovia.txt │ ├── quests_nameless.txt │ ├── quests_niflheim.txt │ ├── quests_payon.txt │ ├── quests_prontera.txt │ ├── quests_rachel.txt │ ├── quests_umbala.txt │ ├── quests_veins.txt │ ├── quests_yuno.txt │ ├── seals │ │ ├── brisingamen_seal.txt │ │ ├── god_global.txt │ │ ├── god_weapon_creation.txt │ │ ├── megingard_seal.txt │ │ ├── mjolnir_seal.txt │ │ ├── seal_status.txt │ │ └── sleipnir_seal.txt │ ├── skills │ │ ├── acolyte_skills.txt │ │ ├── alchemist_skills.txt │ │ ├── archer_skills.txt │ │ ├── assassin_skills.txt │ │ ├── bard_skills.txt │ │ ├── blacksmith_skills.txt │ │ ├── crusader_skills.txt │ │ ├── dancer_skills.txt │ │ ├── hunter_skills.txt │ │ ├── knight_skills.txt │ │ ├── mage_skills.txt │ │ ├── merchant_skills.txt │ │ ├── monk_skills.txt │ │ ├── novice_skills.txt │ │ ├── priest_skills.txt │ │ ├── rogue_skills.txt │ │ ├── sage_skills.txt │ │ ├── swordman_skills.txt │ │ ├── thief_skills.txt │ │ └── wizard_skills.txt │ ├── thana_quest.txt │ └── the_sign_quest.txt ├── re │ ├── airports │ │ └── izlude.txt │ ├── battleground │ │ └── bg_common.txt │ ├── cities │ │ ├── alberta.txt │ │ ├── comodo.txt │ │ ├── dewata.txt │ │ ├── dicastes.txt │ │ ├── eclage.txt │ │ ├── izlude.txt │ │ ├── jawaii.txt │ │ ├── lutie.txt │ │ ├── malangdo.txt │ │ ├── malaya.txt │ │ ├── mora.txt │ │ ├── prontera.txt │ │ └── yuno.txt │ ├── custom │ │ └── lasagna │ │ │ ├── lasa_dun.txt │ │ │ ├── lasa_fild.txt │ │ │ └── lasagna_npcs.txt │ ├── guides │ │ ├── guides_alberta.txt │ │ ├── guides_aldebaran.txt │ │ ├── guides_amatsu.txt │ │ ├── guides_ayothaya.txt │ │ ├── guides_brasilis.txt │ │ ├── guides_comodo.txt │ │ ├── guides_dewata.txt │ │ ├── guides_dicastes.txt │ │ ├── guides_eclage.txt │ │ ├── guides_einbroch.txt │ │ ├── guides_geffen.txt │ │ ├── guides_gonryun.txt │ │ ├── guides_hugel.txt │ │ ├── guides_izlude.txt │ │ ├── guides_juno.txt │ │ ├── guides_lighthalzen.txt │ │ ├── guides_louyang.txt │ │ ├── guides_lutie.txt │ │ ├── guides_malangdo.txt │ │ ├── guides_malaya.txt │ │ ├── guides_mora.txt │ │ ├── guides_morroc.txt │ │ ├── guides_moscovia.txt │ │ ├── guides_niflheim.txt │ │ ├── guides_payon.txt │ │ ├── guides_prontera.txt │ │ ├── guides_rachel.txt │ │ ├── guides_rockridge.txt │ │ ├── guides_umbala.txt │ │ ├── guides_veins.txt │ │ ├── guides_woe_te.txt │ │ └── navigation.txt │ ├── guild │ │ ├── invest_main.txt │ │ ├── invest_npc.txt │ │ ├── mission_main.txt │ │ └── mission_npc.txt │ ├── guild3 │ │ ├── agit_main_te.txt │ │ ├── agit_start_te.txt │ │ ├── te_aldecas1.txt │ │ ├── te_aldecas2.txt │ │ ├── te_aldecas3.txt │ │ ├── te_aldecas4.txt │ │ ├── te_aldecas5.txt │ │ ├── te_prtcas01.txt │ │ ├── te_prtcas02.txt │ │ ├── te_prtcas03.txt │ │ ├── te_prtcas04.txt │ │ └── te_prtcas05.txt │ ├── instances │ │ ├── AirshipAssault.txt │ │ ├── BakonawaLake.txt │ │ ├── BangungotHospital.txt │ │ ├── BuwayaCave.txt │ │ ├── CentralLaboratory.txt │ │ ├── CharlestonCrisis.txt │ │ ├── CorOperation.txt │ │ ├── DeepForest.txt │ │ ├── DevilTower.txt │ │ ├── EclageInterior.txt │ │ ├── EddaHalfMoonInTheDaylight.txt │ │ ├── FacewormsNest.txt │ │ ├── FridayDungeon.txt │ │ ├── GhostPalace.txt │ │ ├── HazyForest.txt │ │ ├── HeartHunterWarBase.txt │ │ ├── HiddenGarden.txt │ │ ├── HorrorToyFactory.txt │ │ ├── InfiniteSpace.txt │ │ ├── IsleOfBios.txt │ │ ├── LastRoom.txt │ │ ├── LostFarm.txt │ │ ├── MalangdoCulvert.txt │ │ ├── MazeofOz.txt │ │ ├── MorseCave.txt │ │ ├── NightmarishJitterbug.txt │ │ ├── OctopusCave.txt │ │ ├── OldGlastHeim.txt │ │ ├── OsOccupation.txt │ │ ├── PoringVillage.txt │ │ ├── Regenschirm.txt │ │ ├── RitualOfBlessing.txt │ │ ├── RoomOfConsciousness.txt │ │ ├── SaraMemory.txt │ │ ├── SarahAndFenrir.txt │ │ ├── SealedOs.txt │ │ ├── SkyFortress.txt │ │ ├── TempleOfDemonGod.txt │ │ ├── ThorGunsuBase.txt │ │ ├── TwilightGarden.txt │ │ ├── VillaofDeception.txt │ │ ├── VillaofHighPriest.txt │ │ ├── WaterGarden.txt │ │ ├── WaveMode.txt │ │ ├── WeekendDungeon.txt │ │ ├── WernerLaboratoryCentralRoom.txt │ │ ├── WolfchevLaboratory.txt │ │ └── Wolves.txt │ ├── jobs │ │ ├── 1-1 │ │ │ ├── acolyte.txt │ │ │ ├── archer.txt │ │ │ ├── mage.txt │ │ │ ├── merchant.txt │ │ │ ├── swordman.txt │ │ │ └── thief.txt │ │ ├── 1-1e │ │ │ └── taekwon.txt │ │ ├── 2-2 │ │ │ └── crusader.txt │ │ ├── 2e │ │ │ ├── kagerou_oboro.txt │ │ │ └── rebellion.txt │ │ ├── 3-1 │ │ │ ├── archbishop.txt │ │ │ ├── guillotine_cross.txt │ │ │ ├── mechanic.txt │ │ │ ├── ranger.txt │ │ │ ├── rune_knight.txt │ │ │ └── warlock.txt │ │ ├── 3-2 │ │ │ ├── genetic.txt │ │ │ ├── minstrel.txt │ │ │ ├── royal_guard.txt │ │ │ ├── shadow_chaser.txt │ │ │ ├── sorcerer.txt │ │ │ ├── sura.txt │ │ │ └── wanderer.txt │ │ ├── doram │ │ │ └── spirit_handler.txt │ │ ├── novice │ │ │ ├── academy.txt │ │ │ ├── novice.txt │ │ │ └── supernovice_ex.txt │ │ └── repair.txt │ ├── kafras │ │ ├── Kafra_Teleportation_Services.txt │ │ ├── Zonda_Teleportation_Services.txt │ │ ├── cool_event_corp.txt │ │ └── kafras.txt │ ├── mapflag │ │ ├── gvg.txt │ │ ├── hidemobhpbar.txt │ │ ├── night.txt │ │ ├── nobranch.txt │ │ ├── nocostume.txt │ │ ├── nodynamicnpc.txt │ │ ├── noicewall.txt │ │ ├── nolockon.txt │ │ ├── nomemo.txt │ │ ├── nopenalty.txt │ │ ├── nopvp.txt │ │ ├── norenewalpenalty.txt │ │ ├── nosave.txt │ │ ├── noteleport.txt │ │ ├── nowarp.txt │ │ ├── nowarpto.txt │ │ ├── partylock.txt │ │ ├── privateairship.txt │ │ ├── reset.txt │ │ ├── restricted.txt │ │ ├── skill_duration.txt │ │ ├── specialpopup.txt │ │ └── town.txt │ ├── merchants │ │ ├── 3rd_trader.txt │ │ ├── Dealer_Update.txt │ │ ├── Emperium_Seller.txt │ │ ├── Extended_Ammunition.txt │ │ ├── Extended_Stylist.txt │ │ ├── Gemstone_Bagger.txt │ │ ├── HorrorToyFactory_merchants.txt │ │ ├── InfiniteSpace_merchants.txt │ │ ├── OldGlastHeim_merchants.txt │ │ ├── Slot_Move_Card_Sales.txt │ │ ├── advanced_refiner.txt │ │ ├── alchemist.txt │ │ ├── ammo_boxes.txt │ │ ├── barters.yml │ │ ├── barters │ │ │ ├── Extended_Ammunition.yml │ │ │ ├── Gemstone_Bagger.yml │ │ │ ├── Pet_Groomer.yml │ │ │ ├── cashmall.yml │ │ │ ├── enchan_illusion_dungeons.yml │ │ │ ├── enchantgrade.yml │ │ │ ├── garden_of_time.yml │ │ │ ├── mysterious_cookie_shop.yml │ │ │ ├── quests_16_1.yml │ │ │ ├── quests_16_2.yml │ │ │ ├── quests_17_1.yml │ │ │ ├── quests_17_2.yml │ │ │ ├── quests_18.yml │ │ │ ├── quests_exp_175.yml │ │ │ ├── refine.yml │ │ │ └── rgsr_in.yml │ │ ├── bio4_reward.txt │ │ ├── blessed_refiner.txt │ │ ├── card_exchange.txt │ │ ├── card_separation.txt │ │ ├── cash_trader-idRO.txt │ │ ├── cashmall.txt │ │ ├── catalog.txt │ │ ├── clothing_buff_removal.txt │ │ ├── coin_exchange.txt │ │ ├── diamond.txt │ │ ├── eden_market.txt │ │ ├── enchan_edda_half_moon.txt │ │ ├── enchan_illusion_17_1.txt │ │ ├── enchan_illusion_dungeons.txt │ │ ├── enchan_ko.txt │ │ ├── enchan_mal.txt │ │ ├── enchan_mora.txt │ │ ├── enchan_rockridge.txt │ │ ├── enchan_sage_legacy_17_2.txt │ │ ├── enchan_upg.txt │ │ ├── enchan_verus.txt │ │ ├── enchantgrade.txt │ │ ├── flute.txt │ │ ├── ghost_palace_exchange.txt │ │ ├── gld_mission_exchange.txt │ │ ├── guild_warehouse.txt │ │ ├── hd_refiner.txt │ │ ├── malangdo_costume.txt │ │ ├── moro_cav_exchange.txt │ │ ├── mysterious_cookie_shop.txt │ │ ├── new_insurance.txt │ │ ├── nightmare_biolab.txt │ │ ├── novice_vending_machine.txt │ │ ├── pet_groomer.txt │ │ ├── pet_trader.txt │ │ ├── quests_exp_175.txt │ │ ├── quivers.txt │ │ ├── refine.txt │ │ ├── renters.txt │ │ ├── rgsr_in.txt │ │ ├── shadow_refiner.txt │ │ ├── shopping_boards.txt │ │ ├── shops.txt │ │ ├── socket_enchant2.txt │ │ ├── te_merchant.txt │ │ └── ticket_refiner.txt │ ├── mobs │ │ ├── academy.txt │ │ ├── championmobs.txt │ │ ├── dungeons │ │ │ ├── abbey.txt │ │ │ ├── abyss.txt │ │ │ ├── alde_dun.txt │ │ │ ├── ama_dun.txt │ │ │ ├── amicitia.txt │ │ │ ├── anthell.txt │ │ │ ├── ayo_dun.txt │ │ │ ├── ba_2whs.txt │ │ │ ├── ba_bath.txt │ │ │ ├── ba_lib.txt │ │ │ ├── ba_pw.txt │ │ │ ├── beach_dun.txt │ │ │ ├── bra_dun.txt │ │ │ ├── c_tower.txt │ │ │ ├── dew_dun.txt │ │ │ ├── dic_dun.txt │ │ │ ├── ecl_tdun.txt │ │ │ ├── ein_dun.txt │ │ │ ├── for_dun.txt │ │ │ ├── gef_dun.txt │ │ │ ├── gefenia.txt │ │ │ ├── glastheim.txt │ │ │ ├── gld_dunSE.txt │ │ │ ├── gld_re.txt │ │ │ ├── gon_dun.txt │ │ │ ├── ice_dun.txt │ │ │ ├── in_sphinx.txt │ │ │ ├── iz_dun.txt │ │ │ ├── juperos.txt │ │ │ ├── kh_dun.txt │ │ │ ├── lhz_dun.txt │ │ │ ├── lhz_dun_n.txt │ │ │ ├── lou_dun.txt │ │ │ ├── ma_dun.txt │ │ │ ├── mag_dun.txt │ │ │ ├── mal_dun.txt │ │ │ ├── mjo_dun.txt │ │ │ ├── moc_pryd.txt │ │ │ ├── moro_vol.txt │ │ │ ├── mosk_dun.txt │ │ │ ├── nif_dun.txt │ │ │ ├── nyd_dun.txt │ │ │ ├── odin.txt │ │ │ ├── orcsdun.txt │ │ │ ├── oz_dun.txt │ │ │ ├── pay_dun.txt │ │ │ ├── prt_maze.txt │ │ │ ├── prt_prison.txt │ │ │ ├── prt_q.txt │ │ │ ├── prt_sew.txt │ │ │ ├── ra_san.txt │ │ │ ├── rockridge.txt │ │ │ ├── slabw01.txt │ │ │ ├── sp_rudus.txt │ │ │ ├── teg_dun.txt │ │ │ ├── tha_t.txt │ │ │ ├── thor_v.txt │ │ │ ├── treasure.txt │ │ │ ├── tur_dun.txt │ │ │ ├── xmas_dun.txt │ │ │ └── yggdrasil.txt │ │ ├── fields │ │ │ ├── amatsu.txt │ │ │ ├── ayothaya.txt │ │ │ ├── ba_lost.txt │ │ │ ├── ba_maison.txt │ │ │ ├── bifrost.txt │ │ │ ├── brasilis.txt │ │ │ ├── comodo.txt │ │ │ ├── dewata.txt │ │ │ ├── dicastes.txt │ │ │ ├── eclage.txt │ │ │ ├── einbroch.txt │ │ │ ├── geffen.txt │ │ │ ├── gonryun.txt │ │ │ ├── gw_fild.txt │ │ │ ├── hugel.txt │ │ │ ├── lighthalzen.txt │ │ │ ├── louyang.txt │ │ │ ├── lutie.txt │ │ │ ├── malaya.txt │ │ │ ├── manuk.txt │ │ │ ├── mjolnir.txt │ │ │ ├── morocc.txt │ │ │ ├── moscovia.txt │ │ │ ├── niflheim.txt │ │ │ ├── payon.txt │ │ │ ├── prontera.txt │ │ │ ├── rachel.txt │ │ │ ├── rockridge.txt │ │ │ ├── splendide.txt │ │ │ ├── umbala.txt │ │ │ ├── veins.txt │ │ │ └── yuno.txt │ │ ├── int_land.txt │ │ ├── prt_cas.txt │ │ ├── special_border_area.txt │ │ ├── towns.txt │ │ ├── tra_fild.txt │ │ └── verus.txt │ ├── other │ │ ├── CashShop_Functions.txt │ │ ├── Global_Functions.txt │ │ ├── achievements.txt │ │ ├── adven_boards.txt │ │ ├── bulletin_boards.txt │ │ ├── clans.txt │ │ ├── dimensional_gap.txt │ │ ├── global_npcs.txt │ │ ├── item_merge.txt │ │ ├── kachua_key.txt │ │ ├── mail.txt │ │ ├── mercenary_rent.txt │ │ ├── pvp.txt │ │ ├── resetskill.txt │ │ ├── stone_change.txt │ │ └── turbo_track.txt │ ├── quests │ │ ├── HelpMeShorty.txt │ │ ├── cooking_quest.txt │ │ ├── cupet.txt │ │ ├── eden │ │ │ ├── 11-25.txt │ │ │ ├── 26-40.txt │ │ │ ├── 41-55.txt │ │ │ ├── 56-70.txt │ │ │ ├── 71-85.txt │ │ │ ├── 86-90.txt │ │ │ ├── 91-99.txt │ │ │ ├── eden_100_111.txt │ │ │ ├── eden_111_120.txt │ │ │ ├── eden_121_130.txt │ │ │ ├── eden_131_140.txt │ │ │ ├── eden_common.txt │ │ │ ├── eden_iro.txt │ │ │ ├── eden_quests.txt │ │ │ ├── eden_service.txt │ │ │ └── eden_tutorial.txt │ │ ├── first_class │ │ │ └── tu_archer.txt │ │ ├── garden_of_time.txt │ │ ├── homun_s.txt │ │ ├── illusion_investigation.txt │ │ ├── juno_monster_society.txt │ │ ├── magic_books.txt │ │ ├── monstertamers.txt │ │ ├── mrsmile.txt │ │ ├── newgears │ │ │ ├── 2010_headgears.txt │ │ │ └── 2012_headgears.txt │ │ ├── ninja_quests.txt │ │ ├── pile_bunker.txt │ │ ├── quest_payon.txt │ │ ├── quests_13_1.txt │ │ ├── quests_14_3.txt │ │ ├── quests_14_3_bis.txt │ │ ├── quests_15_1.txt │ │ ├── quests_15_2.txt │ │ ├── quests_16_1.txt │ │ ├── quests_16_2.txt │ │ ├── quests_17_1.txt │ │ ├── quests_17_2.txt │ │ ├── quests_18.txt │ │ ├── quests_aldebaran.txt │ │ ├── quests_dewata.txt │ │ ├── quests_dicastes.txt │ │ ├── quests_dungeons_200.txt │ │ ├── quests_eclage.txt │ │ ├── quests_exp_175.txt │ │ ├── quests_glastheim.txt │ │ ├── quests_illusion_dungeons.txt │ │ ├── quests_izlude.txt │ │ ├── quests_lighthalzen.txt │ │ ├── quests_malangdo.txt │ │ ├── quests_malaya.txt │ │ ├── quests_mora.txt │ │ ├── quests_morocc.txt │ │ ├── quests_nameless.txt │ │ ├── quests_niflheim.txt │ │ ├── quests_rockridge.txt │ │ ├── quests_veins.txt │ │ ├── seals │ │ │ ├── brisingamen_seal.txt │ │ │ └── megingard_seal.txt │ │ ├── skills │ │ │ ├── merchant_skills.txt │ │ │ └── swordman_skills.txt │ │ ├── the_sign_quest.txt │ │ └── woe_te │ │ │ ├── te_goditem_alde1.txt │ │ │ ├── te_goditem_prt01.txt │ │ │ ├── te_mission_alde.txt │ │ │ ├── te_mission_main.txt │ │ │ └── te_mission_prt.txt │ ├── scripts_athena.conf │ ├── scripts_guild.conf │ ├── scripts_jobs.conf │ ├── scripts_main.conf │ ├── scripts_mapflags.conf │ ├── scripts_monsters.conf │ ├── scripts_warps.conf │ └── warps │ │ ├── cities │ │ ├── alberta.txt │ │ ├── dewata.txt │ │ ├── dicastes.txt │ │ ├── eclage.txt │ │ ├── einbech.txt │ │ ├── einbroch.txt │ │ ├── izlude.txt │ │ ├── lasagna.txt │ │ ├── lighthalzen.txt │ │ ├── malangdo.txt │ │ ├── malaya.txt │ │ ├── prontera.txt │ │ ├── rachel.txt │ │ ├── rockridge.txt │ │ └── yggdrasil.txt │ │ ├── dungeons │ │ ├── amicitia.txt │ │ ├── dic_dun.txt │ │ ├── ecl_dun.txt │ │ ├── ecl_tdun.txt │ │ ├── ein_dun.txt │ │ ├── harboro2.txt │ │ ├── iz_dun.txt │ │ ├── mag_dun.txt │ │ ├── moc_pryd.txt │ │ ├── nif_dun.txt │ │ ├── oz_dun.txt │ │ ├── rockmi1.txt │ │ ├── slabw01.txt │ │ ├── sp_rudus.txt │ │ └── thor_v.txt │ │ ├── fields │ │ ├── bif_fild.txt │ │ ├── com_fild.txt │ │ ├── dic_fild.txt │ │ ├── geffen_fild.txt │ │ ├── gw_fild.txt │ │ ├── hugel_fild.txt │ │ ├── morroc_fild.txt │ │ ├── payon_fild.txt │ │ ├── prontera_fild.txt │ │ ├── rachel_fild.txt │ │ ├── rockridge_fild.txt │ │ ├── veins_fild.txt │ │ └── yuno_fild.txt │ │ ├── guildcastles.txt │ │ └── other │ │ ├── TrainingZone.txt │ │ ├── arena.txt │ │ ├── ba_2whs.txt │ │ ├── ba_maison.txt │ │ ├── ba_pw.txt │ │ ├── dimensional_gap.txt │ │ ├── jobquests.txt │ │ ├── paradise.txt │ │ ├── s_workshop.txt │ │ ├── sign.txt │ │ ├── special_border_area.txt │ │ ├── un_myst.txt │ │ └── verus.txt ├── scripts_athena.conf ├── scripts_custom.conf ├── scripts_guild.conf ├── scripts_jobs.conf ├── scripts_mapflags.conf ├── scripts_monsters.conf ├── scripts_test.conf ├── scripts_warps.conf ├── test │ ├── OnInterInit.txt │ ├── ci │ │ ├── 0000_funcs.txt │ │ ├── 5573.txt │ │ ├── 7291.txt │ │ └── 8886.txt │ ├── infinite_warp.txt │ ├── npc_test_checkweight.txt │ └── npc_test_longvar.txt └── warps │ ├── cities │ ├── alberta.txt │ ├── aldebaran.txt │ ├── amatsu.txt │ ├── ayothaya.txt │ ├── brasilis.txt │ ├── comodo.txt │ ├── einbech.txt │ ├── einbroch.txt │ ├── geffen.txt │ ├── gonryun.txt │ ├── hugel.txt │ ├── lighthalzen.txt │ ├── louyang.txt │ ├── lutie.txt │ ├── manuk.txt │ ├── mid_camp.txt │ ├── morroc.txt │ ├── moscovia.txt │ ├── nameless.txt │ ├── niflheim.txt │ ├── payon.txt │ ├── prontera.txt │ ├── splendide.txt │ ├── umbala.txt │ ├── veins.txt │ └── yuno.txt │ ├── dungeons │ ├── abbey.txt │ ├── abyss.txt │ ├── alde_dun.txt │ ├── ama_dun.txt │ ├── anthell.txt │ ├── ayo_dun.txt │ ├── beach_dun.txt │ ├── bra_dun.txt │ ├── c_tower.txt │ ├── ein_dun.txt │ ├── gef_dun.txt │ ├── gon_dun.txt │ ├── ice_dun.txt │ ├── in_sphinx.txt │ ├── iz_dun.txt │ ├── juperos.txt │ ├── kh_dun.txt │ ├── lhz_dun.txt │ ├── lou_dun.txt │ ├── mag_dun.txt │ ├── mjo_dun.txt │ ├── moc_pryd.txt │ ├── mosk_dun.txt │ ├── odin.txt │ ├── orcsdun.txt │ ├── pay_dun.txt │ ├── prt_maze.txt │ ├── ra_san.txt │ ├── tha_t.txt │ ├── thor_v.txt │ ├── treasure.txt │ ├── tur_dun.txt │ ├── um_dun.txt │ └── xmas_dun.txt │ ├── fields │ ├── abyss_warper.txt │ ├── amatsu_fild.txt │ ├── bra_fild.txt │ ├── ein_fild.txt │ ├── gefenia.txt │ ├── glastheim.txt │ ├── jawaii.txt │ ├── lhalzen_fild.txt │ ├── lutie_fild.txt │ ├── man_fild.txt │ ├── mtmjolnir.txt │ ├── spl_fild.txt │ └── umbala_fild.txt │ ├── guildcastles.txt │ ├── other │ ├── airplane.txt │ ├── arena.txt │ ├── god.txt │ ├── jobquests.txt │ ├── kiel.txt │ └── other.txt │ └── pvp.txt ├── rAthena.sln ├── rAthena.slnLaunch ├── sql-files ├── README.md ├── compatibility │ ├── item_db2_compat.sql │ ├── item_db2_re_compat.sql │ ├── item_db_compat.sql │ └── item_db_re_compat.sql ├── item_db.sql ├── item_db2.sql ├── item_db2_re.sql ├── item_db_equip.sql ├── item_db_etc.sql ├── item_db_re.sql ├── item_db_re_equip.sql ├── item_db_re_etc.sql ├── item_db_re_usable.sql ├── item_db_usable.sql ├── logs.sql ├── main.sql ├── mob_db.sql ├── mob_db2.sql ├── mob_db2_re.sql ├── mob_db_re.sql ├── mob_skill_db.sql ├── mob_skill_db2.sql ├── mob_skill_db2_re.sql ├── mob_skill_db_re.sql ├── roulette_default_data.sql ├── tools │ ├── convert_engine_innodb.sql │ ├── convert_engine_myisam.sql │ ├── convert_passwords.sql │ ├── item_db2_re_to_txt.sql │ ├── item_db2_to_txt.sql │ ├── item_db_re_to_txt.sql │ └── item_db_to_txt.sql ├── upgrades │ ├── premium_storage.sql │ ├── upgrade_20190309.sql │ ├── upgrade_20190628.sql │ ├── upgrade_20190814.sql │ ├── upgrade_20190815.sql │ ├── upgrade_20191222.sql │ ├── upgrade_20200108.sql │ ├── upgrade_20200109.sql │ ├── upgrade_20200126.sql │ ├── upgrade_20200204.sql │ ├── upgrade_20200303.sql │ ├── upgrade_20200327.sql │ ├── upgrade_20200402.sql │ ├── upgrade_20200506.sql │ ├── upgrade_20200518.sql │ ├── upgrade_20200603.sql │ ├── upgrade_20200604.sql │ ├── upgrade_20200622.sql │ ├── upgrade_20200625.sql │ ├── upgrade_20200703.sql │ ├── upgrade_20200728.sql │ ├── upgrade_20200808.sql │ ├── upgrade_20200808_logs.sql │ ├── upgrade_20200808b.sql │ ├── upgrade_20200811.sql │ ├── upgrade_20200821.sql │ ├── upgrade_20201105.sql │ ├── upgrade_20210201.sql │ ├── upgrade_20210308.sql │ ├── upgrade_20210331.sql │ ├── upgrade_20210530_logs.sql │ ├── upgrade_20210629.sql │ ├── upgrade_20211008.sql │ ├── upgrade_20211118.sql │ ├── upgrade_20211230.sql │ ├── upgrade_20220112.sql │ ├── upgrade_20220121.sql │ ├── upgrade_20220121_logs.sql │ ├── upgrade_20220204.sql │ ├── upgrade_20220222_logs.sql │ ├── upgrade_20220224.sql │ ├── upgrade_20220311.sql │ ├── upgrade_20220328.sql │ ├── upgrade_20220401_logs.sql │ ├── upgrade_20220607_logs.sql │ ├── upgrade_20220816.sql │ ├── upgrade_20220818.sql │ ├── upgrade_20220830.sql │ ├── upgrade_20220831.sql │ ├── upgrade_20220912_logs.sql │ ├── upgrade_20221001.sql │ ├── upgrade_20221218.sql │ ├── upgrade_20221220.sql │ ├── upgrade_20230224.sql │ ├── upgrade_20230413.sql │ ├── upgrade_20230913.sql │ ├── upgrade_20230927.sql │ ├── upgrade_20231201.sql │ ├── upgrade_20240519.sql │ ├── upgrade_20240803.sql │ ├── upgrade_20240914.sql │ ├── upgrade_20241005.sql │ ├── upgrade_20241026.sql │ ├── upgrade_20241216.sql │ ├── upgrade_20250126.sql │ ├── upgrade_20250201.sql │ ├── upgrade_20250223.sql │ └── upgrade_20250525.sql └── web.sql ├── src ├── CMakeLists.txt ├── char │ ├── CMakeLists.txt │ ├── Makefile.in │ ├── char-server.vcxproj │ ├── char-server.vcxproj.filters │ ├── char.cpp │ ├── char.hpp │ ├── char_clif.cpp │ ├── char_clif.hpp │ ├── char_cnslif.cpp │ ├── char_cnslif.hpp │ ├── char_logif.cpp │ ├── char_logif.hpp │ ├── char_mapif.cpp │ ├── char_mapif.hpp │ ├── int_achievement.cpp │ ├── int_achievement.hpp │ ├── int_auction.cpp │ ├── int_auction.hpp │ ├── int_clan.cpp │ ├── int_clan.hpp │ ├── int_elemental.cpp │ ├── int_elemental.hpp │ ├── int_guild.cpp │ ├── int_guild.hpp │ ├── int_homun.cpp │ ├── int_homun.hpp │ ├── int_mail.cpp │ ├── int_mail.hpp │ ├── int_mercenary.cpp │ ├── int_mercenary.hpp │ ├── int_party.cpp │ ├── int_party.hpp │ ├── int_pet.cpp │ ├── int_pet.hpp │ ├── int_quest.cpp │ ├── int_quest.hpp │ ├── int_storage.cpp │ ├── int_storage.hpp │ ├── inter.cpp │ ├── inter.hpp │ └── packets.hpp ├── common │ ├── CMakeLists.txt │ ├── Makefile.in │ ├── cbasetypes.hpp │ ├── cli.cpp │ ├── cli.hpp │ ├── common-minicore.vcxproj │ ├── common-minicore.vcxproj.filters │ ├── common.vcxproj │ ├── common.vcxproj.filters │ ├── conf.cpp │ ├── conf.hpp │ ├── core.cpp │ ├── core.hpp │ ├── database.cpp │ ├── database.hpp │ ├── db.cpp │ ├── db.hpp │ ├── des.cpp │ ├── des.hpp │ ├── ers.cpp │ ├── ers.hpp │ ├── grfio.cpp │ ├── grfio.hpp │ ├── malloc.cpp │ ├── malloc.hpp │ ├── mapindex.cpp │ ├── mapindex.hpp │ ├── md5calc.cpp │ ├── md5calc.hpp │ ├── mmo.hpp │ ├── msg_conf.cpp │ ├── msg_conf.hpp │ ├── nullpo.cpp │ ├── nullpo.hpp │ ├── packets.hpp │ ├── random.cpp │ ├── random.hpp │ ├── showmsg.cpp │ ├── showmsg.hpp │ ├── socket.cpp │ ├── socket.hpp │ ├── sql.cpp │ ├── sql.hpp │ ├── strlib.cpp │ ├── strlib.hpp │ ├── timer.cpp │ ├── timer.hpp │ ├── utilities.cpp │ ├── utilities.hpp │ ├── utils.cpp │ ├── utils.hpp │ ├── winapi.cpp │ └── winapi.hpp ├── config │ ├── classes │ │ └── general.hpp │ ├── const.hpp │ ├── core.hpp │ ├── packets.hpp │ ├── renewal.hpp │ └── secure.hpp ├── custom │ ├── atcommand.inc │ ├── atcommand_def.inc │ ├── battle_config_init.inc │ ├── battle_config_struct.inc │ ├── defines_post.hpp │ ├── defines_pre.hpp │ ├── script.inc │ └── script_def.inc ├── login │ ├── CMakeLists.txt │ ├── Makefile.in │ ├── account.cpp │ ├── account.hpp │ ├── ipban.cpp │ ├── ipban.hpp │ ├── login-server.vcxproj │ ├── login-server.vcxproj.filters │ ├── login.cpp │ ├── login.hpp │ ├── loginchrif.cpp │ ├── loginchrif.hpp │ ├── loginclif.cpp │ ├── loginclif.hpp │ ├── logincnslif.cpp │ ├── logincnslif.hpp │ ├── loginlog.cpp │ └── loginlog.hpp ├── map │ ├── CMakeLists.txt │ ├── Makefile.in │ ├── achievement.cpp │ ├── achievement.hpp │ ├── atcommand.cpp │ ├── atcommand.hpp │ ├── battle.cpp │ ├── battle.hpp │ ├── battleground.cpp │ ├── battleground.hpp │ ├── buyingstore.cpp │ ├── buyingstore.hpp │ ├── cashshop.cpp │ ├── cashshop.hpp │ ├── channel.cpp │ ├── channel.hpp │ ├── chat.cpp │ ├── chat.hpp │ ├── chrif.cpp │ ├── chrif.hpp │ ├── clan.cpp │ ├── clan.hpp │ ├── clif.cpp │ ├── clif.hpp │ ├── clif_obfuscation.hpp │ ├── clif_packetdb.hpp │ ├── clif_shuffle.hpp │ ├── date.cpp │ ├── date.hpp │ ├── duel.cpp │ ├── duel.hpp │ ├── elemental.cpp │ ├── elemental.hpp │ ├── guild.cpp │ ├── guild.hpp │ ├── homunculus.cpp │ ├── homunculus.hpp │ ├── instance.cpp │ ├── instance.hpp │ ├── intif.cpp │ ├── intif.hpp │ ├── itemdb.cpp │ ├── itemdb.hpp │ ├── log.cpp │ ├── log.hpp │ ├── mail.cpp │ ├── mail.hpp │ ├── map-server-generator.vcxproj │ ├── map-server-generator.vcxproj.filters │ ├── map-server.vcxproj │ ├── map-server.vcxproj.filters │ ├── map.cpp │ ├── map.hpp │ ├── mapreg.cpp │ ├── mapreg.hpp │ ├── mercenary.cpp │ ├── mercenary.hpp │ ├── mob.cpp │ ├── mob.hpp │ ├── navi.cpp │ ├── navi.hpp │ ├── npc.cpp │ ├── npc.hpp │ ├── npc_chat.cpp │ ├── packets.hpp │ ├── packets_struct.hpp │ ├── party.cpp │ ├── party.hpp │ ├── path.cpp │ ├── path.hpp │ ├── pc.cpp │ ├── pc.hpp │ ├── pc_groups.cpp │ ├── pc_groups.hpp │ ├── pet.cpp │ ├── pet.hpp │ ├── quest.cpp │ ├── quest.hpp │ ├── script.cpp │ ├── script.hpp │ ├── script_constants.hpp │ ├── searchstore.cpp │ ├── searchstore.hpp │ ├── skill.cpp │ ├── skill.hpp │ ├── status.cpp │ ├── status.hpp │ ├── storage.cpp │ ├── storage.hpp │ ├── trade.cpp │ ├── trade.hpp │ ├── unit.cpp │ ├── unit.hpp │ ├── vending.cpp │ └── vending.hpp ├── tool │ ├── CMakeLists.txt │ ├── Makefile.in │ ├── csv2yaml.cpp │ ├── csv2yaml.hpp │ ├── csv2yaml.vcxproj │ ├── csv2yaml.vcxproj.filters │ ├── mapcache.cpp │ ├── mapcache.vcxproj │ ├── mapcache.vcxproj.filters │ ├── readme.md │ ├── yaml.hpp │ ├── yaml2sql.cpp │ ├── yaml2sql.vcxproj │ ├── yaml2sql.vcxproj.filters │ ├── yamlupgrade.cpp │ ├── yamlupgrade.hpp │ ├── yamlupgrade.vcxproj │ └── yamlupgrade.vcxproj.filters └── web │ ├── CMakeLists.txt │ ├── Makefile.in │ ├── auth.cpp │ ├── auth.hpp │ ├── charconfig_controller.cpp │ ├── charconfig_controller.hpp │ ├── emblem_controller.cpp │ ├── emblem_controller.hpp │ ├── http.hpp │ ├── merchantstore_controller.cpp │ ├── merchantstore_controller.hpp │ ├── partybooking_controller.cpp │ ├── partybooking_controller.hpp │ ├── sqllock.cpp │ ├── sqllock.hpp │ ├── userconfig_controller.cpp │ ├── userconfig_controller.hpp │ ├── web-server.vcxproj │ ├── web-server.vcxproj.filters │ ├── web.cpp │ ├── web.hpp │ ├── webcnslif.hpp │ ├── webutils.cpp │ └── webutils.hpp ├── tools ├── charserv.bat ├── check-doc.pl ├── ci │ ├── npc.bat │ ├── npc.sh │ ├── sql.bat │ └── sql.sh ├── config.pl ├── convert_emotions.py ├── convert_monstermode.pl ├── convert_sql.pl ├── csv2yaml.bat ├── docker │ ├── Dockerfile │ ├── README.md │ ├── asset │ │ ├── char_conf.txt │ │ ├── inter_conf.txt │ │ └── map_conf.txt │ ├── builder.sh │ └── docker-compose.yml ├── logserv.bat ├── mapcache.bat ├── mapreg-converter.php ├── mapserv.bat ├── navi.py ├── navigenerator.bat ├── rA_Common.pm ├── runserver.bat ├── serv.bat ├── setup_perl.sh ├── stackdump ├── update.pl ├── webserv.bat ├── yaml2sql.bat └── yamlupgrade.bat └── uninstall.sh /.editorconfig: -------------------------------------------------------------------------------- 1 | # rAthena EditorConfig file 2 | # EditorConfig is awesome: https://EditorConfig.org 3 | # This file should be encoded in UTF-8 with CRLF or LF line endings. 4 | 5 | root = true 6 | 7 | # Add a blank newline to the end of every file after saving 8 | # Trim trailing whitespace 9 | # Adjust character set 10 | [*] 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | charset = utf-8 14 | 15 | # Use tabs in source 16 | [*.{cpp,c,hpp,h}] 17 | indent_style = tab 18 | 19 | # YAML does not support hard tabs. 20 | [*.{yml,yaml}] 21 | indent_style = space 22 | indent_size = 4 23 | 24 | # Use tabs in Makefiles 25 | [Makefile*] 26 | indent_style = tab 27 | 28 | # Scripts should use hard tabs to prevent script header goofs. 29 | [npc/**.txt] 30 | indent_style = tab 31 | -------------------------------------------------------------------------------- /.git-blame-ignore-revs: -------------------------------------------------------------------------------- 1 | # Massive EOL normalization & 'svn:eol-style native' flag setting for all txt/conf/h/c files. 2 | # https://github.com/rathena/rathena/commit/637ae9a4dcde0d5885a18841d2f3875e06893c30 3 | 637ae9a4dcde0d5885a18841d2f3875e06893c30 4 | # Applied AStyle code formating as discussed on tid:74602. 5 | # https://github.com/rathena/rathena/commit/a7c32653f70bd420bdf5a621acdf3aea5c6e6002 6 | a7c32653f70bd420bdf5a621acdf3aea5c6e6002 7 | # Undid r16968: SVN Replaced with source:/trunk/src/@16966 (tid:74924). 8 | # https://github.com/rathena/rathena/commit/a2bdc47dafb32f6d18ed350d8bbe79b8f679a049 9 | a2bdc47dafb32f6d18ed350d8bbe79b8f679a049 10 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.cpp diff=cpp 3 | *.yml diff text eol=lf 4 | *.sln merge=union 5 | *.vcproj merge=union 6 | *.vcxproj merge=union 7 | *.sln text eol=crlf 8 | *.bat text eol=crlf 9 | athena-start text eol=lf 10 | configure text eol=lf 11 | configure.in text eol=lf 12 | Makefile text eol=lf 13 | Makefile.in text eol=lf 14 | *.sh text eol=lf 15 | *.sql text eol=lf 16 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: rAthena Community Support 4 | url: https://rathena.org/board/forum/3-support-releases/ 5 | about: Please ask and answer questions here in our forum. 6 | - name: rAthena Discord 7 | url: https://rathena.org/board/discord/ 8 | about: Chat with us in the Discord support channel. 9 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | <!-- NOTE: Anything within these brackets will be hidden on the preview of the Pull Request. --> 2 | 3 | * **Addressed Issue(s)**: 4 | 5 | <!-- 6 | Please specify the rAthena [GitHub issue(s)](https://help.github.com/articles/autolinked-references-and-urls/#issues-and-pull-requests) this pull request amends. 7 | If no issue exists yet, please [create one](https://github.com/rathena/rathena/issues/new) first and then link your pull request to the amendment! 8 | --> 9 | 10 | * **Server Mode**: 11 | 12 | <!-- Which mode does this pull request apply to: Pre-Renewal, Renewal, or Both? --> 13 | 14 | * **Description of Pull Request**: 15 | 16 | <!-- Describe how this pull request will resolve the issue(s) listed above. --> 17 | -------------------------------------------------------------------------------- /3rdparty/README.txt: -------------------------------------------------------------------------------- 1 | This folder contains everything related to 3rdparty code or tools. 2 | 3 | cmake - scripts for the cmake build system (http://www.cmake.org) 4 | httplib - library for http web service (https://github.com/yhirose/cpp-httplib/commit/a9cf09795170a72372cbeb3feef3851b859c0e33) 5 | libconfig - library for processing structured configuration files (http://www.hyperrealm.com/libconfig/) 6 | mysql - library for MySQL Community Server (http://www.mysql.com) 7 | pcre - library for Perl Compatible Regular Expressions (http://www.pcre.org) 8 | zlib - library for DEFLATE lossless compression algorithm (http://www.zlib.net) 9 | json - library for nlohmann json (https://github.com/nlohmann/json/tree/4b2c8ce6bcfe7f39f2bb9e680c1e7a4d67c2dd48) 10 | yaml-cpp - library for yaml (https://github.com/jbeder/yaml-cpp/tree/0e6e28d1a38224fc8172fae0109ea7f673c096db) 11 | -------------------------------------------------------------------------------- /3rdparty/cmake/tests/HAVE_MONOTONIC_CLOCK.c: -------------------------------------------------------------------------------- 1 | #include <sys/time.h> 2 | #include <time.h> 3 | #include <unistd.h> 4 | int main(int argc, char** argv) 5 | { 6 | struct timespec tval; 7 | return clock_gettime(CLOCK_MONOTONIC, &tval); 8 | } 9 | -------------------------------------------------------------------------------- /3rdparty/cmake/tests/HAVE_TLS.c: -------------------------------------------------------------------------------- 1 | __thread int tls; 2 | 3 | int main(int argc, char** argv) 4 | { 5 | return 0; 6 | } 7 | -------------------------------------------------------------------------------- /3rdparty/httplib/httplib.vcxproj.filters: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <ItemGroup> 4 | <Filter Include="Source Files"> 5 | <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> 6 | </Filter> 7 | <Filter Include="Header Files"> 8 | <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions> 9 | </Filter> 10 | </ItemGroup> 11 | <ItemGroup> 12 | <ClInclude Include="httplib.h"> 13 | <Filter>Header Files</Filter> 14 | </ClInclude> 15 | </ItemGroup> 16 | <ItemGroup> 17 | <ClCompile Include="httplib.cc"> 18 | <Filter>Source Files</Filter> 19 | </ClCompile> 20 | </ItemGroup> 21 | </Project> 22 | -------------------------------------------------------------------------------- /3rdparty/json/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.13) 2 | 3 | set (JSON_INCLUDE_DIRS 4 | "${CMAKE_CURRENT_SOURCE_DIR}/include" 5 | CACHE INTERNAL "json include dir" ) 6 | 7 | mark_as_advanced( JSON_INCLUDE_DIRS ) 8 | -------------------------------------------------------------------------------- /3rdparty/mysql/lib/Win32/libmysql.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/mysql/lib/Win32/libmysql.dll -------------------------------------------------------------------------------- /3rdparty/mysql/lib/Win32/libmysql.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/mysql/lib/Win32/libmysql.lib -------------------------------------------------------------------------------- /3rdparty/mysql/lib/x64/libmysql.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/mysql/lib/x64/libmysql.dll -------------------------------------------------------------------------------- /3rdparty/mysql/lib/x64/libmysql.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/mysql/lib/x64/libmysql.lib -------------------------------------------------------------------------------- /3rdparty/mysql/mysql-6.1.9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/mysql/mysql-6.1.9 -------------------------------------------------------------------------------- /3rdparty/pcre/lib/Win32/pcre8.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/pcre/lib/Win32/pcre8.dll -------------------------------------------------------------------------------- /3rdparty/pcre/lib/Win32/pcre8.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/pcre/lib/Win32/pcre8.lib -------------------------------------------------------------------------------- /3rdparty/pcre/lib/x64/pcre8.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/pcre/lib/x64/pcre8.dll -------------------------------------------------------------------------------- /3rdparty/pcre/lib/x64/pcre8.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/pcre/lib/x64/pcre8.lib -------------------------------------------------------------------------------- /3rdparty/pcre/pcre-8.33.0.1.utf8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/pcre/pcre-8.33.0.1.utf8 -------------------------------------------------------------------------------- /3rdparty/rapidyaml/.gitignore: -------------------------------------------------------------------------------- 1 | # text editor files 2 | *.bck 3 | \#* 4 | *~ 5 | .cquery_cached_index/ 6 | .clangd/ 7 | .ccls-cache/ 8 | .cache/ 9 | __pycache__/ 10 | 11 | # gdb files 12 | .gdbinit 13 | setup.gdb 14 | 15 | # valgrind files 16 | callgrind* 17 | vgcore* 18 | 19 | # Visual Studio files 20 | .vs/ 21 | .vscode/ 22 | # QtCreator files 23 | CMakeLists.txt.user* 24 | # Eclipse 25 | .project 26 | .cproject 27 | /.settings/ 28 | # KDevelop files 29 | *.kdev4 30 | 31 | # build files 32 | build/ 33 | install/ 34 | .python-version 35 | compile_commands.json 36 | 37 | # test files 38 | /Testing/ 39 | 40 | # python packaging 41 | .eggs/ 42 | dist/ 43 | rapidyaml.egg-info/ 44 | 45 | # continuous integration files 46 | .ci/.vagrant 47 | 48 | # amalgamation files 49 | src/c4/c4core_all.hpp 50 | src_singleheader/ 51 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "extern/c4core"] 2 | path = ext/c4core 3 | url = https://github.com/biojppm/c4core 4 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/.lgtm.yml: -------------------------------------------------------------------------------- 1 | queries: 2 | - exclude: cpp/unsigned-comparison-zero 3 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Thanks for your contribution! 4 | 5 | * Make sure to clone the project with `git clone --recursive` so that 6 | the submodules are initialized correctly. 7 | * To enable both tests and benchmarks, configure ryml with `-DRYML_DEV=ON` 8 | when calling cmake. To enable only tests, use `-DRYML_BUILD_TESTS=ON`; to 9 | enable only benchmarks use `-DRYML_BUILD_BENCHMARKS=ON`. All these flags 10 | are disabled by default. 11 | * Code style for pull requests should respect the existing code style: 12 | ```c++ 13 | if(foo) // no space before parens 14 | { // curly brackets on next line 15 | // no tabs; indent with 4 spaces 16 | bar(); 17 | } 18 | ``` 19 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/MANIFEST.in: -------------------------------------------------------------------------------- 1 | # MANIFEST.in must be in root directory. 2 | # See https://github.com/pypa/setuptools/issues/2615 3 | graft ext 4 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ROADMAP.md: -------------------------------------------------------------------------------- 1 | # Roadmap 2 | 3 | Roughly in order of priority: 4 | 5 | * Cleanup: 6 | * Review & cleanup API surface. 7 | * Turn calls to `C4_ASSERT()` into calls to `RYML_ASSERT()` 8 | * Add emit formatting controls: 9 | * add single-line flow formatter 10 | * add multi-line flow formatters 11 | * indenting 12 | * non indenting 13 | * keep current block formatter 14 | * add customizable linebreak limits (number of columns) to every formatter 15 | * add per node format flags 16 | * (lesser priority) add auto formatter using reasonable heuristics to 17 | switch between other existing formatters 18 | * Investigate possibility of comment-preserving roundtrips 19 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/c4core.dir/Debug/c4core.lib.recipe: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project> 3 | <ProjectOutputs /> 4 | <ContentFiles /> 5 | <SatelliteDlls /> 6 | <NonRecipeFileRefs /> 7 | </Project> -------------------------------------------------------------------------------- /3rdparty/rapidyaml/c4core.dir/Debug/c4core.vcxproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/rapidyaml/c4core.dir/Debug/c4core.vcxproj.FileListAbsolute.txt -------------------------------------------------------------------------------- /3rdparty/rapidyaml/changelog/0.2.2.md: -------------------------------------------------------------------------------- 1 | Yank python package 0.2.1, was accidentally created while iterating the PyPI submission from the Github action. This release does not add any change, and is functionally the same as [0.2.1](https://github.com/biojppm/rapidyaml/releases/tag/v0.2.1). 2 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/changelog/current.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/rapidyaml/changelog/current.md -------------------------------------------------------------------------------- /3rdparty/rapidyaml/compat.cmake: -------------------------------------------------------------------------------- 1 | 2 | # old gcc-4.8 support 3 | if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND 4 | (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8) AND 5 | (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)) 6 | 7 | # c++17 compiler required 8 | set(C4RYML_BUILD_BENCHMARKS OFF CACHE BOOL "" FORCE) 9 | # LLVM required 10 | set(C4RYML_SANITIZE OFF CACHE BOOL "" FORCE) 11 | endif() 12 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/.github/.old/log.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _C4_LOG_HPP_ 2 | #define _C4_LOG_HPP_ 3 | 4 | // FIXME - these are just dumb placeholders 5 | #define C4_LOGF_ERR(...) fprintf(stderr, __VA_ARGS__) 6 | #define C4_LOGF_WARN(...) fprintf(stderr, __VA_ARGS__) 7 | #define C4_LOGP(msg, ...) printf(msg) 8 | 9 | #endif /* _C4_LOG_HPP_ */ 10 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/.gitignore: -------------------------------------------------------------------------------- 1 | # text editor files 2 | *.bck 3 | \#* 4 | *~ 5 | .ccls-cache/ 6 | .clangd/ 7 | .cache/ 8 | .cquery_cached_index/ 9 | __pycache__/ 10 | 11 | # Visual Studio files 12 | .vs/ 13 | .vscode/ 14 | # QtCreator files 15 | CMakeLists.txt.user 16 | # Eclipse 17 | .project 18 | .cproject 19 | /.settings/ 20 | 21 | # build files 22 | build/ 23 | install/ 24 | .python-version 25 | compile_commands.json 26 | 27 | # test files 28 | /Testing/ 29 | 30 | # continuous integration files 31 | .github/vagrant/*.log 32 | .github/vagrant/.vagrant 33 | .github/vagrant/macos/.vagrant 34 | src_singleheader/ -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "cmake"] 2 | path = cmake 3 | url = https://github.com/biojppm/cmake 4 | [submodule "extern/debugbreak"] 5 | path = src/c4/ext/debugbreak 6 | url = https://github.com/biojppm/debugbreak 7 | [submodule "src/c4/ext/fast_float"] 8 | path = src/c4/ext/fast_float 9 | url = https://github.com/fastfloat/fast_float 10 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/ROADMAP.md: -------------------------------------------------------------------------------- 1 | # ROADMAP 2 | 3 | ## New features 4 | 5 | These changes will provide new features, and client code can be kept 6 | unchanged. 7 | 8 | 9 | ## API changes 10 | 11 | These changes will require client code to be updated. 12 | 13 | * [breaking] drop use of C-style sprintf() formats in error messages and 14 | assertions. Change the implementation to use c4::format() 15 | ```c++ 16 | C4_ASSERT_MSG(sz > s.size(), "sz=%zu s.size()=%zu", sz, s.size()); 17 | // ... the above changes to: 18 | C4_ASSERT_MSG(sz > s.size(), "sz={} s.size()={}", sz, s.size()); 19 | ``` 20 | 21 | ## Implementation changes 22 | 23 | * drop calls to sprintf() in charconv.hpp. 24 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/changelog/0.1.0.md: -------------------------------------------------------------------------------- 1 | # 0.1.0 2 | 3 | First release. 4 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/changelog/0.1.1.md: -------------------------------------------------------------------------------- 1 | # 0.1.1 2 | 3 | - Fix parsing of hexadecimal floats ([2d5c3f0](https://github.com/biojppm/c4core/commits/2d5c3f0)) 4 | - Fix `csubstr::reverse_sub()` ([902c5b9](https://github.com/biojppm/c4core/commits/902c5b9)) 5 | - Fix [#35](https://github.com/biojppm/c4core/issues/35): add SO_VERSION 6 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/changelog/0.1.2.md: -------------------------------------------------------------------------------- 1 | - Fix error macros (ie `C4_ERROR()`, `C4_CHECK()`, `C4_ASSERT()`, etc) such that they are a single statement 2 | - `is_debugger_attached()`: add MacOSX version 3 | - Add support for Visual Studio 2022 4 | - Ensure `C4_LITTLE_ENDIAN` is always defined, even with mixed endianness 5 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/changelog/0.1.3.md: -------------------------------------------------------------------------------- 1 | - Update fast_float to [3.2.1](https://github.com/fastfloat/fast_float/releases/tag/v3.2.0) 2 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/changelog/0.1.4.md: -------------------------------------------------------------------------------- 1 | - [PR #38](https://github.com/biojppm/c4core/pull/38): add s390x architecture feature macros. 2 | - Fix compiler warnings after update of fast_float to [3.2.1](https://github.com/fastfloat/fast_float/releases/tag/v3.2.0). 3 | 4 | ### Thanks 5 | 6 | @musicinmybrain 7 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/changelog/0.1.5.md: -------------------------------------------------------------------------------- 1 | - Add support for aarch64, s390x, ppc64le CPU architectures 2 | - Update debugbreak header (added support for the above architectures) 3 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/changelog/0.1.6.md: -------------------------------------------------------------------------------- 1 | - Fix wrong version names in version 0.1.5 (was saying 0.1.4, should be 0.1.5) 2 | 3 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/changelog/0.1.7.md: -------------------------------------------------------------------------------- 1 | - Fix build with C4CORE_NO_FAST_FLOAT ([#42](https://github.com/biojppm/c4core/pull/42)). 2 | - Fix clang warning in AIX/xlclang ([#44](https://github.com/biojppm/c4core/pull/44)). 3 | 4 | ### Thanks 5 | --- @mbs-c 6 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/cmake/.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/cmake/PrintVar.cmake: -------------------------------------------------------------------------------- 1 | function(status) 2 | message(STATUS "${ARGV}") 3 | endfunction() 4 | 5 | function(print_var var) 6 | message(STATUS "${var}=${${var}} ${ARGN}") 7 | endfunction() 8 | 9 | function(print_vars) 10 | foreach(a ${ARGN}) 11 | message(STATUS "${a}=${${a}}") 12 | endforeach(a) 13 | endfunction() 14 | 15 | function(debug_var debug var) 16 | if(${debug}) 17 | message(STATUS "${var}=${${var}} ${ARGN}") 18 | endif() 19 | endfunction() 20 | 21 | function(debug_vars debug) 22 | if(${debug}) 23 | foreach(a ${ARGN}) 24 | message(STATUS "${a}=${${a}}") 25 | endforeach(a) 26 | endif() 27 | endfunction() 28 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/cmake/README.md: -------------------------------------------------------------------------------- 1 | # cmake project utilities 2 | 3 | Useful cmake scripts, at [c4Project.cmake](c4Project.cmake). 4 | 5 | ## Project utilities 6 | 7 | ## Adding targets 8 | 9 | ### Target types 10 | 11 | ## Downloading and configuring third-party projects at configure time 12 | 13 | ## Setting up tests 14 | 15 | ### Coverage 16 | ### Static analysis 17 | ### Valgrind 18 | 19 | ## Setting up benchmarks 20 | 21 | ## License 22 | 23 | MIT License 24 | 25 | 26 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/cmake/bm-xp/.gitignore: -------------------------------------------------------------------------------- 1 | static/* -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/cmake/bm-xp/README.md: -------------------------------------------------------------------------------- 1 | # Benchmark explorer 2 | 3 | You need to start a http server on this folder: 4 | 5 | ```shellsession 6 | $ python bm.py serve . 7 | ``` 8 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/cmake/bm-xp/requirements.txt: -------------------------------------------------------------------------------- 1 | munch 2 | pyyaml 3 | py-cpuinfo 4 | psutil 5 | gitpython 6 | flask 7 | markupsafe 8 | Frozen-Flask 9 | requests 10 | mmh3 11 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/cmake/c4DoxygenConfig.cmake: -------------------------------------------------------------------------------- 1 | function(_c4_doxy_list_to_str var) 2 | set(il) 3 | foreach(i ${${var}}) 4 | if("${il}" STREQUAL "") 5 | set(il "${i}") 6 | else() 7 | set(il "${il} ${i}") 8 | endif() 9 | endforeach() 10 | set(${var} "${il}" PARENT_SCOPE) 11 | endfunction() 12 | 13 | string(REPLACE " " ";" ALLVARS ${ALLVARS}) 14 | string(REPLACE " " ";" LISTVARS ${LISTVARS}) 15 | 16 | foreach(var ${LISTVARS}) 17 | _c4_doxy_list_to_str(${var}) 18 | endforeach() 19 | 20 | foreach(var ${ALLVARS}) 21 | message(STATUS "${var}='${${var}}'") 22 | endforeach() 23 | 24 | configure_file(${DOXYFILE_IN} ${DOXYFILE_OUT} @ONLY) 25 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/cmake/c4stlAddTarget.cmake: -------------------------------------------------------------------------------- 1 | include(c4project) 2 | 3 | function(c4stl_add_target name) 4 | c4_add_target(c4stl ${name} ${ARGN}) 5 | endfunction() # c4stl_add_target 6 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/cmake/requirements_doc.txt: -------------------------------------------------------------------------------- 1 | sphinx 2 | sphinx_rtd_theme 3 | breathe 4 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/compat.cmake: -------------------------------------------------------------------------------- 1 | 2 | # old gcc-4.8 support 3 | if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND 4 | (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 4.8) AND 5 | (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)) 6 | 7 | c4_install_files( 8 | "${CMAKE_CURRENT_LIST_DIR}/cmake/compat/c4/gcc-4.8.hpp" 9 | "include" 10 | "${CMAKE_CURRENT_LIST_DIR}/cmake/compat") 11 | 12 | # c++17 compiler required 13 | set(C4CORE_BUILD_BENCHMARKS OFF CACHE BOOL "" FORCE) 14 | # LLVM required 15 | set(C4CORE_SANITIZE OFF CACHE BOOL "" FORCE) 16 | endif() 17 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/c4_pop.hpp: -------------------------------------------------------------------------------- 1 | #ifdef _C4_PUSH_HPP_ // this must match the include guard from c4_push 2 | 3 | /** @file c4_pop.hpp disables the macros and control directives 4 | * enabled in c4_push.hpp. 5 | * @see c4_push.hpp */ 6 | 7 | #include "c4/unrestrict.hpp" 8 | 9 | #ifdef C4_WIN 10 | # include "c4/windows_pop.hpp" 11 | #endif 12 | 13 | #ifdef _MSC_VER 14 | # pragma warning(pop) 15 | #endif 16 | 17 | #undef _C4_PUSH_HPP_ 18 | 19 | #endif /* _C4_PUSH_HPP_ */ 20 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/char_traits.cpp: -------------------------------------------------------------------------------- 1 | #include "c4/char_traits.hpp" 2 | 3 | namespace c4 { 4 | 5 | constexpr const char char_traits< char >::whitespace_chars[]; 6 | constexpr const size_t char_traits< char >::num_whitespace_chars; 7 | constexpr const wchar_t char_traits< wchar_t >::whitespace_chars[]; 8 | constexpr const size_t char_traits< wchar_t >::num_whitespace_chars; 9 | 10 | } // namespace c4 11 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/common.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _C4_COMMON_HPP_ 2 | #define _C4_COMMON_HPP_ 3 | 4 | #include "c4/config.hpp" 5 | 6 | #include "c4/preprocessor.hpp" 7 | #include "c4/platform.hpp" 8 | #include "c4/cpu.hpp" 9 | #include "c4/compiler.hpp" 10 | #include "c4/language.hpp" 11 | #include "c4/error.hpp" 12 | #include "c4/time.hpp" 13 | #include "c4/types.hpp" 14 | 15 | #endif /* _C4_COMMON_HPP_ */ 16 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/export.hpp: -------------------------------------------------------------------------------- 1 | #ifndef C4_EXPORT_HPP_ 2 | #define C4_EXPORT_HPP_ 3 | 4 | #ifdef _WIN32 5 | #ifdef C4CORE_SHARED 6 | #ifdef C4CORE_EXPORTS 7 | #define C4CORE_EXPORT __declspec(dllexport) 8 | #else 9 | #define C4CORE_EXPORT __declspec(dllimport) 10 | #endif 11 | #else 12 | #define C4CORE_EXPORT 13 | #endif 14 | #else 15 | #define C4CORE_EXPORT 16 | #endif 17 | 18 | #endif /* C4CORE_EXPORT_HPP_ */ 19 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/ext/debugbreak/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | fib 3 | core 4 | core.* 5 | cscope.out 6 | tags 7 | .gdb_history 8 | test/trap 9 | test/break 10 | test/break-c++ 11 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/ext/debugbreak/GNUmakefile: -------------------------------------------------------------------------------- 1 | CFLAGS := -Os -Wall -g 2 | CXXFLAGS := $(CFLAGS) 3 | 4 | PROGRAMS := $(basename $(wildcard *.c test/*.c test/*.cc *.S)) 5 | 6 | .PHONY: all clean 7 | all: $(PROGRAMS) 8 | clean: 9 | rm -f $(PROGRAMS) cscope.out tags 10 | 11 | %: %.S 12 | $(CC) $(CFLAGS) -nostdlib lt; -o $@ 13 | 14 | # Not using builtin rules due to debugbreak.h dependency 15 | %: %.c 16 | $(CC) $(CFLAGS) $(LDFLAGS) lt; -o $@ 17 | 18 | %: %.cc 19 | $(CXX) $(CXXFLAGS) $(LDFLAGS) lt; -o $@ 20 | 21 | test/%: CFLAGS +=-I. 22 | test/%: CXXFLAGS +=-I. 23 | $(PROGRAMS): debugbreak.h 24 | 25 | GDB ?= gdb 26 | .PHONY: gdb 27 | gdb: 28 | $(GDB) -q -x debugbreak-gdb.py 29 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/ext/fast_float/.cirrus.yml: -------------------------------------------------------------------------------- 1 | 2 | task: 3 | timeout_in: 120m 4 | freebsd_instance: 5 | matrix: 6 | - image_family: freebsd-13-0-snap 7 | 8 | env: 9 | ASSUME_ALWAYS_YES: YES 10 | setup_script: 11 | - pkg update -f 12 | - pkg install bash 13 | - pkg install cmake 14 | - pkg install git 15 | build_script: 16 | - mkdir build 17 | - cd build 18 | - cmake -DFASTFLOAT_TEST=ON .. 19 | - make 20 | test_script: 21 | - cd build 22 | - ctest --output-on-failure -R basictest 23 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/ext/fast_float/.github/workflows/ubuntu20-cxx20.yml: -------------------------------------------------------------------------------- 1 | name: Ubuntu 20.04 CI (C++20) 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | ubuntu-build: 7 | runs-on: ubuntu-20.04 8 | strategy: 9 | fail-fast: false 10 | steps: 11 | - uses: actions/checkout@v2 12 | - name: Use cmake 13 | run: | 14 | mkdir build && 15 | cd build && 16 | cmake -DCMAKE_CXX_STANDARD=20 -DFASTFLOAT_TEST=ON -DCMAKE_INSTALL_PREFIX:PATH=destination .. && 17 | cmake --build . && 18 | ctest --output-on-failure && 19 | cmake --install . 20 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/ext/fast_float/.github/workflows/vs16-arm-ci.yml: -------------------------------------------------------------------------------- 1 | name: VS16-ARM-CI 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | ci: 7 | name: windows-vs16 8 | runs-on: windows-latest 9 | strategy: 10 | fail-fast: false 11 | matrix: 12 | include: 13 | - {arch: ARM} 14 | - {arch: ARM64} 15 | steps: 16 | - name: checkout 17 | uses: actions/checkout@v2 18 | - name: Use cmake 19 | run: | 20 | cmake -A ${{ matrix.arch }} -DCMAKE_CROSSCOMPILING=1 -DFASTFLOAT_TEST=ON -B build && 21 | cmake --build build --verbose -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/ext/fast_float/.github/workflows/vs16-cxx20.yml: -------------------------------------------------------------------------------- 1 | name: VS16-CI C++20 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | ci: 7 | name: windows-vs16 8 | runs-on: windows-latest 9 | strategy: 10 | fail-fast: false 11 | matrix: 12 | include: 13 | - {gen: Visual Studio 16 2019, arch: Win32} 14 | - {gen: Visual Studio 16 2019, arch: x64} 15 | steps: 16 | - name: checkout 17 | uses: actions/checkout@v2 18 | - name: Use cmake 19 | run: | 20 | mkdir build && 21 | cd build && 22 | cmake ${{matrix.cxx}} ${{matrix.arch}} -DCMAKE_CXX_STANDARD=20 -DFASTFLOAT_TEST=ON -DCMAKE_INSTALL_PREFIX:PATH=destination .. && 23 | cmake --build . --verbose && 24 | ctest --output-on-failure 25 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/ext/fast_float/.gitignore: -------------------------------------------------------------------------------- 1 | build/* 2 | Testing/* 3 | .cache/ 4 | compile_commands.json 5 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/ext/fast_float/AUTHORS: -------------------------------------------------------------------------------- 1 | Daniel Lemire 2 | João Paulo Magalhaes 3 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/ext/fast_float/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | Eugene Golushkov 2 | Maksim Kita 3 | Marcin Wojdyr 4 | Neal Richardson 5 | Tim Paine 6 | Fabio Pellacini 7 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/ext/fast_float/ci/script.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | TOOLCHAIN="$1" 4 | 5 | mkdir build 6 | cd build 7 | 8 | if [ "$TOOLCHAIN" != "" ] ; then 9 | cmake -DFASTFLOAT_TEST=ON .. -DCMAKE_TOOLCHAIN_FILE=/toolchains/"$TOOLCHAIN".cmake 10 | else 11 | cmake -DFASTFLOAT_TEST=ON .. 12 | fi 13 | make -j 2 14 | if [ "$TOOLCHAIN" != "" ] ; then 15 | qemu-"$TOOLCHAIN" tests/basictest 16 | else 17 | ctest --output-on-failure -R basictest 18 | fi 19 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/ext/fast_float/cmake/config.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake") 4 | check_required_components("@PROJECT_NAME@") 5 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/ext/fast_float/script/analysis.py: -------------------------------------------------------------------------------- 1 | from math import floor 2 | 3 | def log2(x): 4 | """returns ceil(log2(x)))""" 5 | y = 0 6 | while((1<<y) < x): 7 | y = y + 1 8 | return y 9 | 10 | 11 | for q in range(1,17+1): 12 | d = 5**q 13 | b = 127 + log2(d) 14 | t = 2** b 15 | c = t//d + 1 16 | assert c < 2**128 17 | assert c >= 2**127 18 | K = 2**127 19 | if(not(c * K * d<=( K + 1) * t)): 20 | print(q) 21 | top = floor(t/(c * d - t)) 22 | sys.exit(-1) 23 | 24 | for q in range(18, 344+1): 25 | d = 5**q 26 | b = 64 + 2*log2(d) 27 | t = 2**b 28 | c = t//d + 1 29 | assert c > 2**(64 +log2(d)) 30 | K = 2**64 31 | if(not(c * K * d<=( K + 1) * t)): 32 | print(q) 33 | top = floor(t/(c * d - t)) 34 | sys.exit(-1) 35 | 36 | print("all good") -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/ext/fast_float/script/table_generation.py: -------------------------------------------------------------------------------- 1 | def format(number): 2 | upper = number // (1<<64) 3 | lower = number % (1<<64) 4 | print(""+hex(upper)+","+hex(lower)+",") 5 | 6 | for q in range(-342,0): 7 | power5 = 5 ** -q 8 | z = 0 9 | while( (1<<z) < power5) : 10 | z += 1 11 | if(q >= -27): 12 | b = z + 127 13 | c = 2 ** b // power5 + 1 14 | format(c) 15 | else: 16 | b = 2 * z + 2 * 64 17 | c = 2 ** b // power5 + 1 18 | # truncate 19 | while(c >= (1<<128)): 20 | c //= 2 21 | format(c) 22 | 23 | for q in range(0,308+1): 24 | power5 = 5 ** q 25 | # move the most significant bit in position 26 | while(power5 < (1<<127)): 27 | power5 *= 2 28 | # *truncate* 29 | while(power5 >= (1<<128)): 30 | power5 //= 2 31 | format(power5) 32 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/ext/sg14/README.md: -------------------------------------------------------------------------------- 1 | https://github.com/WG21-SG14/SG14/blob/master/SG14/inplace_function.h 2 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/language.cpp: -------------------------------------------------------------------------------- 1 | #include "c4/language.hpp" 2 | 3 | namespace c4 { 4 | namespace detail { 5 | 6 | #ifndef __GNUC__ 7 | void use_char_pointer(char const volatile* v) 8 | { 9 | C4_UNUSED(v); 10 | } 11 | #else 12 | void foo() {} // to avoid empty file warning from the linker 13 | #endif 14 | 15 | } // namespace detail 16 | } // namespace c4 17 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/std/std.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _C4_STD_STD_HPP_ 2 | #define _C4_STD_STD_HPP_ 3 | 4 | /** @file std.hpp includes all c4-std interop files */ 5 | 6 | #include "c4/std/vector.hpp" 7 | #include "c4/std/string.hpp" 8 | #include "c4/std/tuple.hpp" 9 | 10 | #endif // _C4_STD_STD_HPP_ 11 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/std/std_fwd.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _C4_STD_STD_FWD_HPP_ 2 | #define _C4_STD_STD_FWD_HPP_ 3 | 4 | /** @file std_fwd.hpp includes all c4-std interop fwd files */ 5 | 6 | #include "c4/std/vector_fwd.hpp" 7 | #include "c4/std/string_fwd.hpp" 8 | //#include "c4/std/tuple_fwd.hpp" 9 | 10 | #endif // _C4_STD_STD_FWD_HPP_ 11 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/substr_fwd.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _C4_SUBSTR_FWD_HPP_ 2 | #define _C4_SUBSTR_FWD_HPP_ 3 | 4 | #include "c4/export.hpp" 5 | 6 | namespace c4 { 7 | 8 | #ifndef DOXYGEN 9 | template<class C> struct basic_substring; 10 | using csubstr = C4CORE_EXPORT basic_substring<const char>; 11 | using substr = C4CORE_EXPORT basic_substring<char>; 12 | #endif // !DOXYGEN 13 | 14 | } // namespace c4 15 | 16 | #endif /* _C4_SUBSTR_FWD_HPP_ */ 17 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/unrestrict.hpp: -------------------------------------------------------------------------------- 1 | #ifdef _C4_RESTRICT_HPP_ // must match the include guard from restrict.hpp 2 | 3 | /** @file unrestrict.hpp cleans up restrict macros */ 4 | 5 | #undef $ 6 | #undef $ 7 | #undef c$ 8 | #undef c$ 9 | 10 | #undef _C4_RESTRICT_HPP_ 11 | 12 | #ifdef __clang__ 13 | # pragma clang diagnostic pop 14 | #elif defined(__GNUC__) 15 | #endif 16 | 17 | #endif /* _C4_RESTRICT_HPP_ */ 18 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/utf.hpp: -------------------------------------------------------------------------------- 1 | #ifndef C4_UTF_HPP_ 2 | #define C4_UTF_HPP_ 3 | 4 | #include "c4/language.hpp" 5 | #include "c4/substr_fwd.hpp" 6 | #include <stddef.h> 7 | #include <stdint.h> 8 | 9 | namespace c4 { 10 | 11 | substr decode_code_point(substr out, csubstr code_point); 12 | size_t decode_code_point(uint8_t *C4_RESTRICT buf, size_t buflen, const uint32_t code); 13 | 14 | } // namespace c4 15 | 16 | #endif // C4_UTF_HPP_ 17 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/ext/c4core/src/c4/windows.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _C4_WINDOWS_HPP_ 2 | #define _C4_WINDOWS_HPP_ 3 | 4 | #if defined(_WIN64) || defined(_WIN32) 5 | #include "c4/windows_push.hpp" 6 | #include <windows.h> 7 | #include "c4/windows_pop.hpp" 8 | #endif 9 | 10 | #endif /* _C4_WINDOWS_HPP_ */ 11 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = [ 3 | "setuptools>=42", 4 | "setuptools_scm[toml]>=3.4", 5 | "setuptools-git", 6 | "wheel", 7 | "ninja", 8 | "cmake_build_extension"] 9 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/requirements.txt: -------------------------------------------------------------------------------- 1 | tbump 2 | wheel 3 | cmake-build-extension 4 | build 5 | twine 6 | setuptools_scm 7 | setuptools-git 8 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/src/c4/yml/export.hpp: -------------------------------------------------------------------------------- 1 | #ifndef C4_YML_EXPORT_HPP_ 2 | #define C4_YML_EXPORT_HPP_ 3 | 4 | #ifdef _WIN32 5 | #ifdef RYML_SHARED 6 | #ifdef RYML_EXPORTS 7 | #define RYML_EXPORT __declspec(dllexport) 8 | #else 9 | #define RYML_EXPORT __declspec(dllimport) 10 | #endif 11 | #else 12 | #define RYML_EXPORT 13 | #endif 14 | #else 15 | #define RYML_EXPORT 16 | #endif 17 | 18 | #endif /* C4_YML_EXPORT_HPP_ */ 19 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/src/c4/yml/std/std.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _C4_YML_STD_STD_HPP_ 2 | #define _C4_YML_STD_STD_HPP_ 3 | 4 | #include "c4/yml/std/string.hpp" 5 | #include "c4/yml/std/vector.hpp" 6 | #include "c4/yml/std/map.hpp" 7 | 8 | #endif // _C4_YML_STD_STD_HPP_ 9 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/src/c4/yml/std/string.hpp: -------------------------------------------------------------------------------- 1 | #ifndef C4_YML_STD_STRING_HPP_ 2 | #define C4_YML_STD_STRING_HPP_ 3 | 4 | /** @file string.hpp substring conversions for/from std::string */ 5 | 6 | // everything we need is implemented here: 7 | #include <c4/std/string.hpp> 8 | 9 | #endif // C4_YML_STD_STRING_HPP_ 10 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/src/c4/yml/yml.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _C4_YML_YML_HPP_ 2 | #define _C4_YML_YML_HPP_ 3 | 4 | #include "c4/yml/tree.hpp" 5 | #include "c4/yml/node.hpp" 6 | #include "c4/yml/emit.hpp" 7 | #include "c4/yml/parse.hpp" 8 | #include "c4/yml/preprocess.hpp" 9 | 10 | #endif // _C4_YML_YML_HPP_ 11 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/src/ryml.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _RYML_HPP_ 2 | #define _RYML_HPP_ 3 | 4 | #include "c4/yml/yml.hpp" 5 | 6 | namespace ryml { 7 | using namespace c4::yml; 8 | using namespace c4; 9 | } 10 | 11 | #endif /* _RYML_HPP_ */ 12 | -------------------------------------------------------------------------------- /3rdparty/rapidyaml/src/ryml_std.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _RYML_STD_HPP_ 2 | #define _RYML_STD_HPP_ 3 | 4 | #include "./c4/yml/std/std.hpp" 5 | 6 | #endif /* _RYML_STD_HPP_ */ 7 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/include/yaml-cpp/anchor.h: -------------------------------------------------------------------------------- 1 | #ifndef ANCHOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66 2 | #define ANCHOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66 3 | 4 | #if defined(_MSC_VER) || \ 5 | (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ 6 | (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 7 | #pragma once 8 | #endif 9 | 10 | #include <cstddef> 11 | 12 | namespace YAML { 13 | using anchor_t = std::size_t; 14 | const anchor_t NullAnchor = 0; 15 | } 16 | 17 | #endif // ANCHOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66 18 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/include/yaml-cpp/emitterdef.h: -------------------------------------------------------------------------------- 1 | #ifndef EMITTERDEF_H_62B23520_7C8E_11DE_8A39_0800200C9A66 2 | #define EMITTERDEF_H_62B23520_7C8E_11DE_8A39_0800200C9A66 3 | 4 | #if defined(_MSC_VER) || \ 5 | (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ 6 | (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 7 | #pragma once 8 | #endif 9 | 10 | namespace YAML { 11 | struct EmitterNodeType { 12 | enum value { NoType, Property, Scalar, FlowSeq, BlockSeq, FlowMap, BlockMap }; 13 | }; 14 | } 15 | 16 | #endif // EMITTERDEF_H_62B23520_7C8E_11DE_8A39_0800200C9A66 17 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/include/yaml-cpp/emitterstyle.h: -------------------------------------------------------------------------------- 1 | #ifndef EMITTERSTYLE_H_62B23520_7C8E_11DE_8A39_0800200C9A66 2 | #define EMITTERSTYLE_H_62B23520_7C8E_11DE_8A39_0800200C9A66 3 | 4 | #if defined(_MSC_VER) || \ 5 | (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ 6 | (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 7 | #pragma once 8 | #endif 9 | 10 | namespace YAML { 11 | struct EmitterStyle { 12 | enum value { Default, Block, Flow }; 13 | }; 14 | } 15 | 16 | #endif // EMITTERSTYLE_H_62B23520_7C8E_11DE_8A39_0800200C9A66 17 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/include/yaml-cpp/node/type.h: -------------------------------------------------------------------------------- 1 | #ifndef VALUE_TYPE_H_62B23520_7C8E_11DE_8A39_0800200C9A66 2 | #define VALUE_TYPE_H_62B23520_7C8E_11DE_8A39_0800200C9A66 3 | 4 | #if defined(_MSC_VER) || \ 5 | (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ 6 | (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 7 | #pragma once 8 | #endif 9 | 10 | namespace YAML { 11 | struct NodeType { 12 | enum value { Undefined, Null, Scalar, Sequence, Map }; 13 | }; 14 | } 15 | 16 | #endif // VALUE_TYPE_H_62B23520_7C8E_11DE_8A39_0800200C9A66 17 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/include/yaml-cpp/noexcept.h: -------------------------------------------------------------------------------- 1 | #ifndef NOEXCEPT_H_768872DA_476C_11EA_88B8_90B11C0C0FF8 2 | #define NOEXCEPT_H_768872DA_476C_11EA_88B8_90B11C0C0FF8 3 | 4 | #if defined(_MSC_VER) || \ 5 | (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ 6 | (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 7 | #pragma once 8 | #endif 9 | 10 | // This is here for compatibility with older versions of Visual Studio 11 | // which don't support noexcept. 12 | #if defined(_MSC_VER) && _MSC_VER < 1900 13 | #define YAML_CPP_NOEXCEPT _NOEXCEPT 14 | #else 15 | #define YAML_CPP_NOEXCEPT noexcept 16 | #endif 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/include/yaml-cpp/noncopyable.h: -------------------------------------------------------------------------------- 1 | #ifndef NONCOPYABLE_H_62B23520_7C8E_11DE_8A39_0800200C9A66 2 | #define NONCOPYABLE_H_62B23520_7C8E_11DE_8A39_0800200C9A66 3 | 4 | #if defined(_MSC_VER) || \ 5 | (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ 6 | (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 7 | #pragma once 8 | #endif 9 | 10 | #include "yaml-cpp/dll.h" 11 | 12 | namespace YAML { 13 | // this is basically boost::noncopyable 14 | class YAML_CPP_API noncopyable { 15 | protected: 16 | noncopyable() {} 17 | ~noncopyable() {} 18 | 19 | private: 20 | noncopyable(const noncopyable&); 21 | const noncopyable& operator=(const noncopyable&); 22 | }; 23 | } 24 | 25 | #endif // NONCOPYABLE_H_62B23520_7C8E_11DE_8A39_0800200C9A66 26 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/src/contrib/graphbuilder.cpp: -------------------------------------------------------------------------------- 1 | #include "graphbuilderadapter.h" 2 | 3 | #include "yaml-cpp/parser.h" // IWYU pragma: keep 4 | 5 | namespace YAML { 6 | class GraphBuilderInterface; 7 | 8 | void* BuildGraphOfNextDocument(Parser& parser, 9 | GraphBuilderInterface& graphBuilder) { 10 | GraphBuilderAdapter eventHandler(graphBuilder); 11 | if (parser.HandleNextDocument(eventHandler)) { 12 | return eventHandler.RootNode(); 13 | } 14 | return nullptr; 15 | } 16 | } // namespace YAML 17 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/src/contrib/yaml-cpp.natvis.md: -------------------------------------------------------------------------------- 1 | # MSVC debugger visualizer for YAML::Node 2 | 3 | ## How to use 4 | Add yaml-cpp.natvis to your Visual C++ project like any other source file. It will be included in the debug information, and improve debugger display on YAML::Node and contained types. 5 | 6 | ## Compatibility and Troubleshooting 7 | 8 | This has been tested for MSVC 2017. It is expected to be compatible with VS 2015 and VS 2019. If you have any problems, you can open an issue here: https://github.com/peterchen-cp/yaml-cpp-natvis 9 | 10 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/src/depthguard.cpp: -------------------------------------------------------------------------------- 1 | #include "yaml-cpp/depthguard.h" 2 | 3 | namespace YAML { 4 | 5 | DeepRecursion::DeepRecursion(int depth, const Mark& mark_, 6 | const std::string& msg_) 7 | : ParserException(mark_, msg_), m_depth(depth) {} 8 | 9 | } // namespace YAML 10 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/src/directives.cpp: -------------------------------------------------------------------------------- 1 | #include "directives.h" 2 | 3 | namespace YAML { 4 | Directives::Directives() : version{true, 1, 2}, tags{} {} 5 | 6 | std::string Directives::TranslateTagHandle( 7 | const std::string& handle) const { 8 | auto it = tags.find(handle); 9 | if (it == tags.end()) { 10 | if (handle == "!!") 11 | return "tag:yaml.org,2002:"; 12 | return handle; 13 | } 14 | 15 | return it->second; 16 | } 17 | } // namespace YAML 18 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/src/directives.h: -------------------------------------------------------------------------------- 1 | #ifndef DIRECTIVES_H_62B23520_7C8E_11DE_8A39_0800200C9A66 2 | #define DIRECTIVES_H_62B23520_7C8E_11DE_8A39_0800200C9A66 3 | 4 | #if defined(_MSC_VER) || \ 5 | (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ 6 | (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 7 | #pragma once 8 | #endif 9 | 10 | #include <string> 11 | #include <map> 12 | 13 | namespace YAML { 14 | struct Version { 15 | bool isDefault; 16 | int major, minor; 17 | }; 18 | 19 | struct Directives { 20 | Directives(); 21 | 22 | std::string TranslateTagHandle(const std::string& handle) const; 23 | 24 | Version version; 25 | std::map<std::string, std::string> tags; 26 | }; 27 | } 28 | 29 | #endif // DIRECTIVES_H_62B23520_7C8E_11DE_8A39_0800200C9A66 30 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/src/emit.cpp: -------------------------------------------------------------------------------- 1 | #include "yaml-cpp/node/emit.h" 2 | #include "nodeevents.h" 3 | #include "yaml-cpp/emitfromevents.h" 4 | #include "yaml-cpp/emitter.h" 5 | 6 | namespace YAML { 7 | Emitter& operator<<(Emitter& out, const Node& node) { 8 | EmitFromEvents emitFromEvents(out); 9 | NodeEvents events(node); 10 | events.Emit(emitFromEvents); 11 | return out; 12 | } 13 | 14 | std::ostream& operator<<(std::ostream& out, const Node& node) { 15 | Emitter emitter(out); 16 | emitter << node; 17 | return out; 18 | } 19 | 20 | std::string Dump(const Node& node) { 21 | Emitter emitter; 22 | emitter << node; 23 | return emitter.c_str(); 24 | } 25 | } // namespace YAML 26 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/src/memory.cpp: -------------------------------------------------------------------------------- 1 | #include "yaml-cpp/node/detail/memory.h" 2 | #include "yaml-cpp/node/detail/node.h" // IWYU pragma: keep 3 | #include "yaml-cpp/node/ptr.h" 4 | 5 | namespace YAML { 6 | namespace detail { 7 | 8 | void memory_holder::merge(memory_holder& rhs) { 9 | if (m_pMemory == rhs.m_pMemory) 10 | return; 11 | 12 | m_pMemory->merge(*rhs.m_pMemory); 13 | rhs.m_pMemory = m_pMemory; 14 | } 15 | 16 | node& memory::create_node() { 17 | shared_node pNode(new node); 18 | m_nodes.insert(pNode); 19 | return *pNode; 20 | } 21 | 22 | void memory::merge(const memory& rhs) { 23 | m_nodes.insert(rhs.m_nodes.begin(), rhs.m_nodes.end()); 24 | } 25 | } // namespace detail 26 | } // namespace YAML 27 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/src/node.cpp: -------------------------------------------------------------------------------- 1 | #include "yaml-cpp/node/node.h" 2 | #include "nodebuilder.h" 3 | #include "nodeevents.h" 4 | 5 | namespace YAML { 6 | Node Clone(const Node& node) { 7 | NodeEvents events(node); 8 | NodeBuilder builder; 9 | events.Emit(builder); 10 | return builder.Root(); 11 | } 12 | } // namespace YAML 13 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/src/null.cpp: -------------------------------------------------------------------------------- 1 | #include "yaml-cpp/null.h" 2 | 3 | namespace YAML { 4 | _Null Null; 5 | 6 | bool IsNullString(const std::string& str) { 7 | return str.empty() || str == "~" || str == "null" || str == "Null" || 8 | str == "NULL"; 9 | } 10 | } // namespace YAML 11 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/src/scantag.h: -------------------------------------------------------------------------------- 1 | #ifndef SCANTAG_H_62B23520_7C8E_11DE_8A39_0800200C9A66 2 | #define SCANTAG_H_62B23520_7C8E_11DE_8A39_0800200C9A66 3 | 4 | #if defined(_MSC_VER) || \ 5 | (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ 6 | (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 7 | #pragma once 8 | #endif 9 | 10 | #include <string> 11 | #include "stream.h" 12 | 13 | namespace YAML { 14 | const std::string ScanVerbatimTag(Stream& INPUT); 15 | const std::string ScanTagHandle(Stream& INPUT, bool& canBeHandle); 16 | const std::string ScanTagSuffix(Stream& INPUT); 17 | } 18 | 19 | #endif // SCANTAG_H_62B23520_7C8E_11DE_8A39_0800200C9A66 20 | -------------------------------------------------------------------------------- /3rdparty/yaml-cpp/src/tag.h: -------------------------------------------------------------------------------- 1 | #ifndef TAG_H_62B23520_7C8E_11DE_8A39_0800200C9A66 2 | #define TAG_H_62B23520_7C8E_11DE_8A39_0800200C9A66 3 | 4 | #if defined(_MSC_VER) || \ 5 | (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ 6 | (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 7 | #pragma once 8 | #endif 9 | 10 | #include <string> 11 | 12 | namespace YAML { 13 | struct Directives; 14 | struct Token; 15 | 16 | struct Tag { 17 | enum TYPE { 18 | VERBATIM, 19 | PRIMARY_HANDLE, 20 | SECONDARY_HANDLE, 21 | NAMED_HANDLE, 22 | NON_SPECIFIC 23 | }; 24 | 25 | Tag(const Token& token); 26 | std::string Translate(const Directives& directives); 27 | 28 | TYPE type; 29 | std::string handle, value; 30 | }; 31 | } 32 | 33 | #endif // TAG_H_62B23520_7C8E_11DE_8A39_0800200C9A66 34 | -------------------------------------------------------------------------------- /3rdparty/zlib/lib/Win32/zlib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/zlib/lib/Win32/zlib.dll -------------------------------------------------------------------------------- /3rdparty/zlib/lib/Win32/zlib.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/zlib/lib/Win32/zlib.lib -------------------------------------------------------------------------------- /3rdparty/zlib/lib/x64/zlib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/zlib/lib/x64/zlib.dll -------------------------------------------------------------------------------- /3rdparty/zlib/lib/x64/zlib.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/zlib/lib/x64/zlib.lib -------------------------------------------------------------------------------- /3rdparty/zlib/zlib-1.2.8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/3rdparty/zlib/zlib-1.2.8 -------------------------------------------------------------------------------- /conf/grf-files.txt: -------------------------------------------------------------------------------- 1 | //----------------------------------------- 2 | // GRF Files 3 | // Add as many as needed. 4 | //----------------------------------------- 5 | //grf: C:\Program Files\Gravity\RO\rdata.grf 6 | //grf: C:\Program Files\Gravity\RO\data.grf 7 | 8 | //----------------------------------------- 9 | // Data Directory 10 | // Use the base folder, not the data\ path. 11 | //----------------------------------------- 12 | //data_dir: C:\Program Files\Gravity\RO\ 13 | -------------------------------------------------------------------------------- /conf/import-tmpl/battle_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/import-tmpl/battle_conf.txt -------------------------------------------------------------------------------- /conf/import-tmpl/char_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/import-tmpl/char_conf.txt -------------------------------------------------------------------------------- /conf/import-tmpl/inter_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/import-tmpl/inter_conf.txt -------------------------------------------------------------------------------- /conf/import-tmpl/log_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/import-tmpl/log_conf.txt -------------------------------------------------------------------------------- /conf/import-tmpl/login_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/import-tmpl/login_conf.txt -------------------------------------------------------------------------------- /conf/import-tmpl/map_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/import-tmpl/map_conf.txt -------------------------------------------------------------------------------- /conf/import-tmpl/packet_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/import-tmpl/packet_conf.txt -------------------------------------------------------------------------------- /conf/import-tmpl/script_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/import-tmpl/script_conf.txt -------------------------------------------------------------------------------- /conf/import-tmpl/web_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/import-tmpl/web_conf.txt -------------------------------------------------------------------------------- /conf/motd.txt: -------------------------------------------------------------------------------- 1 | // Internal default is limited to 128 lines. If you need more, you will need to modify the MOTD_LINE_SIZE definition in pc.cpp 2 | Welcome to rAthena! Enjoy! Please report any bugs you find. 3 | -------------------------------------------------------------------------------- /conf/msg_conf/import-tmpl/map_msg_chn_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/import-tmpl/map_msg_chn_conf.txt -------------------------------------------------------------------------------- /conf/msg_conf/import-tmpl/map_msg_eng_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/import-tmpl/map_msg_eng_conf.txt -------------------------------------------------------------------------------- /conf/msg_conf/import-tmpl/map_msg_frn_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/import-tmpl/map_msg_frn_conf.txt -------------------------------------------------------------------------------- /conf/msg_conf/import-tmpl/map_msg_grm_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/import-tmpl/map_msg_grm_conf.txt -------------------------------------------------------------------------------- /conf/msg_conf/import-tmpl/map_msg_idn_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/import-tmpl/map_msg_idn_conf.txt -------------------------------------------------------------------------------- /conf/msg_conf/import-tmpl/map_msg_mal_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/import-tmpl/map_msg_mal_conf.txt -------------------------------------------------------------------------------- /conf/msg_conf/import-tmpl/map_msg_por_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/import-tmpl/map_msg_por_conf.txt -------------------------------------------------------------------------------- /conf/msg_conf/import-tmpl/map_msg_rus_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/import-tmpl/map_msg_rus_conf.txt -------------------------------------------------------------------------------- /conf/msg_conf/import-tmpl/map_msg_spn_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/import-tmpl/map_msg_spn_conf.txt -------------------------------------------------------------------------------- /conf/msg_conf/import-tmpl/map_msg_tha_conf.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/import-tmpl/map_msg_tha_conf.txt -------------------------------------------------------------------------------- /conf/msg_conf/login_msg.conf: -------------------------------------------------------------------------------- 1 | // rAthena msg_athena.conf 2 | // Message Configuration of login-server 3 | // ----------------------- 4 | 0: Unregistered ID. 5 | 1: Incorrect Password. 6 | 2: Account Expired. 7 | 3: Rejected from server. 8 | 4: Blocked by GM. 9 | 5: Not latest game EXE. 10 | 6: Banned. 11 | 7: Server Over-population. 12 | 8: Account limit from company 13 | 9: Ban by DBA 14 | 10: Email not confirmed 15 | 11: Ban by GM 16 | 12: Working in DB 17 | 13: Self Lock 18 | 14: Not Permitted Group 19 | 15: Not Permitted Group 20 | 16: Account gone. 21 | 17: Login info remains. 22 | 18: Hacking investigation. 23 | 19: Bug investigation. 24 | 20: Deleting char. 25 | 21: Deleting spouse char. 26 | 22: Unknown Error. 27 | -------------------------------------------------------------------------------- /conf/msg_conf/map_msg_frn.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/map_msg_frn.conf -------------------------------------------------------------------------------- /conf/msg_conf/map_msg_mal.conf: -------------------------------------------------------------------------------- 1 | 2 | //Custom translations 3 | import: conf/msg_conf/import/map_msg_mal_conf.txt 4 | -------------------------------------------------------------------------------- /conf/msg_conf/map_msg_por.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/map_msg_por.conf -------------------------------------------------------------------------------- /conf/msg_conf/map_msg_rus.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/map_msg_rus.conf -------------------------------------------------------------------------------- /conf/msg_conf/map_msg_spn.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/map_msg_spn.conf -------------------------------------------------------------------------------- /conf/msg_conf/map_msg_tha.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/conf/msg_conf/map_msg_tha.conf -------------------------------------------------------------------------------- /conf/msg_conf/web_msg.conf: -------------------------------------------------------------------------------- 1 | // rAthena msg_athena.conf 2 | // Message Configuration of web-server 3 | // ----------------------- 4 | -------------------------------------------------------------------------------- /conf/subnet_athena.conf: -------------------------------------------------------------------------------- 1 | // Subnet support file 2 | // Format is: 3 | // subnet: net-submask:char_ip:map_ip 4 | // you can add more than one subnet (max 16) 5 | // check is if((net-submask & char_ip ) == (net-submask & servip)) => ok 6 | 7 | subnet: 255.0.0.0:127.0.0.1:127.0.0.1 8 | -------------------------------------------------------------------------------- /db/GeoIP.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/db/GeoIP.dat -------------------------------------------------------------------------------- /db/import-tmpl/map_cache.dat: -------------------------------------------------------------------------------- 1 | ������� -------------------------------------------------------------------------------- /db/import-tmpl/produce_db.txt: -------------------------------------------------------------------------------- 1 | // Item Produce Database 2 | // 3 | // Structure of Database: 4 | // ID,ProduceItemID,ItemLV,RequireSkill,RequireSkillLv,MaterialID1,MaterialAmount1,...... 5 | // 6 | // Notes: 7 | // - ID is used to identify item order that will be used for overwriting on db/import. 8 | // Value is started from 0 until 269 (MAX_PRODUCE_RESOURCE-1). Use same ID on import file to overwrite original result & requirements 9 | // - To remove entry by importing, put 0 on 'ProduceItemID' 10 | // - If MaterialAmount is 0, the player must have that item in their inventory (i.e. guides). 11 | // For example, Mine Bottle requires 0x Marine Sphere Creation Guide (ID 7131). 12 | 13 | -------------------------------------------------------------------------------- /db/import-tmpl/skill_changematerial_db.txt: -------------------------------------------------------------------------------- 1 | // Change Material Database 2 | // 3 | // Structure of Database: 4 | // ID,ProductID,BaseRate,MakeAmount1,MakeAmountRate1...,MakeAmount5,MakeAmountRate5 5 | // 6 | // NOTE: 7 | // - ID is used to identify item order that will be used for overwriting on db/import. 8 | // Value is started from 0 until 74 (MAX_SKILL_CHANGEMATERIAL_DB-1). Use same ID on import file to overwrite original result & requirements 9 | // - Up to 5 ID/Amount pairs can be specified. 10 | // - Rate = n/10% 11 | 12 | -------------------------------------------------------------------------------- /db/map_cache.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/db/map_cache.dat -------------------------------------------------------------------------------- /db/pre-re/map_cache.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/db/pre-re/map_cache.dat -------------------------------------------------------------------------------- /db/re/map_cache.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/db/re/map_cache.dat -------------------------------------------------------------------------------- /doc/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/doc/logo.png -------------------------------------------------------------------------------- /doc/map_server_generator.md: -------------------------------------------------------------------------------- 1 | # Map Server Generator 2 | 3 | This is a tool to generate files that are hard to manually create. 4 | 5 | ## How to run 6 | ### Linux 7 | Run `make tools`. 8 | This creates a new binary called `map-server-generator`. 9 | 10 | It can be ran with: `./map-server-generator` 11 | 12 | ### Windows 13 | It can be ran with `./map-server-generator.exe`, or with the provided `.bat` files. 14 | 15 | ## Available options 16 | On Linux, prefix with `--` 17 | 18 | On Windows, prefix with `/` 19 | 20 | option | feature 21 | ---|--- 22 | `generate-navi` | create navigation files 23 | `generate-reputation` | create reputation bson files 24 | `generate-itemmoveinfo` | create itemmoveinfov5.txt 25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/model/Model_Relation.mwb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/doc/model/Model_Relation.mwb -------------------------------------------------------------------------------- /doc/model/Model_Relation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/doc/model/Model_Relation.png -------------------------------------------------------------------------------- /doc/model/rathena.vpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/doc/model/rathena.vpp -------------------------------------------------------------------------------- /doc/packet_client.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Documentation ================================ 2 | //= Source Documentation 3 | //===== By: ================================================== 4 | //= rAthena Dev Team 5 | //===== Last Updated: ======================================== 6 | //= 20140718 7 | //===== Description: ========================================= 8 | //= List of all packets used by login-serv (A), char-serv (H), 9 | //= and map-serv (Z) to communicate to the client. 10 | //= See packet_interserv.txt for communication between servers. 11 | //============================================================ 12 | -------------------------------------------------------------------------------- /doc/sample/basejob_baseclass_upper.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Sample: Class Constants 3 | //===== By: ================================================== 4 | //= rAthena Dev Team 5 | //===== Last Updated: ======================================== 6 | //= 20110123 7 | //===== Description: ========================================= 8 | //= Outputs the values of class constants. 9 | //============================================================ 10 | 11 | prontera,155,177,1 script Tell Me 725,{ 12 | mes "[Tell Me]"; 13 | mes "Class: " + Class; 14 | mes "BaseClass: " + BaseClass; 15 | mes "BaseJob: " + BaseJob; 16 | mes "Upper: " + Upper; 17 | close; 18 | } 19 | -------------------------------------------------------------------------------- /doc/sample/checkoption.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Sample: Checkoption 3 | //===== By: ================================================== 4 | //= rAthena Dev Team 5 | //===== Last Updated: ======================================== 6 | //= 20140208 7 | //===== Description: ========================================= 8 | //= Demonstrates the 'checkoption' command. 9 | //============================================================ 10 | 11 | prontera,156,89,6 script test_checkoption 117,{ 12 | mes "Please enter a value of type!"; 13 | input .@value; 14 | if (checkoption(.@value) == 1) 15 | mes "True!"; 16 | else if (checkoption(.@value) == 0) 17 | mes "False!"; 18 | close; 19 | } 20 | -------------------------------------------------------------------------------- /doc/sample/getequipid.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Sample: Getequipid 3 | //===== By: ================================================== 4 | //= rAthena Dev Team 5 | //===== Last Updated: ======================================== 6 | //= 20170702 7 | //===== Description: ========================================= 8 | //= Demonstrates the 'getequipid' command. 9 | //============================================================ 10 | 11 | prontera,161,181,6 script getequipid sample 105,{ 12 | for (.@i = EQI_ACC_L; .@i < EQI_MAX; .@i++) 13 | mes "getequipid(" + .@i + ") : " + getequipid(.@i); 14 | close; 15 | } 16 | -------------------------------------------------------------------------------- /doc/sample/npc_test_npctimer2.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Sample: Attached NPC Timers 3 | //===== By: ================================================== 4 | //= rAthena Dev Team 5 | //===== Last Updated: ======================================== 6 | //= 20180831 7 | //===== Description: ========================================= 8 | //= Demonstrates attached NPC timer commands. 9 | //============================================================ 10 | 11 | prontera,156,186,0 script NPCtimerTest::npctimer2X0000 116,{ 12 | mes "What would you like to know?"; 13 | select("Tell me my level."); 14 | mes "I need time to think..."; 15 | attachnpctimer; 16 | initnpctimer; 17 | close; 18 | 19 | OnTimer5000: 20 | mes "Ah, your level is " + readparam(11) + "!"; 21 | detachnpctimer; 22 | close; 23 | } 24 | -------------------------------------------------------------------------------- /doc/yaml/db/abra_db.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Abracadabra Database 3 | ########################################################################### 4 | # 5 | # Abracadabra Settings 6 | # 7 | ########################################################################### 8 | # - Skill Skill to be casted by Abracadabra. 9 | # Probability: Probability of skill compared to others in database (1 = 0.01%, 10000 = 100%). (Default: 500) 10 | # - Level Skill level. 11 | # Probability Probability at specific skill level (1 = 0.01%, 10000 = 100%). (Default: 0) 12 | ########################################################################### 13 | -------------------------------------------------------------------------------- /doc/yaml/db/attr_fix.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Elemental Attribute Damage Adjustment Tables 3 | ########################################################################### 4 | # 5 | # Elemental Attribute Damage Adjustment Settings 6 | # 7 | ########################################################################### 8 | # - Level Level of the Attribute. 9 | # <element>: Attacker's weapon element. 10 | # <element>: <value> Target's defense element. <value> in %, default 100. Value accepted from -100 to 200. 11 | ########################################################################### 12 | -------------------------------------------------------------------------------- /doc/yaml/db/castle_db.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Guild Castles Database 3 | ########################################################################### 4 | # 5 | # Guild Castles Settings 6 | # 7 | ########################################################################### 8 | # - Id Unique ID of the castle. 9 | # Map Map name to be considered as the castle map. 10 | # Name Name of the castle (used by scripts and guardian name tags). 11 | # Npc NPC unique name to invoke ::OnGuildBreak on, when a occupied castle is abandoned during guild break. 12 | ########################################################################### 13 | -------------------------------------------------------------------------------- /doc/yaml/db/create_arrow_db.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Arrow Crafting Database 3 | ########################################################################### 4 | # 5 | # Arrow Crafting Settings 6 | # 7 | ########################################################################### 8 | # - Source AegisName of the item that is consumed. 9 | # Make: List of item(s) received by the player. 10 | # - Item AegisName of the item received. 11 | # Amount Amount of Item received. (Use 0 to remove the Item on import) 12 | ########################################################################### 13 | -------------------------------------------------------------------------------- /doc/yaml/db/exp_guild.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Guild Experience Database 3 | ########################################################################### 4 | # 5 | # Guild Experience Settings 6 | # 7 | ########################################################################### 8 | # - Level Level required. 9 | # Exp Experience required to level up. 10 | ########################################################################### 11 | -------------------------------------------------------------------------------- /doc/yaml/db/exp_homun.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Homunculus Experience Database 3 | ########################################################################### 4 | # 5 | # Homunculus Experience Settings 6 | # 7 | ########################################################################### 8 | # - Level Level required. 9 | # Exp Experience required for the next level. 10 | ########################################################################### 11 | -------------------------------------------------------------------------------- /doc/yaml/db/guild_skill_tree.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Guild Skill Database 3 | ########################################################################### 4 | # 5 | # Guild Skill Settings 6 | # 7 | ########################################################################### 8 | # Id - Skill ID of the guild skill. 9 | ########################################################################### 10 | # MaxLevel - Maximum level of the guild skill. 11 | ########################################################################### 12 | # Required - A list of required skills for the skill to become available. 13 | # Id: Skill ID of the required guild skill. 14 | # Level: Level of the required guild skill. 15 | ########################################################################### 16 | -------------------------------------------------------------------------------- /doc/yaml/db/item_cash.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Item Cash Database 3 | ########################################################################### 4 | # 5 | # Item Cash Settings 6 | # 7 | ########################################################################### 8 | # - Tab Cash shop tab. Available tabs are New, Hot, Limited, Rental, Permanent, Scrolls, Consumables, Other, Sale. 9 | # Items: List of possible items. 10 | # - Item Item name. 11 | # Price Item cost in cash points (#CASHPOINTS). 12 | ########################################################################### 13 | -------------------------------------------------------------------------------- /doc/yaml/db/item_combos.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Item Combo Database 3 | ########################################################################### 4 | # 5 | # Settings 6 | # 7 | ########################################################################### 8 | # - Combos: List of combo sets. 9 | # - Combo: Sequence of items to define a combo (minimum of 2 items). 10 | # - <item name> AEGIS name of the item 11 | # Script Script to execute when one of the combos is equipped. (Default: null) 12 | # Clear Remove the defined combos from database. (Default: false) 13 | ########################################################################### 14 | -------------------------------------------------------------------------------- /doc/yaml/db/item_randomopt_db.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Item Random Option Database 3 | ########################################################################### 4 | # 5 | # Item Random Option Settings 6 | # 7 | ########################################################################### 8 | # - Id Item Random Option ID matching the ID defined in enumvar.lub in the client. 9 | # Option Item Random Option constant. 10 | # Script Bonus script used for option. 11 | ########################################################################### 12 | -------------------------------------------------------------------------------- /doc/yaml/db/level_penalty.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Level Penalty Database 3 | ########################################################################### 4 | # 5 | # Level Penalty Settings 6 | # 7 | ########################################################################### 8 | # - Type: Type of Penalty (Exp, Drop, Mvp_Exp, Mvp_Drop) 9 | # LevelDifferences: List of level difference between player and monster 10 | # - Difference: Level difference between player and monster 11 | # Rate: Rate applied to original exp or drop rate (0-10000) 12 | ########################################################################### 13 | -------------------------------------------------------------------------------- /doc/yaml/db/license.yml: -------------------------------------------------------------------------------- 1 | # This file is a part of rAthena. 2 | # Copyright(C) 2024 rAthena Development Team 3 | # https://rathena.org - https://github.com/rathena 4 | # 5 | # This program is free software: you can redistribute it and/or modify 6 | # it under the terms of the GNU General Public License as published by 7 | # the Free Software Foundation, either version 3 of the License, or 8 | # (at your option) any later version. 9 | # 10 | # This program is distributed in the hope that it will be useful, 11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | # GNU General Public License for more details. 14 | # 15 | # You should have received a copy of the GNU General Public License 16 | # along with this program. If not, see <http://www.gnu.org/licenses/>. 17 | # 18 | -------------------------------------------------------------------------------- /doc/yaml/db/magicmushroom_db.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Magic Mushroom Database 3 | ########################################################################### 4 | # 5 | # Magic Mushroom Settings 6 | # 7 | ########################################################################### 8 | # - Skill Skill to be casted by Magic Mushroom. 9 | ########################################################################### 10 | -------------------------------------------------------------------------------- /doc/yaml/db/mob_chat_db.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Monster Chat Database 3 | ########################################################################### 4 | # 5 | # Settings 6 | # 7 | ########################################################################### 8 | # - Id Index of the message. 9 | # Color Hexadecimal color (Default: 0xFF0000). 10 | # Dialog Text displayed by the monster. 11 | ########################################################################### 12 | -------------------------------------------------------------------------------- /doc/yaml/db/mob_summon.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Summonable Monsters Database 3 | ########################################################################### 4 | # 5 | # Summonable Monsters Settings 6 | # 7 | ########################################################################### 8 | # - Group Monster random group name. "MOBG_" is appended to the name during the parsing. 9 | # Default Monster AegisName summoned by default when the summon fails. 10 | # Summon: List of Summonable Monsters. 11 | # - Mob Monster AegisName. 12 | # Rate Summon rate of Mob (from [0-1000000]). 13 | ########################################################################### 14 | -------------------------------------------------------------------------------- /doc/yaml/db/spellbook_db.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Reading Spellbook Database 3 | ########################################################################### 4 | # 5 | # Reading Spellbook Settings 6 | # 7 | ########################################################################### 8 | # - Skill Skill that is usable through a Spellbook. 9 | # Book Book item required to cast skill. 10 | # PreservePoints Amount of points required to preserve the skill into the book. 11 | ########################################################################### 12 | -------------------------------------------------------------------------------- /doc/yaml/db/statpoint.yml: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | # Statpoint Database 3 | ########################################################################### 4 | # 5 | # Statpoint Settings 6 | # 7 | ########################################################################### 8 | # - Level BaseLevel required. 9 | # Points Total status points given from BaseLevel 1 to 'Level'. 10 | # TraitPoints Total trait points given from BaseLevel 1 to 'Level'. 11 | ########################################################################### 12 | -------------------------------------------------------------------------------- /doc/yaml/sql/item_db_equip.sql: -------------------------------------------------------------------------------- 1 | # 2 | # Table data for table `item_db` 3 | # 4 | -------------------------------------------------------------------------------- /doc/yaml/sql/item_db_etc.sql: -------------------------------------------------------------------------------- 1 | # 2 | # Table data for table `item_db` 3 | # 4 | -------------------------------------------------------------------------------- /doc/yaml/sql/item_db_re_equip.sql: -------------------------------------------------------------------------------- 1 | # 2 | # Table data for table `item_db_re` 3 | # 4 | -------------------------------------------------------------------------------- /doc/yaml/sql/item_db_re_etc.sql: -------------------------------------------------------------------------------- 1 | # 2 | # Table data for table `item_db_re` 3 | # 4 | -------------------------------------------------------------------------------- /doc/yaml/sql/item_db_re_usable.sql: -------------------------------------------------------------------------------- 1 | # 2 | # Table data for table `item_db_re` 3 | # 4 | -------------------------------------------------------------------------------- /doc/yaml/sql/item_db_usable.sql: -------------------------------------------------------------------------------- 1 | # 2 | # Table data for table `item_db` 3 | # 4 | -------------------------------------------------------------------------------- /function.sh: -------------------------------------------------------------------------------- 1 | L_SRV=login-server 2 | C_SRV=char-server 3 | M_SRV=map-server 4 | W_SRV=web-server 5 | INST_PATH=/opt 6 | PKG=rathena 7 | PKG_PATH="${INST_PATH}/${PKG}" 8 | 9 | check_files() { 10 | for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV} 11 | do 12 | if [ ! -f ./$i ]; then 13 | echo "$i does not exist... exiting..." 14 | exit 1; 15 | fi 16 | done 17 | } 18 | 19 | check_inst_right(){ 20 | if [ ! -w "${INST_PATH}" ]; then echo "You must have sudo right to use this install (write/read permission in ${INST_PATH}/ )" && exit; fi 21 | } 22 | 23 | inst_launch_workaround(){ 24 | if [ -d "${PKG_PATH}" ]; then 25 | if [ "$(pwd)" != "${PKG_PATH}" ]; then cd "${PKG_PATH}"; fi 26 | fi 27 | } 28 | -------------------------------------------------------------------------------- /mac.rathena-start.scpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/mac.rathena-start.scpt -------------------------------------------------------------------------------- /npc/cities/morocc.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/cities/morocc.txt -------------------------------------------------------------------------------- /npc/events/christmas_2008.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/events/christmas_2008.txt -------------------------------------------------------------------------------- /npc/jobs/2-1/priest.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/jobs/2-1/priest.txt -------------------------------------------------------------------------------- /npc/mapflag/battleground.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Mapflag: Battleground map setting. 3 | //===== Description: ========================================= 4 | //= Defines a Battleground map. 5 | //= Additional parameter '2' shows scoreboard. 6 | //===== Additional Comments: ================================= 7 | //= 1.0 Initial script. [Epoque] 8 | //============================================================ 9 | 10 | bat_c01 mapflag battleground 2 11 | bat_c02 mapflag battleground 2 12 | bat_c03 mapflag battleground 2 13 | bat_b01 mapflag battleground 2 14 | bat_b02 mapflag battleground 15 | bat_a01 mapflag battleground 16 | bat_a02 mapflag battleground 17 | -------------------------------------------------------------------------------- /npc/mapflag/pvp_noparty.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Mapflag: Ignore parties. 3 | //===== Description: ========================================= 4 | //= Ignores party alliances on PvP-enabled maps. 5 | //===== Additional Comments: ================================= 6 | //= 1.0 Initial script. 7 | //============================================================ 8 | -------------------------------------------------------------------------------- /npc/mapflag/skill_damage.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Mapflag: Adjust Skill Damage. 3 | //===== Description: ========================================= 4 | //= Enables skill damage adjustment. All adjustments in 5 | //= skill_damage_db.txt for 'Map' type 16 will be applied. 6 | //= See the mapflag documentation for details about extra 7 | //= parameters. 8 | //===== Additional Comments: ================================= 9 | //= 1.0 Initial script. [Cydh] 10 | //============================================================ 11 | -------------------------------------------------------------------------------- /npc/mobs/jail.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Jail Monster Spawn Script 3 | //===== By: ================================================== 4 | //= Masao 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= Spawns monsters in Jail. 11 | //============================================================ 12 | 13 | sec_in02,139,80,20,10 monster Poring 1002,5 14 | sec_in02,138,54,20,20 monster Marin 1242,5 15 | sec_in02,161,46,15,15 monster Poporing 1031,5 16 | sec_in02,114,47,10,10 monster Drops 1113,5 17 | sec_in02,114,47,10,10 monster Bigfoot 1060,10 18 | sec_in02,139,80,30,30 monster Flora 1118,10 19 | -------------------------------------------------------------------------------- /npc/other/fortune.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/other/fortune.txt -------------------------------------------------------------------------------- /npc/pre-re/airports/izlude.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Izlude Airport NPCs 3 | //===== By: ================================================== 4 | //= rAthena Dev Team 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= Izlude Airport NPCs 11 | //===== Additional Comments: ================================= 12 | //= 1.0 First version. 13 | //============================================================ 14 | 15 | izlude,206,55,3 duplicate(Airship_Staff_izlude) Airship Staff#izlude 90 16 | -------------------------------------------------------------------------------- /npc/pre-re/cities/jawaii.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Jawaii Town Pre-Renewal 3 | //===== By: ================================================== 4 | //= Daegaladh 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= [Official Conversion] 11 | //= Jawaii town NPCs. 12 | //===== Additional Comments: ================================= 13 | //= 1.0 First Version. 14 | //============================================================ 15 | 16 | izlude,171,185,3 duplicate(Honeymoon_Helper_Izlude) Honeymoon Helper#Izlude 71 17 | -------------------------------------------------------------------------------- /npc/pre-re/cities/lutie.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Lutie Town Pre-Renewal 3 | //===== Description: ========================================= 4 | //= Lutie - City NPCs 5 | //===== Additional Comments: ================================= 6 | //= 1.0 First version. [Lemongrass] 7 | //============================================================ 8 | 9 | // Teleport to Lutie 10 | //============================================================ 11 | aldebaran,223,222,4 duplicate(Mr. Claus) Mr. Claus#1 718 12 | -------------------------------------------------------------------------------- /npc/pre-re/jobs/1-1e/taekwon.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Taekwon Job Quest 3 | //===== Description: ========================================= 4 | //= [Official Conversion] 5 | //= Taekwon Job Change Quest 6 | //===== Changelogs: ========================================== 7 | //= 1.0 Split into renewal [Lemongrass] 8 | //============================================================ 9 | 10 | payon,157,141,5 duplicate(PhoenixTKJobChange) Phoenix#TKJobChange 753 11 | -------------------------------------------------------------------------------- /npc/pre-re/mapflag/hidemobhpbar.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Mapflag: hidemobhpbar. 3 | //===== Description: ========================================= 4 | //= Hide monster's HP bar (added in episode 14.2). 5 | //===== Changelogs: ========================================== 6 | //= 1.0 First Version. [Lemongrass] 7 | //============================================================ 8 | 9 | // Guild Dungeons ============= 10 | gld_dun01 mapflag hidemobhpbar 11 | gld_dun02 mapflag hidemobhpbar 12 | gld_dun03 mapflag hidemobhpbar 13 | gld_dun04 mapflag hidemobhpbar 14 | -------------------------------------------------------------------------------- /npc/pre-re/merchants/socket_enchant2.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Episode 12 Socket Enchant NPC 3 | //===== By: ================================================== 4 | //= Gepard 5 | //===== Current Version: ===================================== 6 | //= 1.1a 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= [Official Conversion] 11 | //= Adds slots to selected weapons and armor. 12 | //===== Additional Comments: ================================= 13 | //= 1.0 First version. 14 | //= 1.1 Duplicates now spawn from floating NPCs. [L0ne_W0lf] 15 | //= 1.1a Added 'disable_items' command. [Euphy] 16 | //============================================================ 17 | 18 | moc_ruins,154,86,3 duplicate(SocketEnchant2) Leablem#moc 86 19 | -------------------------------------------------------------------------------- /npc/pre-re/other/mercenary_rent.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Mercenary related NPCs 3 | //===== By: ================================================== 4 | //= Daegaladh 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= Sells Lancer, Sword, and Archer mercenaries, 11 | //= along with related mercenary items. 12 | //===== Additional Comments: ================================= 13 | //= 1.0 First version. [Daegaladh] 14 | //============================================================ 15 | 16 | izlude,47,139,5 duplicate(Mercenary Manager#main) Mercenary Manager#Sword 734 17 | izlude,56,139,4 duplicate(MercMerchant) Mercenary Merchant#Sword 892 18 | -------------------------------------------------------------------------------- /npc/pre-re/other/turbo_track.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Turbo Track 3 | //===== By: ================================================== 4 | //= Euphy 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= [Official Conversion] 11 | //= Pre-Renewal duplicates. 12 | //===== Additional Comments: ================================= 13 | //= 1.0 Split Peco Peco Manager NPC. 14 | //============================================================ 15 | 16 | alde_gld,181,199,5 duplicate(MountManager_turbo) Peco Peco Manager 845 17 | -------------------------------------------------------------------------------- /npc/pre-re/quests/cooking_quest.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Cooking Quest 3 | //===== Description: ========================================= 4 | //= [Official Conversion] 5 | //= Official Cooking Quest (10.3) 6 | //===== Changelogs: ========================================== 7 | //= 1.0 Location changed in ep16.1 [Capuche] 8 | //============================================================ 9 | 10 | prt_castle,43,30,3 duplicate(Charles Orleans#cook_) Charles Orleans#cook 4_M_OILMAN 11 | prt_castle,45,35,5 duplicate(Madeleine Chu#cook_) Madeleine Chu#cook 4_COOK 12 | prt_castle,45,28,3 duplicate(Child with Cat#cook_) Child with Cat#cook 4_F_YUNYANG 13 | prt_castle,44,30,5 duplicate(Wickebine#cook_) Wickebine#cook 4_F_JOB_ASSASSIN 14 | -------------------------------------------------------------------------------- /npc/pre-re/quests/monstertamers.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Monster Tamers 3 | //===== By: ================================================== 4 | //= Euphy 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= Cute pet quest items 11 | //===== Additional Comments: ================================= 12 | //= 1.0 Moved Izlude NPC to pre-re/re paths. 13 | //============================================================ 14 | 15 | izlude_in,129,64,4 duplicate(MonsterTamer_izlude) Monster Tamer#izu 125 16 | -------------------------------------------------------------------------------- /npc/pre-re/quests/mrsmile.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Mr. Smile Quest 3 | //===== By: ================================================== 4 | //= Daegaladh 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= [Official Conversion] 11 | //= Trade Clover, Fluff and Jellopy for a Mr. Smile mask. 12 | //===== Additional Comments: ================================= 13 | //= 1.0 First version. 14 | //============================================================ 15 | 16 | izlude,129,118,4 duplicate(SmileHelper) Smile Assistance#iz 92 17 | -------------------------------------------------------------------------------- /npc/pre-re/quests/quest_payon.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Quest Payon Pre-Renewal 3 | //===== Changelogs: ========================================== 4 | //= 1.0 First Version. [JohnnyPlayy] 5 | //============================================================ 6 | 7 | payon_in01,56,12,7 duplicate(Young man#12) Young man#1 4_M_ORIENT02 8 | -------------------------------------------------------------------------------- /npc/pre-re/quests/quests_izlude.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Quest NPCs related to Izlude 3 | //===== By: ================================================== 4 | //= Daegaladh 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= Edgar's Offer 11 | //===== Additional Comments: ================================= 12 | //= 1.0 First version. 13 | //============================================================ 14 | 15 | izlude,182,186,2 duplicate(Edgar_izlude) Edgar#izlude 49 16 | -------------------------------------------------------------------------------- /npc/pre-re/quests/quests_lighthalzen.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Quest NPCs located in Lighthalzen 3 | //===== By: ================================================== 4 | //= Daegaladh 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= Quests related to Lighthalzen City. 11 | //===== Additional Comments: ================================= 12 | //= 1.0 First version. 13 | //============================================================ 14 | 15 | izlude,186,57,5 duplicate(Scamp) Scamp#iz 853 16 | -------------------------------------------------------------------------------- /npc/pre-re/quests/quests_nameless.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Nameless Island Quests 3 | //===== By: ================================================== 4 | //= Euphy 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= [Official Conversion] 11 | //= Contains: 12 | //= - Muff's Loan 13 | //===== Additional Comments: ================================= 14 | //= 1.0 Moved Dorian to pre-re/re paths. 15 | //============================================================ 16 | 17 | izlude_in,110,64,3 duplicate(Dorian_izlude) Dorian 878,2,2 18 | izlude_in,113,66,0 duplicate(StrangeMachine_izlude) Strange Machine 111 19 | -------------------------------------------------------------------------------- /npc/pre-re/quests/quests_niflheim.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Quest NPCs related to Niflheim 3 | //===== Description: ========================================= 4 | //= [Official Conversion] 5 | //= Piano Key Ouest 6 | //===== Additional Comments: ================================= 7 | //= 1.0 Moved Piano3 to pre-re/re paths. [Daegaladh] 8 | //============================================================ 9 | 10 | nif_in,114,181,0 duplicate(Piano3) #Piano3 HIDDEN_NPC,1,1 11 | -------------------------------------------------------------------------------- /npc/pre-re/quests/quests_veins.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Quest NPCs located in Veins 3 | //===== By: ================================================== 4 | //= Euphy 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= Quests related to Lighthalzen City. 11 | //===== Additional Comments: ================================= 12 | //= 1.0 First version. 13 | //============================================================ 14 | 15 | ve_fild05,257,130,4 duplicate(WincingOldMan_veins) Wincing Old Man#ve 945 16 | -------------------------------------------------------------------------------- /npc/pre-re/quests/seals/megingard_seal.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= God Item Quest - Megingjard Seal 3 | //===== Description: ========================================= 4 | //= [Official Conversion] 5 | //= Quest for breaking the seal of Megingjard. 6 | //===== Changelogs: ========================================== 7 | //= 1.0 Renewal script update for ep16.1 [Capuche] 8 | //============================================================ 9 | 10 | prt_castle,44,151,0 duplicate(Rebarev Doug_) Rebarev Doug 1_M_KNIGHTMASTER 11 | prt_castle,48,164,0 duplicate(Crusader#God_) Crusader#God 4_M_JOB_KNIGHT2 12 | -------------------------------------------------------------------------------- /npc/pre-re/quests/skills/swordman_skills.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Swordsman Skills Quests 3 | //===== By: ================================================== 4 | //= Euphy 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= Quests for skills: Mobile HP Recovery 11 | //===== Additional Comments: ================================= 12 | //= 1.0 Moved Izlude NPC to pre-re/re paths. 13 | //============================================================ 14 | 15 | izlude_in,175,130,2 duplicate(KnightDeThomas) Knight De Thomas 98,4,4 16 | -------------------------------------------------------------------------------- /npc/pre-re/quests/the_sign_quest.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= The Sign Quest 3 | //===== Description: ========================================= 4 | //= [Official Conversion] 5 | //= Quest for opening the doors to Geffenia. 6 | //= This script uses sign_01.bmp - sign_04.bmp, these will be 7 | //= found in the language of your client. 8 | //===== Changelogs: ========================================== 9 | //= 1.0 Location changed in ep16.1 [Capuche] 10 | //============================================================ 11 | 12 | prt_castle,107,58,5 duplicate(Soldier#s11_) Soldier#s11 8W_SOLDIER 13 | -------------------------------------------------------------------------------- /npc/pre-re/scripts_mapflags.conf: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------- 2 | // - Pre-Renewal Map Flags - 3 | // -------------------------------------------------------------- 4 | npc: npc/pre-re/mapflag/hidemobhpbar.txt 5 | npc: npc/pre-re/mapflag/gvg.txt 6 | -------------------------------------------------------------------------------- /npc/pre-re/warps/cities/alberta.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Alberta City Portals 3 | //===== Changelogs: ========================================== 4 | //= 1.0 First Version. [JohnnyPlayy] 5 | //============================================================ 6 | 7 | //= Portal - ( Rooms ) 8 | //============================================================ 9 | alberta,134,38,0 warp alb02 1,1,alberta_in,70,141 10 | alberta_in,73,141,0 warp alb02-1 1,1,alberta,137,37 -------------------------------------------------------------------------------- /npc/pre-re/warps/cities/einbroch.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Einbroch Warp Script 3 | //===== Description: ========================================= 4 | //= Warp Points for Einbroch 5 | //===== Changelogs: ========================================== 6 | //= 1.0 Some warps have been changed in renewal ep16.2 [Capuche] 7 | //============================================================ 8 | 9 | //========================================================================= 10 | //Einbroch - Hotel 11 | //========================================================================= 12 | ein_in01,274,246,0 warp ein_h04 1,1,ein_in01,273,276 13 | ein_in01,273,273,0 warp ein_h04a 1,1,ein_in01,274,243 14 | -------------------------------------------------------------------------------- /npc/pre-re/warps/guildcastles.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Guild Castles Warp Script 3 | //===== Description: ========================================= 4 | //= Warp Points for Renewal Guild Castles 5 | //===== Changelogs: ========================================== 6 | //= 1.0 Prontera castle map changed in ep16.1 [Capuche] 7 | //============================================================ 8 | 9 | // Prontera Castle Map 10 | prt_gld,159,25,0 warp prtg02_Castle 1,1,prt_castle,102,178 11 | -------------------------------------------------------------------------------- /npc/pre-re/warps/other/arena.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Arena Warps 3 | //===== By: ================================================== 4 | //= Euphy 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= Warp Points related to Izlude Arena. 11 | //===== Additional Comments: ================================= 12 | //= 1.0 First version, Pre-Renewal warps. 13 | //============================================================ 14 | 15 | izlude,128,226,0 warp welcome_arena 1,1,arena_room,100,30 16 | arena_room,99,24,0 warp bye_arena 2,2,izlude,128,220 17 | -------------------------------------------------------------------------------- /npc/quests/quests_moscovia.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/quests/quests_moscovia.txt -------------------------------------------------------------------------------- /npc/quests/the_sign_quest.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/quests/the_sign_quest.txt -------------------------------------------------------------------------------- /npc/re/cities/dicastes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/cities/dicastes.txt -------------------------------------------------------------------------------- /npc/re/cities/lutie.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Lutie Town Renewal 3 | //===== Description: ========================================= 4 | //= Lutie - City NPCs 5 | //===== Additional Comments: ================================= 6 | //= 1.0 First version. [Lemongrass] 7 | //============================================================ 8 | 9 | // Teleport to Lutie 10 | //============================================================ 11 | aldebaran,168,168,4 duplicate(Mr. Claus) Mr. Claus#1 718 12 | -------------------------------------------------------------------------------- /npc/re/custom/lasagna/lasagna_npcs.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/custom/lasagna/lasagna_npcs.txt -------------------------------------------------------------------------------- /npc/re/instances/ThorGunsuBase.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/instances/ThorGunsuBase.txt -------------------------------------------------------------------------------- /npc/re/jobs/1-1e/taekwon.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Taekwon Job Quest 3 | //===== Description: ========================================= 4 | //= Taekwon Job Change Quest 5 | //===== Changelogs: ========================================== 6 | //= 1.0 Split into renewal [Lemongrass] 7 | //============================================================ 8 | 9 | payon_in01,62,10,5 duplicate(PhoenixTKJobChange) Phoenix#TKJobChange 753 10 | -------------------------------------------------------------------------------- /npc/re/jobs/novice/academy.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/jobs/novice/academy.txt -------------------------------------------------------------------------------- /npc/re/kafras/cool_event_corp.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Cool Event Corp. Staff 3 | //===== Description: ========================================= 4 | //= Cool Event Corp. Staff (Save, Storage & Pushcart Service) 5 | //===== Changelogs: ========================================== 6 | //= 1.0 Added Verus. [Capuche] 7 | //============================================================ 8 | 9 | verus04,121,243,4 script Cool Event Corp Staff::CoolEventCorpStaffVerus 4_M_ZONDAMAN,{ 10 | callfunc "F_CoolEventCorp", 11 | "Save:Use Storage::Rent a Pushcart::Cancel", 12 | "in Verus","verus04",121,246; 13 | end; 14 | } 15 | -------------------------------------------------------------------------------- /npc/re/mapflag/nolockon.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Mapflag: Nolockon 3 | //===== Description: ========================================= 4 | //= Disables attacks on another player on clientside 5 | //= without using shift or /ns 6 | //===== Changelogs: ========================================== 7 | //= 0.1 Created empty file for further usage [Lemongrass] 8 | //============================================================ 9 | -------------------------------------------------------------------------------- /npc/re/mapflag/reset.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Mapflag: Enable Neuralizer use. 3 | //===== Description: ========================================= 4 | //= Maps where Neuralizer (12213) can be used. 5 | //===== Additional Comments: ================================= 6 | //= 1.0 Renewal split. [Euphy] 7 | //= 1.1 Added Izlude duplicates. [Euphy] 8 | //============================================================ 9 | 10 | dewata mapflag reset 11 | dicastes01 mapflag reset 12 | dicastes02 mapflag reset 13 | eclage mapflag reset 14 | izlude_a mapflag reset 15 | izlude_b mapflag reset 16 | izlude_c mapflag reset 17 | izlude_d mapflag reset 18 | malangdo mapflag reset 19 | malaya mapflag reset 20 | mora mapflag reset 21 | wolfvill mapflag reset 22 | -------------------------------------------------------------------------------- /npc/re/mapflag/town.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Mapflag: Town. 3 | //===== Description: ========================================= 4 | //= Designates a map as a town, granting mailbox access. 5 | //===== Additional Comments: ================================= 6 | //= 1.0 First Version. [Epoque] 7 | //= 1.1 Added Izlude duplicates. [Euphy] 8 | //============================================================ 9 | 10 | dewata mapflag town 11 | dicastes01 mapflag town 12 | eclage mapflag town 13 | izlude_a mapflag town 14 | izlude_b mapflag town 15 | izlude_c mapflag town 16 | izlude_d mapflag town 17 | malangdo mapflag town 18 | malaya mapflag town 19 | mora mapflag town 20 | lasagna mapflag town 21 | wolfvill mapflag town 22 | -------------------------------------------------------------------------------- /npc/re/merchants/enchan_sage_legacy_17_2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/merchants/enchan_sage_legacy_17_2.txt -------------------------------------------------------------------------------- /npc/re/merchants/mysterious_cookie_shop.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/merchants/mysterious_cookie_shop.txt -------------------------------------------------------------------------------- /npc/re/merchants/socket_enchant2.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Episode 12 Socket Enchant NPC 3 | //===== By: ================================================== 4 | //= Gepard 5 | //===== Current Version: ===================================== 6 | //= 1.1a 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= [Official Conversion] 11 | //= Adds slots to selected weapons and armor. 12 | //===== Additional Comments: ================================= 13 | //= 1.0 First version. 14 | //= 1.1 Duplicates now spawn from floating NPCs. [L0ne_W0lf] 15 | //= 1.1a Added 'disable_items' command. [Euphy] 16 | //============================================================ 17 | 18 | morocc,270,159,3 duplicate(SocketEnchant2) Leablem#moc 86 19 | -------------------------------------------------------------------------------- /npc/re/mobs/dungeons/amicitia.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Amicitia dungeons 3 | //===== Description: ========================================= 4 | //= Amicitia dungeons Monster Spawn Script. 5 | //===== Additional Comments: ================================= 6 | //= 1.0 First version. [Capuche] 7 | //============================================================ 8 | 9 | amicitia1 monster Amitera 20924,55 10 | amicitia1 monster Litus 20925,55 11 | amicitia1 monster Fillia 20926,55 12 | amicitia1 monster Vanilaqus 20927,55 13 | 14 | amicitia2 monster Lavaeter 20920,65 15 | amicitia2 monster Fulgor 20921,65 16 | amicitia2 monster Napeo 20922,65 17 | amicitia2 monster Galensis 20923,65 18 | amicitia2 boss_monster The One 20928,1,21600000,600000,0 19 | -------------------------------------------------------------------------------- /npc/re/mobs/dungeons/ba_2whs.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Monsters from Varmundt's Mansion 3 | //===== Changelog: =========================================== 4 | //= 1.0 First version. [JohnnyPlayy] 5 | //============================================================ 6 | 7 | //= Tartar Cellar - Level 1 8 | //============================================================ 9 | ba_2whs01,0,0 monster Broken Beta Guards 20639,30,5000 10 | ba_2whs01,0,0 monster Broken Omega Cleaner 20641,90,5000 11 | ba_2whs01,0,0 monster Heart Hunter Skirmisher 20682,70,5000 12 | 13 | //= Tartar Cellar - Level 2 14 | //============================================================ 15 | ba_2whs02,0,0 monster Broken Warehouse Manager 20637,80,5000 16 | ba_2whs02,0,0 monster Broken Beta Guards 20639,80,5000 17 | ba_2whs02,0,0 monster Broken Omega Cleaner 20641,20,5000 18 | -------------------------------------------------------------------------------- /npc/re/mobs/dungeons/ba_bath.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Monsters from Varmundt's Mansion 3 | //===== Changelog: =========================================== 4 | //= 1.0 First version. [JohnnyPlayy] 5 | //============================================================ 6 | 7 | //= Meditation Bath 8 | //============================================================ 9 | ba_bath,0,0 monster Broken Cleaner 20633,30,5000 10 | ba_bath,0,0 monster Broken Cleaner 20634,30,5000 11 | ba_bath,0,0 monster Boiling Water Phen 20643,70,5000 12 | ba_bath,0,0 monster Boiling Water Marc 20644,50,5000 13 | ba_bath,0,0 monster Boiling Water Swordfish 20645,50,5000 14 | ba_bath,0,0 monster Boiling Water Piranha 20646,70,5000 15 | -------------------------------------------------------------------------------- /npc/re/mobs/dungeons/ba_lib.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Monsters from Varmundt's Mansion 3 | //===== Changelog: =========================================== 4 | //= 1.0 First version. [JohnnyPlayy] 5 | //============================================================ 6 | 7 | //= Library - Memory Corridor 8 | //============================================================ 9 | ba_lib,0,0 monster Broken Beta 20630,10,5000 10 | ba_lib,0,0 monster Heart Hunter Skirmisher 20680,15,5000 11 | ba_lib,0,0 monster Bookworm 20683,80,5000 12 | ba_lib,0,0 monster Roaming Spellbook 20684,70,5000 13 | -------------------------------------------------------------------------------- /npc/re/mobs/dungeons/nif_dun.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Niflheim dungeon Monsters Spawn Script 3 | //===== Description: ========================================= 4 | //= Spawns monsters in nif_dun. 5 | //===== Additional Comments: ================================= 6 | //= 1.0 First version. [Capuche] 7 | //============================================================ 8 | 9 | nif_dun01 monster Gan Ceann GAN_CEANN,60 10 | nif_dun01 monster Brutal Murderer BRUTAL_MURDERER,60 11 | nif_dun01 monster Ghost Cube GHOST_CUBE,60 12 | nif_dun01 monster Lude Gal LUDE_GAL,60 13 | 14 | nif_dun02 monster Disguiser DISGUISER,80 15 | nif_dun02 monster Grote GROTE,80 16 | nif_dun02 monster Pierrotzoist PIERROTZOIST,80 17 | nif_dun02 monster Blue Moon Loli Ruri BLUEMOON_LOLI_RURI,80 18 | nif_dun02 boss_monster Death Witch DEATH_WITCH,1,21600000,600000,0 19 | -------------------------------------------------------------------------------- /npc/re/mobs/dungeons/oz_dun.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= oz_dun Monsters Spawn Script 3 | //===== Current Version: ===================================== 4 | //= 1.0 5 | //===== Additional Comments: ================================= 6 | //= 1.0 First version. [Capuche] 7 | //============================================================ 8 | 9 | oz_dun01 monster Rake Hand 21296,70 10 | oz_dun01 monster Ash Toad 21295,65 11 | oz_dun01 monster Spark 21297,10 12 | 13 | oz_dun02 monster Spark 21297,25 14 | oz_dun02 monster Volcaring 21299,35 15 | oz_dun02 monster Lava Toad 21300,25 16 | oz_dun02 monster Hot Molar 21298,60 17 | oz_dun02 boss_monster Burning Fang 21301,1,21600000,600000,0 18 | -------------------------------------------------------------------------------- /npc/re/mobs/dungeons/prt_prison.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Episode 16.1 Monsters Spawn Script 3 | //===== Description: ========================================= 4 | //= Spawns monsters in prt_prison. 5 | //===== Additional Comments: ================================= 6 | //= 1.0 First version. [Capuche] 7 | //============================================================ 8 | 9 | // Prontera Underground Prison 10 | prt_prison,0,0 monster Frozen Wolf 3442,20 11 | prt_prison,0,0 monster Taffy 3443,50 12 | prt_prison,0,0 monster Watcher 3444,30 13 | -------------------------------------------------------------------------------- /npc/re/mobs/dungeons/prt_q.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Episode 16.1 Monsters Spawn Script 3 | //===== Description: ========================================= 4 | //= Spawns monsters in prt_q. 5 | //===== Current Version: ===================================== 6 | //= 1.1 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Additional Comments: ================================= 10 | //= 1.0 First version. [Capuche] 11 | //= 1.1 Correct Spawn by Navigation's mob data. [attackjom] 12 | //============================================================ 13 | 14 | // Prontera Invasion 15 | prt_q,0,0 monster Zombie Guard 3452,60 16 | prt_q,0,0 monster Ghoul 1036,10 17 | prt_q,0,0 monster Immortal Corps 3451,30 18 | prt_q,0,0 monster Hunter Fly 1035,10 19 | prt_q,0,0 monster Immortal Commander 3490,1 20 | -------------------------------------------------------------------------------- /npc/re/mobs/dungeons/slabw01.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Werner Laboratory 3 | //===== Description: ========================================= 4 | //= Werner Laboratory Monster Spawn Script. 5 | //===== Additional Comments: ================================= 6 | //= 1.0 First version. 7 | // Venomous Chimera spawn timer is custom. [Capuche] 8 | //= 1.1 Updated Venomous Chimera spawn timer. [Capuche] 9 | //============================================================ 10 | 11 | slabw01 monster Human Chimera 3631,45 12 | slabw01 monster Material Chimera 3632,45 13 | slabw01 boss_monster Venomous Chimera 3633,1,3600000,600000,0 14 | -------------------------------------------------------------------------------- /npc/re/mobs/fields/ba_lost.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Monsters from Varmundt's Mansion 3 | //===== Changelog: =========================================== 4 | //= 1.0 First version. [JohnnyPlayy] 5 | //============================================================ 6 | 7 | //= Forgotten Valley 8 | //============================================================ 9 | ba_lost,0,0 monster Pitaya 20649,50,5000 10 | ba_lost,0,0 monster Pitaya 20650,50,5000 11 | ba_lost,0,0 monster Pitaya 20651,50,5000 12 | ba_lost,0,0 monster Pitaya 20652,50,5000 13 | ba_lost,0,0 monster Pitaya 20653,30,5000 14 | ba_lost,0,0,0,0 boss_monster Boss Pitaya 20648,1,7200000,600000,0 15 | -------------------------------------------------------------------------------- /npc/re/mobs/fields/ba_maison.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Monsters from Varmundt's Mansion 3 | //===== Changelog: =========================================== 4 | //= 1.0 First version. [JohnnyPlayy] 5 | //============================================================ 6 | 7 | //= Varmundt Mansion Garden 8 | //============================================================ 9 | ba_maison,0,0 monster Broken Beta 20630,15,5000 10 | ba_maison,0,0 monster Omega Cleaner 20640,5,5000 11 | ba_maison,0,0 monster Guardian Parts 20679,15,5000 12 | ba_maison,0,0 monster Bookworm 20683,2,5000 13 | ba_maison,0,0 monster Roaming Spellbook 20684,1,5000 14 | -------------------------------------------------------------------------------- /npc/re/mobs/fields/brasilis.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Brasilis Fields Monster Spawn Script 3 | //===== Changelog: =========================================== 4 | //= 1.0 Official spawns from Aegis [Kisuka] 5 | //============================================================ 6 | 7 | //================================================== 8 | // bra_fild01 - Brasilis Field 9 | //================================================== 10 | bra_fild01 monster Curupira 2074,50,5000 11 | bra_fild01 monster Dokebi 1110,10,5000 12 | bra_fild01 monster Savage 1166,5,5000 13 | bra_fild01 monster Headless Mule 2071,40,5000 14 | bra_fild01 monster Red Mushroom 1085,5,5000 15 | bra_fild01 monster Jaguar 2072,55,5000 16 | bra_fild01 monster Toucan 2073,60,5000 17 | -------------------------------------------------------------------------------- /npc/re/mobs/fields/gw_fild.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= gw_fild Monsters Spawn Script 3 | //===== Current Version: ===================================== 4 | //= 1.0 5 | //===== Additional Comments: ================================= 6 | //= 1.0 First version. [Capuche] 7 | //============================================================ 8 | 9 | gw_fild01 monster Ashhopper 21302,50 10 | gw_fild01 monster Ashring 21303,70 11 | gw_fild01 monster Grey Wolf 21304,35 12 | 13 | gw_fild02 monster Ashring 21303,15 14 | gw_fild02 monster Bushring 21305,60 15 | gw_fild02 monster Phantom Wolf 21307,25 16 | gw_fild02 monster Grey Wolf 21304,35 17 | gw_fild02 monster Firewind Kite 21306,35 18 | -------------------------------------------------------------------------------- /npc/re/mobs/int_land.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Beginner Area Monster Spawn Script 3 | //===== Current Version: ===================================== 4 | //= 1.2 5 | //===== Changelogs: ========================================== 6 | //= 1.0 First version. [Ridley] 7 | //= 1.1 Export from Hercules to rAthena. [Jenkijo] 8 | //= 1.2 Correct Spawn by Navigation's mob data. [attackjom] 9 | //============================================================ 10 | 11 | int_land,0,0 monster Poring 2401,40,5000 12 | int_land01,0,0 monster Poring 2401,40,5000 13 | int_land02,0,0 monster Poring 2401,40,5000 14 | int_land03,0,0 monster Poring 2401,40,5000 15 | int_land04,0,0 monster Poring 2401,40,5000 16 | -------------------------------------------------------------------------------- /npc/re/mobs/prt_cas.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Episode 16.1 Monsters Spawn Script 3 | //===== Description: ========================================= 4 | //= Spawns monsters in prt_cas. 5 | //===== Additional Comments: ================================= 6 | //= 1.0 First version. [Capuche] 7 | //============================================================ 8 | 9 | // Prontera Castle - GLASS_PLATE 10 | prt_cas,367,138,16,22 monster Plate 3455,15 11 | -------------------------------------------------------------------------------- /npc/re/mobs/special_border_area.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Special Border Area Monster Spawn Script 3 | //===== Description: ========================================= 4 | //= Spawns monsters around the Special Border Area 5 | //===== Changelog: =========================================== 6 | //= 1.0 First version. [crazyarashi] 7 | //= 1.1 Several corrections [Everade] 8 | //============================================================ 9 | 10 | sp_os,0,0 monster Heart Hunter Bellare 20355,112,5000 11 | sp_os,0,0 monster Heart Hunter Sanare 20357,108,5000 12 | sp_os,0,0 monster Venenum 20363,5,5000 13 | -------------------------------------------------------------------------------- /npc/re/other/global_npcs.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Global NPCs 3 | //===== Description: ========================================= 4 | //= General npcs which should be loaded first. 5 | //===== Additional Comments: ================================= 6 | //= 1.0 Added "dummy_npc" and "dummy_cloaked_npc". [Capuche] 7 | //= 1.1 Added "dummy_disabled_npc". [Capuche] 8 | //============================================================ 9 | 10 | - script dummy_npc -1,{ 11 | end; 12 | } 13 | 14 | - script(CLOAKED) dummy_cloaked_npc -1,{ 15 | end; 16 | } 17 | 18 | - script(DISABLED) dummy_disabled_npc -1,{ 19 | end; 20 | } 21 | -------------------------------------------------------------------------------- /npc/re/other/turbo_track.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Turbo Track 3 | //===== By: ================================================== 4 | //= Euphy 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= [Official Conversion] 11 | //= Renewal duplicates. 12 | //===== Additional Comments: ================================= 13 | //= 1.0 Split Mount Manager NPC. 14 | //============================================================ 15 | 16 | alde_gld,181,199,5 duplicate(MountManager_turbo) Mount Manager 845 17 | -------------------------------------------------------------------------------- /npc/re/quests/cooking_quest.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Cooking Quest 3 | //===== Description: ========================================= 4 | //= [Official Conversion] 5 | //= Official Cooking Quest (10.3) 6 | //===== Changelogs: ========================================== 7 | //= 1.0 Location changed in ep16.1 [Capuche] 8 | //============================================================ 9 | 10 | prt_cas,324,200,5 duplicate(Charles Orleans#cook_) Charles Orleans#cook 4_M_OILMAN 11 | prt_cas,329,206,3 duplicate(Madeleine Chu#cook_) Madeleine Chu#cook 4_COOK 12 | prt_cas,329,194,3 duplicate(Child with Cat#cook_) Child with Cat#cook 4_F_YUNYANG 13 | 14 | // inaccurate 15 | prt_cas,329,192,3 duplicate(Wickebine#cook_) Wickebine#cook 4_F_JOB_ASSASSIN 16 | -------------------------------------------------------------------------------- /npc/re/quests/eden/86-90.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/eden/86-90.txt -------------------------------------------------------------------------------- /npc/re/quests/eden/91-99.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/eden/91-99.txt -------------------------------------------------------------------------------- /npc/re/quests/eden/eden_100_111.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/eden/eden_100_111.txt -------------------------------------------------------------------------------- /npc/re/quests/eden/eden_111_120.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/eden/eden_111_120.txt -------------------------------------------------------------------------------- /npc/re/quests/eden/eden_121_130.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/eden/eden_121_130.txt -------------------------------------------------------------------------------- /npc/re/quests/eden/eden_131_140.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/eden/eden_131_140.txt -------------------------------------------------------------------------------- /npc/re/quests/garden_of_time.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/garden_of_time.txt -------------------------------------------------------------------------------- /npc/re/quests/monstertamers.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Monster Tamers 3 | //===== By: ================================================== 4 | //= Euphy 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= Cute pet quest items 11 | //===== Additional Comments: ================================= 12 | //= 1.0 Moved Izlude NPC to pre-re/re paths. 13 | //============================================================ 14 | 15 | izlude_in,55,105,4 duplicate(MonsterTamer_izlude) Monster Tamer#izu 125 16 | -------------------------------------------------------------------------------- /npc/re/quests/quest_payon.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Quest Payon Renewal 3 | //===== Changelogs: ========================================== 4 | //= 1.0 First Version. [JohnnyPlayy] 5 | //============================================================ 6 | 7 | payon_in01,46,21,4 duplicate(Young man#12) Young man#1 4_M_ORIENT02 8 | -------------------------------------------------------------------------------- /npc/re/quests/quests_16_1.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/quests_16_1.txt -------------------------------------------------------------------------------- /npc/re/quests/quests_17_2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/quests_17_2.txt -------------------------------------------------------------------------------- /npc/re/quests/quests_18.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/quests_18.txt -------------------------------------------------------------------------------- /npc/re/quests/quests_dicastes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/quests_dicastes.txt -------------------------------------------------------------------------------- /npc/re/quests/quests_exp_175.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/quests_exp_175.txt -------------------------------------------------------------------------------- /npc/re/quests/quests_illusion_dungeons.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/quests_illusion_dungeons.txt -------------------------------------------------------------------------------- /npc/re/quests/quests_malangdo.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/quests_malangdo.txt -------------------------------------------------------------------------------- /npc/re/quests/quests_mora.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/quests/quests_mora.txt -------------------------------------------------------------------------------- /npc/re/quests/quests_nameless.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Nameless Island Quests 3 | //===== By: ================================================== 4 | //= Euphy 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= [Official Conversion] 11 | //= Contains: 12 | //= - Muff's Loan 13 | //===== Additional Comments: ================================= 14 | //= 1.0 Moved Dorian to pre-re/re paths. 15 | //============================================================ 16 | 17 | izlude_in,57,92,3 duplicate(Dorian_izlude) Dorian 878,2,2 18 | izlude_in,58,90,1 duplicate(StrangeMachine_izlude) Strange Machine 111 // unconfirmed 19 | -------------------------------------------------------------------------------- /npc/re/quests/quests_niflheim.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Quest NPCs related to Niflheim 3 | //===== Description: ========================================= 4 | //= [Official Conversion] 5 | //= Piano Key Ouest 6 | //===== Additional Comments: ================================= 7 | //= 1.0 Moved Piano3 to pre-re/re paths. [Daegaladh] 8 | //============================================================ 9 | 10 | nif_in,118,151,0 duplicate(Piano3) #Piano3 HIDDEN_NPC,1,1 11 | -------------------------------------------------------------------------------- /npc/re/quests/quests_veins.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Quest NPCs located in Veins 3 | //===== By: ================================================== 4 | //= Euphy 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= Quests related to Veins. 11 | //===== Additional Comments: ================================= 12 | //= 1.0 First version. 13 | //============================================================ 14 | 15 | ve_fild02,337,314,4 duplicate(WincingOldMan_veins) Wincing Old Man#ve 945 16 | -------------------------------------------------------------------------------- /npc/re/quests/seals/megingard_seal.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= God Item Quest - Megingjard Seal 3 | //===== Description: ========================================= 4 | //= [Official Conversion] 5 | //= Quest for breaking the seal of Megingjard. 6 | //===== Changelogs: ========================================== 7 | //= 1.0 Renewal script update for ep16.1 [Capuche] 8 | //============================================================ 9 | 10 | prt_cas,180,269,6 duplicate(Rebarev Doug_) Rebarev Doug 1_M_KNIGHTMASTER 11 | prt_cas,241,100,1 duplicate(Crusader#God_) Crusader#God 4_M_JOB_KNIGHT2 12 | -------------------------------------------------------------------------------- /npc/re/quests/skills/swordman_skills.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Swordsman Skills Quests 3 | //===== By: ================================================== 4 | //= Euphy 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= Quests for skills: Mobile HP Recovery 11 | //===== Additional Comments: ================================= 12 | //= 1.0 Moved Izlude NPC to pre-re/re paths. 13 | //============================================================ 14 | 15 | izlude_in,118,175,2 duplicate(KnightDeThomas) Knight De Thomas 98,4,4 16 | -------------------------------------------------------------------------------- /npc/re/quests/the_sign_quest.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= The Sign Quest 3 | //===== Description: ========================================= 4 | //= [Official Conversion] 5 | //= Quest for opening the doors to Geffenia. 6 | //= This script uses sign_01.bmp - sign_04.bmp, these will be 7 | //= found in the language of your client. 8 | //===== Changelogs: ========================================== 9 | //= 1.0 Location changed in ep16.1 [Capuche] 10 | //============================================================ 11 | 12 | prt_cas,87,214,8 duplicate(Soldier#s11_) Soldier#s11 8W_SOLDIER 13 | -------------------------------------------------------------------------------- /npc/re/warps/cities/alberta.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Alberta City Portals 3 | //===== Changelogs: ========================================== 4 | //= 1.0 First Version. [JohnnyPlayy] 5 | //============================================================ 6 | 7 | //= Portal - ( Stylist ) 8 | //============================================================ 9 | alberta,45,145,0 warp Room_Entrance#alberta-01 1,1,alberta_in,69,141 10 | alberta_in,73,142,0 warp Room_Exit#alberta-01 1,1,alberta,48,145 -------------------------------------------------------------------------------- /npc/re/warps/cities/dicastes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rathena/rathena/cf94ed8af1b7bcd9e93120179543c5e6c67ff42f/npc/re/warps/cities/dicastes.txt -------------------------------------------------------------------------------- /npc/re/warps/cities/lighthalzen.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Lighthalzen Warp Script 3 | //===== Description: ========================================= 4 | //= Warp Points for Lighthalzen 5 | //===== Changelog: =========================================== 6 | //= 1.0 First Version [crazyarashi] 7 | //============================================================ 8 | 9 | // Rekenber Research Institute 10 | rgsr_in,127,32,0 warp rekenber_to_lhz 1,1,lighthalzen,53,275 11 | -------------------------------------------------------------------------------- /npc/re/warps/cities/rockridge.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Rock Ridge warps script 3 | //===== Changelogs: ========================================== 4 | //= 1.0 First version. [Capuche] 5 | //============================================================ 6 | 7 | harboro1,241,218,0 warp2 harboro1#har_in01 1,1,har_in01,18,18 8 | har_in01,18,15,0 warp2 har_in01#harboro1 1,1,harboro1,241,215 9 | har_in01,99,30,0 warp2 har_in01_2#harboro1 1,1,har_in01,34,31 10 | 11 | // Tool dealer 12 | harboro1,312,193,0 warp2 harboro1_2#har_in01 1,1,har_in01,26,87 13 | har_in01,26,90,0 warp2 har_in01#harboro1_2 1,1,harboro1,312,196 14 | -------------------------------------------------------------------------------- /npc/re/warps/dungeons/amicitia.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Amicitia dungeon warps script 3 | //===== Changelogs: ========================================== 4 | //= 1.0 First version. [Capuche] 5 | //============================================================ 6 | 7 | amicitia1,248,244,0 warp2 #wami1 2,2,ein_fild08,152,95 8 | 9 | amicitia1,149,19,0 script #wami2 WARPNPC,2,2,{ 10 | end; 11 | OnTouch: 12 | if (BaseLevel < 230) { 13 | mes " - No entry below level 230! - "; 14 | close; 15 | } 16 | warp "amicitia2",146,274; 17 | end; 18 | } 19 | 20 | amicitia2,146,281,0 warp2 #wami3 2,2,amicitia1,149,27 21 | -------------------------------------------------------------------------------- /npc/re/warps/dungeons/ein_dun.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Einbroch Warp Script 3 | //===== Changelogs: ========================================== 4 | //= 1.0 First version. [Capuche] 5 | //============================================================ 6 | 7 | ein_dun02,16,250,0 script enter_ein_dun03 WARPNPC,1,1,{ 8 | end; 9 | OnTouch: 10 | if (BaseLevel < 180) { 11 | unittalk getcharid(3), "" + strcharinfo(0) + " : I think the next area needs a bit more training...", bc_self; 12 | end; 13 | } 14 | warp "ein_dun03",268,279; 15 | end; 16 | } 17 | ein_dun03,268,283,0 warp2 out_to_dun02 1,1,ein_dun02,24,250 18 | -------------------------------------------------------------------------------- /npc/re/warps/dungeons/harboro2.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Rock Ridge dungeon warps script 3 | //===== Changelogs: ========================================== 4 | //= 1.0 First version. [Capuche] 5 | //============================================================ 6 | 7 | harboro2,284,104,0 warp2 harboro2#harboro1 1,1,harboro1,318,124 8 | -------------------------------------------------------------------------------- /npc/re/warps/dungeons/mag_dun.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Magma Dungeon Warp Script 3 | //===== Changelogs: ========================================== 4 | //= 1.0 First version. [Capuche] 5 | //============================================================ 6 | 7 | mag_dun02,248,72,3 script Republic Guard#mag03 4_M_EIN_SOLDIER,{ 8 | npctalk "Republic Guard: Be careful. You cannot enter unless you are an experienced adventurer.", "", bc_self; 9 | end; 10 | } 11 | 12 | mag_dun02,247,68,0 script mag02a_mag03a WARPNPC,1,1,{ 13 | end; 14 | OnTouch: 15 | if (BaseLevel < 175) { 16 | npctalk "Republic Guard: A dangerous place for adventurers. You must be at least level 175 to enter.", "Republic Guard#mag03", bc_self; 17 | end; 18 | } 19 | warp "mag_dun03",120,120; 20 | end; 21 | } 22 | 23 | mag_dun03,124,120,0 warp2 mag03a_mag02a 1,1,mag_dun02,243,68 24 | -------------------------------------------------------------------------------- /npc/re/warps/dungeons/moc_pryd.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Morocc Pyramid Nightmare Warp Script 3 | //===== By: ================================================== 4 | //= Euphy 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project 9 | //===== Description: ========================================= 10 | //= Warp Points for Morocc Pyramid Nightmare Mode 11 | //===== Additional Comments: ================================= 12 | //= 1.0 First Version. 13 | //============================================================ 14 | 15 | moc_prydn1,223,9,0 warp PyramidsN1-2 2,2,moc_prydn2,192,8 16 | moc_prydn2,195,8,0 warp PyramidsN2-1 2,3,moc_prydn1,220,9 17 | -------------------------------------------------------------------------------- /npc/re/warps/dungeons/oz_dun.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Warps 3 | //===== Description: ========================================= 4 | //= Warp Points for oz_dun 5 | //===== Additional Comments: ================================= 6 | //= 1.0 First version. [Capuche] 7 | //============================================================ 8 | 9 | oz_dun01,112,30,0 warp to_oz_dun02 1,1,oz_dun02,142,279 10 | oz_dun02,142,284,0 warp to_oz_dun01 1,1,oz_dun01,112,34 11 | -------------------------------------------------------------------------------- /npc/re/warps/dungeons/rockmi1.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Rock Ridge dungeon warps script 3 | //===== Changelogs: ========================================== 4 | //= 1.0 First version. [Capuche] 5 | //============================================================ 6 | 7 | rockrdg2,304,350,0 warp2 rockrdg2#rockmi1 1,1,rockmi1,247,19 8 | rockmi1,247,16,0 warp2 rockmi1#rockrdg2 1,1,rockrdg2,304,344 9 | -------------------------------------------------------------------------------- /npc/re/warps/dungeons/slabw01.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Werner Laboratory dungeon warps script 3 | //===== Changelogs: ========================================== 4 | //= 1.0 First version. [Capuche] 5 | //============================================================ 6 | 7 | que_swat,155,61,0 warp #in_slbw 1,1,slabw01,14,88 8 | slabw01,10,88,0 warp #out_slbw 1,1,que_swat,155,58 9 | -------------------------------------------------------------------------------- /npc/re/warps/dungeons/sp_rudus.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Rudus Dungeon Warps Script 3 | //===== Changelog: =========================================== 4 | //= 1.0 First version [crazyarashi] 5 | //============================================================ 6 | 7 | sp_rudus,200,382,0 warp rudus_to_field 1,1,ein_fild05,158,289 8 | sp_rudus,180,258,0 warp rudus1_to_rudus2 1,1,sp_rudus2,185,258 9 | sp_rudus2,180,258,0 warp rudus2_to_rudus1 1,1,sp_rudus,185,258 10 | sp_rudus2,359,206,0 warp rudus2_to_rudus3 1,1,sp_rudus3,366,207 11 | sp_rudus3,371,207,0 warp rudus3_to_rudus2 1,1,sp_rudus2,355,206 12 | 13 | sp_rudus4,380,156,0 warp2 #b_hw1 2,2,sp_rudus3,375,45 14 | -------------------------------------------------------------------------------- /npc/re/warps/dungeons/thor_v.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Warps 3 | //===== Description: ========================================= 4 | //= Warp Points for thor_v01 5 | //===== Additional Comments: ================================= 6 | //= 1.0 First version. [Capuche] 7 | //============================================================ 8 | 9 | que_thr,186,58,0 warp #Secret passage - Logistics base 2,2,thor_v01,169,169 10 | -------------------------------------------------------------------------------- /npc/re/warps/fields/gw_fild.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Warps 3 | //===== Description: ========================================= 4 | //= Warp Points for gw_fild 5 | //===== Additional Comments: ================================= 6 | //= 1.0 First version. [Capuche] 7 | //============================================================ 8 | 9 | gw_fild01,135,9,0 warp gw_fild01_to_gw_fild02 1,1,gw_fild02,122,385 10 | gw_fild02,122,391,0 warp gw_fild02_to_gw_fild01 1,1,gw_fild01,135,14 11 | wolfvill,276,25,0 warp wolfvill_to_gw_fild01 1,1,gw_fild01,25,101 12 | -------------------------------------------------------------------------------- /npc/re/warps/fields/rockridge_fild.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Rock Ridge fild warps script 3 | //===== Changelogs: ========================================== 4 | //= 1.0 First version. [Capuche] 5 | //============================================================ 6 | 7 | // Town - Fild 1 8 | harboro1,362,206,0 warp2 harboro1#rockrdg1 1,1,rockrdg1,37,246 9 | rockrdg1,33,246,0 warp2 rockrdg1#harboro1 1,1,harboro1,358,206 10 | 11 | // Fild 1 - Fild 2 12 | rockrdg1,371,206,0 warp2 rockrdg1#rockrdg2 1,1,rockrdg2,31,207 13 | rockrdg2,27,207,0 warp2 rockrdg2#rockrdg1 1,1,rockrdg1,367,206 14 | -------------------------------------------------------------------------------- /npc/re/warps/other/special_border_area.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Special Border Area warps 3 | //===== Description: ========================================= 4 | //= Warp Points for Episode 17.1 5 | //===== Changelog: =========================================== 6 | //= 1.0 First version. [crazyarashi] 7 | //============================================================ 8 | 9 | sp_cor,162,41,0 warp sp_cor_to_sp_os 1,1,sp_os,260,357 10 | sp_os,188,30,0 warp sp_os_exit 1,1,ein_fild03,284,267 11 | -------------------------------------------------------------------------------- /npc/scripts_monsters.conf: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------- 2 | // - Monster Scripts - 3 | // -------------------------------------------------------------- 4 | 5 | npc: npc/mobs/jail.txt 6 | npc: npc/mobs/pvp.txt 7 | npc: npc/mobs/towns.txt 8 | -------------------------------------------------------------------------------- /npc/scripts_test.conf: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------- 2 | // - Test Scripts - 3 | // -------------------------------------------------------------- 4 | // These scripts are meant for regression test purposes. 5 | 6 | npc: npc/test/infinite_warp.txt 7 | npc: npc/test/OnInterInit.txt 8 | npc: npc/test/npc_test_checkweight.txt 9 | -------------------------------------------------------------------------------- /npc/test/OnInterInit.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Test: OnInterInit 3 | //===== By: ================================================== 4 | //= rAthena Dev Team 5 | //===== Last Updated: ======================================== 6 | //= 20140109 7 | //===== Description: ========================================= 8 | //= Tests 'OnInterIfInit' and 'OnInterIfInitOnce' labels. 9 | //============================================================ 10 | 11 | - script OnInterChk -1,{ 12 | OnInterIfInit: 13 | debugmes "Loaded OnInterIfInit <-------"; 14 | end; 15 | OnInterIfInitOnce: 16 | debugmes "Loaded OnInterIfInitOnce <-------"; 17 | end; 18 | } 19 | -------------------------------------------------------------------------------- /npc/test/ci/0000_funcs.txt: -------------------------------------------------------------------------------- 1 | function script AssertTrue { 2 | if (!getarg(0)) { 3 | errormes "AssertTrue failed for " + getarg(1) + "."; 4 | return false; 5 | } 6 | return true; 7 | } 8 | 9 | function script AssertEquals { 10 | if (getarg(0) != getarg(1)) { 11 | errormes "AssertEquals failed for " + getarg(2) + ": expected " + getarg(0) + ", got " + getarg(1) + "."; 12 | return false; 13 | } 14 | return true; 15 | } -------------------------------------------------------------------------------- /npc/test/ci/5573.txt: -------------------------------------------------------------------------------- 1 | - script Issue5573 -1,{ 2 | OnInit: 3 | .i = 0; 4 | .@i = min( .i, 200 ); 5 | 6 | if( .@i == 200 ){ 7 | errormes "Issue 5573 is happening again."; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /npc/test/ci/8886.txt: -------------------------------------------------------------------------------- 1 | - script 8886#ci -1,{ 2 | OnInit: 3 | atcommand "@broadcast Test"; 4 | end; 5 | } 6 | -------------------------------------------------------------------------------- /npc/warps/dungeons/bra_dun.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Brasilis Dungeon Warps 3 | //===== Changelog: =========================================== 4 | //= 1.0 First version. [L0ne_W0lf] 5 | //============================================================ 6 | 7 | bra_dun01,199,35,0 warp brad1tobrad2 1,1,bra_dun02,261,263 8 | bra_dun02,261,265,0 warp brad2tobrad1 1,1,bra_dun01,199,37 9 | -------------------------------------------------------------------------------- /npc/warps/dungeons/mag_dun.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Juno Dungeon Warp Script 3 | //===== By: ================================================== 4 | //= Nana (1.0) 5 | //===== Current Version: ===================================== 6 | //= 1.0 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project; RO Episode 5+ 9 | //===== Description: ========================================= 10 | //= Warp Points for Juno Dungeon 11 | //===== Additional Comments: ================================= 12 | //= No Comment! 13 | //============================================================ 14 | 15 | //= Magma Dungeon ============================================ 16 | mag_dun01,126,66,0 warp mag01-yunfild 1,1,yuno_fild03,34,139 17 | mag_dun01,242,241,0 warp mag01-02 1,1,mag_dun02,47,30 18 | mag_dun02,47,28,0 warp mag02-01 1,1,mag_dun01,242,239 19 | -------------------------------------------------------------------------------- /npc/warps/fields/bra_fild.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Brasilis Field Warps 3 | //===== Changelog: =========================================== 4 | //= 1.0 First version. [Protimus] 5 | //============================================================ 6 | 7 | bra_fild01,72,34,0 warp bra_fild01_brasilis 1,1,brasilis,309,334 8 | brasilis,308,336,0 warp brasilis_bra_fild01 1,1,bra_fild01,74,34 9 | -------------------------------------------------------------------------------- /npc/warps/fields/lutie_fild.txt: -------------------------------------------------------------------------------- 1 | //===== rAthena Script ======================================= 2 | //= Lutie Field Warp Script 3 | //===== By: ================================================== 4 | //= Nana (1.0) 5 | //===== Current Version: ===================================== 6 | //= 1.1 7 | //===== Compatible With: ===================================== 8 | //= rAthena Project; RO Episode 2+ 9 | //===== Description: ========================================= 10 | //= [Official Conversion] 11 | //= Warp Points for Lutie Field 12 | //===== Additional Comments: ================================= 13 | //= 1.2 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] 14 | //============================================================ 15 | 16 | xmas_fild01,69,252,0 warp xmas_fild1-1 10,2,xmas,149,44 17 | xmas_fild01,90,252,0 warp xmax_fild1-2 10,2,xmas,149,44 18 | xmas_fild01,84,48,0 warp xmas_fild2 10,2,aldebaran,140,234 19 | -------------------------------------------------------------------------------- /rAthena.slnLaunch: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "Name": "All Servers", 4 | "Projects": [ 5 | { 6 | "Path": "src\\login\\login-server.vcxproj", 7 | "Action": "Start", 8 | "DebugTarget": "Local Windows Debugger" 9 | }, 10 | { 11 | "Path": "src\\char\\char-server.vcxproj", 12 | "Action": "Start", 13 | "DebugTarget": "Local Windows Debugger" 14 | }, 15 | { 16 | "Path": "src\\map\\map-server.vcxproj", 17 | "Action": "Start", 18 | "DebugTarget": "Local Windows Debugger" 19 | }, 20 | { 21 | "Path": "src\\web\\web-server.vcxproj", 22 | "Action": "Start", 23 | "DebugTarget": "Local Windows Debugger" 24 | } 25 | ] 26 | } 27 | ] 28 | -------------------------------------------------------------------------------- /sql-files/tools/convert_passwords.sql: -------------------------------------------------------------------------------- 1 | # Convert passwords to MD5 hashes 2 | 3 | UPDATE `login` SET `user_pass`=MD5(`user_pass`); 4 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20190628.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `mob_db` 2 | MODIFY `Sprite` varchar(24) NOT NULL, 3 | ADD UNIQUE KEY (`Sprite`) 4 | ; 5 | 6 | ALTER TABLE `mob_db_re` 7 | MODIFY `Sprite` varchar(24) NOT NULL, 8 | ADD UNIQUE KEY (`Sprite`) 9 | ; 10 | 11 | ALTER TABLE `mob_db2` 12 | MODIFY `Sprite` varchar(24) NOT NULL, 13 | ADD UNIQUE KEY (`Sprite`) 14 | ; 15 | 16 | ALTER TABLE `mob_db2_re` 17 | MODIFY `Sprite` varchar(24) NOT NULL, 18 | ADD UNIQUE KEY (`Sprite`) 19 | ; 20 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20190814.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `ipbanlist` 2 | CHANGE COLUMN `list` `list` VARCHAR(15) NOT NULL DEFAULT '' FIRST; 3 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20190815.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE `ragsrvinfo`; 2 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200108.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `charlog` 2 | DROP PRIMARY KEY, -- comment if primary key has not been created yet 3 | ADD COLUMN `id` bigint(20) unsigned NOT NULL auto_increment first, 4 | ADD PRIMARY KEY (`id`), 5 | ADD KEY `account_id` (`account_id`); 6 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200109.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `acc_reg_num` 2 | MODIFY `value` bigint(11) NOT NULL default '0'; 3 | 4 | ALTER TABLE `global_acc_reg_num` 5 | MODIFY `value` bigint(11) NOT NULL default '0'; 6 | 7 | ALTER TABLE `char_reg_num` 8 | MODIFY `value` bigint(11) NOT NULL default '0'; 9 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200126.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `achievement` 2 | MODIFY `count1` int unsigned NOT NULL default '0', 3 | MODIFY `count2` int unsigned NOT NULL default '0', 4 | MODIFY `count3` int unsigned NOT NULL default '0', 5 | MODIFY `count4` int unsigned NOT NULL default '0', 6 | MODIFY `count5` int unsigned NOT NULL default '0', 7 | MODIFY `count6` int unsigned NOT NULL default '0', 8 | MODIFY `count7` int unsigned NOT NULL default '0', 9 | MODIFY `count8` int unsigned NOT NULL default '0', 10 | MODIFY `count9` int unsigned NOT NULL default '0', 11 | MODIFY `count10` int unsigned NOT NULL default '0'; 12 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200204.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `guild_member` 2 | DROP COLUMN `account_id`, 3 | DROP COLUMN `hair`, 4 | DROP COLUMN `hair_color`, 5 | DROP COLUMN `gender`, 6 | DROP COLUMN `class`, 7 | DROP COLUMN `lv`, 8 | DROP COLUMN `exp_payper`, 9 | DROP COLUMN `online`, 10 | DROP COLUMN `name`; 11 | 12 | ALTER TABLE `friends` 13 | DROP COLUMN `friend_account`; 14 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200303.sql: -------------------------------------------------------------------------------- 1 | UPDATE `char_reg_num` SET `key` = 'ep14_3_newerabs' WHERE `key` = 'ep14_3_dimensional_travel' AND `index` = 0 AND `value` < 2; 2 | UPDATE `char_reg_num` SET `key` = 'ep14_3_newerabs', `value` = 3 WHERE `key` = 'ep14_3_dimensional_travel' AND `index` = 0 AND `value` = 2; 3 | UPDATE `char_reg_num` SET `key` = 'ep14_3_newerabs', `value` = `value` + 2 WHERE `key` = 'ep14_3_dimensional_travel' AND `index` = 0 AND `value` < 8; 4 | UPDATE `char_reg_num` SET `key` = 'ep14_3_newerabs', `value` = `value` + 7 WHERE `key` = 'ep14_3_dimensional_travel' AND `index` = 0 AND `value` > 7; 5 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200327.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE `interreg`; 2 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200402.sql: -------------------------------------------------------------------------------- 1 | -- AB_EUCHARISTICA 2 | UPDATE `char` c, `skill` s SET `c`.skill_point = `c`.skill_point + `s`.lv WHERE `s`.id = 2049 AND `c`.char_id = `s`.char_id; 3 | DELETE FROM `skill` WHERE `id` = 2049; 4 | 5 | -- GN_SLINGITEM 6 | UPDATE `char` c, `skill` s SET `c`.skill_point = `c`.skill_point + `s`.lv WHERE `s`.id = 2493 AND `c`.char_id = `s`.char_id; 7 | DELETE FROM `skill` WHERE `id` = 2493; 8 | 9 | -- GN_MAKEBOMB 10 | UPDATE `char` c, `skill` s SET `c`.skill_point = `c`.skill_point + `s`.lv WHERE `s`.id = 2496 AND `c`.char_id = `s`.char_id; 11 | DELETE FROM `skill` WHERE `id` = 2496; 12 | 13 | -- ONLY RUN THE BELOW QUERIES IF YOU ARE ON RENEWAL 14 | -- CR_CULTIVATION 15 | UPDATE `char` c, `skill` s SET `c`.skill_point = `c`.skill_point + `s`.lv WHERE `s`.id = 491 AND `c`.char_id = `s`.char_id; 16 | DELETE FROM `skill` WHERE `id` = 491; 17 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200518.sql: -------------------------------------------------------------------------------- 1 | -- WM_DOMINION_IMPULSE 2 | UPDATE `char` c, `skill` s SET `c`.skill_point = `c`.skill_point + `s`.lv WHERE `s`.id = 2417 AND `c`.char_id = `s`.char_id; 3 | DELETE FROM `skill` WHERE `id` = 2417; 4 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200603.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `char` ADD COLUMN `hotkey_rowshift2` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `hotkey_rowshift`; 2 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200604.sql: -------------------------------------------------------------------------------- 1 | UPDATE `char` `c` 2 | INNER JOIN `login` `l` 3 | ON `l`.`account_id` = `c`.`account_id` 4 | SET `c`.`sex` = `l`.`sex` 5 | WHERE 6 | `c`.`sex` = 'U' 7 | AND 8 | `l`.`sex` <> 'S' 9 | ; 10 | 11 | ALTER TABLE `char` 12 | MODIFY `sex` ENUM('M','F') NOT NULL 13 | ; 14 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200622.sql: -------------------------------------------------------------------------------- 1 | UPDATE `char_reg_num` SET `value` = `value` * 100 WHERE `key` = 'guildtime' AND `index` = 0 AND `value` < 24; 2 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200625.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `login` 2 | ADD COLUMN `web_auth_token` VARCHAR(17) NULL AFTER `old_group`, 3 | ADD COLUMN `web_auth_token_enabled` tinyint(2) NOT NULL default '0' AFTER `web_auth_token`, 4 | ADD UNIQUE KEY `web_auth_token_key` (`web_auth_token`) 5 | ; 6 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200728.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `guild` 2 | CHANGE COLUMN `next_exp` `next_exp` bigint(20) unsigned NOT NULL default '0'; 3 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200808_logs.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `feedinglog` 2 | MODIFY `item_id` int(10) unsigned NOT NULL default '0'; 3 | 4 | ALTER TABLE `mvplog` 5 | MODIFY `prize` int(10) unsigned NOT NULL default '0'; 6 | 7 | ALTER TABLE `picklog` 8 | MODIFY `nameid` int(10) unsigned NOT NULL default '0', 9 | MODIFY `card0` int(10) unsigned NOT NULL default '0', 10 | MODIFY `card1` int(10) unsigned NOT NULL default '0', 11 | MODIFY `card2` int(10) unsigned NOT NULL default '0', 12 | MODIFY `card3` int(10) unsigned NOT NULL default '0'; 13 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200808b.sql: -------------------------------------------------------------------------------- 1 | -- WL_SUMMONFB 2 | UPDATE `char` c, `skill` s SET `c`.skill_point = `c`.skill_point + (`s`.lv - 2), `s`.lv = 2 WHERE `s`.id = 2222 AND `s`.lv > 2 AND `c`.char_id = `s`.char_id; 3 | 4 | -- WL_SUMMONBL 5 | UPDATE `char` c, `skill` s SET `c`.skill_point = `c`.skill_point + (`s`.lv - 2), `s`.lv = 2 WHERE `s`.id = 2223 AND `s`.lv > 2 AND `c`.char_id = `s`.char_id; 6 | 7 | -- WL_SUMMONWB 8 | UPDATE `char` c, `skill` s SET `c`.skill_point = `c`.skill_point + (`s`.lv - 2), `s`.lv = 2 WHERE `s`.id = 2224 AND `s`.lv > 2 AND `c`.char_id = `s`.char_id; 9 | 10 | -- WL_SUMMONSTONE 11 | UPDATE `char` c, `skill` s SET `c`.skill_point = `c`.skill_point + (`s`.lv - 2), `s`.lv = 2 WHERE `s`.id = 2229 AND `s`.lv > 2 AND `c`.char_id = `s`.char_id; 12 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20200821.sql: -------------------------------------------------------------------------------- 1 | DELETE s FROM `skill` s, `char` c WHERE `s`.char_id = `c`.char_id AND (`c`.class = 4218 OR `c`.class = 4220) AND `c`.job_level > 60; 2 | UPDATE `char` c SET `c`.job_level = 60, `c`.skill_point = 59 WHERE (`c`.class = 4218 OR `c`.class = 4220) AND `c`.job_level > 60; 3 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20201105.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `auction` 2 | ADD COLUMN `enchantgrade` tinyint unsigned NOT NULL default '0'; 3 | 4 | ALTER TABLE `cart_inventory` 5 | ADD COLUMN `enchantgrade` tinyint unsigned NOT NULL default '0'; 6 | 7 | ALTER TABLE `guild_storage` 8 | ADD COLUMN `enchantgrade` tinyint unsigned NOT NULL default '0'; 9 | 10 | ALTER TABLE `guild_storage_log` 11 | ADD COLUMN `enchantgrade` tinyint unsigned NOT NULL default '0'; 12 | 13 | ALTER TABLE `inventory` 14 | ADD COLUMN `enchantgrade` tinyint unsigned NOT NULL default '0'; 15 | 16 | ALTER TABLE `mail_attachments` 17 | ADD COLUMN `enchantgrade` tinyint unsigned NOT NULL default '0'; 18 | 19 | ALTER TABLE `storage` 20 | ADD COLUMN `enchantgrade` tinyint unsigned NOT NULL default '0'; 21 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20210201.sql: -------------------------------------------------------------------------------- 1 | INSERT IGNORE INTO `sc_data` (`account_id`, `char_id`, `type`, `tick`) SELECT `account_id`, `char_id`, '752', '-1' FROM `char` WHERE `option` & '4194304' != '0'; 2 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20210331.sql: -------------------------------------------------------------------------------- 1 | UPDATE `inventory` SET `card2` = `card2` & 65535 WHERE `card0` = 254 OR `card0` = 255; 2 | UPDATE `cart_inventory` SET `card2` = `card2` & 65535 WHERE `card0` = 254 OR `card0` = 255; 3 | UPDATE `storage` SET `card2` = `card2` & 65535 WHERE `card0` = 254 OR `card0` = 255; 4 | UPDATE `guild_storage` SET `card2` = `card2` & 65535 WHERE `card0` = 254 OR `card0` = 255; 5 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20210530_logs.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `picklog` 2 | ADD COLUMN `enchantgrade` tinyint unsigned NOT NULL default '0' 3 | ; 4 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20210629.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `item_db` 2 | MODIFY `name_english` varchar(100); 3 | ALTER TABLE `item_db2` 4 | MODIFY `name_english` varchar(100); 5 | ALTER TABLE `item_db_re` 6 | MODIFY `name_english` varchar(100); 7 | ALTER TABLE `item_db2_re` 8 | MODIFY `name_english` varchar(100); 9 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20211008.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `bonus_script` 2 | DROP PRIMARY KEY, 3 | ADD KEY `char_id` (`char_id`); 4 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20211118.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `item_db_re` 2 | ADD COLUMN `class_fourth` tinyint unsigned DEFAULT NULL 3 | ; 4 | ALTER TABLE `item_db2_re` 5 | ADD COLUMN `class_fourth` tinyint unsigned DEFAULT NULL 6 | ; 7 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20211230.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `char` 2 | ADD COLUMN `pow` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0' AFTER `luk`, 3 | ADD COLUMN `sta` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0' AFTER `pow`, 4 | ADD COLUMN `wis` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0' AFTER `sta`, 5 | ADD COLUMN `spl` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0' AFTER `wis`, 6 | ADD COLUMN `con` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0' AFTER `spl`, 7 | ADD COLUMN `crt` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0' AFTER `con`, 8 | ADD COLUMN `max_ap` INT(11) UNSIGNED NOT NULL DEFAULT '0' AFTER `sp`, 9 | ADD COLUMN `ap` INT(11) UNSIGNED NOT NULL DEFAULT '0' AFTER `max_ap`, 10 | ADD COLUMN `trait_point` INT(11) UNSIGNED NOT NULL DEFAULT '0' AFTER `skill_point` 11 | ; 12 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20220112.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `char` 2 | ADD COLUMN `inventory_slots` smallint(6) NOT NULL default '100' 3 | ; 4 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20220121.sql: -------------------------------------------------------------------------------- 1 | -- 2 | -- Table `barter` for barter shop persistency 3 | -- 4 | 5 | CREATE TABLE IF NOT EXISTS `barter` ( 6 | `name` varchar(50) NOT NULL DEFAULT '', 7 | `index` SMALLINT(5) UNSIGNED NOT NULL, 8 | `amount` SMALLINT(5) UNSIGNED NOT NULL, 9 | PRIMARY KEY (`name`,`index`) 10 | ) ENGINE=MyISAM; 11 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20220121_logs.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `picklog` 2 | MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','#39;,'F','Y','Z','Q','H','J') NOT NULL default 'P' 3 | ; 4 | 5 | ALTER TABLE `zenylog` 6 | MODIFY `type` enum('T','V','P','M','S','N','D','C','A','E','I','B','K','J') NOT NULL default 'S' 7 | ; 8 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20220204.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `market` 2 | MODIFY `amount` INT(11) NOT NULL 3 | ; 4 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20220222_logs.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `picklog` 2 | MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','#39;,'F','Y','Z','Q','H','J', 'W') NOT NULL default 'P' 3 | ; 4 | 5 | ALTER TABLE `zenylog` 6 | MODIFY `type` enum('T','V','P','M','S','N','D','C','A','E','I','B','K','J') NOT NULL default 'S' 7 | ; 8 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20220224.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `mob_db` 2 | ADD COLUMN `racegroup_malangdo` tinyint unsigned DEFAULT NULL 3 | ; 4 | ALTER TABLE `mob_db2` 5 | ADD COLUMN `racegroup_malangdo` tinyint unsigned DEFAULT NULL 6 | ; 7 | ALTER TABLE `mob_db_re` 8 | ADD COLUMN `racegroup_malangdo` tinyint unsigned DEFAULT NULL 9 | ; 10 | ALTER TABLE `mob_db2_re` 11 | ADD COLUMN `racegroup_malangdo` tinyint unsigned DEFAULT NULL 12 | ; 13 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20220311.sql: -------------------------------------------------------------------------------- 1 | -- Reset the following quests to match official Rockridge quests 2 | DELETE FROM `quest` WHERE `quest_id` = 1321; 3 | DELETE FROM `quest` WHERE `quest_id` = 1322; 4 | DELETE FROM `quest` WHERE `quest_id` = 1323; 5 | DELETE FROM `quest` WHERE `quest_id` = 1324; 6 | DELETE FROM `quest` WHERE `quest_id` = 1325; 7 | DELETE FROM `quest` WHERE `quest_id` = 1326; 8 | DELETE FROM `quest` WHERE `quest_id` = 1327; 9 | DELETE FROM `quest` WHERE `quest_id` = 1328; 10 | DELETE FROM `quest` WHERE `quest_id` = 1329; 11 | DELETE FROM `quest` WHERE `quest_id` = 1330; 12 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20220328.sql: -------------------------------------------------------------------------------- 1 | -- Reset Nameless Island and Geoborg Family Curse quests which were using custom IDs that have been overtaken 2 | DELETE FROM `quest` WHERE `quest_id` >= 17000 AND `quest_id` <= 17017; 3 | DELETE FROM `quest` WHERE `quest_id` >= 18030 AND `quest_id` <= 18052; 4 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20220401_logs.sql: -------------------------------------------------------------------------------- 1 | 2 | ALTER TABLE `zenylog` 3 | MODIFY `type` enum('T','V','P','M','S','N','D','C','A','E','I','B','K','J','X') NOT NULL default 'S' 4 | ; 5 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20220607_logs.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `picklog` 2 | MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','#39;,'F','Y','Z','Q','H','J','W','0','1','2') NOT NULL default 'P' 3 | ; 4 | 5 | ALTER TABLE `zenylog` 6 | MODIFY `type` enum('T','V','P','M','S','N','D','C','A','E','I','B','K','J','X','0','2') NOT NULL default 'S' 7 | ; 8 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20220818.sql: -------------------------------------------------------------------------------- 1 | UPDATE `mail` 2 | SET `send_id`='0' 3 | WHERE `send_id` NOT IN ( 4 | select `char_id` 5 | from `char` 6 | ) 7 | ; 8 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20220830.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `char` 2 | ADD COLUMN `body_direction` tinyint unsigned NOT NULL default '0' 3 | ; 4 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20220831.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `char` 2 | ADD COLUMN `disable_call` tinyint unsigned NOT NULL default '0' 3 | ; 4 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20220912_logs.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `picklog` 2 | MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','#39;,'F','Y','Z','Q','H','J','W','0','1','2','3') NOT NULL default 'P' 3 | ; 4 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20221001.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `merchant_configs` 2 | DROP PRIMARY KEY, 3 | ADD PRIMARY KEY (`world_name`, `account_id`, `char_id`, `store_type`) 4 | ; 5 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20230224.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `char` 2 | ADD COLUMN `last_instanceid` int(11) unsigned NOT NULL default '0' AFTER `last_y` 3 | ; 4 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20230913.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `mob_db` 2 | ADD COLUMN `racegroup_illusion_turtle` tinyint(1) unsigned DEFAULT NULL 3 | ; 4 | ALTER TABLE `mob_db2` 5 | ADD COLUMN `racegroup_illusion_turtle` tinyint(1) unsigned DEFAULT NULL 6 | ; 7 | ALTER TABLE `mob_db_re` 8 | ADD COLUMN `racegroup_illusion_turtle` tinyint(1) unsigned DEFAULT NULL 9 | ; 10 | ALTER TABLE `mob_db2_re` 11 | ADD COLUMN `racegroup_illusion_turtle` tinyint(1) unsigned DEFAULT NULL 12 | ; 13 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20230927.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `mob_db` 2 | ADD COLUMN `racegroup_rachel_sanctuary` tinyint(1) unsigned DEFAULT NULL 3 | ; 4 | ALTER TABLE `mob_db2` 5 | ADD COLUMN `racegroup_rachel_sanctuary` tinyint(1) unsigned DEFAULT NULL 6 | ; 7 | ALTER TABLE `mob_db_re` 8 | ADD COLUMN `racegroup_rachel_sanctuary` tinyint(1) unsigned DEFAULT NULL 9 | ; 10 | ALTER TABLE `mob_db2_re` 11 | ADD COLUMN `racegroup_rachel_sanctuary` tinyint(1) unsigned DEFAULT NULL 12 | ; 13 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20231201.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `mob_db` 2 | ADD COLUMN `racegroup_illusion_luanda` tinyint(1) unsigned DEFAULT NULL 3 | ; 4 | ALTER TABLE `mob_db2` 5 | ADD COLUMN `racegroup_illusion_luanda` tinyint(1) unsigned DEFAULT NULL 6 | ; 7 | ALTER TABLE `mob_db_re` 8 | ADD COLUMN `racegroup_illusion_luanda` tinyint(1) unsigned DEFAULT NULL 9 | ; 10 | ALTER TABLE `mob_db2_re` 11 | ADD COLUMN `racegroup_illusion_luanda` tinyint(1) unsigned DEFAULT NULL 12 | ; 13 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20240519.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `mob_db` 2 | ADD COLUMN `racegroup_illusion_frozen` tinyint(1) unsigned DEFAULT NULL, 3 | ADD COLUMN `racegroup_illusion_moonlight` tinyint(1) unsigned DEFAULT NULL 4 | ; 5 | ALTER TABLE `mob_db2` 6 | ADD COLUMN `racegroup_illusion_frozen` tinyint(1) unsigned DEFAULT NULL, 7 | ADD COLUMN `racegroup_illusion_moonlight` tinyint(1) unsigned DEFAULT NULL 8 | ; 9 | ALTER TABLE `mob_db_re` 10 | ADD COLUMN `racegroup_illusion_frozen` tinyint(1) unsigned DEFAULT NULL, 11 | ADD COLUMN `racegroup_illusion_moonlight` tinyint(1) unsigned DEFAULT NULL 12 | ; 13 | ALTER TABLE `mob_db2_re` 14 | ADD COLUMN `racegroup_illusion_frozen` tinyint(1) unsigned DEFAULT NULL, 15 | ADD COLUMN `racegroup_illusion_moonlight` tinyint(1) unsigned DEFAULT NULL 16 | ; 17 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20240803.sql: -------------------------------------------------------------------------------- 1 | UPDATE `char_reg_num` SET `key` = 'ep18_main' WHERE `key` = 'ep18_1_main'; 2 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20240914.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `guild_expulsion` ADD COLUMN `char_id` int(11) unsigned NOT NULL default '0'; 2 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20241005.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `homunculus` 2 | CHANGE COLUMN `sp` `sp` INT(11) UNSIGNED NOT NULL DEFAULT '0', 3 | CHANGE COLUMN `max_sp` `max_sp` INT(11) UNSIGNED NOT NULL DEFAULT '0'; 4 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20241026.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `mob_db` 2 | ADD COLUMN `racegroup_edda_arunafeltz` tinyint(1) unsigned DEFAULT NULL; 3 | ALTER TABLE `mob_db2` 4 | ADD COLUMN `racegroup_edda_arunafeltz` tinyint(1) unsigned DEFAULT NULL; 5 | ALTER TABLE `mob_db_re` 6 | ADD COLUMN `racegroup_edda_arunafeltz` tinyint(1) unsigned DEFAULT NULL; 7 | ALTER TABLE `mob_db2_re` 8 | ADD COLUMN `racegroup_edda_arunafeltz` tinyint(1) unsigned DEFAULT NULL; 9 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20241216.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS `skillcooldown_homunculus` ( 2 | `homun_id` int(11) NOT NULL, 3 | `skill` smallint(11) unsigned NOT NULL DEFAULT '0', 4 | `tick` bigint(20) NOT NULL, 5 | PRIMARY KEY (`homun_id`) 6 | ) ENGINE=MyISAM; 7 | 8 | CREATE TABLE IF NOT EXISTS `skillcooldown_mercenary` ( 9 | `mer_id` int(11) NOT NULL, 10 | `skill` smallint(11) unsigned NOT NULL DEFAULT '0', 11 | `tick` bigint(20) NOT NULL, 12 | PRIMARY KEY (`mer_id`) 13 | ) ENGINE=MyISAM; 14 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20250126.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `char` 2 | ADD COLUMN `disable_partyinvite` tinyint(1) unsigned NOT NULL default '0' AFTER `disable_call` 3 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20250201.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `skillcooldown_homunculus` 2 | DROP PRIMARY KEY, 3 | ADD PRIMARY KEY(`homun_id`, `skill`) 4 | ; 5 | 6 | ALTER TABLE `skillcooldown_mercenary` 7 | DROP PRIMARY KEY, 8 | ADD PRIMARY KEY(`mer_id`, `skill`) 9 | ; 10 | -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20250223.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `mob_db` 2 | ADD COLUMN `racegroup_lasagna` tinyint(1) unsigned DEFAULT NULL, 3 | ADD COLUMN `racegroup_glast_heim_abyss` tinyint(1) unsigned DEFAULT NULL 4 | ; 5 | ALTER TABLE `mob_db2` 6 | ADD COLUMN `racegroup_lasagna` tinyint(1) unsigned DEFAULT NULL, 7 | ADD COLUMN `racegroup_glast_heim_abyss` tinyint(1) unsigned DEFAULT NULL 8 | ; 9 | ALTER TABLE `mob_db_re` 10 | ADD COLUMN `racegroup_lasagna` tinyint(1) unsigned DEFAULT NULL, 11 | ADD COLUMN `racegroup_glast_heim_abyss` tinyint(1) unsigned DEFAULT NULL 12 | ; 13 | ALTER TABLE `mob_db2_re` 14 | ADD COLUMN `racegroup_lasagna` tinyint(1) unsigned DEFAULT NULL, 15 | ADD COLUMN `racegroup_glast_heim_abyss` tinyint(1) unsigned DEFAULT NULL 16 | ; -------------------------------------------------------------------------------- /sql-files/upgrades/upgrade_20250525.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `mob_db` 2 | ADD COLUMN `groupid` smallint(6) unsigned DEFAULT NULL AFTER `damage_taken`, 3 | ADD COLUMN `title` text DEFAULT NULL AFTER `groupid` 4 | ; 5 | ALTER TABLE `mob_db2` 6 | ADD COLUMN `groupid` smallint(6) unsigned DEFAULT NULL AFTER `damage_taken`, 7 | ADD COLUMN `title` text DEFAULT NULL AFTER `groupid` 8 | ; 9 | ALTER TABLE `mob_db2_re` 10 | ADD COLUMN `groupid` smallint(6) unsigned DEFAULT NULL AFTER `damage_taken`, 11 | ADD COLUMN `title` text DEFAULT NULL AFTER `groupid` 12 | ; 13 | ALTER TABLE `mob_db_re` 14 | ADD COLUMN `groupid` smallint(6) unsigned DEFAULT NULL AFTER `damage_taken`, 15 | ADD COLUMN `title` text DEFAULT NULL AFTER `groupid` 16 | ; 17 | -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # setup and static libraries 4 | # 5 | 6 | set(RA_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH 7 | "rathena include directory" 8 | ) 9 | mark_as_advanced( RA_INCLUDE_DIRS ) 10 | 11 | 12 | 13 | add_subdirectory( common ) 14 | if( HAVE_common ) 15 | option( BUILD_SERVERS "build server executables" ON ) 16 | else() 17 | message( STATUS "Disabled server targets (requires common)" ) 18 | endif() 19 | 20 | 21 | # 22 | # targets 23 | # 24 | add_subdirectory( login ) 25 | add_subdirectory( char ) 26 | add_subdirectory( map ) 27 | add_subdirectory( web ) 28 | add_subdirectory( tool ) 29 | 30 | -------------------------------------------------------------------------------- /src/char/char_cnslif.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef CHAR_CNSLIF_HPP 5 | #define CHAR_CNSLIF_HPP 6 | 7 | #include <common/cbasetypes.hpp> 8 | 9 | int32 cnslif_parse(const char* buf); 10 | void do_init_chcnslif(void); 11 | 12 | 13 | #endif /* CHAR_CNSLIF_HPP */ 14 | -------------------------------------------------------------------------------- /src/char/int_achievement.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef INT_ACHIEVEMENT_HPP 5 | #define INT_ACHIEVEMENT_HPP 6 | 7 | #include <common/cbasetypes.hpp> 8 | 9 | int32 inter_achievement_parse_frommap(int32 fd); 10 | 11 | #endif /* INT_ACHIEVEMENT_HPP */ 12 | -------------------------------------------------------------------------------- /src/char/int_auction.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef INT_AUCTION_HPP 5 | #define INT_AUCTION_HPP 6 | 7 | #include <common/cbasetypes.hpp> 8 | 9 | int32 inter_auction_parse_frommap(int32 fd); 10 | 11 | int32 inter_auction_sql_init(void); 12 | void inter_auction_sql_final(void); 13 | 14 | #endif /* INT_AUCTION_HPP */ 15 | -------------------------------------------------------------------------------- /src/char/int_clan.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef INT_CLAN_HPP 5 | #define INT_CLAN_HPP 6 | 7 | #include <common/cbasetypes.hpp> 8 | 9 | int32 inter_clan_parse_frommap( int32 fd ); 10 | int32 inter_clan_init(void); 11 | void inter_clan_final(void); 12 | 13 | #endif /* INT_CLAN_HPP */ 14 | -------------------------------------------------------------------------------- /src/char/int_elemental.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef INT_ELEMENTAL_HPP 5 | #define INT_ELEMENTAL_HPP 6 | 7 | #include <common/cbasetypes.hpp> 8 | 9 | struct s_elemental; 10 | 11 | void inter_elemental_sql_init(void); 12 | void inter_elemental_sql_final(void); 13 | int32 inter_elemental_parse_frommap(int32 fd); 14 | 15 | bool mapif_elemental_delete(int32 ele_id); 16 | 17 | #endif /* INT_ELEMENTAL_HPP */ 18 | -------------------------------------------------------------------------------- /src/char/int_homun.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef INT_HOMUN_HPP 5 | #define INT_HOMUN_HPP 6 | 7 | #include <common/cbasetypes.hpp> 8 | 9 | struct s_homunculus; 10 | 11 | int32 inter_homunculus_sql_init(void); 12 | void inter_homunculus_sql_final(void); 13 | int32 inter_homunculus_parse_frommap(int32 fd); 14 | 15 | bool mapif_homunculus_save(struct s_homunculus* hd); 16 | bool mapif_homunculus_load(int32 homun_id, struct s_homunculus* hd); 17 | bool mapif_homunculus_delete(int32 homun_id); 18 | bool mapif_homunculus_rename(char *name); 19 | 20 | #endif /* INT_HOMUN_HPP */ 21 | -------------------------------------------------------------------------------- /src/char/int_mail.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef INT_MAIL_HPP 5 | #define INT_MAIL_HPP 6 | 7 | #include <common/cbasetypes.hpp> 8 | #include <common/timer.hpp> 9 | 10 | struct mail_message; 11 | 12 | TIMER_FUNC(mail_return_timer); 13 | TIMER_FUNC(mail_delete_timer); 14 | 15 | int32 inter_mail_parse_frommap(int32 fd); 16 | bool mail_sendmail(int32 send_id, const char* send_name, int32 dest_id, const char* dest_name, const char* title, const char* body, int32 zeny, struct item *item, int32 amount); 17 | 18 | int32 inter_mail_sql_init(void); 19 | void inter_mail_sql_final(void); 20 | 21 | int32 mail_savemessage(struct mail_message* msg); 22 | void mapif_Mail_new(struct mail_message *msg); 23 | 24 | #endif /* INT_MAIL_HPP */ 25 | -------------------------------------------------------------------------------- /src/char/int_mercenary.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef INT_MERCENARY_HPP 5 | #define INT_MERCENARY_HPP 6 | 7 | #include <common/cbasetypes.hpp> 8 | 9 | int32 inter_mercenary_sql_init(void); 10 | void inter_mercenary_sql_final(void); 11 | int32 inter_mercenary_parse_frommap(int32 fd); 12 | 13 | // Mercenary Owner Database 14 | bool mercenary_owner_fromsql(uint32 char_id, struct mmo_charstatus *status); 15 | bool mercenary_owner_tosql(uint32 char_id, struct mmo_charstatus *status); 16 | bool mercenary_owner_delete(uint32 char_id); 17 | 18 | bool mapif_mercenary_delete(int32 merc_id); 19 | 20 | 21 | #endif /* INT_MERCENARY_HPP */ 22 | -------------------------------------------------------------------------------- /src/char/int_pet.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef INT_PET_HPP 5 | #define INT_PET_HPP 6 | 7 | #include <common/cbasetypes.hpp> 8 | 9 | struct s_pet; 10 | 11 | int32 inter_pet_init(void); 12 | void inter_pet_sql_final(void); 13 | int32 inter_pet_save(void); 14 | int32 inter_pet_delete(int32 pet_id); 15 | 16 | int32 inter_pet_parse_frommap(int32 fd); 17 | int32 inter_pet_sql_init(void); 18 | //extern char pet_txt[256]; 19 | 20 | int32 inter_pet_tosql(int32 pet_id, struct s_pet *p); 21 | 22 | #endif /* INT_PET_HPP */ 23 | -------------------------------------------------------------------------------- /src/char/int_quest.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef INT_QUEST_HPP 5 | #define INT_QUEST_HPP 6 | 7 | #include <common/cbasetypes.hpp> 8 | 9 | int32 inter_quest_parse_frommap(int32 fd); 10 | 11 | #endif /* INT_QUEST_HPP */ 12 | -------------------------------------------------------------------------------- /src/char/int_storage.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef INT_STORAGE_HPP 5 | #define INT_STORAGE_HPP 6 | 7 | #include <common/cbasetypes.hpp> 8 | 9 | struct s_storage; 10 | 11 | void inter_storage_sql_init(void); 12 | void inter_storage_sql_final(void); 13 | 14 | int32 inter_premiumStorage_getMax(uint8 id); 15 | const char *inter_premiumStorage_getTableName(uint8 id); 16 | const char *inter_premiumStorage_getPrintableName(uint8 id); 17 | 18 | bool inter_storage_parse_frommap(int32 fd); 19 | 20 | bool guild_storage_tosql(int32 guild_id, struct s_storage *p); 21 | 22 | #endif /* INT_STORAGE_HPP */ 23 | -------------------------------------------------------------------------------- /src/common/conf.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef CONF_HPP 5 | #define CONF_HPP 6 | 7 | #include <libconfig.h> 8 | 9 | #include "cbasetypes.hpp" 10 | 11 | int32 conf_read_file(config_t *config, const char *config_filename); 12 | int32 config_setting_copy(config_setting_t *parent, const config_setting_t *src); 13 | 14 | #endif /* CONF_HPP */ 15 | -------------------------------------------------------------------------------- /src/common/des.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef DES_HPP 5 | #define DES_HPP 6 | 7 | #include <common/cbasetypes.hpp> 8 | 9 | /// One 64-bit block. 10 | typedef struct BIT64 { uint8_t b[8]; } BIT64; 11 | 12 | void des_decrypt_block(BIT64* block); 13 | void des_decrypt(unsigned char* data, size_t size); 14 | 15 | #endif /* DES_HPP */ 16 | -------------------------------------------------------------------------------- /src/common/grfio.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef GRFIO_HPP 5 | #define GRFIO_HPP 6 | 7 | #include "cbasetypes.hpp" 8 | 9 | const int32 RSW_NO_WATER = 1000000; 10 | 11 | void grfio_init(const char* fname); 12 | void grfio_final(void); 13 | void* grfio_reads(const char* fname, size_t* size = nullptr); 14 | char* grfio_find_file(const char* fname); 15 | int32 grfio_read_rsw_water_level( const char* fname ); 16 | 17 | unsigned long grfio_crc32(const unsigned char *buf, uint32 len); 18 | int32 decode_zip(void* dest, unsigned long* destLen, const void* source, unsigned long sourceLen); 19 | int32 encode_zip(void* dest, unsigned long* destLen, const void* source, unsigned long sourceLen); 20 | 21 | #endif /* GRFIO_HPP */ 22 | -------------------------------------------------------------------------------- /src/common/md5calc.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef MD5CALC_HPP 5 | #define MD5CALC_HPP 6 | 7 | #include "cbasetypes.hpp" 8 | 9 | void MD5_String(const char * string, char * output); 10 | void MD5_Binary(const char * string, unsigned char * output); 11 | void MD5_Salt(size_t len, char * output); 12 | 13 | #endif /* MD5CALC_HPP */ 14 | -------------------------------------------------------------------------------- /src/common/random.cpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #include "random.hpp" 5 | 6 | std::uniform_int_distribution<int32> int31_distribution = std::uniform_int_distribution<int32>(0, SINT32_MAX); 7 | 8 | /// Generates a random number in the interval [0, SINT32_MAX] 9 | int32 rnd( void ){ 10 | return int31_distribution( generator ); 11 | } 12 | -------------------------------------------------------------------------------- /src/config/classes/general.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef CONFIG_GENERAL_HPP 5 | #define CONFIG_GENERAL_HPP 6 | 7 | /** 8 | * rAthena configuration file (http://rathena.org) 9 | * For detailed guidance on these check http://rathena.org/wiki/SRC/config/ 10 | **/ 11 | 12 | /** 13 | * Default Magical Reflection Behavior 14 | * - When reflecting, reflected damage depends on gears caster is wearing, not target 15 | * - When disabled damage depends on gears target is wearing, not caster. 16 | * @values 1 (enabled) or 0 (disabled) 17 | **/ 18 | #define MAGIC_REFLECTION_TYPE 1 19 | 20 | /** 21 | * No settings past this point 22 | **/ 23 | 24 | #endif /* CONFIG_GENERAL_HPP */ 25 | -------------------------------------------------------------------------------- /src/custom/atcommand.inc: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | /** 5 | * Custom Atcommands 6 | * Place the body of custom atcommands in this file. 7 | * Format: 8 | * ACMD_FUNC(command_name) 9 | * { 10 | * <code>; 11 | * } 12 | **/ 13 | 14 | //ACMD_FUNC(newcommand) 15 | //{ 16 | // clif_displaymessage(fd, "It works!"); 17 | // clif_specialeffect(&sd->bl, EF_HEARTCASTING, AREA); 18 | // return 0; 19 | //} 20 | -------------------------------------------------------------------------------- /src/custom/atcommand_def.inc: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | /** 5 | * Custom Atcommands 6 | * Place the definition of custom atcommands in this file. 7 | * Format: 8 | * ACMD_DEF(command_name), 9 | **/ 10 | 11 | //ACMD_DEF(newcommand), 12 | -------------------------------------------------------------------------------- /src/custom/battle_config_init.inc: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | /** 5 | * Custom battle config initializations 6 | * Place the definition of custom battle configuration initializations in this file. 7 | * 8 | * Do not forget to add a comma at the end of the line, if you want to add another config 9 | * 10 | * Format: 11 | * { "name", &battle_config.<variable name>, <default value>, <minimum value>, <maximum value> }, 12 | **/ 13 | 14 | -------------------------------------------------------------------------------- /src/custom/battle_config_struct.inc: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | /** 5 | * Custom battle config structure 6 | * Place the definition of custom battle configuration structure members in this file. 7 | * 8 | * Make sure that the name you want is not already taken by looking into battle.hpp 9 | * Do not forget to add initilization logic to battle_config_init.inc 10 | * 11 | * Format: 12 | * <datatype> name; 13 | **/ 14 | 15 | -------------------------------------------------------------------------------- /src/custom/defines_post.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef CONFIG_CUSTOM_DEFINES_POST_HPP 5 | #define CONFIG_CUSTOM_DEFINES_POST_HPP 6 | 7 | /** 8 | * rAthena configuration file (http://rathena.org) 9 | * For detailed guidance on these check http://rathena.org/wiki/SRC/config/ 10 | **/ 11 | 12 | 13 | 14 | #endif /* CONFIG_CUSTOM_DEFINES_POST_HPP */ 15 | -------------------------------------------------------------------------------- /src/custom/defines_pre.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef CONFIG_CUSTOM_DEFINES_PRE_HPP 5 | #define CONFIG_CUSTOM_DEFINES_PRE_HPP 6 | 7 | /** 8 | * rAthena configuration file (http://rathena.org) 9 | * For detailed guidance on these check http://rathena.org/wiki/SRC/config/ 10 | **/ 11 | 12 | 13 | 14 | #endif /* CONFIG_CUSTOM_DEFINES_PRE_HPP */ 15 | -------------------------------------------------------------------------------- /src/custom/script.inc: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | /** 5 | * Custom Script Commands 6 | * Place the body of custom script commands in this file. 7 | * Format: 8 | * BUILDIN_FUNC(command_name) 9 | * { 10 | * <code>; 11 | * } 12 | **/ 13 | 14 | //BUILDIN_FUNC(example) 15 | //{ 16 | // ShowInfo("buildin_example: It works!\n"); 17 | // script_pushint(st,1); 18 | // return 0; 19 | //} 20 | -------------------------------------------------------------------------------- /src/custom/script_def.inc: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | /** 5 | * Custom Script Commands 6 | * Place the definition of custom script commands in this file. 7 | * Format: 8 | * BUILDIN_DEF(command_name,"parameters"), 9 | **/ 10 | 11 | //BUILDIN_DEF(example,""), 12 | -------------------------------------------------------------------------------- /src/login/logincnslif.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef LOGINCNSLIF_HPP 5 | #define LOGINCNSLIF_HPP 6 | 7 | #include <common/cbasetypes.hpp> 8 | 9 | /** 10 | * Console Command Parser 11 | * Transmited from command cli.cpp 12 | * note common name for all serv do not rename (extern in cli) 13 | * @author [Wizputer] 14 | * @param buf: buffer to parse, (from console) 15 | * @return 1=success 16 | */ 17 | int32 cnslif_parse(const char* buf); 18 | 19 | /** 20 | * Initialize the module. 21 | * Launched at login-serv start, create db or other long scope variable here. 22 | */ 23 | void do_init_logincnslif(void); 24 | /** 25 | * Handler to cleanup module, called when login-server stops. 26 | */ 27 | void do_final_logincnslif(void); 28 | 29 | #endif /* LOGINCNSLIF_HPP */ 30 | -------------------------------------------------------------------------------- /src/tool/mapcache.vcxproj.filters: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <ItemGroup> 4 | <Filter Include="Source Files"> 5 | <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 6 | <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> 7 | </Filter> 8 | <Filter Include="Header Files"> 9 | <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> 10 | <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions> 11 | </Filter> 12 | </ItemGroup> 13 | <ItemGroup> 14 | <ClCompile Include="mapcache.cpp"> 15 | <Filter>Source Files</Filter> 16 | </ClCompile> 17 | </ItemGroup> 18 | </Project> 19 | -------------------------------------------------------------------------------- /src/tool/yaml2sql.vcxproj.filters: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <ItemGroup> 4 | <Filter Include="Source Files"> 5 | <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> 6 | <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> 7 | </Filter> 8 | <Filter Include="Header Files"> 9 | <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> 10 | <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions> 11 | </Filter> 12 | </ItemGroup> 13 | <ItemGroup> 14 | <ClCompile Include="yaml2sql.cpp"> 15 | <Filter>Source Files</Filter> 16 | </ClCompile> 17 | </ItemGroup> 18 | </Project> 19 | -------------------------------------------------------------------------------- /src/tool/yamlupgrade.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef YAMLUPGRADE_HPP 5 | #define YAMLUPGRADE_HPP 6 | 7 | #include <common/core.hpp> 8 | 9 | #include "yaml.hpp" 10 | 11 | using rathena::server_core::Core; 12 | using rathena::server_core::e_core_type; 13 | 14 | namespace rathena{ 15 | namespace tool_yamlupgrade{ 16 | class YamlUpgradeTool : public Core{ 17 | protected: 18 | bool initialize( int32 argc, char* argv[] ) override; 19 | 20 | public: 21 | YamlUpgradeTool() : Core( e_core_type::TOOL ){ 22 | 23 | } 24 | }; 25 | } 26 | } 27 | 28 | #endif /* YAMLUPGRADE_HPP */ 29 | -------------------------------------------------------------------------------- /src/web/auth.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef AUTH_HPP 5 | #define AUTH_HPP 6 | 7 | #include "http.hpp" 8 | 9 | bool isAuthorized(const Request &request, bool checkGuildLeader=false); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /src/web/charconfig_controller.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef CHARCONFIG_CONTROLLER_HPP 5 | #define CHARCONFIG_CONTROLLER_HPP 6 | 7 | #include "http.hpp" 8 | 9 | HANDLER_FUNC(charconfig_save); 10 | HANDLER_FUNC(charconfig_load); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /src/web/emblem_controller.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef EMBLEM_CONTROLLER_HPP 5 | #define EMBLEM_CONTROLLER_HPP 6 | 7 | #include "http.hpp" 8 | 9 | HANDLER_FUNC(emblem_download); 10 | HANDLER_FUNC(emblem_upload); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /src/web/http.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef HTTP_HPP 5 | #define HTTP_HPP 6 | 7 | #ifdef WIN32 8 | #include <common/winapi.hpp> 9 | #endif 10 | 11 | #include <httplib.h> 12 | 13 | 14 | typedef httplib::Request Request; 15 | typedef httplib::Response Response; 16 | 17 | #define HANDLER_FUNC(x) void x (const Request &req, Response &res) 18 | typedef HANDLER_FUNC((*handler_func)); 19 | 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /src/web/merchantstore_controller.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef MERCHANTSTORE_CONTROLLER_HPP 5 | #define MERCHANTSTORE_CONTROLLER_HPP 6 | 7 | #include "http.hpp" 8 | 9 | HANDLER_FUNC(merchantstore_save); 10 | HANDLER_FUNC(merchantstore_load); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /src/web/partybooking_controller.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef PARTYBOOKING_CONTROLLER_HPP 5 | #define PARTYBOOKING_CONTROLLER_HPP 6 | 7 | #include "http.hpp" 8 | 9 | HANDLER_FUNC(partybooking_add); 10 | HANDLER_FUNC(partybooking_delete); 11 | HANDLER_FUNC(partybooking_get); 12 | HANDLER_FUNC(partybooking_info); 13 | HANDLER_FUNC(partybooking_list); 14 | HANDLER_FUNC(partybooking_search); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /src/web/sqllock.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef SQLLOCK_HPP 5 | #define SQLLOCK_HPP 6 | 7 | #include <mutex> 8 | 9 | #include <common/sql.hpp> 10 | 11 | enum locktype { 12 | LOGIN_SQL_LOCK, 13 | CHAR_SQL_LOCK, 14 | MAP_SQL_LOCK, 15 | WEB_SQL_LOCK 16 | }; 17 | 18 | class SQLLock { 19 | private: 20 | std::unique_lock<std::mutex> ulock; 21 | Sql * handle; 22 | locktype lt; 23 | 24 | public: 25 | SQLLock(locktype); 26 | ~SQLLock(); 27 | void lock(); 28 | void unlock(); 29 | Sql * getHandle(); 30 | }; 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/web/userconfig_controller.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | #ifndef USERCONFIG_CONTROLLER_HPP 5 | #define USERCONFIG_CONTROLLER_HPP 6 | 7 | #include "http.hpp" 8 | 9 | HANDLER_FUNC(userconfig_save); 10 | HANDLER_FUNC(userconfig_load); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /src/web/webcnslif.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | -------------------------------------------------------------------------------- /src/web/webutils.hpp: -------------------------------------------------------------------------------- 1 | // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL 2 | // For more information, see LICENCE in the main folder 3 | 4 | 5 | #ifndef WEB_UTILS_HPP 6 | #define WEB_UTILS_HPP 7 | 8 | #include <string> 9 | #include <nlohmann/json_fwd.hpp> 10 | 11 | bool mergeData(nlohmann::json &orig, const nlohmann::json &patch, bool merge_null); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /tools/charserv.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | CALL serv.bat char-server.exe Char-Server %* 3 | -------------------------------------------------------------------------------- /tools/ci/npc.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | out=npc/scripts_custom.conf 4 | 5 | printf "\n" >> $out 6 | echo "// Custom Scripts" >> $out 7 | 8 | find npc/custom \( -name "*.txt" \) | sort | xargs -I % echo "npc: %" >> $out 9 | 10 | echo "// Test Scripts" >> $out 11 | 12 | find npc/test \( -name "*.txt" \) | sort | xargs -I % echo "npc: %" >> $out 13 | -------------------------------------------------------------------------------- /tools/csv2yaml.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | CALL serv.bat csv2yaml.exe CSV 2 YAML 3 | -------------------------------------------------------------------------------- /tools/docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM alpine:3.11 2 | WORKDIR /rathena 3 | RUN apk add --no-cache wget git cmake make gcc g++ gdb zlib-dev mariadb-dev ca-certificates linux-headers bash valgrind netcat-openbsd 4 | RUN wget https://raw.githubusercontent.com/eficode/wait-for/v2.2.2/wait-for -O /bin/wait-for && chmod +x /bin/wait-for 5 | ENTRYPOINT [ ] 6 | -------------------------------------------------------------------------------- /tools/docker/asset/char_conf.txt: -------------------------------------------------------------------------------- 1 | login_ip: login 2 | char_ip: 127.0.0.1 3 | -------------------------------------------------------------------------------- /tools/docker/asset/inter_conf.txt: -------------------------------------------------------------------------------- 1 | login_server_ip: db 2 | ipban_db_ip: db 3 | char_server_ip: db 4 | map_server_ip: db 5 | log_db_ip: db 6 | -------------------------------------------------------------------------------- /tools/docker/asset/map_conf.txt: -------------------------------------------------------------------------------- 1 | char_ip: char 2 | map_ip: 127.0.0.1 3 | -------------------------------------------------------------------------------- /tools/docker/builder.sh: -------------------------------------------------------------------------------- 1 | if [ ! -f /rathena/login-server ]; then 2 | export runBuild=1; 3 | elif [ ! -f /rathena/char-server ]; then 4 | export runBuild=1; 5 | elif [ ! -f /rathena/map-server ]; then 6 | export runBuild=1; 7 | else 8 | export runBuild=0; 9 | fi 10 | 11 | if [ "${runBuild}" -eq "1" ]; then 12 | ### checking that ./configure has ran by looking for make file 13 | if [ ! -f /rathena/make ]; then 14 | echo "Warning: ./configure will be executed with provided values"; 15 | echo "Make sure you have set the variables you want in the docker-compose.yml file"; 16 | echo $BUILDER_CONFIGURE 17 | ./configure $BUILDER_CONFIGURE 18 | fi 19 | 20 | make clean server; 21 | fi -------------------------------------------------------------------------------- /tools/logserv.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | CALL serv.bat login-server.exe Login-Server %* 3 | -------------------------------------------------------------------------------- /tools/mapcache.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | CALL serv.bat mapcache.exe Map-Cache 3 | -------------------------------------------------------------------------------- /tools/mapserv.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | CALL serv.bat map-server.exe Map-Server %* 3 | -------------------------------------------------------------------------------- /tools/navigenerator.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | map-server-generator.exe /generate-navi 3 | ECHO. 4 | pause -------------------------------------------------------------------------------- /tools/setup_perl.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Perl Setup 3 | # Sets up perl environment with all required module dependencies. 4 | cpan install File::Basename Getopt::Long DBI DBD::mysql YAML YAML:XS Cwd Net::Ping Scalar::Util Git::Repository; 5 | -------------------------------------------------------------------------------- /tools/webserv.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | CALL serv.bat web-server.exe Web-Server %* 3 | -------------------------------------------------------------------------------- /tools/yaml2sql.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | CALL serv.bat yaml2sql.exe YAML 2 SQL 3 | -------------------------------------------------------------------------------- /tools/yamlupgrade.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | CALL serv.bat yamlupgrade.exe YAML UPGRADE 3 | -------------------------------------------------------------------------------- /uninstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | #source var/function 3 | . ./function.sh 4 | echo "My pkg path is ${PKG_PATH}" 5 | 6 | check_inst_right 7 | read -p "WARNING: This script is experimental. Press Ctrl+C to cancel or Enter to continue." readEnterKey 8 | case $1 in 9 | 'bin') 10 | echo "Starting binary cleanup" 11 | rm -rf "${PKG_PATH:?}"/bin/* 12 | echo "Binary files have been deleted" 13 | ;; 14 | 'all') 15 | echo "Starting uninstall" 16 | rm -rf "${PKG_PATH:?}" 17 | rm -rf "/usr/bin/${PKG:?}" 18 | echo "Uninstallation has succeed" 19 | ;; 20 | *) 21 | echo "Usage: Please enter a target './uninstall { all | bin }'" 22 | esac 23 | --------------------------------------------------------------------------------