Compare commits
104 Commits
refactor/m
...
feature/st
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e0cb658b7f | ||
|
|
f8cd4aa8c7 | ||
|
|
ee5ba2d889 | ||
|
|
17cb93909e | ||
|
|
05923b3ded | ||
|
|
38b8d5a994 | ||
|
|
421e49e1c4 | ||
|
|
f490aeb6fa | ||
|
|
58a7f36c92 | ||
|
|
4a4cc26252 | ||
|
|
df46dd9455 | ||
|
|
96e3981c68 | ||
|
|
a38b65da49 | ||
|
|
a53d8604c9 | ||
|
|
75ab6738e0 | ||
|
|
4a43856271 | ||
|
|
534bc706d0 | ||
|
|
957efd823f | ||
|
|
8629c6445a | ||
|
|
3c43669425 | ||
|
|
c29fef7323 | ||
|
|
df57b5b7d4 | ||
|
|
02a4831728 | ||
|
|
0f3d5f8dbd | ||
|
|
6542df071f | ||
|
|
6b7d6e6841 | ||
|
|
33fb75684a | ||
|
|
6cb5b5bac6 | ||
|
|
9be64f55dc | ||
|
|
177d57ee68 | ||
|
|
a2ce09fd56 | ||
|
|
329158ac93 | ||
|
|
7c3bb6124a | ||
|
|
17751aa4d7 | ||
|
|
5f4fd5c98b | ||
|
|
c751ca6b74 | ||
|
|
b1b371f4b8 | ||
|
|
a03644fc53 | ||
|
|
44d3edf99d | ||
|
|
a0eb9d5ee2 | ||
|
|
b68e59f743 | ||
|
|
a2747b2023 | ||
|
|
798e09e8c9 | ||
|
|
ae74eb8404 | ||
|
|
e90fa9e8f7 | ||
|
|
a88e25a8e3 | ||
|
|
df9ef6fa79 | ||
|
|
846dfd9bb4 | ||
|
|
9759909f82 | ||
|
|
25f104c50d | ||
|
|
0ac52d0bb4 | ||
|
|
5d105b5736 | ||
|
|
33e080545a | ||
|
|
77b4b3ccea | ||
|
|
3418221dba | ||
|
|
365439943a | ||
|
|
df3d7d4bd1 | ||
|
|
3587ef6923 | ||
|
|
c06492def6 | ||
|
|
c5031982d2 | ||
|
|
e3c2db65c4 | ||
|
|
724257ee1a | ||
|
|
cda284f123 | ||
|
|
c6c534a3eb | ||
|
|
498c4fe2b3 | ||
|
|
922d309643 | ||
|
|
a0bc2c0c3d | ||
|
|
cc16f46885 | ||
|
|
98cf69206a | ||
|
|
a9754cc198 | ||
|
|
5c00d26e42 | ||
|
|
efb25cde9a | ||
|
|
ad8501cd1d | ||
|
|
e86daf339c | ||
|
|
725ae2e899 | ||
|
|
2d681f2061 | ||
|
|
812895b98a | ||
|
|
0c4ae23f0d | ||
|
|
b0fdf80961 | ||
|
|
4d4f0eb1b8 | ||
|
|
faafa5661e | ||
|
|
b1299f54b1 | ||
|
|
27e1c40818 | ||
|
|
6ffc505066 | ||
|
|
eef0561fc1 | ||
|
|
eaa7fdf2d0 | ||
|
|
6eae3bf74b | ||
|
|
e605adbd17 | ||
|
|
060838b9d8 | ||
|
|
04606d25d4 | ||
|
|
3286468786 | ||
|
|
5690891c40 | ||
|
|
e61ea13ad8 | ||
|
|
fa93bbd90c | ||
|
|
212ce7fd25 | ||
|
|
024a5de8dc | ||
|
|
0f88530860 | ||
|
|
1031189146 | ||
|
|
12768c49bc | ||
|
|
a5897a1c3c | ||
|
|
68c8f6e30a | ||
|
|
de46196963 | ||
|
|
dc0512a3b8 | ||
|
|
77fec5825e |
68
.github/ISSUE_TEMPLATE/bug_report.md
vendored
68
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
about: Create an Issue that details broken or unexpected behaviour
|
||||
title: ''
|
||||
labels: type:bug
|
||||
assignees: ''
|
||||
@@ -8,31 +8,67 @@ assignees: ''
|
||||
---
|
||||
|
||||
<!-- NOTE: Anything within these brackets will be hidden on the preview of the Issue. -->
|
||||
<!-- NOTE: Failure to fill out this template correctly may cause a repository maintainer to close your Issue. -->
|
||||
|
||||
* **rAthena Hash**:
|
||||
|
||||
<!-- Please specify the rAthena [GitHub hash](https://help.github.com/articles/autolinked-references-and-urls/#commit-shas) on which you encountered this issue.
|
||||
## Required Basic Information
|
||||
|
||||
<!-- STEP 1 ~ Specify Github Hash
|
||||
Please specify the rAthena [GitHub hash](https://help.github.com/articles/autolinked-references-and-urls/#commit-shas) on which you encountered this issue.
|
||||
How to get your GitHub Hash:
|
||||
1. cd your/rAthena/directory/
|
||||
2. git rev-parse --short HEAD
|
||||
3. Copy the resulting hash.
|
||||
-->
|
||||
|
||||
* **Client Date**:
|
||||
**rAthena Hash**:
|
||||
|
||||
<!-- Please specify the client date you used. -->
|
||||
|
||||
* **Server Mode**:
|
||||
<!-- STEP 2 ~ Specify the client date you are using when this Issue occured. -->
|
||||
|
||||
<!-- Which mode does your server use: Pre-Renewal or Renewal? -->
|
||||
**Client Date**:
|
||||
|
||||
* **Description of Issue**:
|
||||
* Result: <!-- Describe the issue that you experienced in detail. -->
|
||||
* Expected Result: <!-- Describe what you would expect to happen in detail. -->
|
||||
* How to Reproduce: <!-- If you have not stated in the description of the result already, please give us a short guide how we can reproduce your issue. -->
|
||||
* Official Information: <!-- If possible, provide information from official servers (kRO or other sources) which prove that the result is wrong. Please take into account that iRO (especially iRO Wiki) is not always the same as kRO. -->
|
||||
<!-- * _NOTE: Make sure you quote ``` `@atcommands` ``` just like this so that you do not tag uninvolved GitHub users!_ -->
|
||||
|
||||
* **Modifications that may affect results**:
|
||||
<!-- * Please provide any information that could influence the expected result. -->
|
||||
<!-- * This can be either configurations you changed, database values you changed, or even external source modifications. -->
|
||||
<!-- STEP 3 ~ Specify the server-mode you are using when this Issue occured.
|
||||
Options: Pre-Renewal / Renewal -->
|
||||
|
||||
**Server Mode**:
|
||||
|
||||
|
||||
|
||||
## Required Detailed Information
|
||||
|
||||
<!-- STEP 4 ~ Answer the following questions in as much detail as possible.
|
||||
The more information you provide, the easier it will be to confirm and fix an Issue.
|
||||
NOTE: Make sure you quote ``` `@atcommands` ``` just like this so that you do not tag uninvolved GitHub users!
|
||||
NOTE: When pasting code, you can use codeblocks through the editor, or by placing your code between three backticks like this: ``` code here ```
|
||||
TIP: When answering each question, you can remove the "help-comments" so you can type single-line answers.
|
||||
TIP: Above this box there is a "preview" tab which will show you what your Issue will look like after you submit it. Please use it.
|
||||
-->
|
||||
|
||||
<!-- Describe the issue that you experienced in detail. -->
|
||||
**Result**:
|
||||
|
||||
|
||||
<!-- Describe what you would expect to happen in detail. -->
|
||||
**Expected Result**:
|
||||
|
||||
|
||||
<!-- If you have not stated in the description of the result already, please give us a short guide how we can reproduce your issue. -->
|
||||
**How to Reproduce**:
|
||||
|
||||
|
||||
<!-- If possible, provide information from official servers (kRO or other sources) which prove that the result is wrong. Please take into account that iRO (especially iRO Wiki) is not always the same as kRO. -->
|
||||
**Official Information**:
|
||||
|
||||
|
||||
|
||||
<!-- STEP 5 ~ If you are using any modifications, especially in /src/, you must type them here.
|
||||
Even the smallest changes can cause things to break. We need to know what you have customized.
|
||||
This can be either configurations you changed, database values you changed, or even external source modifications. -->
|
||||
|
||||
**Modifications that may affect results**:
|
||||
|
||||
|
||||
<!-- STEP 6 ~ Re-read your Issue above before submitting it, ensuring every question has been answered correctly. -->
|
||||
|
||||
|
||||
8
.github/workflows/build_servers_clang.yml
vendored
8
.github/workflows/build_servers_clang.yml
vendored
@@ -22,11 +22,11 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
# The ubuntu-latest label currently points to ubuntu-18.04.
|
||||
# Available: ubuntu-20.04, ubuntu-18.04
|
||||
os: [ubuntu-18.04]
|
||||
# The ubuntu-latest label currently points to ubuntu-20.04.
|
||||
# Available: ubuntu-22.04, ubuntu-20.04
|
||||
os: [ubuntu-latest]
|
||||
# Version list can be found on https://github.com/marketplace/actions/install-clang
|
||||
clang: ['3.9', '4.0', '5.0', '6.0', '7', '8', '9', '10', '11'] #, '12', '13']
|
||||
clang: ['6.0', '7', '8', '9', '10', '11'] #, '12', '13']
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
4
.github/workflows/build_servers_cmake.yml
vendored
4
.github/workflows/build_servers_cmake.yml
vendored
@@ -22,8 +22,8 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
# The ubuntu-latest label currently points to ubuntu-18.04.
|
||||
# Available: ubuntu-20.04, ubuntu-18.04
|
||||
# The ubuntu-latest label currently points to ubuntu-20.04.
|
||||
# Available: ubuntu-22.04, ubuntu-20.04
|
||||
os: [ubuntu-latest]
|
||||
|
||||
steps:
|
||||
|
||||
4
.github/workflows/build_servers_gcc.yml
vendored
4
.github/workflows/build_servers_gcc.yml
vendored
@@ -22,8 +22,8 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
# The ubuntu-latest label currently points to ubuntu-18.04.
|
||||
# Available: ubuntu-20.04, ubuntu-18.04
|
||||
# The ubuntu-latest label currently points to ubuntu-20.04.
|
||||
# Available: ubuntu-22.04, ubuntu-20.04
|
||||
os: [ubuntu-latest]
|
||||
# Older versions of GCC are not available via unaltered aptitude repo lists.
|
||||
gcc: ['7', '8', '9', '10']
|
||||
|
||||
4
.github/workflows/build_servers_modes.yml
vendored
4
.github/workflows/build_servers_modes.yml
vendored
@@ -22,8 +22,8 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
# The ubuntu-latest label currently points to ubuntu-18.04.
|
||||
# Available: ubuntu-20.04, ubuntu-18.04
|
||||
# The ubuntu-latest label currently points to ubuntu-20.04.
|
||||
# Available: ubuntu-22.04, ubuntu-20.04
|
||||
os: [ubuntu-latest]
|
||||
# Older versions of GCC are not available via unaltered aptitude repo lists.
|
||||
gcc: ['10']
|
||||
|
||||
@@ -22,8 +22,8 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
# The ubuntu-latest label currently points to ubuntu-18.04.
|
||||
# Available: ubuntu-20.04, ubuntu-18.04
|
||||
# The ubuntu-latest label currently points to ubuntu-20.04.
|
||||
# Available: ubuntu-22.04, ubuntu-20.04
|
||||
os: [ubuntu-latest]
|
||||
# Older versions of GCC are not available via unaltered aptitude repo lists.
|
||||
gcc: ['10']
|
||||
|
||||
4
.github/workflows/build_servers_vip.yml
vendored
4
.github/workflows/build_servers_vip.yml
vendored
@@ -22,8 +22,8 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
# The ubuntu-latest label currently points to ubuntu-18.04.
|
||||
# Available: ubuntu-20.04, ubuntu-18.04
|
||||
# The ubuntu-latest label currently points to ubuntu-20.04.
|
||||
# Available: ubuntu-22.04, ubuntu-20.04
|
||||
os: [ubuntu-latest]
|
||||
# Older versions of GCC are not available via unaltered aptitude repo lists.
|
||||
gcc: ['10']
|
||||
|
||||
4
.github/workflows/npc_db_validation.yml
vendored
4
.github/workflows/npc_db_validation.yml
vendored
@@ -25,8 +25,8 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
# The ubuntu-latest label currently points to ubuntu-18.04.
|
||||
# Available: ubuntu-20.04, ubuntu-18.04
|
||||
# The ubuntu-latest label currently points to ubuntu-20.04.
|
||||
# Available: ubuntu-22.04, ubuntu-20.04
|
||||
os: [ubuntu-latest]
|
||||
# Only a single version of GCC is required for validating NPC scripts and database changes.
|
||||
gcc: ['10']
|
||||
|
||||
18
.gitignore
vendored
18
.gitignore
vendored
@@ -1,6 +1,5 @@
|
||||
/autom4te.cache/output.0
|
||||
/autom4te.cache/requests
|
||||
/autom4te.cache/traces.0
|
||||
autom4te.cache/
|
||||
|
||||
#Global
|
||||
.vscode
|
||||
.Apple*
|
||||
@@ -42,6 +41,7 @@ Thumbs.db
|
||||
/map-server
|
||||
/mapcache
|
||||
/nbproject
|
||||
/web-server
|
||||
/yaml2sql
|
||||
/yamlupgrade
|
||||
|
||||
@@ -56,6 +56,10 @@ Thumbs.db
|
||||
# /3rdparty/yaml-cpp/
|
||||
/3rdparty/yaml-cpp/Makefile
|
||||
|
||||
# /3rdparty/httplib/
|
||||
/3rdparty/httplib/Makefile
|
||||
/3rdparty/httplib/obj
|
||||
|
||||
# /db/
|
||||
/db/import
|
||||
|
||||
@@ -92,6 +96,10 @@ Thumbs.db
|
||||
/src/map/obj_sql
|
||||
/src/map/pcre.hpp
|
||||
|
||||
# /src/web
|
||||
/src/web/Makefile
|
||||
/src/web/obj
|
||||
|
||||
# /src/tool/
|
||||
/src/tool/Makefile
|
||||
/src/tool/obj_all
|
||||
@@ -125,6 +133,7 @@ Thumbs.db
|
||||
/mapserv.bat
|
||||
/runserver.bat
|
||||
/serv.bat
|
||||
/webserv.bat
|
||||
/yaml2sql.bat
|
||||
/yamlupgrade.bat
|
||||
|
||||
@@ -135,3 +144,6 @@ Thumbs.db
|
||||
|
||||
# CMakeFiles
|
||||
/CMakeFiles/
|
||||
|
||||
# generated files
|
||||
generated
|
||||
|
||||
1
3rdparty/CMakeLists.txt
vendored
1
3rdparty/CMakeLists.txt
vendored
@@ -47,6 +47,7 @@ macro( CONFIGURE_WITH_LOCAL_OR_SYSTEM name )
|
||||
endmacro( CONFIGURE_WITH_LOCAL_OR_SYSTEM )
|
||||
|
||||
|
||||
add_subdirectory( httplib )
|
||||
add_subdirectory( libconfig )
|
||||
add_subdirectory( mysql )
|
||||
add_subdirectory( pcre )
|
||||
|
||||
1
3rdparty/README.txt
vendored
1
3rdparty/README.txt
vendored
@@ -1,6 +1,7 @@
|
||||
This folder contains everything related to 3rdparty code or tools.
|
||||
|
||||
cmake - scripts for the cmake build system (http://www.cmake.org)
|
||||
httplib - library for http web service (https://github.com/yhirose/cpp-httplib/commit/a9cf09795170a72372cbeb3feef3851b859c0e33)
|
||||
libconfig - library for processing structured configuration files (http://www.hyperrealm.com/libconfig/)
|
||||
mysql - library for MySQL Community Server (http://www.mysql.com)
|
||||
pcre - library for Perl Compatible Regular Expressions (http://www.pcre.org)
|
||||
|
||||
38
3rdparty/httplib/CMakeLists.txt
vendored
Normal file
38
3rdparty/httplib/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
if ( NOT ENABLE_WEB_SERVER )
|
||||
return()
|
||||
endif( NOT ENABLE_WEB_SERVER )
|
||||
|
||||
SET (this_target httplib)
|
||||
PROJECT(${this_target})
|
||||
|
||||
find_path ( HTTPLIB_INCLUDE_DIRS "httplib.h"
|
||||
PATHS "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
NO_DEFAULT_PATH )
|
||||
|
||||
find_path ( HTTPLIB_SOURCE_DIR "httplib.cc"
|
||||
PATHS "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
NO_DEFAULT_PATH )
|
||||
|
||||
mark_as_advanced( HTTPLIB_INCLUDE_DIRS )
|
||||
mark_as_advanced( HTTPLIB_SOURCE_DIR )
|
||||
|
||||
set ( HTTPLIB_HEADERS
|
||||
"${HTTPLIB_INCLUDE_DIRS}/httplib.h"
|
||||
CACHE INTERNAL "httplib headers" )
|
||||
|
||||
set ( HTTPLIB_SOURCES
|
||||
"${HTTPLIB_SOURCE_DIR}/httplib.cc"
|
||||
CACHE INTERNAL "httplib sources" )
|
||||
|
||||
set ( HTTPLIB_DEFINITIONS
|
||||
"-std=c++11"
|
||||
CACHE INTERNAL "http definitions" )
|
||||
include_directories( ${HTTPLIB_INCLUDE_DIRS} ${HTTPLIB_SOURCE_DIR} )
|
||||
|
||||
ADD_LIBRARY( ${this_target} STATIC ${HTTPLIB_SOURCES} )
|
||||
|
||||
if (NOT WIN32)
|
||||
target_compile_definitions(${this_target} PUBLIC "CPPHTTPLIB_SEND_FLAGS=MSG_NOSIGNAL")
|
||||
endif()
|
||||
43
3rdparty/httplib/Makefile.in
vendored
Normal file
43
3rdparty/httplib/Makefile.in
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
|
||||
HTTPLIB_OBJ = $(shell find * -type f -name "*.cc" | sed -e "s/\.cc/\.o/g")
|
||||
HTTPLIB_DIR_OBJ = $(HTTPLIB_OBJ:%=obj/%)
|
||||
HTTPLIB_H = $(shell find * -type f -name "*.h")
|
||||
HTTPLIB_AR = obj/httplib.a
|
||||
|
||||
CXXFLAG =-std=c++11
|
||||
|
||||
HTTPLIB_DEPENDS=httplib
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
#####################################################################
|
||||
.PHONY : all clean help httplib
|
||||
|
||||
all: $(HTTPLIB_DEPENDS)
|
||||
|
||||
clean:
|
||||
@echo " CLEAN httplib"
|
||||
@rm -rf obj *.o
|
||||
|
||||
help:
|
||||
@echo "possible targets are 'all' 'clean' 'help'"
|
||||
@echo "'httplib' - build $(HTTPLIB_AR)
|
||||
@echo "'all' - builds $(HTTPLIB_DIR_OBJ)"
|
||||
@echo "'clean' - deletes $(HTTPLIB_DIR_OBJ)"
|
||||
@echo "'help' - outputs this message"
|
||||
|
||||
#####################################################################
|
||||
|
||||
obj:
|
||||
@echo " MKDIR obj"
|
||||
@mkdir -p obj
|
||||
|
||||
obj/%.o: %.cc $(HTTPLIB_H)
|
||||
@echo " CXX $<"
|
||||
@@CXX@ $(CXXFLAG) @CFLAGS_AR@ @CPPFLAGS@ -DCPPHTTPLIB_SEND_FLAGS=MSG_NOSIGNAL -g -c $(OUTPUT_OPTION) $<
|
||||
|
||||
httplib: obj $(HTTPLIB_DIR_OBJ) $(HTTPLIB_AR)
|
||||
|
||||
$(HTTPLIB_AR): $(HTTPLIB_DIR_OBJ)
|
||||
@echo " AR $@"
|
||||
@@AR@ rcs obj/httplib.a $(HTTPLIB_DIR_OBJ)
|
||||
6482
3rdparty/httplib/httplib.cc
vendored
Normal file
6482
3rdparty/httplib/httplib.cc
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1904
3rdparty/httplib/httplib.h
vendored
Normal file
1904
3rdparty/httplib/httplib.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
160
3rdparty/httplib/httplib.vcxproj
vendored
Normal file
160
3rdparty/httplib/httplib.vcxproj
vendored
Normal file
@@ -0,0 +1,160 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="httplib.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="httplib.cc" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>libconfig</RootNamespace>
|
||||
<ProjectGuid>{7A1A25BC-2CF7-44B2-8CAF-B4273B510FC6}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir).vs\build\</OutDir>
|
||||
<IntDir>$(SolutionDir).vs\build\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir).vs\build\</OutDir>
|
||||
<IntDir>$(SolutionDir).vs\build\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir).vs\build\</OutDir>
|
||||
<IntDir>$(SolutionDir).vs\build\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir).vs\build\</OutDir>
|
||||
<IntDir>$(SolutionDir).vs\build\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
21
3rdparty/httplib/httplib.vcxproj.filters
vendored
Normal file
21
3rdparty/httplib/httplib.vcxproj.filters
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="httplib.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="httplib.cc">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -226,6 +226,10 @@ endif()
|
||||
message( STATUS "Detecting networking library (socket/nsl/ws2_32) - done" )
|
||||
endif()
|
||||
|
||||
#
|
||||
# enable web server?
|
||||
#
|
||||
option( ENABLE_WEB_SERVER "Build web-server (default=ON)" ON )
|
||||
|
||||
#
|
||||
# Test for big endian
|
||||
|
||||
16
Makefile.in
16
Makefile.in
@@ -4,11 +4,12 @@ HAVE_MYSQL=@HAVE_MYSQL@
|
||||
OMAP=@OMAP@
|
||||
ifeq ($(HAVE_MYSQL),yes)
|
||||
ALL_DEPENDS=server tools
|
||||
SERVER_DEPENDS=common login char map import
|
||||
SERVER_DEPENDS=common login char map web import
|
||||
COMMON_DEPENDS=libconfig rapidyaml yaml-cpp
|
||||
LOGIN_DEPENDS=libconfig common
|
||||
CHAR_DEPENDS=libconfig common rapidyaml
|
||||
MAP_DEPENDS=libconfig common rapidyaml
|
||||
WEB_DEPENDS=libconfig common yaml-cpp httplib
|
||||
else
|
||||
ALL_DEPENDS=needs_mysql
|
||||
SERVER_DEPENDS=needs_mysql
|
||||
@@ -16,6 +17,7 @@ else
|
||||
LOGIN_DEPENDS=needs_mysql
|
||||
CHAR_DEPENDS=needs_mysql
|
||||
MAP_DEPENDS=needs_mysql
|
||||
WEB_DEPENDS=needs_mysql
|
||||
endif
|
||||
|
||||
|
||||
@@ -25,6 +27,7 @@ endif
|
||||
login \
|
||||
char \
|
||||
map \
|
||||
web \
|
||||
tools \
|
||||
import \
|
||||
clean help \
|
||||
@@ -49,11 +52,15 @@ char: $(CHAR_DEPENDS)
|
||||
map: $(MAP_DEPENDS)
|
||||
@$(MAKE) -C src/map server
|
||||
|
||||
web: $(WEB_DEPENDS)
|
||||
@$(MAKE) -C src/web server
|
||||
|
||||
libconfig:
|
||||
@$(MAKE) -C 3rdparty/libconfig
|
||||
|
||||
tools:
|
||||
@$(MAKE) -C src/tool
|
||||
@$(MAKE) -C src/map tools
|
||||
|
||||
rapidyaml:
|
||||
@$(MAKE) -C 3rdparty/rapidyaml
|
||||
@@ -61,6 +68,9 @@ rapidyaml:
|
||||
yaml-cpp:
|
||||
@$(MAKE) -C 3rdparty/yaml-cpp
|
||||
|
||||
httplib:
|
||||
@$(MAKE) -C 3rdparty/httplib
|
||||
|
||||
import:
|
||||
# 1) create conf/import folder
|
||||
# 2) add missing files
|
||||
@@ -81,9 +91,11 @@ clean:
|
||||
@$(MAKE) -C 3rdparty/libconfig $@
|
||||
@$(MAKE) -C 3rdparty/rapidyaml $@
|
||||
@$(MAKE) -C 3rdparty/yaml-cpp $@
|
||||
@$(MAKE) -C 3rdparty/httplib $@
|
||||
@$(MAKE) -C src/login $@
|
||||
@$(MAKE) -C src/char $@
|
||||
@$(MAKE) -C src/map $@
|
||||
@$(MAKE) -C src/web $@
|
||||
@$(MAKE) -C src/tool $@
|
||||
|
||||
help:
|
||||
@@ -93,9 +105,11 @@ help:
|
||||
@echo "'libconfig' - builds object files of libconfig"
|
||||
@echo "'rapidyaml' - builds object files of rapidyaml"
|
||||
@echo "'yaml-cpp' - builds object files of yaml-cpp"
|
||||
@echo "'httplib' - builds object files of httplib"
|
||||
@echo "'login' - builds login server"
|
||||
@echo "'char' - builds char server"
|
||||
@echo "'map' - builds map server"
|
||||
@echo "'web' - builds web server"
|
||||
@echo "'tools' - builds all the tools in src/tools"
|
||||
@echo "'import' - builds conf/import, conf/msg_conf/import and db/import folders from their template folders (x-tmpl)"
|
||||
@echo "'all' - builds all the above targets"
|
||||
|
||||
16
athena-start
16
athena-start
@@ -61,7 +61,7 @@ watch_serv(){
|
||||
#now checking status and looping
|
||||
count=0;
|
||||
while true; do
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV}
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
|
||||
do
|
||||
LOGFILE="$LOG_DIR/$i.launch.log"
|
||||
LOGRUN="$LOG_DIR/$i.log"
|
||||
@@ -89,7 +89,7 @@ watch_serv(){
|
||||
restart(){
|
||||
$0 stop
|
||||
if [ $1 ]; then sleep $1; fi
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV}
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
|
||||
do
|
||||
FIFO="$1_fifo"
|
||||
while true; do
|
||||
@@ -117,7 +117,7 @@ case $1 in
|
||||
else
|
||||
echo "Logging is disabled"
|
||||
fi
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV}
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
|
||||
do
|
||||
start_serv $i $ENLOG
|
||||
done
|
||||
@@ -128,7 +128,7 @@ case $1 in
|
||||
if [ -z $2 ]; then Restart_count=10; else Restart_count=$2; fi
|
||||
if [ -z $3 ]; then Restart_sleep=3; else Restart_sleep=$3; fi
|
||||
echo "Going to watch rAthena for restart_count = $Restart_count, restart_sleep = $Restart_sleep"
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV}
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
|
||||
do
|
||||
start_serv $i 1
|
||||
done
|
||||
@@ -136,7 +136,7 @@ case $1 in
|
||||
echo "Watching rAthena now."
|
||||
;;
|
||||
'stop')
|
||||
for i in ${M_SRV} ${C_SRV} ${L_SRV}
|
||||
for i in ${W_SRV} ${M_SRV} ${C_SRV} ${L_SRV}
|
||||
do
|
||||
PIDFILE=.${i}.pid
|
||||
if [ -e ./${PIDFILE} ]; then
|
||||
@@ -158,20 +158,20 @@ case $1 in
|
||||
restart
|
||||
;;
|
||||
'status')
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV}
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
|
||||
do
|
||||
get_status ${i}
|
||||
if [ ${PSRUN} ]; then echo "'${i}' is running p${PSRUN}"; else echo "'${i}' seems to be down"; fi
|
||||
done
|
||||
;;
|
||||
'val_runonce')
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV}
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
|
||||
do
|
||||
valgrind --leak-check=full --show-leak-kinds=all ./$i --run-once > "log/$i.runonce.leak"
|
||||
done
|
||||
;;
|
||||
'valchk')
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV}
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
|
||||
do
|
||||
valgrind --leak-check=full --show-leak-kinds=all ./$i > "log/$i.runonce.leak"
|
||||
done
|
||||
|
||||
@@ -664,6 +664,9 @@ Body:
|
||||
- Command: refine
|
||||
Help: |
|
||||
Params: <equip position> <+/- amount>
|
||||
- Command: grade
|
||||
Help: |
|
||||
Params: <equip position> <+/- amount>
|
||||
- Command: produce
|
||||
Help: |
|
||||
Params: <equip name or equip ID> <element> <# of very's>
|
||||
|
||||
@@ -118,12 +118,6 @@ client_reshuffle_dice: yes
|
||||
// NOTE: Enabling this option degrades performance.
|
||||
client_sort_storage: no
|
||||
|
||||
// Do we allow to change guilde emblem during woe_time?
|
||||
emblem_woe_change: yes
|
||||
|
||||
// How many transparent pixel can be found in emblem before detected as invalid? (Note 2)
|
||||
emblem_transparency_limit: 80
|
||||
|
||||
// Update enemy position while in invisible state? (Note 1)
|
||||
// NOTE: Set to 'no' will make client won't update enemy position unless the players have "Intravision" effect.
|
||||
// So that will help client handling WPE - Maya Purple Hack stuff.
|
||||
|
||||
@@ -17,7 +17,13 @@ guild_exp_limit: 50
|
||||
guild_max_castles: 0
|
||||
|
||||
// Activate guild skills delay by relog?
|
||||
// Official setting is 5 minutes (300000 ms), otherwise allow guild leaders to relog to cancel the 5 minute delay.
|
||||
// 0 - Save cooldown and resume on relog.
|
||||
// 1 - Don't save cooldown and restart the timer on relog.
|
||||
// Default on official servers: 1 for Pre-renewal, 0 for Renewal
|
||||
//guild_skill_relog_type: 0
|
||||
|
||||
// Delay in milliseconds that are applied to guild skills.
|
||||
// Official setting is 5 minutes (300000 ms).
|
||||
// Note: This was changed in renewal in favor of individual skill cooldown.
|
||||
guild_skill_relog_delay: 300000
|
||||
|
||||
|
||||
@@ -16,16 +16,6 @@ vending_max_value: 1000000000
|
||||
// If set to yes, the rest of the zeny above the char's capacity will disappear.
|
||||
vending_over_max: yes
|
||||
|
||||
// Tax to apply to all vending transactions (eg: 10000 = 100%, 50 = 0.50%)
|
||||
// When a tax is applied, the item's full price is charged to the buyer, but
|
||||
// the vender will not get the whole price paid (they get 100% - this tax).
|
||||
vending_tax: 500
|
||||
|
||||
// Minimum total of purchase until taxes are applied.
|
||||
// Officially there is no tax for anything less than 100 million zeny.
|
||||
// 0 will apply taxes to all transactions.
|
||||
vending_tax_min: 100000000
|
||||
|
||||
// Show the buyer's name when successfully vended an item
|
||||
buyer_name: yes
|
||||
|
||||
|
||||
@@ -183,3 +183,6 @@ mail_delay: 1000
|
||||
|
||||
// Hides items from the player's favorite tab from being sold to a NPC. (Note 1)
|
||||
hide_fav_sell: no
|
||||
|
||||
// Display tax info given from conf/tax.yml (Note 1)
|
||||
display_tax_info: yes
|
||||
|
||||
40
conf/import-tmpl/tax.yml
Normal file
40
conf/import-tmpl/tax.yml
Normal file
@@ -0,0 +1,40 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2019 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Tax Database
|
||||
###########################################################################
|
||||
#
|
||||
# Tax Settings
|
||||
#
|
||||
###########################################################################
|
||||
# Type Tax type. Valid types are TAX_SELLING for vending and TAX_BUYING for buyingstore.
|
||||
# InTotal Tax applied for total transaction. Supports unlimited entries.
|
||||
# - MinimalValue Minimum Zeny value before Tax is applied. (Default: 0)
|
||||
# Tax Tax percentage applied to MinimalValue. (Default: 0)
|
||||
# EachEntry Tax by selling entry. Supports unlimited entries.
|
||||
# - MinimalValue Minimum Zeny value before Tax is applied. (Default: 0)
|
||||
# Tax Tax percentage applied to MinimalValue. (Default: 0)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: TAX_DB
|
||||
Version: 1
|
||||
|
||||
#Body:
|
||||
# - Type: TAX_SELLING
|
||||
# - Type: TAX_BUYING
|
||||
0
conf/import-tmpl/web_conf.txt
Normal file
0
conf/import-tmpl/web_conf.txt
Normal file
@@ -15,6 +15,12 @@ party_share_level: 15
|
||||
// Amount of status points a new character will start with
|
||||
start_status_points: 48
|
||||
|
||||
// Do we allow to change guild emblem during woe_time?
|
||||
emblem_woe_change: yes
|
||||
|
||||
// How many transparent pixel can be found in emblem before detected as invalid? (Note 2)
|
||||
emblem_transparency_limit: 80
|
||||
|
||||
// You can specify the codepage to use in your MySQL tables here.
|
||||
// (Note that this feature requires MySQL 4.1+)
|
||||
//default_codepage:
|
||||
@@ -58,6 +64,13 @@ map_server_id: ragnarok
|
||||
map_server_pw: ragnarok
|
||||
map_server_db: ragnarok
|
||||
|
||||
// MySQL Web Server
|
||||
web_server_ip: 127.0.0.1
|
||||
web_server_port: 3306
|
||||
web_server_id: ragnarok
|
||||
web_server_pw: ragnarok
|
||||
web_server_db: ragnarok
|
||||
|
||||
// MySQL Log Database
|
||||
log_db_ip: 127.0.0.1
|
||||
log_db_port: 3306
|
||||
@@ -152,6 +165,14 @@ market_table: market
|
||||
roulette_table: db_roulette
|
||||
guild_storage_log: guild_storage_log
|
||||
|
||||
// Web Database Tables
|
||||
// NOTE: The web server reads the login (login) and char (guild) tables, so it needs
|
||||
// the ability to connect to those databases.
|
||||
guild_emblems: guild_emblems
|
||||
user_configs: user_configs
|
||||
char_configs: char_configs
|
||||
merchant_configs: merchant_configs
|
||||
|
||||
// Use SQL item_db, mob_db and mob_skill_db for the map server? (yes/no)
|
||||
use_sql_db: no
|
||||
|
||||
|
||||
@@ -167,6 +167,11 @@ client_hash_check: off
|
||||
// This is required for new clients that get data via an additional API over HTTP
|
||||
use_web_auth_token: yes
|
||||
|
||||
// Delay (in milliseconds) disabling webtoken after character logs off
|
||||
// There's a race condition when the client logs off. The char-server could revoke the token before
|
||||
// the client can save the changed configs.
|
||||
disable_webtoken_delay: 10000
|
||||
|
||||
// Client MD5 hashes
|
||||
// The client with the specified hash can be used to log in by players with
|
||||
// a group_id equal to or greater than the given value.
|
||||
|
||||
@@ -1503,5 +1503,44 @@ map: 1@jorchs
|
||||
map: 1@jorlab
|
||||
map: 1@whl
|
||||
|
||||
// Extended Jobs
|
||||
map: 1@exhn
|
||||
map: 1@exds
|
||||
map: 2@exds
|
||||
map: 1@exse
|
||||
map: 1@exnw
|
||||
map: 1@exsr
|
||||
map: 1@exsh
|
||||
|
||||
// Varmundt's Biosphere
|
||||
map: bl_grass
|
||||
map: bl_lava
|
||||
map: bl_ice
|
||||
map: bl_death
|
||||
|
||||
// Clock Tower: Unknown Basement
|
||||
map: clock_01
|
||||
|
||||
// Ragnarok Festival
|
||||
map: rag_fes
|
||||
map: rag_fes_a
|
||||
|
||||
// 20th Anniversary
|
||||
map: memohall
|
||||
map: 1@dime
|
||||
|
||||
// Fantasy maps
|
||||
map: prt_elib
|
||||
map: 1@vrcas
|
||||
map: 1@vrev
|
||||
map: 1@vrgen
|
||||
map: 1@vrpo
|
||||
|
||||
// ??
|
||||
map: 1@pdb
|
||||
map: airplane2
|
||||
map: vr_bob
|
||||
|
||||
|
||||
//------------------------- Clone Maps ---------------------------
|
||||
//------------------------- Extra Maps ---------------------------
|
||||
|
||||
@@ -840,7 +840,14 @@
|
||||
773: This command requires packet version 2016-10-12 or newer.
|
||||
774: This command is disabled via configuration.
|
||||
775: You have already opened the refine UI.
|
||||
//776-781 reserved for tax system
|
||||
|
||||
// Tax:
|
||||
776: [ Tax Information ]
|
||||
777: %s : %u %c %.2f%% => %u
|
||||
778: [ Total Transaction Tax ]
|
||||
779: Tax: %.2f%% Minimal Transaction: %u
|
||||
780: %s : %.0f => %.0f
|
||||
781: Tax database has been reloaded.
|
||||
|
||||
782: Star Emperor
|
||||
783: Soul Reaper
|
||||
@@ -924,7 +931,10 @@
|
||||
// General packet version check messages
|
||||
828: This command requires packet version %s or newer.
|
||||
|
||||
//829-899 free
|
||||
// Enchant UI
|
||||
829: Enchanting is not possible for your item's enchant grade.
|
||||
|
||||
//830-899 free
|
||||
|
||||
//------------------------------------
|
||||
// More atcommands message
|
||||
@@ -1786,5 +1796,9 @@
|
||||
1517: Cannot add fame to class '%s'.
|
||||
1518: %d points were added to '%s'.
|
||||
|
||||
// @grade
|
||||
1519: Please enter a position and an amount (usage: @grade <equip position> <+/- amount>).
|
||||
1520: %d items have been graded.
|
||||
|
||||
//Custom translations
|
||||
import: conf/msg_conf/import/map_msg_eng_conf.txt
|
||||
|
||||
3
conf/msg_conf/web_msg.conf
Normal file
3
conf/msg_conf/web_msg.conf
Normal file
@@ -0,0 +1,3 @@
|
||||
// rAthena msg_athena.conf
|
||||
// Message Configuration of web-server
|
||||
// -----------------------
|
||||
88
conf/tax.yml
Normal file
88
conf/tax.yml
Normal file
@@ -0,0 +1,88 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Tax Database
|
||||
###########################################################################
|
||||
#
|
||||
# Tax Settings
|
||||
#
|
||||
###########################################################################
|
||||
# Type Tax type. Valid types are TAX_SELLING for vending and TAX_BUYING for buyingstore.
|
||||
# InTotal Tax applied for total transaction. Supports unlimited entries.
|
||||
# - MinimalValue Minimum Zeny value before Tax is applied. (Default: 0)
|
||||
# Tax Tax percentage applied to MinimalValue. (Default: 0)
|
||||
# EachEntry Tax by selling entry. Supports unlimited entries.
|
||||
# - MinimalValue Minimum Zeny value before Tax is applied. (Default: 0)
|
||||
# Tax Tax percentage applied to MinimalValue. (Default: 0)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: TAX_DB
|
||||
Version: 1
|
||||
|
||||
Body:
|
||||
# Zeny received for the seller will be reduced after taxes from the total selling price but the buyer pays just the total selling price
|
||||
- Type: TAX_SELLING
|
||||
InTotal:
|
||||
- MinimalValue: 0
|
||||
Tax: 0
|
||||
|
||||
EachEntry:
|
||||
# 10% if >= 100,000,001
|
||||
- MinimalValue: 100000001
|
||||
Tax: 1000
|
||||
# 8% if >= 10,000,001
|
||||
- MinimalValue: 10000001
|
||||
Tax: 800
|
||||
# 6% if >= 1,000,001
|
||||
- MinimalValue: 1000001
|
||||
Tax: 600
|
||||
# 4% if >= 100,001
|
||||
- MinimalValue: 100001
|
||||
Tax: 400
|
||||
# 2% if >= 10,001
|
||||
- MinimalValue: 10001
|
||||
Tax: 200
|
||||
|
||||
# Zeny received for the seller will be the total selling price but the buyer must pay taxes for the total selling price
|
||||
- Type: TAX_BUYING
|
||||
InTotal:
|
||||
- MinimalValue: 0
|
||||
Tax: 0
|
||||
|
||||
# Tax by buying entry
|
||||
EachEntry:
|
||||
# 10% if >= 100,000,001
|
||||
- MinimalValue: 100000001
|
||||
Tax: 1000
|
||||
# 8% if >= 10,000,001
|
||||
- MinimalValue: 10000001
|
||||
Tax: 800
|
||||
# 6% if >= 1,000,001
|
||||
- MinimalValue: 1000001
|
||||
Tax: 600
|
||||
# 4% if >= 100,001
|
||||
- MinimalValue: 100001
|
||||
Tax: 400
|
||||
# 2% if >= 10,001
|
||||
- MinimalValue: 10001
|
||||
Tax: 200
|
||||
|
||||
Footer:
|
||||
Imports:
|
||||
- Path: conf/import/tax.yml
|
||||
56
conf/web_athena.conf
Normal file
56
conf/web_athena.conf
Normal file
@@ -0,0 +1,56 @@
|
||||
// rAthena Web Server configuration file.
|
||||
|
||||
// Note: "Comments" are all text on the right side of a double slash "//"
|
||||
// Whatever text is commented will not be parsed by the servers, and serves
|
||||
// only as information/reference.
|
||||
|
||||
// The web server listens on the interface with this IP address.
|
||||
// NOTE: This allows you to run multiple servers on multiple interfaces
|
||||
// while using the same ports for each server.
|
||||
//bind_ip: 127.0.0.1
|
||||
|
||||
// Web Server Port
|
||||
web_port: 8888
|
||||
|
||||
//Time-stamp format which will be printed before all messages.
|
||||
//Can at most be 20 characters long.
|
||||
//Common formats:
|
||||
// %I:%M:%S %p (hour:minute:second 12 hour, AM/PM format)
|
||||
// %H:%M:%S (hour:minute:second, 24 hour format)
|
||||
// %d/%b/%Y (day/Month/year)
|
||||
//For full format information, consult the strftime() manual.
|
||||
//timestamp_format: [%d/%b %H:%M]
|
||||
|
||||
//If redirected output contains escape sequences (color codes)
|
||||
stdout_with_ansisequence: no
|
||||
|
||||
//Makes server log selected message types to a file in the /log/ folder
|
||||
//1: Log Warning Messages
|
||||
//2: Log Error and SQL Error messages.
|
||||
//4: Log Debug Messages
|
||||
//Example: "console_msg_log: 7" logs all 3 kinds
|
||||
//Messages logged by this overrides console_silent setting
|
||||
console_msg_log: 0
|
||||
|
||||
// File path to store the console messages above
|
||||
console_log_filepath: ./log/web-msg_log.log
|
||||
|
||||
//Makes server output more silent by omitting certain types of messages:
|
||||
//1: Hide Information messages
|
||||
//2: Hide Status messages
|
||||
//4: Hide Notice Messages
|
||||
//8: Hide Warning Messages
|
||||
//16: Hide Error and SQL Error messages.
|
||||
//32: Hide Debug Messages
|
||||
//Example: "console_silent: 7" Hides information, status and notice messages (1+2+4)
|
||||
console_silent: 0
|
||||
|
||||
// Print requests and responses?
|
||||
// This is useful for debugging purposes, it will print the entire
|
||||
// request and response for each transaction.
|
||||
print_req_res: off
|
||||
|
||||
// Allow GIF images to be uploaded as guild emblem?
|
||||
allow_gifs: yes
|
||||
|
||||
import: conf/import/web_conf.txt
|
||||
149
configure
vendored
149
configure
vendored
@@ -1,5 +1,5 @@
|
||||
#! /bin/sh
|
||||
# From configure.in Revision.
|
||||
# From configure.ac Revision.
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69.
|
||||
#
|
||||
@@ -642,6 +642,7 @@ ac_ct_CC
|
||||
CFLAGS
|
||||
CC
|
||||
SET_MAKE
|
||||
OWEB
|
||||
OMAP
|
||||
OCHR
|
||||
OLOG
|
||||
@@ -674,6 +675,7 @@ infodir
|
||||
docdir
|
||||
oldincludedir
|
||||
includedir
|
||||
runstatedir
|
||||
localstatedir
|
||||
sharedstatedir
|
||||
sysconfdir
|
||||
@@ -712,6 +714,7 @@ with_maxconn
|
||||
with_outputlogin
|
||||
with_outputchar
|
||||
with_outputmap
|
||||
with_outputweb
|
||||
with_mysql
|
||||
with_MYSQL_CFLAGS
|
||||
with_MYSQL_LIBS
|
||||
@@ -768,6 +771,7 @@ datadir='${datarootdir}'
|
||||
sysconfdir='${prefix}/etc'
|
||||
sharedstatedir='${prefix}/com'
|
||||
localstatedir='${prefix}/var'
|
||||
runstatedir='${localstatedir}/run'
|
||||
includedir='${prefix}/include'
|
||||
oldincludedir='/usr/include'
|
||||
docdir='${datarootdir}/doc/${PACKAGE}'
|
||||
@@ -1020,6 +1024,15 @@ do
|
||||
| -silent | --silent | --silen | --sile | --sil)
|
||||
silent=yes ;;
|
||||
|
||||
-runstatedir | --runstatedir | --runstatedi | --runstated \
|
||||
| --runstate | --runstat | --runsta | --runst | --runs \
|
||||
| --run | --ru | --r)
|
||||
ac_prev=runstatedir ;;
|
||||
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
|
||||
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
|
||||
| --run=* | --ru=* | --r=*)
|
||||
runstatedir=$ac_optarg ;;
|
||||
|
||||
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
|
||||
ac_prev=sbindir ;;
|
||||
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
|
||||
@@ -1157,7 +1170,7 @@ fi
|
||||
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
|
||||
datadir sysconfdir sharedstatedir localstatedir includedir \
|
||||
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
|
||||
libdir localedir mandir
|
||||
libdir localedir mandir runstatedir
|
||||
do
|
||||
eval ac_val=\$$ac_var
|
||||
# Remove trailing slashes.
|
||||
@@ -1310,6 +1323,7 @@ Fine tuning of the installation directories:
|
||||
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
|
||||
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
|
||||
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
|
||||
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
|
||||
--libdir=DIR object code libraries [EPREFIX/lib]
|
||||
--includedir=DIR C header files [PREFIX/include]
|
||||
--oldincludedir=DIR C header files for non-gcc [/usr/include]
|
||||
@@ -1367,9 +1381,10 @@ Optional Packages:
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
|
||||
--with-maxconn[=ARG] optionally set the maximum connections the core can
|
||||
handle. By default the system header value will be used.
|
||||
This will only be the compile time limit, make sure
|
||||
you set the correct limit with ulimit on your OS.
|
||||
handle. By default the system header value will be
|
||||
used. This will only be the compile time limit, make
|
||||
sure you set the correct limit with ulimit on your
|
||||
OS.
|
||||
--with-outputlogin[=ARG]
|
||||
Specify the login-serv output name (defaults to
|
||||
login-server)
|
||||
@@ -1377,6 +1392,8 @@ Optional Packages:
|
||||
char-server)
|
||||
--with-outputmap[=ARG] Specify the map-serv output name (defaults to
|
||||
map-server)
|
||||
--with-outputweb[=ARG] Specify the web-serv output name (defaults to
|
||||
web-server)
|
||||
--with-mysql[=ARG] optionally specify the path to the mysql_config
|
||||
executable
|
||||
--with-MYSQL_CFLAGS=ARG specify MYSQL_CFLAGS manually (instead of using
|
||||
@@ -1718,44 +1735,6 @@ $as_echo "$ac_res" >&6; }
|
||||
|
||||
} # ac_fn_cxx_check_header_compile
|
||||
|
||||
# ac_fn_c_try_compile LINENO
|
||||
# --------------------------
|
||||
# Try to compile conftest.$ac_ext, and return whether this succeeded.
|
||||
ac_fn_c_try_compile ()
|
||||
{
|
||||
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||
rm -f conftest.$ac_objext
|
||||
if { { ac_try="$ac_compile"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo"; } >&5
|
||||
(eval "$ac_compile") 2>conftest.err
|
||||
ac_status=$?
|
||||
if test -s conftest.err; then
|
||||
grep -v '^ *+' conftest.err >conftest.er1
|
||||
cat conftest.er1 >&5
|
||||
mv -f conftest.er1 conftest.err
|
||||
fi
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; } && {
|
||||
test -z "$ac_c_werror_flag" ||
|
||||
test ! -s conftest.err
|
||||
} && test -s conftest.$ac_objext; then :
|
||||
ac_retval=0
|
||||
else
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_retval=1
|
||||
fi
|
||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_c_try_compile
|
||||
|
||||
# ac_fn_cxx_try_link LINENO
|
||||
# -------------------------
|
||||
# Try to link conftest.$ac_ext, and return whether this succeeded.
|
||||
@@ -1802,6 +1781,44 @@ fi
|
||||
|
||||
} # ac_fn_cxx_try_link
|
||||
|
||||
# ac_fn_c_try_compile LINENO
|
||||
# --------------------------
|
||||
# Try to compile conftest.$ac_ext, and return whether this succeeded.
|
||||
ac_fn_c_try_compile ()
|
||||
{
|
||||
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||
rm -f conftest.$ac_objext
|
||||
if { { ac_try="$ac_compile"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo"; } >&5
|
||||
(eval "$ac_compile") 2>conftest.err
|
||||
ac_status=$?
|
||||
if test -s conftest.err; then
|
||||
grep -v '^ *+' conftest.err >conftest.er1
|
||||
cat conftest.er1 >&5
|
||||
mv -f conftest.er1 conftest.err
|
||||
fi
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; } && {
|
||||
test -z "$ac_c_werror_flag" ||
|
||||
test ! -s conftest.err
|
||||
} && test -s conftest.$ac_objext; then :
|
||||
ac_retval=0
|
||||
else
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_retval=1
|
||||
fi
|
||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_c_try_compile
|
||||
|
||||
# ac_fn_cxx_check_func LINENO FUNC VAR
|
||||
# ------------------------------------
|
||||
# Tests whether FUNC exists, setting the cache variable VAR accordingly
|
||||
@@ -2740,12 +2757,14 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
|
||||
ac_config_files="$ac_config_files Makefile src/common/Makefile"
|
||||
|
||||
ac_config_files="$ac_config_files 3rdparty/libconfig/Makefile 3rdparty/yaml-cpp/Makefile 3rdparty/rapidyaml/Makefile"
|
||||
ac_config_files="$ac_config_files 3rdparty/libconfig/Makefile 3rdparty/yaml-cpp/Makefile 3rdparty/rapidyaml/Makefile 3rdparty/httplib/Makefile"
|
||||
|
||||
ac_config_files="$ac_config_files src/char/Makefile src/login/Makefile"
|
||||
|
||||
ac_config_files="$ac_config_files src/map/Makefile src/tool/Makefile"
|
||||
|
||||
ac_config_files="$ac_config_files src/web/Makefile"
|
||||
|
||||
|
||||
ac_ext=cpp
|
||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
@@ -3284,11 +3303,10 @@ rm -f core conftest.err conftest.$ac_objext \
|
||||
$as_echo "$have_linux_epoll" >&6; }
|
||||
fi
|
||||
if test x$enable_epoll,$have_linux_epoll = xyes,no; then
|
||||
as_fn_error $? "epoll support explicitly enabled but not available" "$LINENO" 5
|
||||
as_fn_error $? "epoll support explicitly enabled but not available" "$LINENO" 5
|
||||
fi
|
||||
|
||||
|
||||
|
||||
#
|
||||
# debug
|
||||
#
|
||||
@@ -3464,18 +3482,24 @@ fi
|
||||
|
||||
|
||||
#
|
||||
# Optionally set the max number of network conenctions
|
||||
# the core will be support
|
||||
# Optionally set the maximum number of network connections
|
||||
# the core will be able to handle
|
||||
#
|
||||
|
||||
# Check whether --with-maxconn was given.
|
||||
if test "${with_maxconn+set}" = set; then :
|
||||
withval=$with_maxconn;
|
||||
if ! test "$withval" -ge 0 -o "$withval" -lt 0 2>&- ; then
|
||||
as_fn_error $? "Invalid argument --with-maxconn=$withval ... stopping" "$LINENO" 5
|
||||
else
|
||||
CPPFLAGS="$CPPFLAGS -DMAXCONN=$withval"
|
||||
fi
|
||||
if ! test "$withval" -ge 0 -o "$withval" -lt 0 2>&- ; then
|
||||
as_fn_error $? "Invalid argument --with-maxconn=$withval ... stopping" "$LINENO" 5
|
||||
else
|
||||
CPPFLAGS="$CPPFLAGS -DMAXCONN=$withval"
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
CPPFLAGS="$CPPFLAGS"
|
||||
|
||||
|
||||
fi
|
||||
|
||||
|
||||
@@ -3520,6 +3544,18 @@ OMAP=$output_map
|
||||
|
||||
|
||||
|
||||
# Check whether --with-outputweb was given.
|
||||
if test "${with_outputweb+set}" = set; then :
|
||||
withval=$with_outputweb; output_web="$withval"
|
||||
else
|
||||
output_web="web-server"
|
||||
|
||||
fi
|
||||
|
||||
OWEB=$output_web
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Optionally specify the path to mysql_config
|
||||
#
|
||||
@@ -7027,7 +7063,6 @@ fi
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Host specific stuff
|
||||
#
|
||||
@@ -7092,8 +7127,8 @@ $as_echo "$as_me: CFLAGS_AR= $CFLAGS_AR" >&6;}
|
||||
$as_echo "$as_me: LDFLAGS= $LDFLAGS" >&6;}
|
||||
#AC_MSG_NOTICE([PROD_WARN= $PROD_WARN])
|
||||
#AC_MSG_NOTICE([EXTRA_WARN= $EXTRA_WARN])
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: output name = $output_login, $output_char, $output_map" >&5
|
||||
$as_echo "$as_me: output name = $output_login, $output_char, $output_map" >&6;}
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: output name = $output_login, $output_char, $output_map, $output_web" >&5
|
||||
$as_echo "$as_me: output name = $output_login, $output_char, $output_map, $output_web" >&6;}
|
||||
|
||||
###############################################################################
|
||||
cat >confcache <<\_ACEOF
|
||||
@@ -7807,10 +7842,12 @@ do
|
||||
"3rdparty/libconfig/Makefile") CONFIG_FILES="$CONFIG_FILES 3rdparty/libconfig/Makefile" ;;
|
||||
"3rdparty/yaml-cpp/Makefile") CONFIG_FILES="$CONFIG_FILES 3rdparty/yaml-cpp/Makefile" ;;
|
||||
"3rdparty/rapidyaml/Makefile") CONFIG_FILES="$CONFIG_FILES 3rdparty/rapidyaml/Makefile" ;;
|
||||
"3rdparty/httplib/Makefile") CONFIG_FILES="$CONFIG_FILES 3rdparty/httplib/Makefile" ;;
|
||||
"src/char/Makefile") CONFIG_FILES="$CONFIG_FILES src/char/Makefile" ;;
|
||||
"src/login/Makefile") CONFIG_FILES="$CONFIG_FILES src/login/Makefile" ;;
|
||||
"src/map/Makefile") CONFIG_FILES="$CONFIG_FILES src/map/Makefile" ;;
|
||||
"src/tool/Makefile") CONFIG_FILES="$CONFIG_FILES src/tool/Makefile" ;;
|
||||
"src/web/Makefile") CONFIG_FILES="$CONFIG_FILES src/web/Makefile" ;;
|
||||
|
||||
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
|
||||
esac
|
||||
|
||||
@@ -8,9 +8,10 @@ AC_LANG([C++])
|
||||
AC_LANG_COMPILER_REQUIRE
|
||||
AC_CONFIG_SRCDIR([src/common/cbasetypes.hpp])
|
||||
AC_CONFIG_FILES([Makefile src/common/Makefile])
|
||||
AC_CONFIG_FILES([3rdparty/libconfig/Makefile 3rdparty/yaml-cpp/Makefile 3rdparty/rapidyaml/Makefile])
|
||||
AC_CONFIG_FILES([3rdparty/libconfig/Makefile 3rdparty/yaml-cpp/Makefile 3rdparty/rapidyaml/Makefile 3rdparty/httplib/Makefile])
|
||||
AC_CONFIG_FILES([src/char/Makefile src/login/Makefile])
|
||||
AC_CONFIG_FILES([src/map/Makefile src/tool/Makefile])
|
||||
AC_CONFIG_FILES([src/web/Makefile])
|
||||
|
||||
AC_GNU_SOURCE
|
||||
|
||||
@@ -46,7 +47,7 @@ AC_ARG_ENABLE(
|
||||
[packetver],
|
||||
AC_HELP_STRING(
|
||||
[--enable-packetver=ARG],
|
||||
[Sets the PACKETVER define. (see src/common/mmo.h)]
|
||||
[Sets the PACKETVER define. (see src/common/mmo.hpp)]
|
||||
),
|
||||
[enable_packetver="$enableval"],
|
||||
[enable_packetver=""]
|
||||
@@ -302,7 +303,8 @@ AC_ARG_WITH(
|
||||
[maxconn],
|
||||
AC_HELP_STRING(
|
||||
[--with-maxconn@<:@=ARG@:>@],
|
||||
[optionally set the maximum connections the core can handle. By default the system header value is used.]
|
||||
[optionally set the maximum connections the core can handle. By default the system header value will be used.
|
||||
This will only be the compile time limit, make sure you set the correct limit with ulimit on your OS.]
|
||||
),
|
||||
[
|
||||
if ! test "$withval" -ge 0 -o "$withval" -lt 0 2>&- ; then
|
||||
@@ -353,6 +355,17 @@ AC_ARG_WITH(
|
||||
)
|
||||
AC_SUBST([OMAP],$output_map)
|
||||
|
||||
AC_ARG_WITH(
|
||||
[outputweb],
|
||||
AC_HELP_STRING(
|
||||
[--with-outputweb@<:@=ARG@:>@],
|
||||
[Specify the web-serv output name (defaults to web-server)]
|
||||
),
|
||||
[output_web="$withval"],
|
||||
[output_web="web-server"]
|
||||
)
|
||||
AC_SUBST([OWEB],$output_web)
|
||||
|
||||
|
||||
#
|
||||
# Optionally specify the path to mysql_config
|
||||
@@ -635,7 +648,7 @@ if test "$enable_lto" != "no" ; then
|
||||
fi
|
||||
|
||||
|
||||
AC_DEFUN(AC_CHECK_COMPILER_WFLAG,
|
||||
AC_DEFUN([AC_CHECK_COMPILER_WFLAG],
|
||||
[
|
||||
AC_MSG_CHECKING([whether $CC supports -W$1])
|
||||
OLD_CFLAGS="$CFLAGS"
|
||||
@@ -670,7 +683,7 @@ AC_DEFUN(AC_CHECK_COMPILER_WFLAG,
|
||||
]
|
||||
)
|
||||
|
||||
AC_DEFUN(AC_CHECK_COMPILER_WNOFLAG,
|
||||
AC_DEFUN([AC_CHECK_COMPILER_WNOFLAG],
|
||||
[
|
||||
AC_MSG_CHECKING([whether $CC supports -Wno-$1])
|
||||
OLD_CFLAGS="$CFLAGS"
|
||||
@@ -1301,7 +1314,6 @@ AC_SUBST([PCRE_VERSION])
|
||||
AC_SUBST([PCRE_LIBS])
|
||||
AC_SUBST([PCRE_CFLAGS])
|
||||
|
||||
|
||||
#
|
||||
# Host specific stuff
|
||||
#
|
||||
@@ -1356,7 +1368,7 @@ AC_MSG_NOTICE([CFLAGS_AR= $CFLAGS_AR])
|
||||
AC_MSG_NOTICE([LDFLAGS= $LDFLAGS])
|
||||
#AC_MSG_NOTICE([PROD_WARN= $PROD_WARN])
|
||||
#AC_MSG_NOTICE([EXTRA_WARN= $EXTRA_WARN])
|
||||
AC_MSG_NOTICE([output name = $output_login, $output_char, $output_map])
|
||||
AC_MSG_NOTICE([output name = $output_login, $output_char, $output_map, $output_web])
|
||||
|
||||
###############################################################################
|
||||
AC_OUTPUT
|
||||
@@ -44,6 +44,7 @@
|
||||
# EquipLevelMin Minimum required level to equip. (Default: 0)
|
||||
# EquipLevelMax Maximum level that can equip. (Default: 0)
|
||||
# Refineable If the item can be refined. (Default: false)
|
||||
# Gradable If the item can be graded. (Default: false)
|
||||
# View View sprite of an item. (Default: 0)
|
||||
# AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
|
||||
# Flags: Item flags. (Default: null)
|
||||
@@ -85,7 +86,7 @@
|
||||
|
||||
Header:
|
||||
Type: ITEM_DB
|
||||
Version: 2
|
||||
Version: 3
|
||||
|
||||
#Body:
|
||||
# THQ Quest Items
|
||||
|
||||
72
db/import-tmpl/item_enchant.yml
Normal file
72
db/import-tmpl/item_enchant.yml
Normal file
@@ -0,0 +1,72 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Item Enchant Database
|
||||
###########################################################################
|
||||
#
|
||||
# Item Enchant Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Id Client side LUA index.
|
||||
# TargetItems: List of possible target items.
|
||||
# <item name> Item name of possible target item.
|
||||
# MinimumRefine Minimum refine of the target item. (Default: 0)
|
||||
# MinimumEnchantgrade Minimum enchant grade of the target item. (Default: 0)
|
||||
# AllowRandomOptions Enable random options in the target item. (Default: true)
|
||||
# Reset: Reset options. (Default: null)
|
||||
# Chance Chance of successful reset. (Default: 0)
|
||||
# Price Price for resetting enchants. (Default: 0)
|
||||
# Materials: Items required for resetting enchants. (Default: null)
|
||||
# - Material Item name of the required item.
|
||||
# Amount Amount of the required item. (Default: 1)
|
||||
# Order: Order in which the slots can be enchanted.
|
||||
# Overwriting via import will clear the currently defined order.
|
||||
# - Slot Number of the slot (0-3).
|
||||
# Slots: Enchant options.
|
||||
# - Slot Number of the slot (0-3).
|
||||
# Price Price required for the normal enchant process. (Default: 0)
|
||||
# Materials: Items required for the normal enchant process. (Default: null)
|
||||
# - Material Item name of the required item.
|
||||
# Amount Amount of the required item. (Default: 1)
|
||||
# Chance Base chance for the normal enchant process. (Default: 100000)
|
||||
# EnchantgradeBonus: Additional bonus chance increase per enchant grade. (Default: null)
|
||||
# - Enchantgrade Enchant grade required for the bonus.
|
||||
# Chance Additional chance that is added to the base chance.
|
||||
# Enchants: Available enchants for the normal enchant process per enchant grade. (Default: null)
|
||||
# - Enchantgrade Enchant grade of the item to be enchanted.
|
||||
# Items: Available enchants for the normal enchant process on the given enchant grade. (Default: null)
|
||||
# - Item Item name of the available enchant item.
|
||||
# Chance Chance to get this specific enchant item.
|
||||
# PerfectEnchants: Available perfect enchants (100% chance + selectable) for this slot. (Default: null)
|
||||
# - Item Item name of the available enchant item.
|
||||
# Price Price required for this perfect enchant. (Default: 0)
|
||||
# Materials: Items required for this perfect enchant. (Default: null)
|
||||
# - Material Item name of the required item.
|
||||
# Amount Amount of the required item. (Default: 1)
|
||||
# Upgrades: Available enchant upgrades for this slot. (Default: null)
|
||||
# - Enchant Item name of the enchant item available for upgrade.
|
||||
# Upgrade Item name of the enchant it can be upgrade to.
|
||||
# Price Price required for this enchant upgrade. (Default: 0)
|
||||
# Materials: Items required for this enchant upgrade (Default: null)
|
||||
# - Material Item name of the required item.
|
||||
# Amount Amount of the required item. (Default: 1)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: ITEM_ENCHANT_DB
|
||||
Version: 1
|
||||
39
db/import-tmpl/item_packages.yml
Normal file
39
db/import-tmpl/item_packages.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Item Package Database
|
||||
###########################################################################
|
||||
#
|
||||
# Item Package Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Item Item that triggers Item Package Selection.
|
||||
# Groups: Groups that can be selected.
|
||||
# - Group Group ID that can be selected (has to match the client's LUA file).
|
||||
# Items: Items that will be given out.
|
||||
# - Item Item that will be given out.
|
||||
# Amount Amount of the item. (Default: 1)
|
||||
# To remove an item via import set amount to 0.
|
||||
# RentalHours Rental time in hours. (Default: 0)
|
||||
# Refine Refine level of the item. (Default: 0)
|
||||
# RandomOptionGroup Name of the random option group that will be applied. (Default: none)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: ITEM_PACKAGE_DB
|
||||
Version: 1
|
||||
44
db/import-tmpl/item_reform.yml
Normal file
44
db/import-tmpl/item_reform.yml
Normal file
@@ -0,0 +1,44 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Item Reform Database
|
||||
###########################################################################
|
||||
#
|
||||
# Item Reform Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Item Item that triggers Item Reform UI.
|
||||
# BaseItems: Items that can be reformed.
|
||||
# - BaseItem Item that can be reformed.
|
||||
# MinimumRefine Minimum refine level of the required items. (Default: 0)
|
||||
# MaximumRefine Maximum refine level of the required items. (Default: MAX_REFINE)
|
||||
# RequiredRandomOptions Amount of random options have to be in the item. (Default: 0)
|
||||
# CardsAllowed Allow cards in the target item. (Default: true)
|
||||
# Materials: Additional items needed for the reformation. (Default: none)
|
||||
# - Material Material item that is needed.
|
||||
# Amount Amount of the material item that is needed. (Default: 1)
|
||||
# ResultItem Item after the reform.
|
||||
# ChangeRefine Increase or decrease the refine during reformation. (Default: 0)
|
||||
# RandomOptionGroup Name of the random option group that will be applied. (Default: none)
|
||||
# ClearSlots Remove cards and socket enchants during reformation. (Default: false)
|
||||
# RemoveEnchantgrade Remove enchantgrade during reformation. (Default: false)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: ITEM_REFORM_DB
|
||||
Version: 1
|
||||
44
db/import-tmpl/map_drops.yml
Normal file
44
db/import-tmpl/map_drops.yml
Normal file
@@ -0,0 +1,44 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Map Drop Database
|
||||
###########################################################################
|
||||
#
|
||||
# Map Drop Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Map Name of the map.
|
||||
# GlobalDrops Drops for all monsters on this map. (Default: empty)
|
||||
# These drops are unaffected by server drop rate and cannot be stolen.
|
||||
# - Index Unique index of the drop.
|
||||
# Item Item name.
|
||||
# Rate Drop rate of item.
|
||||
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
|
||||
# SpecificDrops Drops for specific monsters on this map. (Default: empty)
|
||||
# - Monster Monster name.
|
||||
# Drops Drops for this specific monster. (Default: empty)
|
||||
# These drops are unaffected by server drop rate and cannot be stolen.
|
||||
# - Index Unique index of the drop.
|
||||
# Item Item name.
|
||||
# Rate Drop rate of item.
|
||||
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: MAP_DROP_DB
|
||||
Version: 1
|
||||
34
db/import-tmpl/reputation.yml
Normal file
34
db/import-tmpl/reputation.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Reputation Database
|
||||
###########################################################################
|
||||
#
|
||||
# Reputation Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Id Client side index.
|
||||
# Name Name of the reputation type.
|
||||
# Variable Name of the variable that will store the reputation. (Default: RepPoints<id>)
|
||||
# Minimum Minimum amount of points. (Default: INT64_MIN)
|
||||
# Maximum Maximum amount of points. (Default: INT64_MAX)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: REPUTATION_DB
|
||||
Version: 1
|
||||
@@ -44,6 +44,7 @@
|
||||
# EquipLevelMin Minimum required level to equip. (Default: 0)
|
||||
# EquipLevelMax Maximum level that can equip. (Default: 0)
|
||||
# Refineable If the item can be refined. (Default: false)
|
||||
# Gradable If the item can be graded. (Default: false)
|
||||
# View View sprite of an item. (Default: 0)
|
||||
# AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
|
||||
# Flags: Item flags. (Default: null)
|
||||
@@ -85,7 +86,7 @@
|
||||
|
||||
Header:
|
||||
Type: ITEM_DB
|
||||
Version: 2
|
||||
Version: 3
|
||||
|
||||
Footer:
|
||||
Imports:
|
||||
|
||||
78
db/item_enchant.yml
Normal file
78
db/item_enchant.yml
Normal file
@@ -0,0 +1,78 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Item Enchant Database
|
||||
###########################################################################
|
||||
#
|
||||
# Item Enchant Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Id Client side LUA index.
|
||||
# TargetItems: List of possible target items.
|
||||
# <item name> Item name of possible target item.
|
||||
# MinimumRefine Minimum refine of the target item. (Default: 0)
|
||||
# MinimumEnchantgrade Minimum enchant grade of the target item. (Default: 0)
|
||||
# AllowRandomOptions Enable random options in the target item. (Default: true)
|
||||
# Reset: Reset options. (Default: null)
|
||||
# Chance Chance of successful reset. (Default: 0)
|
||||
# Price Price for resetting enchants. (Default: 0)
|
||||
# Materials: Items required for resetting enchants. (Default: null)
|
||||
# - Material Item name of the required item.
|
||||
# Amount Amount of the required item. (Default: 1)
|
||||
# Order: Order in which the slots can be enchanted.
|
||||
# Overwriting via import will clear the currently defined order.
|
||||
# - Slot Number of the slot (0-3).
|
||||
# Slots: Enchant options.
|
||||
# - Slot Number of the slot (0-3).
|
||||
# Price Price required for the normal enchant process. (Default: 0)
|
||||
# Materials: Items required for the normal enchant process. (Default: null)
|
||||
# - Material Item name of the required item.
|
||||
# Amount Amount of the required item. (Default: 1)
|
||||
# Chance Base chance for the normal enchant process. (Default: 100000)
|
||||
# EnchantgradeBonus: Additional bonus chance increase per enchant grade. (Default: null)
|
||||
# - Enchantgrade Enchant grade required for the bonus.
|
||||
# Chance Additional chance that is added to the base chance.
|
||||
# Enchants: Available enchants for the normal enchant process per enchant grade. (Default: null)
|
||||
# - Enchantgrade Enchant grade of the item to be enchanted.
|
||||
# Items: Available enchants for the normal enchant process on the given enchant grade. (Default: null)
|
||||
# - Item Item name of the available enchant item.
|
||||
# Chance Chance to get this specific enchant item.
|
||||
# PerfectEnchants: Available perfect enchants (100% chance + selectable) for this slot. (Default: null)
|
||||
# - Item Item name of the available enchant item.
|
||||
# Price Price required for this perfect enchant. (Default: 0)
|
||||
# Materials: Items required for this perfect enchant. (Default: null)
|
||||
# - Material Item name of the required item.
|
||||
# Amount Amount of the required item. (Default: 1)
|
||||
# Upgrades: Available enchant upgrades for this slot. (Default: null)
|
||||
# - Enchant Item name of the enchant item available for upgrade.
|
||||
# Upgrade Item name of the enchant it can be upgrade to.
|
||||
# Price Price required for this enchant upgrade. (Default: 0)
|
||||
# Materials: Items required for this enchant upgrade (Default: null)
|
||||
# - Material Item name of the required item.
|
||||
# Amount Amount of the required item. (Default: 1)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: ITEM_ENCHANT_DB
|
||||
Version: 1
|
||||
|
||||
Footer:
|
||||
Imports:
|
||||
- Path: db/re/item_enchant.yml
|
||||
Mode: Renewal
|
||||
- Path: db/import/item_enchant.yml
|
||||
45
db/item_packages.yml
Normal file
45
db/item_packages.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Item Package Database
|
||||
###########################################################################
|
||||
#
|
||||
# Item Package Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Item Item that triggers Item Package Selection.
|
||||
# Groups: Groups that can be selected.
|
||||
# - Group Group ID that can be selected (has to match the client's LUA file).
|
||||
# Items: Items that will be given out.
|
||||
# - Item Item that will be given out.
|
||||
# Amount Amount of the item. (Default: 1)
|
||||
# To remove an item via import set amount to 0.
|
||||
# RentalHours Rental time in hours. (Default: 0)
|
||||
# Refine Refine level of the item. (Default: 0)
|
||||
# RandomOptionGroup Name of the random option group that will be applied. (Default: none)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: ITEM_PACKAGE_DB
|
||||
Version: 1
|
||||
|
||||
Footer:
|
||||
Imports:
|
||||
- Path: db/re/item_packages.yml
|
||||
Mode: Renewal
|
||||
- Path: db/import/item_packages.yml
|
||||
50
db/item_reform.yml
Normal file
50
db/item_reform.yml
Normal file
@@ -0,0 +1,50 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Item Reform Database
|
||||
###########################################################################
|
||||
#
|
||||
# Item Reform Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Item Item that triggers Item Reform UI.
|
||||
# BaseItems: Items that can be reformed.
|
||||
# - BaseItem Item that can be reformed.
|
||||
# MinimumRefine Minimum refine level of the required items. (Default: 0)
|
||||
# MaximumRefine Maximum refine level of the required items. (Default: MAX_REFINE)
|
||||
# RequiredRandomOptions Amount of random options have to be in the item. (Default: 0)
|
||||
# CardsAllowed Allow cards in the target item. (Default: true)
|
||||
# Materials: Additional items needed for the reformation. (Default: none)
|
||||
# - Material Material item that is needed.
|
||||
# Amount Amount of the material item that is needed. (Default: 1)
|
||||
# ResultItem Item after the reform.
|
||||
# ChangeRefine Increase or decrease the refine during reformation. (Default: 0)
|
||||
# RandomOptionGroup Name of the random option group that will be applied. (Default: none)
|
||||
# ClearSlots Remove cards and socket enchants during reformation. (Default: false)
|
||||
# RemoveEnchantgrade Remove enchantgrade during reformation. (Default: false)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: ITEM_REFORM_DB
|
||||
Version: 1
|
||||
|
||||
Footer:
|
||||
Imports:
|
||||
- Path: db/re/item_reform.yml
|
||||
Mode: Renewal
|
||||
- Path: db/import/item_reform.yml
|
||||
BIN
db/map_cache.dat
BIN
db/map_cache.dat
Binary file not shown.
50
db/map_drops.yml
Normal file
50
db/map_drops.yml
Normal file
@@ -0,0 +1,50 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Map Drop Database
|
||||
###########################################################################
|
||||
#
|
||||
# Map Drop Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Map Name of the map.
|
||||
# GlobalDrops Drops for all monsters on this map. (Default: empty)
|
||||
# These drops are unaffected by server drop rate and cannot be stolen.
|
||||
# - Index Unique index of the drop.
|
||||
# Item Item name.
|
||||
# Rate Drop rate of item.
|
||||
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
|
||||
# SpecificDrops Drops for specific monsters on this map. (Default: empty)
|
||||
# - Monster Monster name.
|
||||
# Drops Drops for this specific monster. (Default: empty)
|
||||
# These drops are unaffected by server drop rate and cannot be stolen.
|
||||
# - Index Unique index of the drop.
|
||||
# Item Item name.
|
||||
# Rate Drop rate of item.
|
||||
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: MAP_DROP_DB
|
||||
Version: 1
|
||||
|
||||
Footer:
|
||||
Imports:
|
||||
- Path: db/re/map_drops.yml
|
||||
Mode: Renewal
|
||||
- Path: db/import/map_drops.yml
|
||||
@@ -1161,7 +1161,30 @@ air_if
|
||||
1@jorchs
|
||||
1@jorlab
|
||||
1@whl
|
||||
|
||||
1@exhn
|
||||
1@exds
|
||||
2@exds
|
||||
1@exse
|
||||
1@exnw
|
||||
1@exsr
|
||||
1@exsh
|
||||
bl_grass
|
||||
bl_lava
|
||||
bl_ice
|
||||
bl_death
|
||||
clock_01
|
||||
rag_fes
|
||||
rag_fes_a
|
||||
memohall
|
||||
1@dime
|
||||
prt_elib
|
||||
1@vrcas
|
||||
1@vrev
|
||||
1@vrgen
|
||||
1@vrpo
|
||||
1@pdb
|
||||
airplane2
|
||||
vr_bob
|
||||
|
||||
//======================================================================================
|
||||
// - Other/Extra maps -
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
# EquipLevelMin Minimum required level to equip. (Default: 0)
|
||||
# EquipLevelMax Maximum level that can equip. (Default: 0)
|
||||
# Refineable If the item can be refined. (Default: false)
|
||||
# Gradable If the item can be graded. (Default: false)
|
||||
# View View sprite of an item. (Default: 0)
|
||||
# AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
|
||||
# Flags: Item flags. (Default: null)
|
||||
@@ -85,7 +86,7 @@
|
||||
|
||||
Header:
|
||||
Type: ITEM_DB
|
||||
Version: 2
|
||||
Version: 3
|
||||
|
||||
Footer:
|
||||
Imports:
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
# EquipLevelMin Minimum required level to equip. (Default: 0)
|
||||
# EquipLevelMax Maximum level that can equip. (Default: 0)
|
||||
# Refineable If the item can be refined. (Default: false)
|
||||
# Gradable If the item can be graded. (Default: false)
|
||||
# View View sprite of an item. (Default: 0)
|
||||
# AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
|
||||
# Flags: Item flags. (Default: null)
|
||||
@@ -85,7 +86,7 @@
|
||||
|
||||
Header:
|
||||
Type: ITEM_DB
|
||||
Version: 2
|
||||
Version: 3
|
||||
|
||||
Body:
|
||||
- Id: 1101
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
# EquipLevelMin Minimum required level to equip. (Default: 0)
|
||||
# EquipLevelMax Maximum level that can equip. (Default: 0)
|
||||
# Refineable If the item can be refined. (Default: false)
|
||||
# Gradable If the item can be graded. (Default: false)
|
||||
# View View sprite of an item. (Default: 0)
|
||||
# AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
|
||||
# Flags: Item flags. (Default: null)
|
||||
@@ -85,7 +86,7 @@
|
||||
|
||||
Header:
|
||||
Type: ITEM_DB
|
||||
Version: 2
|
||||
Version: 3
|
||||
|
||||
Body:
|
||||
- Id: 670
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
# EquipLevelMin Minimum required level to equip. (Default: 0)
|
||||
# EquipLevelMax Maximum level that can equip. (Default: 0)
|
||||
# Refineable If the item can be refined. (Default: false)
|
||||
# Gradable If the item can be graded. (Default: false)
|
||||
# View View sprite of an item. (Default: 0)
|
||||
# AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
|
||||
# Flags: Item flags. (Default: null)
|
||||
@@ -85,7 +86,7 @@
|
||||
|
||||
Header:
|
||||
Type: ITEM_DB
|
||||
Version: 2
|
||||
Version: 3
|
||||
|
||||
Body:
|
||||
- Id: 501
|
||||
|
||||
@@ -79,6 +79,7 @@ Body:
|
||||
DurationLookup: NPC_PETRIFYATTACK
|
||||
States:
|
||||
NoCast: true
|
||||
NoAttack: true
|
||||
Opt1: StoneWait
|
||||
Flags:
|
||||
SendOption: true
|
||||
@@ -352,6 +353,8 @@ Body:
|
||||
DurationLookup: AS_ENCHANTPOISON
|
||||
CalcFlags:
|
||||
Atk_Ele: true
|
||||
Flags:
|
||||
RemoveOnUnequipWeapon: true
|
||||
End:
|
||||
Aspersio: true
|
||||
Fireweapon: true
|
||||
@@ -494,6 +497,7 @@ Body:
|
||||
Earthweapon: true
|
||||
Shadowweapon: true
|
||||
Ghostweapon: true
|
||||
Enchantarms: true
|
||||
- Status: Benedictio
|
||||
Icon: EFST_BENEDICTIO
|
||||
DurationLookup: PR_BENEDICTIO
|
||||
@@ -519,8 +523,6 @@ Body:
|
||||
FailedMado: true
|
||||
NoSave: true
|
||||
SuperNoviceAngel: true
|
||||
Fail:
|
||||
Offertorium: true
|
||||
- Status: Gloria
|
||||
Icon: EFST_GLORIA
|
||||
DurationLookup: PR_GLORIA
|
||||
@@ -751,6 +753,7 @@ Body:
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
NoSave: true
|
||||
- Status: Stripshield
|
||||
Icon: EFST_NOEQUIPSHIELD
|
||||
DurationLookup: RG_STRIPSHIELD
|
||||
@@ -762,6 +765,7 @@ Body:
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
NoSave: true
|
||||
- Status: Striparmor
|
||||
Icon: EFST_NOEQUIPARMOR
|
||||
DurationLookup: RG_STRIPARMOR
|
||||
@@ -773,6 +777,7 @@ Body:
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
NoSave: true
|
||||
- Status: Striphelm
|
||||
Icon: EFST_NOEQUIPHELM
|
||||
DurationLookup: RG_STRIPHELM
|
||||
@@ -784,6 +789,7 @@ Body:
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
NoSave: true
|
||||
- Status: Cp_Weapon
|
||||
Icon: EFST_PROTECTWEAPON
|
||||
DurationLookup: AM_CP_WEAPON
|
||||
@@ -931,6 +937,7 @@ Body:
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
NoSave: true
|
||||
- Status: Explosionspirits
|
||||
Icon: EFST_EXPLOSIONSPIRITS
|
||||
DurationLookup: MO_EXPLOSIONSPIRITS
|
||||
@@ -942,6 +949,7 @@ Body:
|
||||
Flags:
|
||||
Debuff: true
|
||||
NoClearance: true
|
||||
NoSave: true
|
||||
- Status: Combo
|
||||
Flags:
|
||||
NoClearbuff: true
|
||||
@@ -978,7 +986,7 @@ Body:
|
||||
CalcFlags:
|
||||
Atk_Ele: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
RemoveOnUnequipWeapon: true
|
||||
End:
|
||||
Encpoison: true
|
||||
Aspersio: true
|
||||
@@ -993,7 +1001,7 @@ Body:
|
||||
CalcFlags:
|
||||
Atk_Ele: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
RemoveOnUnequipWeapon: true
|
||||
End:
|
||||
Encpoison: true
|
||||
Aspersio: true
|
||||
@@ -1008,7 +1016,7 @@ Body:
|
||||
CalcFlags:
|
||||
Atk_Ele: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
RemoveOnUnequipWeapon: true
|
||||
End:
|
||||
Encpoison: true
|
||||
Aspersio: true
|
||||
@@ -1023,7 +1031,7 @@ Body:
|
||||
CalcFlags:
|
||||
Atk_Ele: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
RemoveOnUnequipWeapon: true
|
||||
End:
|
||||
Encpoison: true
|
||||
Aspersio: true
|
||||
@@ -1325,6 +1333,7 @@ Body:
|
||||
Flags:
|
||||
Debuff: true
|
||||
NoClearance: true
|
||||
NoSave: true
|
||||
End:
|
||||
Blessing: true
|
||||
Increaseagi: true
|
||||
@@ -5445,6 +5454,7 @@ Body:
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
SendVal1: true
|
||||
NoForcedEnd: true
|
||||
- Status: Angel_Protect
|
||||
Icon: EFST_ANGEL_PROTECT
|
||||
@@ -6106,6 +6116,7 @@ Body:
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
SendVal1: true
|
||||
NoForcedEnd: true
|
||||
- Status: Ljosalfar
|
||||
Icon: EFST_LJOSALFAR
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -44,6 +44,7 @@
|
||||
# EquipLevelMin Minimum required level to equip. (Default: 0)
|
||||
# EquipLevelMax Maximum level that can equip. (Default: 0)
|
||||
# Refineable If the item can be refined. (Default: false)
|
||||
# Gradable If the item can be graded. (Default: false)
|
||||
# View View sprite of an item. (Default: 0)
|
||||
# AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
|
||||
# Flags: Item flags. (Default: null)
|
||||
@@ -85,7 +86,7 @@
|
||||
|
||||
Header:
|
||||
Type: ITEM_DB
|
||||
Version: 2
|
||||
Version: 3
|
||||
|
||||
Footer:
|
||||
Imports:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
18096
db/re/item_enchant.yml
Normal file
18096
db/re/item_enchant.yml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -26140,7 +26140,7 @@ Body:
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: Sea_Otter_Mini_Fan
|
||||
- Item: SeeOtter_Fan
|
||||
RandomOptionGroup: FAN_UPGRADE_KIT
|
||||
- Group: SUIT_UPGRADE_KIT
|
||||
SubGroups:
|
||||
@@ -26637,9 +26637,9 @@ Body:
|
||||
SubGroups:
|
||||
- SubGroup: 1
|
||||
List:
|
||||
- Item: S_Almighty_Earring
|
||||
- Item: S_AllMighty_Earring
|
||||
Rate: 1
|
||||
- Item: S_Almighty_Pendant
|
||||
- Item: S_AllMighty_Pendant
|
||||
Rate: 1
|
||||
- Group: GEMSTONESHADOW_MIX
|
||||
SubGroups:
|
||||
@@ -26748,12 +26748,12 @@ Body:
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_Kingbird_Ancient_Armor
|
||||
- Item: S_KingbirdAncient_Armor
|
||||
- Group: CRITICALHIT_MIX
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_Cri_Hit_Armor
|
||||
- Item: S_CriticalHit_Armor
|
||||
- Group: BS_ITEM_M_S_2
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
@@ -26907,7 +26907,7 @@ Body:
|
||||
List:
|
||||
- Item: SurviveOrb_K
|
||||
Rate: 1
|
||||
- Item: Survive_Circlet_
|
||||
- Item: Survive_Circlet_K
|
||||
Rate: 1
|
||||
- Group: BS_ITEM_M_S_28
|
||||
SubGroups:
|
||||
@@ -27509,7 +27509,7 @@ Body:
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: Wickebines_Black_Cat_Ears
|
||||
- Item: Whikebain_Ears_K
|
||||
- Group: ENCHANTSTONE_RECIPE_9M
|
||||
SubGroups:
|
||||
- SubGroup: 1
|
||||
@@ -27850,9 +27850,9 @@ Body:
|
||||
Rate: 4
|
||||
- Item: S_Bearer's_Shoes_II
|
||||
Rate: 4
|
||||
- Item: S_Almighty_Earring
|
||||
- Item: S_AllMighty_Earring
|
||||
Rate: 4
|
||||
- Item: S_Almighty_Pendant
|
||||
- Item: S_AllMighty_Pendant
|
||||
Rate: 4
|
||||
- Item: S_All_Race_Shoes
|
||||
Rate: 4
|
||||
@@ -27920,7 +27920,7 @@ Body:
|
||||
Rate: 4
|
||||
- Item: S_Hard_Champion_Shoes
|
||||
Rate: 4
|
||||
- Item: S_Kingbird_Ancient_Armor
|
||||
- Item: S_KingbirdAncient_Armor
|
||||
Rate: 4
|
||||
- Item: S_Rebellion_Armor
|
||||
Rate: 4
|
||||
@@ -29413,14 +29413,14 @@ Body:
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: Up_Thousand_Sun
|
||||
- Item: Up_OneSkyOneSun
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 7
|
||||
- Group: SPIRIT_PENDULUM_CUBE
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: Up_Spirit_Pendulum_
|
||||
- Item: Up_SoulWeight
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 7
|
||||
- Group: CRIMSON_ROSE_CUBE
|
||||
@@ -29441,21 +29441,21 @@ Body:
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: Up_Golden_Lord_Launcher
|
||||
- Item: Up_Golden_L_Launcher
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 7
|
||||
- Group: THE_BLACK_CUBE
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: Up_The_Black
|
||||
- Item: Up_The_Black_Gatling
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 7
|
||||
- Group: DEMON_SLAYER_SHOT_CUBE
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: Up_Demon_Slayer_Shot
|
||||
- Item: Up_Demon_S_Shot
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 7
|
||||
- Group: RUNE_CRAFT_MATERIALS
|
||||
@@ -31074,7 +31074,7 @@ Body:
|
||||
Rate: 100
|
||||
- Item: Avenger
|
||||
Rate: 100
|
||||
- Item: Aeon_Staff
|
||||
- Item: Iron_Staff
|
||||
Rate: 100
|
||||
- Item: Oriental_Sword
|
||||
Rate: 100
|
||||
@@ -31125,25 +31125,353 @@ Body:
|
||||
List:
|
||||
- Item: Blacksmith_Blessing
|
||||
Amount: 2
|
||||
- Group: Bs_Item_M_S_53
|
||||
- Group: BS_ITEM_M_S_53
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: Shadow_Refine_Hammer
|
||||
Amount: 2
|
||||
- Group: Bs_Item_M_S_54
|
||||
- Group: BS_ITEM_M_S_54
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: Mightysoul_Essence
|
||||
- Group: Bs_Item_M_S_55
|
||||
- Group: BS_ITEM_M_S_55
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: M_Dimension_Essence
|
||||
- Group: Bs_Item_M_S_56
|
||||
- Group: BS_ITEM_M_S_56
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: Enchant_Ticket
|
||||
Amount: 2
|
||||
- Group: ENCHANT_STONE_BOX28
|
||||
SubGroups:
|
||||
- SubGroup: 1
|
||||
List:
|
||||
- Item: M_PATKStone_Robe
|
||||
Rate: 10
|
||||
- Item: R_PATKStone_Robe
|
||||
Rate: 10
|
||||
- Item: POWStone_Robe_D
|
||||
Rate: 10
|
||||
- Item: ConStone_Robe_D
|
||||
Rate: 10
|
||||
- Item: Critical_Stone_Robe
|
||||
Rate: 20
|
||||
- Item: SPdrainStone_Robe_D
|
||||
Rate: 40
|
||||
- Item: SPdrainStone_Top
|
||||
Rate: 80
|
||||
- Item: CastStone_Robe
|
||||
Rate: 80
|
||||
- Item: ASPDStone_Top
|
||||
Rate: 150
|
||||
- Item: ASPDStone_Robe_D
|
||||
Rate: 80
|
||||
- Item: HPdrainStone_Robe_D
|
||||
Rate: 80
|
||||
- Item: GreenFloor_Bottom
|
||||
Rate: 160
|
||||
- Item: ExplodingEffect_Middle
|
||||
Rate: 160
|
||||
- Item: StarEmperorStone_Garment
|
||||
Rate: 80
|
||||
- Item: GunslingerStone_Robe
|
||||
Rate: 80
|
||||
- Item: SoulReaperStone_Robe
|
||||
Rate: 80
|
||||
- Item: StarStone_Top3
|
||||
Rate: 80
|
||||
- Item: StarStone_Middle3
|
||||
Rate: 80
|
||||
- Item: StarStone_Bottom3
|
||||
Rate: 80
|
||||
- Item: RebelStone_Top3
|
||||
Rate: 80
|
||||
- Item: RebelStone_Middle3
|
||||
Rate: 80
|
||||
- Item: RebelStone_Bottom3
|
||||
Rate: 80
|
||||
- Item: ReaperStone_Top3
|
||||
Rate: 80
|
||||
- Item: ReaperStone_Middle3
|
||||
Rate: 80
|
||||
- Item: ReaperStone_Bottom3
|
||||
Rate: 80
|
||||
- Item: aegis_100465
|
||||
Rate: 160
|
||||
- Item: aegis_100495
|
||||
Rate: 160
|
||||
- Item: Magic_Stone_Top
|
||||
Rate: 240
|
||||
- Item: Magic_Stone_Middle
|
||||
Rate: 240
|
||||
- Item: Magic_Stone_Bottom
|
||||
Rate: 240
|
||||
- Item: StarGladiatorStone_Top
|
||||
Rate: 150
|
||||
- Item: StarGladiatorStone_Middle
|
||||
Rate: 150
|
||||
- Item: StarGladiatorStone_Bottom
|
||||
Rate: 150
|
||||
- Item: GunslingerStone_Top
|
||||
Rate: 150
|
||||
- Item: GunslingerStone_Middle
|
||||
Rate: 150
|
||||
- Item: GunslingerStone_Bottom
|
||||
Rate: 150
|
||||
- Item: SoulLinkerStone_Top
|
||||
Rate: 150
|
||||
- Item: SoulLinkerStone_Middle
|
||||
Rate: 150
|
||||
- Item: SoulLinkerStone_Bottom
|
||||
Rate: 150
|
||||
- Item: Melee_Stone_Top
|
||||
Rate: 240
|
||||
- Item: Melee_Stone_Middle
|
||||
Rate: 240
|
||||
- Item: Melee_Stone_Bottom
|
||||
Rate: 240
|
||||
- Item: Range_Stone_Top
|
||||
Rate: 240
|
||||
- Item: Range_Stone
|
||||
Rate: 240
|
||||
- Item: Range_Stone_Bottom
|
||||
Rate: 240
|
||||
- Item: aegis_100496
|
||||
Rate: 360
|
||||
- Item: aegis_100497
|
||||
Rate: 360
|
||||
- Item: aegis_100498
|
||||
Rate: 360
|
||||
- Item: aegis_100499
|
||||
Rate: 360
|
||||
- Item: aegis_100500
|
||||
Rate: 360
|
||||
- Item: aegis_100501
|
||||
Rate: 360
|
||||
- Item: CastingStone_Top
|
||||
Rate: 360
|
||||
- Item: CastingStone_Middle
|
||||
Rate: 360
|
||||
- Item: CastingStone_Bottom
|
||||
Rate: 360
|
||||
- Item: Critical_Stone
|
||||
Rate: 360
|
||||
- Item: Critical_Stone_Top
|
||||
Rate: 360
|
||||
- Item: Critical_Stone_Bottom
|
||||
Rate: 360
|
||||
- Group: S_FULLPENE_EARRING
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_FullPene_Earring
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_FULLPENE_PENDANT
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_FullPene_Pendant
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_FULLPENE_ARMOR
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_FullPene_Armor
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_FULLPENE_SHOES
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_FullPene_Shoes
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_FULLTEMP_EARRING
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_FullTemp_Earring
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_FULLTEMP_PENDANT
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_FullTemp_Pendant
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_FULLTEMP_ARMOR
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_FullTemp_Armor
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_FULLTEMP_SHOES
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_FullTemp_Shoes
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_DURABLE_WEAPON
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_Durable_Weapon
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_DURABLE_SHIELD
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_Durable_Shield
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_CLEVER_WEAPON
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_Clever_Weapon
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_CLEVER_SHIELD
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_Clever_Shield
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_ALLMIGHTY_EARRING
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_AllMighty_Earring
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_ALLMIGHTY_PENDANT
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_AllMighty_Pendant
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_TRUEGEM_EARRING
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_TrueGem_Earring
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_TRUEGEM_PENDANT
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_TrueGem_Pendant
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_TRUEGEM_SHOES
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_TrueGem_Shoes
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_TRUEGEM_ARMOR
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_TrueGem_Armor
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_PERFECTSIZE_WEAPON
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_PerfectSize_Weapon
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_PERFECTSIZE_ARMOR
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_PerfectSize_Armor
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_M_MAMMOTH_EARRING
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_M_Mammoth_Earring
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_M_MAMMOTH_PENDANT
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_M_Mammoth_Pendant
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_M_MAMMOTH_ARMOR
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_M_Mammoth_Armor
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_M_MAMMOTH_SHOES
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_M_Mammoth_Shoes
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_SPELLCASTER_EARRING
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_SpellCaster_Earring
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_SPELLCASTER_PENDANT
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_SpellCaster_Pendant
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_SPELLCASTER_ARMOR
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_SpellCaster_Armor
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_SPELLCASTER_SHOES
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_SpellCaster_Shoes
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_ABSORB_WEAPON
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_Absorb_Weapon
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
- Group: S_ABSORB_SHIELD
|
||||
SubGroups:
|
||||
- SubGroup: 0
|
||||
List:
|
||||
- Item: S_Absorb_Shield
|
||||
RefineMinimum: 7
|
||||
RefineMaximum: 10
|
||||
|
||||
531
db/re/item_packages.yml
Normal file
531
db/re/item_packages.yml
Normal file
@@ -0,0 +1,531 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Item Package Database
|
||||
###########################################################################
|
||||
#
|
||||
# Item Package Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Item Item that triggers Item Package Selection.
|
||||
# Groups: Groups that can be selected.
|
||||
# - Group Group ID that can be selected (has to match the client's LUA file).
|
||||
# Items: Items that will be given out.
|
||||
# - Item Item that will be given out.
|
||||
# Amount Amount of the item. (Default: 1)
|
||||
# To remove an item via import set amount to 0.
|
||||
# RentalHours Rental time in hours. (Default: 0)
|
||||
# Refine Refine level of the item. (Default: 0)
|
||||
# RandomOptionGroup Name of the random option group that will be applied. (Default: none)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: ITEM_PACKAGE_DB
|
||||
Version: 1
|
||||
|
||||
Body:
|
||||
- Item: Select_Example1
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Cotton_Shirt
|
||||
Refine: 7
|
||||
# RandomOptionGroup: TODO <insert random option group name>
|
||||
- Item: Shoes
|
||||
Refine: 5
|
||||
# RandomOptionGroup: TODO <insert random option group name>
|
||||
- Item: Muffler
|
||||
Refine: 3
|
||||
# RandomOptionGroup: TODO <insert random option group name>
|
||||
- Item: Event_Pierrot_Nose
|
||||
RentalHours: 24
|
||||
# RandomOptionGroup: TODO <insert random option group name>
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Red_Potion
|
||||
Amount: 100
|
||||
- Item: Orange_Potion
|
||||
Amount: 50
|
||||
- Item: White_Potion
|
||||
Amount: 10
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Jellopy
|
||||
Amount: 10
|
||||
- Item: Hinalle
|
||||
- Item: Yellow_Gemstone
|
||||
Amount: 3
|
||||
- Item: Azure_Jewel
|
||||
- Item: Spore_Doll
|
||||
Amount: 2
|
||||
- Item: Select_Example2
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Knife
|
||||
Refine: 4
|
||||
# RandomOptionGroup: TODO <insert random option group name>
|
||||
- Item: Cotton_Shirt
|
||||
Refine: 4
|
||||
# RandomOptionGroup: TODO <insert random option group name>
|
||||
- Item: Red_Potion
|
||||
Amount: 100
|
||||
- Item: Ring
|
||||
RentalHours: 24
|
||||
# RandomOptionGroup: TODO <insert random option group name>
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Tsurugi
|
||||
Refine: 5
|
||||
# RandomOptionGroup: TODO <insert random option group name>
|
||||
- Item: Padded_Armor
|
||||
Refine: 5
|
||||
# RandomOptionGroup: TODO <insert random option group name>
|
||||
- Item: Yellow_Potion
|
||||
Amount: 50
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Sword
|
||||
Refine: 20
|
||||
# RandomOptionGroup: TODO <insert random option group name>
|
||||
- Item: Guard
|
||||
RentalHours: 168
|
||||
Refine: 5
|
||||
# RandomOptionGroup: TODO <insert random option group name>
|
||||
- Item: White_Herb
|
||||
Amount: 100
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Fabre_Card
|
||||
- Item: Pupa_Card
|
||||
- Item: Drops_Card
|
||||
- Item: Poring__Card
|
||||
- Item: Lunatic_Card
|
||||
- Item: Pecopeco_Egg_Card
|
||||
- Item: Picky_Card
|
||||
- Item: Chonchon_Card
|
||||
- Item: Wilow_Card
|
||||
- Item: Picky__Card
|
||||
- Item: Thief_Bug_Egg_Card
|
||||
- Item: Andre_Egg_Card
|
||||
- Item: Roda_Frog_Card
|
||||
- Item: Condor_Card
|
||||
- Item: Thief_Bug_Card
|
||||
- Item: Savage_Babe_Card
|
||||
- Item: Andre_Larva_Card
|
||||
- Item: Hornet_Card
|
||||
- Item: Farmiliar_Card
|
||||
- Item: Rocker_Card
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Poring_Card
|
||||
- Group: 5
|
||||
Items:
|
||||
- Item: LI_Nyangvine_Box3_26
|
||||
Amount: 5
|
||||
- Group: 6
|
||||
Items:
|
||||
- Item: C_Hair_Of_The_Strong
|
||||
# RandomOptionGroup: TODO <insert random option group name>
|
||||
- Item: C_Imp_Hat
|
||||
# RandomOptionGroup: TODO <insert random option group name>
|
||||
- Group: 7
|
||||
Items:
|
||||
- Item: C_Classical_Fhat
|
||||
- Group: 8
|
||||
Items:
|
||||
- Item: Wing_Of_Fly
|
||||
Amount: 3
|
||||
RentalHours: 24
|
||||
- Item: Wing_Of_Butterfly
|
||||
Amount: 5
|
||||
RentalHours: 168
|
||||
- Item: Old_Blue_Box
|
||||
RentalHours: 1
|
||||
- Group: 9
|
||||
Items:
|
||||
- Item: Red_Potion
|
||||
Amount: 10
|
||||
- Item: Red_Potion
|
||||
Amount: 5
|
||||
- Item: Red_Potion
|
||||
- Item: Red_Potion
|
||||
Amount: 3
|
||||
RentalHours: 1
|
||||
- Group: 10
|
||||
Items:
|
||||
- Item: Guard_
|
||||
- Item: Guard_
|
||||
- Item: Guard_
|
||||
- Group: 11
|
||||
Items:
|
||||
- Item: Orange_Potion
|
||||
Amount: 800
|
||||
- Item: Boost_Armor_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Attacker_Booster_Plate_
|
||||
- Item: Attacker_Booster_Manteau_
|
||||
- Item: Attacker_Booster_Greaves_
|
||||
- Item: Attacker_Booster_Ring
|
||||
- Item: Boost_Up_1
|
||||
Amount: 3
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Ranger_Booster_Suits_
|
||||
- Item: Ranger_Booster_Manteau_
|
||||
- Item: Ranger_Booster_Boots_
|
||||
- Item: Range_Booster_Brooch
|
||||
- Item: Boost_Up_1
|
||||
Amount: 3
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Elemental_Booster_Robe_
|
||||
- Item: Elemental_Booster_Muffler_
|
||||
- Item: Elemental_Booster_Shoes_
|
||||
- Item: Elemental_Booster_Earring
|
||||
- Item: Boost_Up_1
|
||||
Amount: 3
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Defender_Booster_Robe_
|
||||
- Item: Defender_Booster_Muffler_
|
||||
- Item: Defender_Booster_Shoes_
|
||||
- Item: Defender_Booster_Earring
|
||||
- Item: Boost_Up_1
|
||||
Amount: 3
|
||||
- Item: Special_Coin_Pack
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: EP17_1_EVT39
|
||||
Amount: 3
|
||||
- Item: EP17_1_EVT02
|
||||
Amount: 18
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: BarMealTicket
|
||||
Amount: 20
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Ep18_Amethyst_Fragment
|
||||
Amount: 20
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Ep19_Snow_Flower
|
||||
Amount: 20
|
||||
- Item: Metal_W_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Metal_Two_Hand_Sword
|
||||
Refine: 7
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Metal_Lance
|
||||
Refine: 7
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Metal_Mace
|
||||
Refine: 7
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Metal_Two_Handed_Axe
|
||||
Refine: 7
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Metal_Dagger
|
||||
Refine: 7
|
||||
- Group: 5
|
||||
Items:
|
||||
- Item: Metal_Book
|
||||
Refine: 7
|
||||
- Group: 6
|
||||
Items:
|
||||
- Item: Metal_Staff
|
||||
Refine: 7
|
||||
- Group: 7
|
||||
Items:
|
||||
- Item: Metal_Katar
|
||||
Refine: 7
|
||||
- Group: 8
|
||||
Items:
|
||||
- Item: Metal_Bow
|
||||
Refine: 7
|
||||
- Group: 9
|
||||
Items:
|
||||
- Item: Metal_Revolver
|
||||
Refine: 7
|
||||
- Group: 10
|
||||
Items:
|
||||
- Item: Metal_Foxtail
|
||||
Refine: 7
|
||||
- Item: Memento_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Booster_Mask_A
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Booster_Mask_B
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Booster_Mask_C
|
||||
- Item: P_Memento_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Booster_Scarf_A
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Booster_Scarf_B
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Booster_Scarf_C
|
||||
- Item: Booster_Hat_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: C_Pretty_Rabbit_Hood_E
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: C_Black_Cat_Hood_kr
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: C_Squirrel_Ear_Hat_Kr
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: C_Black_Moon_Cat_kr
|
||||
- Item: Booster_Back_Box
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: C_School_Bag_RD_E
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: C_School_Bag_BL
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: C_School_Bag_BU
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: C_School_Bag_PU
|
||||
- Item: aegis_101470
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Minus_Str
|
||||
Amount: 6
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Minus_Agi
|
||||
Amount: 6
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Minus_Vit
|
||||
Amount: 6
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Minus_Int
|
||||
Amount: 6
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Minus_Dex
|
||||
Amount: 6
|
||||
- Group: 5
|
||||
Items:
|
||||
- Item: Minus_Luk
|
||||
Amount: 6
|
||||
- Group: 6
|
||||
Items:
|
||||
- Item: Minus_Str
|
||||
- Item: Minus_Agi
|
||||
- Item: Minus_Vit
|
||||
- Item: Minus_Int
|
||||
- Item: Minus_Dex
|
||||
- Item: Minus_Luk
|
||||
- Item: aegis_101471
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Fire_Bottle
|
||||
Amount: 50
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Acid_Bottle
|
||||
Amount: 50
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: MenEater_Plant_Bottle
|
||||
Amount: 50
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Coating_Bottle
|
||||
Amount: 50
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Mini_Bottle
|
||||
Amount: 50
|
||||
- Item: aegis_101542
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101543
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101544
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: aegis_101545
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: aegis_101546
|
||||
- Item: aegis_101547
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101548
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101549
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: aegis_101550
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: aegis_101551
|
||||
- Item: aegis_101552
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101553
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101554
|
||||
- Item: aegis_101555
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101556
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101557
|
||||
- Item: aegis_101563
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Ignis_CapK
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Phantom_Cap
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Stripe_Hat
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Clock_Casket_RD
|
||||
- Group: 4
|
||||
Items:
|
||||
- Item: Large_Sorcerer_Crown
|
||||
- Group: 5
|
||||
Items:
|
||||
- Item: Scorpio_Diadem_K
|
||||
- Group: 6
|
||||
Items:
|
||||
- Item: Sagittarius_DiademK
|
||||
- Item: aegis_101565
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: Class_Sha_R_M_Melee
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: Class_Sha_R_M_Magic
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: Skill_Sha_R_M_Melee
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: Skill_Sha_R_M_Magic
|
||||
- Item: aegis_101654
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101655
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101656
|
||||
- Item: aegis_101657
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101658
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101659
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: aegis_101660
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: aegis_101661
|
||||
- Item: aegis_101662
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101663
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101664
|
||||
- Item: aegis_101727
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101717
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101718
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: aegis_101719
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: aegis_101720
|
||||
- Item: aegis_101728
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101721
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101722
|
||||
- Group: 2
|
||||
Items:
|
||||
- Item: aegis_101723
|
||||
- Group: 3
|
||||
Items:
|
||||
- Item: aegis_101724
|
||||
- Item: aegis_101729
|
||||
Groups:
|
||||
- Group: 0
|
||||
Items:
|
||||
- Item: aegis_101725
|
||||
- Group: 1
|
||||
Items:
|
||||
- Item: aegis_101726
|
||||
6894
db/re/item_reform.yml
Normal file
6894
db/re/item_reform.yml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -364,8 +364,8 @@ Body:
|
||||
- Item: S_Gemstone_Shield_II
|
||||
- Item: S_Bearer's_Armor_II
|
||||
- Item: S_Bearer's_Shoes_II
|
||||
- Item: S_Almighty_Earring
|
||||
- Item: S_Almighty_Pendant
|
||||
- Item: S_AllMighty_Earring
|
||||
- Item: S_AllMighty_Pendant
|
||||
- Item: S_Tempest_Shield
|
||||
- Item: S_Tempest_Shoes
|
||||
- Item: S_Magic_Executioner_Holy_Water_Armor
|
||||
@@ -416,8 +416,8 @@ Body:
|
||||
- Item: S_Magical_Armor
|
||||
- Item: S_Immune_Athena_Shield
|
||||
- Item: S_Hard_Champion_Shoes
|
||||
- Item: S_Kingbird_Ancient_Armor
|
||||
- Item: S_Cri_Hit_Armor
|
||||
- Item: S_KingbirdAncient_Armor
|
||||
- Item: S_CriticalHit_Armor
|
||||
- Item: S_Rebellion_Armor
|
||||
- Item: S_Kagerou_Armor
|
||||
- Item: S_Oboro_Armor
|
||||
@@ -1853,7 +1853,7 @@ Body:
|
||||
- Item: Fan_Upgrade_Kit
|
||||
RewardGroup: FAN_UPGRADE_KIT
|
||||
Requirements:
|
||||
- Item: Sea_Otter_Mini_Fan
|
||||
- Item: SeeOtter_Fan
|
||||
- Item: Suit_Upgrade_Kit
|
||||
RewardGroup: SUIT_UPGRADE_KIT
|
||||
Requirements:
|
||||
@@ -3202,7 +3202,7 @@ Body:
|
||||
RewardGroup: IRON_STAFF_CUBE
|
||||
MinimumRefine: 9
|
||||
Requirements:
|
||||
- Item: Aeon_Staff
|
||||
- Item: Iron_Staff
|
||||
- Item: Blue_Crystal_Staff_Cube
|
||||
RewardGroup: BLUE_CRYSTAL_STAFF_CUBE
|
||||
MinimumRefine: 9
|
||||
@@ -3696,8 +3696,8 @@ Body:
|
||||
# - Item: S_Gemstone_Shield_II
|
||||
# - Item: S_Bearer's_Armor_II
|
||||
# - Item: S_Bearer's_Shoes_II
|
||||
# - Item: S_Almighty_Earring
|
||||
# - Item: S_Almighty_Pendant
|
||||
# - Item: S_AllMighty_Earring
|
||||
# - Item: S_AllMighty_Pendant
|
||||
# - Item: S_Tempest_Shield
|
||||
# - Item: S_Tempest_Shoes
|
||||
# - Item: S_Magic_Executioner_Holy_Water_Armor
|
||||
@@ -3748,8 +3748,8 @@ Body:
|
||||
# - Item: S_Magical_Armor
|
||||
# - Item: S_Immune_Athena_Shield
|
||||
# - Item: S_Hard_Champion_Shoes
|
||||
# - Item: S_Kingbird_Ancient_Armor
|
||||
# - Item: S_Cri_Hit_Armor
|
||||
# - Item: S_KingbirdAncient_Armor
|
||||
# - Item: S_CriticalHit_Armor
|
||||
# - Item: S_Rebellion_Armor
|
||||
# - Item: S_Kagerou_Armor
|
||||
# - Item: S_Oboro_Armor
|
||||
|
||||
@@ -494,8 +494,8 @@ Body:
|
||||
- Item: S_Gemstone_Shield_II
|
||||
- Item: S_Bearer's_Armor_II
|
||||
- Item: S_Bearer's_Shoes_II
|
||||
- Item: S_Almighty_Earring
|
||||
- Item: S_Almighty_Pendant
|
||||
- Item: S_AllMighty_Earring
|
||||
- Item: S_AllMighty_Pendant
|
||||
- Item: S_All_Race_Shoes
|
||||
- Item: S_All_Race_Shield
|
||||
- Item: S_Blitz_Weapon
|
||||
@@ -550,8 +550,8 @@ Body:
|
||||
- Item: S_Magical_Armor
|
||||
- Item: S_Immune_Athena_Shield
|
||||
- Item: S_Hard_Champion_Shoes
|
||||
- Item: S_Kingbird_Ancient_Armor
|
||||
- Item: S_Cri_Hit_Armor
|
||||
- Item: S_KingbirdAncient_Armor
|
||||
- Item: S_CriticalHit_Armor
|
||||
- Item: S_Thief_earring
|
||||
- Item: S_Archer_earring
|
||||
- Item: S_Rebellion_Armor
|
||||
@@ -1226,8 +1226,8 @@ Body:
|
||||
- Item: S_Gemstone_Shield_II
|
||||
- Item: S_Bearer's_Armor_II
|
||||
- Item: S_Bearer's_Shoes_II
|
||||
- Item: S_Almighty_Earring
|
||||
- Item: S_Almighty_Pendant
|
||||
- Item: S_AllMighty_Earring
|
||||
- Item: S_AllMighty_Pendant
|
||||
- Item: S_All_Race_Shoes
|
||||
- Item: S_All_Race_Shield
|
||||
- Item: S_Blitz_Weapon
|
||||
@@ -1282,8 +1282,8 @@ Body:
|
||||
- Item: S_Magical_Armor
|
||||
- Item: S_Immune_Athena_Shield
|
||||
- Item: S_Hard_Champion_Shoes
|
||||
- Item: S_Kingbird_Ancient_Armor
|
||||
- Item: S_Cri_Hit_Armor
|
||||
- Item: S_KingbirdAncient_Armor
|
||||
- Item: S_CriticalHit_Armor
|
||||
- Item: S_Tempest_Weapon
|
||||
- Item: S_Tempest_Armor
|
||||
- Item: S_PerfectSize_Weapon
|
||||
@@ -2036,8 +2036,8 @@ Body:
|
||||
- Item: S_Gemstone_Shield_II
|
||||
- Item: S_Bearer's_Armor_II
|
||||
- Item: S_Bearer's_Shoes_II
|
||||
- Item: S_Almighty_Earring
|
||||
- Item: S_Almighty_Pendant
|
||||
- Item: S_AllMighty_Earring
|
||||
- Item: S_AllMighty_Pendant
|
||||
- Item: S_All_Race_Shoes
|
||||
- Item: S_All_Race_Shield
|
||||
- Item: S_Blitz_Weapon
|
||||
@@ -2092,8 +2092,8 @@ Body:
|
||||
- Item: S_Magical_Armor
|
||||
- Item: S_Immune_Athena_Shield
|
||||
- Item: S_Hard_Champion_Shoes
|
||||
- Item: S_Kingbird_Ancient_Armor
|
||||
- Item: S_Cri_Hit_Armor
|
||||
- Item: S_KingbirdAncient_Armor
|
||||
- Item: S_CriticalHit_Armor
|
||||
- Item: S_Thief_earring
|
||||
- Item: S_Archer_earring
|
||||
- Item: S_Rebellion_Armor
|
||||
@@ -2496,7 +2496,7 @@ Body:
|
||||
- Item: Magic_Sword
|
||||
- Item: Sword_Of_Bluefire
|
||||
- Item: Avenger
|
||||
- Item: Aeon_Staff
|
||||
- Item: Iron_Staff
|
||||
- Item: Oriental_Sword
|
||||
- Item: Undine_Spear_K
|
||||
- Item: Exoricists_Bible_
|
||||
@@ -2554,12 +2554,12 @@ Body:
|
||||
- Item: Up_Fog_Dew_Sword
|
||||
- Item: Up_Humma_Clear
|
||||
- Item: Up_Master_Soul_Rifle
|
||||
- Item: Up_Golden_Lord_Launcher
|
||||
- Item: Up_The_Black
|
||||
- Item: Up_Demon_Slayer_Shot
|
||||
- Item: Up_Golden_L_Launcher
|
||||
- Item: Up_The_Black_Gatling
|
||||
- Item: Up_Demon_S_Shot
|
||||
- Item: Up_Crimson_Rose
|
||||
- Item: Up_Thousand_Sun
|
||||
- Item: Up_Spirit_Pendulum_
|
||||
- Item: Up_OneSkyOneSun
|
||||
- Item: Up_SoulWeight
|
||||
- Item: Ancient_Hero_Wisdom
|
||||
RandomOptionGroup: ANCIENT_HERO_WISDOM
|
||||
TargetItems:
|
||||
@@ -2570,7 +2570,7 @@ Body:
|
||||
- Item: Magic_Sword
|
||||
- Item: Sword_Of_Bluefire
|
||||
- Item: Avenger
|
||||
- Item: Aeon_Staff
|
||||
- Item: Iron_Staff
|
||||
- Item: Oriental_Sword
|
||||
- Item: Undine_Spear_K
|
||||
- Item: Exoricists_Bible_
|
||||
@@ -2628,12 +2628,12 @@ Body:
|
||||
- Item: Up_Fog_Dew_Sword
|
||||
- Item: Up_Humma_Clear
|
||||
- Item: Up_Master_Soul_Rifle
|
||||
- Item: Up_Golden_Lord_Launcher
|
||||
- Item: Up_The_Black
|
||||
- Item: Up_Demon_Slayer_Shot
|
||||
- Item: Up_Golden_L_Launcher
|
||||
- Item: Up_The_Black_Gatling
|
||||
- Item: Up_Demon_S_Shot
|
||||
- Item: Up_Crimson_Rose
|
||||
- Item: Up_Thousand_Sun
|
||||
- Item: Up_Spirit_Pendulum_
|
||||
- Item: Up_OneSkyOneSun
|
||||
- Item: Up_SoulWeight
|
||||
- Item: Boost_Up_1
|
||||
ResultRefine: 10
|
||||
MaximumRefine: 9
|
||||
@@ -3881,7 +3881,7 @@ Body:
|
||||
- Item: Magic_Sword
|
||||
- Item: Sword_Of_Bluefire
|
||||
- Item: Avenger
|
||||
- Item: Aeon_Staff
|
||||
- Item: Iron_Staff
|
||||
- Item: Oriental_Sword
|
||||
- Item: Undine_Spear_K
|
||||
- Item: Exoricists_Bible_
|
||||
@@ -4215,12 +4215,12 @@ Body:
|
||||
# - Item: Up_Fog_Dew_Sword
|
||||
# - Item: Up_Humma_Clear
|
||||
# - Item: Up_Master_Soul_Rifle
|
||||
# - Item: Up_Golden_Lord_Launcher
|
||||
# - Item: Up_The_Black
|
||||
# - Item: Up_Demon_Slayer_Shot
|
||||
# - Item: Up_Golden_L_Launcher
|
||||
# - Item: Up_The_Black_Gatling
|
||||
# - Item: Up_Demon_S_Shot
|
||||
# - Item: Up_Crimson_Rose
|
||||
# - Item: Up_Thousand_Sun
|
||||
# - Item: Up_Spirit_Pendulum_
|
||||
# - Item: Up_OneSkyOneSun
|
||||
# - Item: Up_SoulWeight
|
||||
# - Item: Great_Hero_Wisdom
|
||||
# TargetItems:
|
||||
# - Item: Up_Oriental_Sword
|
||||
@@ -4252,12 +4252,12 @@ Body:
|
||||
# - Item: Up_Fog_Dew_Sword
|
||||
# - Item: Up_Humma_Clear
|
||||
# - Item: Up_Master_Soul_Rifle
|
||||
# - Item: Up_Golden_Lord_Launcher
|
||||
# - Item: Up_The_Black
|
||||
# - Item: Up_Demon_Slayer_Shot
|
||||
# - Item: Up_Golden_L_Launcher
|
||||
# - Item: Up_The_Black_Gatling
|
||||
# - Item: Up_Demon_S_Shot
|
||||
# - Item: Up_Crimson_Rose
|
||||
# - Item: Up_Thousand_Sun
|
||||
# - Item: Up_Spirit_Pendulum_
|
||||
# - Item: Up_OneSkyOneSun
|
||||
# - Item: Up_SoulWeight
|
||||
- Item: Vampire_Box_IL
|
||||
ResultRefineMinimum: 7
|
||||
ResultRefineMaximum: 10
|
||||
|
||||
44
db/re/map_drops.yml
Normal file
44
db/re/map_drops.yml
Normal file
@@ -0,0 +1,44 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Map Drop Database
|
||||
###########################################################################
|
||||
#
|
||||
# Map Drop Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Map Name of the map.
|
||||
# GlobalDrops Drops for all monsters on this map. (Default: empty)
|
||||
# These drops are unaffected by server drop rate and cannot be stolen.
|
||||
# - Index Unique index of the drop.
|
||||
# Item Item name.
|
||||
# Rate Drop rate of item.
|
||||
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
|
||||
# SpecificDrops Drops for specific monsters on this map. (Default: empty)
|
||||
# - Monster Monster name.
|
||||
# Drops Drops for this specific monster. (Default: empty)
|
||||
# These drops are unaffected by server drop rate and cannot be stolen.
|
||||
# - Index Unique index of the drop.
|
||||
# Item Item name.
|
||||
# Rate Drop rate of item.
|
||||
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: MAP_DROP_DB
|
||||
Version: 1
|
||||
595
db/re/mob_db.yml
595
db/re/mob_db.yml
@@ -75054,7 +75054,7 @@ Body:
|
||||
DamageMotion: 420
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 1000
|
||||
- Item: Decayed_Nail
|
||||
Rate: 3000
|
||||
@@ -75088,7 +75088,7 @@ Body:
|
||||
DamageMotion: 384
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 1000
|
||||
- Item: Mementos
|
||||
Rate: 2500
|
||||
@@ -75126,7 +75126,7 @@ Body:
|
||||
Modes:
|
||||
Detector: true
|
||||
Drops:
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 1000
|
||||
- Item: Withered_Flower
|
||||
Rate: 2500
|
||||
@@ -75164,7 +75164,7 @@ Body:
|
||||
Modes:
|
||||
Detector: true
|
||||
Drops:
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 1000
|
||||
- Item: Sticky_Mucus
|
||||
Rate: 3000
|
||||
@@ -75202,7 +75202,7 @@ Body:
|
||||
Modes:
|
||||
Detector: true
|
||||
Drops:
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 1000
|
||||
- Item: Immortal_Heart
|
||||
Rate: 2500
|
||||
@@ -75236,7 +75236,7 @@ Body:
|
||||
DamageMotion: 192
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 1000
|
||||
- Item: Decayed_Nail
|
||||
Rate: 3000
|
||||
@@ -75270,7 +75270,7 @@ Body:
|
||||
DamageMotion: 576
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 1000
|
||||
- Item: Horrendous_Mouth
|
||||
Rate: 3500
|
||||
@@ -75306,7 +75306,7 @@ Body:
|
||||
DamageMotion: 504
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 1000
|
||||
- Item: Skel_Bone
|
||||
Rate: 3500
|
||||
@@ -75342,7 +75342,7 @@ Body:
|
||||
DamageMotion: 396
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 1000
|
||||
- Item: Immortal_Heart
|
||||
Rate: 2000
|
||||
@@ -75378,7 +75378,7 @@ Body:
|
||||
DamageMotion: 480
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 1500
|
||||
- Item: Realgar_Wine
|
||||
Rate: 5000
|
||||
@@ -75416,7 +75416,7 @@ Body:
|
||||
Modes:
|
||||
Detector: true
|
||||
Drops:
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 1500
|
||||
- Item: Tendon
|
||||
Rate: 2500
|
||||
@@ -75452,9 +75452,9 @@ Body:
|
||||
DamageMotion: 360
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 10000
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 10000
|
||||
- Item: Evil_Horn
|
||||
Rate: 2000
|
||||
@@ -75516,9 +75516,9 @@ Body:
|
||||
Drops:
|
||||
- Item: Evil_Horn
|
||||
Rate: 2000
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 10000
|
||||
- Item: Shard_of_Gray
|
||||
- Item: Gray_Shard
|
||||
Rate: 10000
|
||||
# - Id: 2962
|
||||
# AegisName: E_DEVILING
|
||||
@@ -76132,7 +76132,7 @@ Body:
|
||||
Rate: 200
|
||||
- Item: Fruit_Of_Mastela
|
||||
Rate: 200
|
||||
- Item: Morocc's_Minion_Card
|
||||
- Item: MinionOfMorocc_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 3000
|
||||
@@ -77138,7 +77138,7 @@ Body:
|
||||
Rate: 10000
|
||||
- Item: Fruit_Of_Mastela
|
||||
Rate: 200
|
||||
- Item: Grim_Reaper_Ankou_Card
|
||||
- Item: ReaperAnkou_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
# - Id: 3030
|
||||
@@ -93927,52 +93927,521 @@ Body:
|
||||
# AegisName: MD_AIRBOAT_BOSS3
|
||||
# - Id: 21063
|
||||
# AegisName: MD_AIRBOAT_BOSS4
|
||||
# - Id: 21064
|
||||
# AegisName: S_DUMMY_100_SMALL
|
||||
# - Id: 21065
|
||||
# AegisName: S_DUMMY_100_MEDIUM
|
||||
# - Id: 21066
|
||||
# AegisName: S_DUMMY_100_LARGE
|
||||
# - Id: 21067
|
||||
# AegisName: S_DUMMY_100_NOTHING
|
||||
# - Id: 21068
|
||||
# AegisName: S_DUMMY_100_DRAGON
|
||||
# - Id: 21069
|
||||
# AegisName: S_DUMMY_100_ANIMAL
|
||||
# - Id: 21070
|
||||
# AegisName: S_DUMMY_100_HUMAN
|
||||
# - Id: 21071
|
||||
# AegisName: S_DUMMY_100_INSECT
|
||||
# - Id: 21072
|
||||
# AegisName: S_DUMMY_100_FISH
|
||||
# - Id: 21073
|
||||
# AegisName: S_DUMMY_100_DEMON
|
||||
# - Id: 21074
|
||||
# AegisName: S_DUMMY_100_PLANT
|
||||
# - Id: 21075
|
||||
# AegisName: S_DUMMY_100_ANGEL
|
||||
# - Id: 21076
|
||||
# AegisName: S_DUMMY_100_UNDEAD
|
||||
# - Id: 21077
|
||||
# AegisName: S_DUMMY_100_NOTHING2
|
||||
# - Id: 21078
|
||||
# AegisName: S_DUMMY_100_WATER
|
||||
# - Id: 21079
|
||||
# AegisName: S_DUMMY_100_GROUND
|
||||
# - Id: 21080
|
||||
# AegisName: S_DUMMY_100_FIRE
|
||||
# - Id: 21081
|
||||
# AegisName: S_DUMMY_100_WIND
|
||||
# - Id: 21082
|
||||
# AegisName: S_DUMMY_100_POISON
|
||||
# - Id: 21083
|
||||
# AegisName: S_DUMMY_100_SAINT
|
||||
# - Id: 21084
|
||||
# AegisName: S_DUMMY_100_DARKNESS
|
||||
# - Id: 21085
|
||||
# AegisName: S_DUMMY_100_TELEKINESIS
|
||||
# - Id: 21086
|
||||
# AegisName: S_DUMMY_100_UNDEAD2
|
||||
- Id: 21064
|
||||
AegisName: S_DUMMY_100_SMALL
|
||||
Name: Training Dummy (Small)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Small
|
||||
Race: Formless
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21065
|
||||
AegisName: S_DUMMY_100_MEDIUM
|
||||
Name: Training Dummy (Medium)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Formless
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21066
|
||||
AegisName: S_DUMMY_100_LARGE
|
||||
Name: Training Dummy (Large)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Large
|
||||
Race: Formless
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21067
|
||||
AegisName: S_DUMMY_100_NOTHING
|
||||
Name: Training Dummy (Neutral)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Formless
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21068
|
||||
AegisName: S_DUMMY_100_DRAGON
|
||||
Name: Training Dummy (Dragon)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Dragon
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21069
|
||||
AegisName: S_DUMMY_100_ANIMAL
|
||||
Name: Training Dummy (Brute)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Brute
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21070
|
||||
AegisName: S_DUMMY_100_HUMAN
|
||||
Name: Training Dummy (Human)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Demihuman
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21071
|
||||
AegisName: S_DUMMY_100_INSECT
|
||||
Name: Training Dummy (Insect)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Insect
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21072
|
||||
AegisName: S_DUMMY_100_FISH
|
||||
Name: Training Dummy (Fish)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Fish
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21073
|
||||
AegisName: S_DUMMY_100_DEMON
|
||||
Name: Training Dummy (Demon)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Demon
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21074
|
||||
AegisName: S_DUMMY_100_PLANT
|
||||
Name: Training Dummy (Plant)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Plant
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21075
|
||||
AegisName: S_DUMMY_100_ANGEL
|
||||
Name: Training Dummy (Angel)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Angel
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21076
|
||||
AegisName: S_DUMMY_100_UNDEAD
|
||||
Name: Training Dummy (Undead)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Undead
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21077
|
||||
AegisName: S_DUMMY_100_NOTHING2
|
||||
# Name: Training Dummy (Neutral Lv1)
|
||||
Name: Dummy (Neutral Lv1)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Formless
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 482
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21078
|
||||
AegisName: S_DUMMY_100_WATER
|
||||
# Name: Training Dummy (Water Lv1)
|
||||
Name: Dummy (Water Lv1)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Formless
|
||||
Element: Water
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21079
|
||||
AegisName: S_DUMMY_100_GROUND
|
||||
# Name: Training Dummy (Earth Lv1)
|
||||
Name: Dummy (Earth Lv1)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Formless
|
||||
Element: Earth
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21080
|
||||
AegisName: S_DUMMY_100_FIRE
|
||||
# Name: Training Dummy (Fire Lv1)
|
||||
Name: Dummy (Fire Lv1)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Formless
|
||||
Element: Fire
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21081
|
||||
AegisName: S_DUMMY_100_WIND
|
||||
# Name: Training Dummy (Wind Lv1)
|
||||
Name: Dummy (Wind Lv1)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Formless
|
||||
Element: Wind
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21082
|
||||
AegisName: S_DUMMY_100_POISON
|
||||
# Name: Training Dummy (Poison Lv1)
|
||||
Name: Dummy (Poison Lv1)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Formless
|
||||
Element: Poison
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21083
|
||||
AegisName: S_DUMMY_100_SAINT
|
||||
# Name: Training Dummy (Holy Lv1)
|
||||
Name: Dummy (Holy Lv1)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Formless
|
||||
Element: Holy
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21084
|
||||
AegisName: S_DUMMY_100_DARKNESS
|
||||
# Name: Training Dummy (Dark Lv1)
|
||||
Name: Dummy (Dark Lv1)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Formless
|
||||
Element: Dark
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21085
|
||||
AegisName: S_DUMMY_100_TELEKINESIS
|
||||
# Name: Training Dummy (Ghost Lv1)
|
||||
Name: Dummy (Ghost Lv1)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Formless
|
||||
Element: Ghost
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
- Id: 21086
|
||||
AegisName: S_DUMMY_100_UNDEAD2
|
||||
# Name: Training Dummy (Undead Lv1)
|
||||
Name: Dummy (Undead Lv1)
|
||||
Level: 100
|
||||
Hp: 2000000000
|
||||
Attack: 10
|
||||
Attack2: 10
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Formless
|
||||
Element: Undead
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 1000
|
||||
AttackDelay: 1672
|
||||
AttackMotion: 672
|
||||
DamageMotion: 480
|
||||
Class: Boss
|
||||
Modes:
|
||||
NoRandomWalk: true
|
||||
TeleportBlock: true
|
||||
# - Id: 21087
|
||||
# AegisName: S_DUMMY_100_HUMANP
|
||||
# - Id: 21088
|
||||
|
||||
@@ -12736,3 +12736,51 @@
|
||||
20836,ABR_MOTHER_NET@ABR_NET_SUPPORT,attack,8604,1,10000,500,5000,yes,self,always,0,,,,,,,
|
||||
20837,ABR_INFINITY@ABR_INFINITY_BUSTER,chase,8605,1,10000,500,5000,yes,target,always,0,,,,,,,
|
||||
20837,ABR_INFINITY@ABR_INFINITY_BUSTER,attack,8605,1,10000,500,5000,yes,target,always,0,,,,,,,
|
||||
|
||||
// Training Ground outside Prontera
|
||||
21064,S_DUMMY_100_SMALL@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21064,S_DUMMY_100_SMALL@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21065,S_DUMMY_100_MEDIUM@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21065,S_DUMMY_100_MEDIUM@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21066,S_DUMMY_100_LARGE@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21066,S_DUMMY_100_LARGE@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21067,S_DUMMY_100_NOTHING@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21067,S_DUMMY_100_NOTHING@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21068,S_DUMMY_100_DRAGON@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21068,S_DUMMY_100_DRAGON@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21069,S_DUMMY_100_ANIMAL@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21069,S_DUMMY_100_ANIMAL@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21070,S_DUMMY_100_HUMAN@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21070,S_DUMMY_100_HUMAN@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21071,S_DUMMY_100_INSECT@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21071,S_DUMMY_100_INSECT@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21072,S_DUMMY_100_FISH@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21072,S_DUMMY_100_FISH@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21073,S_DUMMY_100_DEMON@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21073,S_DUMMY_100_DEMON@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21074,S_DUMMY_100_PLANT@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21074,S_DUMMY_100_PLANT@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21075,S_DUMMY_100_ANGEL@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21075,S_DUMMY_100_ANGEL@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21076,S_DUMMY_100_UNDEAD@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21076,S_DUMMY_100_UNDEAD@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21077,S_DUMMY_100_NOTHING2@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21077,S_DUMMY_100_NOTHING2@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21078,S_DUMMY_100_WATER@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21078,S_DUMMY_100_WATER@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21079,S_DUMMY_100_GROUND@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21079,S_DUMMY_100_GROUND@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21080,S_DUMMY_100_FIRE@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21080,S_DUMMY_100_FIRE@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21081,S_DUMMY_100_WIND@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21081,S_DUMMY_100_WIND@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21082,S_DUMMY_100_POISON@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21082,S_DUMMY_100_POISON@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21083,S_DUMMY_100_SAINT@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21083,S_DUMMY_100_SAINT@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21084,S_DUMMY_100_DARKNESS@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21084,S_DUMMY_100_DARKNESS@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21085,S_DUMMY_100_TELEKINESIS@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21085,S_DUMMY_100_TELEKINESIS@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21086,S_DUMMY_100_UNDEAD2@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21086,S_DUMMY_100_UNDEAD2@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
|
||||
@@ -877,9 +877,9 @@ Body:
|
||||
.@i = getpetinfo(PETINFO_INTIMATE);
|
||||
|
||||
if (.@i >= PET_INTIMATE_LOYAL) {
|
||||
autobonus "{ bonus2 bSubEle,Ele_Neutral,2; heal 100,0; }",100,5000,BF_SHORT|BF_NORMAL;
|
||||
petautobonus "{ bonus2 bSubEle,Ele_Neutral,2; heal 100,0; }",100,5000,BF_SHORT|BF_NORMAL;
|
||||
} else if (.@i >= PET_INTIMATE_CORDIAL) {
|
||||
autobonus "{ bonus2 bSubEle,Ele_Neutral,2; heal 100,0; }",100,3000,BF_SHORT|BF_NORMAL;
|
||||
petautobonus "{ bonus2 bSubEle,Ele_Neutral,2; heal 100,0; }",100,3000,BF_SHORT|BF_NORMAL;
|
||||
}
|
||||
- Mob: MEDUSA
|
||||
TameItem: Splendid_Mirror
|
||||
@@ -1511,15 +1511,15 @@ Body:
|
||||
if (.@i >= PET_INTIMATE_LOYAL) {
|
||||
bonus bCritical,6;
|
||||
bonus bHit,6;
|
||||
autobonus "{ bonus2 bHPRegenRate,500,1000; bonus2 bSPRegenRate,20,1000; }",30,5000,BF_WEAPON|BF_SHORT;
|
||||
petautobonus "{ bonus2 bHPRegenRate,500,1000; bonus2 bSPRegenRate,20,1000; }",30,5000,BF_WEAPON|BF_SHORT;
|
||||
} else if (.@i >= PET_INTIMATE_CORDIAL) {
|
||||
bonus bCritical,5;
|
||||
bonus bHit,5;
|
||||
autobonus "{ bonus2 bHPRegenRate,400,1000; bonus2 bSPRegenRate,10,1000; }",30,5000,BF_WEAPON|BF_SHORT;
|
||||
petautobonus "{ bonus2 bHPRegenRate,400,1000; bonus2 bSPRegenRate,10,1000; }",30,5000,BF_WEAPON|BF_SHORT;
|
||||
} else if (.@i >= PET_INTIMATE_NEUTRAL) {
|
||||
bonus bCritical,4;
|
||||
bonus bHit,4;
|
||||
autobonus "{ bonus2 bHPRegenRate,300,1000; }",20,5000,BF_WEAPON|BF_SHORT;
|
||||
petautobonus "{ bonus2 bHPRegenRate,300,1000; }",20,5000,BF_WEAPON|BF_SHORT;
|
||||
} else {
|
||||
bonus bCritical,3;
|
||||
bonus bHit,3;
|
||||
@@ -1667,11 +1667,11 @@ Body:
|
||||
if (.@i >= PET_INTIMATE_LOYAL) {
|
||||
bonus bCritical,5;
|
||||
bonus bHit,5;
|
||||
autobonus "{ bonus2 bHPRegenRate,400,1000; }",20,5000,BF_WEAPON|BF_SHORT;
|
||||
petautobonus "{ bonus2 bHPRegenRate,400,1000; }",20,5000,BF_WEAPON|BF_SHORT;
|
||||
} else if (.@i >= PET_INTIMATE_CORDIAL) {
|
||||
bonus bCritical,4;
|
||||
bonus bHit,4;
|
||||
autobonus "{ bonus2 bHPRegenRate,300,1000; }",20,5000,BF_WEAPON|BF_SHORT;
|
||||
petautobonus "{ bonus2 bHPRegenRate,300,1000; }",20,5000,BF_WEAPON|BF_SHORT;
|
||||
} else if (.@i >= PET_INTIMATE_NEUTRAL) {
|
||||
bonus bCritical,3;
|
||||
bonus bHit,3;
|
||||
@@ -1780,10 +1780,10 @@ Body:
|
||||
|
||||
if (.@i >= PET_INTIMATE_LOYAL) {
|
||||
bonus bMaxSP,150;
|
||||
autobonus "{ bonus2 bSPRegenRate,40,1000; }",30,5000,BF_MAGIC;
|
||||
petautobonus "{ bonus2 bSPRegenRate,40,1000; }",30,5000,BF_MAGIC;
|
||||
} else if (.@i >= PET_INTIMATE_CORDIAL) {
|
||||
bonus bMaxSP,150;
|
||||
autobonus "{ bonus2 bSPRegenRate,30,1000; }",30,5000,BF_MAGIC;
|
||||
petautobonus "{ bonus2 bSPRegenRate,30,1000; }",30,5000,BF_MAGIC;
|
||||
} else if (.@i >= PET_INTIMATE_NEUTRAL) {
|
||||
bonus bMaxSP,100;
|
||||
} else {
|
||||
|
||||
56
db/re/reputation.yml
Normal file
56
db/re/reputation.yml
Normal file
@@ -0,0 +1,56 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Reputation Database
|
||||
###########################################################################
|
||||
#
|
||||
# Reputation Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Id Client side index.
|
||||
# Name Name of the reputation type.
|
||||
# Variable Name of the variable that will store the reputation. (Default: RepPoints<id>)
|
||||
# Minimum Minimum amount of points. (Default: INT64_MIN)
|
||||
# Maximum Maximum amount of points. (Default: INT64_MAX)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: REPUTATION_DB
|
||||
Version: 1
|
||||
|
||||
Body:
|
||||
- Id: 1
|
||||
Name: Orc Village
|
||||
Variable: RepPointsOrc
|
||||
Minimum: -3000
|
||||
Maximum: 3000
|
||||
- Id: 2
|
||||
Name: Goblin Village
|
||||
Variable: RepPointsGoblin
|
||||
Minimum: -3000
|
||||
Maximum: 3000
|
||||
- Id: 3
|
||||
Name: Grey Wolf Village
|
||||
Variable: RepPointsWolf
|
||||
Minimum: -5000
|
||||
Maximum: 5000
|
||||
- Id: 4
|
||||
Name: Isgard
|
||||
Variable: RepPointsIsgard
|
||||
Minimum: -3000
|
||||
Maximum: 3000
|
||||
@@ -37451,7 +37451,7 @@ Body:
|
||||
CastCancel: true
|
||||
AfterCastActDelay: 500
|
||||
Duration1: 180000
|
||||
Duration2: 30000
|
||||
Duration2: 15000
|
||||
Cooldown: 150000
|
||||
FixedCastTime: 2000
|
||||
Requires:
|
||||
|
||||
274
db/re/status.yml
274
db/re/status.yml
@@ -80,6 +80,7 @@ Body:
|
||||
DurationLookup: NPC_PETRIFYATTACK
|
||||
States:
|
||||
NoCast: true
|
||||
NoAttack: true
|
||||
Opt1: StoneWait
|
||||
Flags:
|
||||
SendOption: true
|
||||
@@ -363,6 +364,8 @@ Body:
|
||||
DurationLookup: AS_ENCHANTPOISON
|
||||
CalcFlags:
|
||||
Atk_Ele: true
|
||||
Flags:
|
||||
RemoveOnUnequipWeapon: true
|
||||
End:
|
||||
Aspersio: true
|
||||
Fireweapon: true
|
||||
@@ -532,7 +535,7 @@ Body:
|
||||
FailedMado: true
|
||||
NoSave: true
|
||||
SuperNoviceAngel: true
|
||||
Fail:
|
||||
End:
|
||||
Offertorium: true
|
||||
- Status: Gloria
|
||||
Icon: EFST_GLORIA
|
||||
@@ -767,6 +770,7 @@ Body:
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
NoSave: true
|
||||
- Status: Stripshield
|
||||
Icon: EFST_NOEQUIPSHIELD
|
||||
DurationLookup: RG_STRIPSHIELD
|
||||
@@ -778,6 +782,7 @@ Body:
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
NoSave: true
|
||||
- Status: Striparmor
|
||||
Icon: EFST_NOEQUIPARMOR
|
||||
DurationLookup: RG_STRIPARMOR
|
||||
@@ -789,6 +794,7 @@ Body:
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
NoSave: true
|
||||
- Status: Striphelm
|
||||
Icon: EFST_NOEQUIPHELM
|
||||
DurationLookup: RG_STRIPHELM
|
||||
@@ -800,6 +806,7 @@ Body:
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
NoSave: true
|
||||
- Status: Cp_Weapon
|
||||
Icon: EFST_PROTECTWEAPON
|
||||
DurationLookup: AM_CP_WEAPON
|
||||
@@ -947,6 +954,7 @@ Body:
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
NoSave: true
|
||||
- Status: Explosionspirits
|
||||
Icon: EFST_EXPLOSIONSPIRITS
|
||||
DurationLookup: MO_EXPLOSIONSPIRITS
|
||||
@@ -958,6 +966,7 @@ Body:
|
||||
Flags:
|
||||
Debuff: true
|
||||
NoClearance: true
|
||||
NoSave: true
|
||||
- Status: Combo
|
||||
Flags:
|
||||
NoClearbuff: true
|
||||
@@ -994,7 +1003,7 @@ Body:
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
RemoveOnUnequipWeapon: true
|
||||
End:
|
||||
Encpoison: true
|
||||
Aspersio: true
|
||||
@@ -1009,7 +1018,7 @@ Body:
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
RemoveOnUnequipWeapon: true
|
||||
End:
|
||||
Encpoison: true
|
||||
Aspersio: true
|
||||
@@ -1024,7 +1033,7 @@ Body:
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
RemoveOnUnequipWeapon: true
|
||||
End:
|
||||
Encpoison: true
|
||||
Aspersio: true
|
||||
@@ -1039,7 +1048,7 @@ Body:
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
RemoveOnUnequipWeapon: true
|
||||
End:
|
||||
Encpoison: true
|
||||
Aspersio: true
|
||||
@@ -1341,6 +1350,7 @@ Body:
|
||||
Flags:
|
||||
Debuff: true
|
||||
NoClearance: true
|
||||
NoSave: true
|
||||
End:
|
||||
Blessing: true
|
||||
Increaseagi: true
|
||||
@@ -2650,7 +2660,6 @@ Body:
|
||||
- Status: Inchealrate
|
||||
Icon: EFST_HEALPLUS
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
@@ -6050,27 +6059,16 @@ Body:
|
||||
- Status: 2011rwc_Scroll
|
||||
Icon: EFST_2011RWC_SCROLL
|
||||
CalcFlags:
|
||||
Str: true
|
||||
Agi: true
|
||||
Vit: true
|
||||
Int: true
|
||||
Dex: true
|
||||
Luk: true
|
||||
Batk: true
|
||||
Matk: true
|
||||
Aspd: true
|
||||
MaxHp: true
|
||||
MaxSp: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
End:
|
||||
Food_Str_Cash: true
|
||||
Food_Agi_Cash: true
|
||||
Food_Vit_Cash: true
|
||||
Food_Int_Cash: true
|
||||
Food_Dex_Cash: true
|
||||
Food_Luk_Cash: true
|
||||
- Status: Jp_Event04
|
||||
Icon: EFST_JP_EVENT04
|
||||
Flags:
|
||||
@@ -8166,3 +8164,239 @@ Body:
|
||||
NoClearbuff: true
|
||||
End:
|
||||
Sub_Weaponproperty: true
|
||||
- Status: Almighty
|
||||
Icon: EFST_ALMIGHTY
|
||||
CalcFlags:
|
||||
Str: true
|
||||
Agi: true
|
||||
Vit: true
|
||||
Int: true
|
||||
Dex: true
|
||||
Luk: true
|
||||
Batk: true
|
||||
Matk: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
End:
|
||||
Food_Str_Cash: true
|
||||
Food_Agi_Cash: true
|
||||
Food_Vit_Cash: true
|
||||
Food_Int_Cash: true
|
||||
Food_Dex_Cash: true
|
||||
Food_Luk_Cash: true
|
||||
UltimateCook: true
|
||||
- Status: UltimateCook
|
||||
Icon: EFST_ULTIMATECOOK
|
||||
CalcFlags:
|
||||
Str: true
|
||||
Agi: true
|
||||
Vit: true
|
||||
Int: true
|
||||
Dex: true
|
||||
Luk: true
|
||||
Batk: true
|
||||
Matk: true
|
||||
Flags:
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
End:
|
||||
Food_Str_Cash: true
|
||||
Food_Agi_Cash: true
|
||||
Food_Vit_Cash: true
|
||||
Food_Int_Cash: true
|
||||
Food_Dex_Cash: true
|
||||
Food_Luk_Cash: true
|
||||
Almighty: true
|
||||
- Status: M_DefScroll
|
||||
Icon: EFST_M_DEFSCROLL
|
||||
CalcFlags:
|
||||
Def: true
|
||||
Mdef: true
|
||||
Flags:
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: Infinity_Drink
|
||||
Icon: EFST_INFINITY_DRINK
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: Mental_Potion
|
||||
Icon: EFST_TARGET_ASPD
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: Limit_Power_Booster
|
||||
Icon: EFST_LIMIT_POWER_BOOSTER
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: Combat_Pill
|
||||
Icon: EFST_GM_BATTLE
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: Combat_Pill2
|
||||
Icon: EFST_GM_BATTLE2
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: MysticPowder
|
||||
Icon: EFST_MYSTICPOWDER
|
||||
CalcFlags:
|
||||
Luk: true
|
||||
Flee: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: SparkCandy
|
||||
Icon: EFST_STEAMPACK
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: MagicCandy
|
||||
Icon: EFST_MAGIC_CANDY
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: Acaraje
|
||||
Icon: EFST_ACARAJE
|
||||
CalcFlags:
|
||||
Hit: true
|
||||
Aspd: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: PopeCookie
|
||||
Icon: EFST_POPECOOKIE
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: Vitalize_Potion
|
||||
Icon: EFST_VITALIZE_POTION
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoClearbuff: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: Cup_Of_Boza
|
||||
Icon: EFST_CUP_OF_BOZA
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: SKF_MATK
|
||||
Icon: EFST_SKF_MATK
|
||||
CalcFlags:
|
||||
Matk: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: SKF_ATK
|
||||
Icon: EFST_SKF_ATK
|
||||
CalcFlags:
|
||||
Batk: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: SKF_ASPD
|
||||
Icon: EFST_SKF_ASPD
|
||||
CalcFlags:
|
||||
Aspd: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: SKF_CAST
|
||||
Icon: EFST_SKF_CAST
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: Beef_Rib_Stew
|
||||
Icon: EFST_BEEF_RIB_STEW
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
- Status: Pork_Rib_Stew
|
||||
Icon: EFST_PORK_RIB_STEW
|
||||
CalcFlags:
|
||||
All: true
|
||||
Flags:
|
||||
NoRemoveOnDead: true
|
||||
NoClearbuff: true
|
||||
NoDispell: true
|
||||
NoBanishingBuster: true
|
||||
NoClearance: true
|
||||
|
||||
40
db/reputation.yml
Normal file
40
db/reputation.yml
Normal file
@@ -0,0 +1,40 @@
|
||||
# This file is a part of rAthena.
|
||||
# Copyright(C) 2022 rAthena Development Team
|
||||
# https://rathena.org - https://github.com/rathena
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
###########################################################################
|
||||
# Reputation Database
|
||||
###########################################################################
|
||||
#
|
||||
# Reputation Settings
|
||||
#
|
||||
###########################################################################
|
||||
# - Id Client side index.
|
||||
# Name Name of the reputation type.
|
||||
# Variable Name of the variable that will store the reputation. (Default: RepPoints<id>)
|
||||
# Minimum Minimum amount of points. (Default: INT64_MIN)
|
||||
# Maximum Maximum amount of points. (Default: INT64_MAX)
|
||||
###########################################################################
|
||||
|
||||
Header:
|
||||
Type: REPUTATION_DB
|
||||
Version: 1
|
||||
|
||||
Footer:
|
||||
Imports:
|
||||
- Path: db/re/reputation.yml
|
||||
Mode: Renewal
|
||||
- Path: db/import/reputation.yml
|
||||
@@ -729,6 +729,23 @@ Refines an equipped item by the specified amount.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
@grade <equip position> <+/- amount>
|
||||
|
||||
Enchantgrade an equipped item by the specified amount.
|
||||
0: All Equipment
|
||||
1: Lower Headgear
|
||||
2: Right Hand
|
||||
4: Garment
|
||||
8: Left Accessory
|
||||
16: Body Armor
|
||||
32: Left Hand
|
||||
64: Shoes
|
||||
128: Right Accessory
|
||||
256: Top Headgear
|
||||
512: Mid Headgear
|
||||
|
||||
---------------------------------------
|
||||
|
||||
@repairall
|
||||
|
||||
Repairs all broken items in your inventory.
|
||||
|
||||
@@ -219,6 +219,10 @@ Refineable: Defines if the item can be refined.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
Gradable: Defines if the item can be graded.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
View: For normal items, defines a replacement view-sprite for the item.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
@@ -978,6 +978,11 @@ Only the special labels which are not associated with any script command are
|
||||
listed here. There are other kinds of labels which may be triggered in a similar
|
||||
manner, but they are described with their associated commands.
|
||||
|
||||
OnNaviGenerate:
|
||||
|
||||
This special label triggers when running the map-server-generator binary. It is used
|
||||
in combination with 'naviregisterwarp' to register extra warps for an npc.
|
||||
|
||||
On<label name>:
|
||||
|
||||
These special labels are used with Mob scripts mostly, and script commands
|
||||
@@ -3578,14 +3583,15 @@ This command does not count skills which are set as flag 4 (permament granted) (
|
||||
---------------------------------------
|
||||
|
||||
*getmonsterinfo(<mob ID>,<type>)
|
||||
*getmonsterinfo(<mob name>,<type>)
|
||||
|
||||
This function will look up the monster with the specified ID number in the
|
||||
mob database and return the info set by TYPE argument.
|
||||
This function will look up the monster with the specified <mob ID> or <mob name> in the
|
||||
mob database and return the info set by <type> argument.
|
||||
It will return -1 if there is no such monster (or the type value is invalid),
|
||||
or "null" if you requested the monster's name.
|
||||
|
||||
Valid types are:
|
||||
MOB_NAME - monster's name, if there is no such monster "null" is returned
|
||||
MOB_NAME - monster's japanese name, if there is no such monster "null" is returned
|
||||
MOB_LV - monster's level
|
||||
MOB_MAXHP - monster's maximum hp
|
||||
MOB_BASEEXP - monster's base experience
|
||||
@@ -3610,6 +3616,7 @@ Valid types are:
|
||||
MOB_ELEMENT - monster's element(doesn't return the element level, only the element ID)
|
||||
MOB_MODE - monster's mode
|
||||
MOB_MVPEXP - monster's mvp experience
|
||||
MOB_ID - monster's ID
|
||||
|
||||
For more details, see the sample in 'doc/sample/getmonsterinfo.txt'.
|
||||
|
||||
@@ -4748,6 +4755,8 @@ quite a few item scripts. For more examples check just about any official script
|
||||
*getitem2 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<account ID>};
|
||||
*getitem3 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account ID>};
|
||||
*getitem3 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account ID>};
|
||||
*getitem4 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<grade>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account ID>};
|
||||
*getitem4 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<grade>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account ID>};
|
||||
|
||||
This command will give an amount of specified items to the invoking character.
|
||||
If an optional account ID is specified, and the target character is currently
|
||||
@@ -4838,6 +4847,14 @@ this really cause.
|
||||
<RandomValueArray> : Array variable of item random option's value.
|
||||
<RandomParamArray> : Array variable of item random option's param.
|
||||
|
||||
'getitem4' is advance version of 'getitem3' that also use the grade as additional values.
|
||||
Valid grades are:
|
||||
ENCHANTGRADE_NONE - No grade
|
||||
ENCHANTGRADE_D - Grade D
|
||||
ENCHANTGRADE_C - Grade C
|
||||
ENCHANTGRADE_B - Grade B
|
||||
ENCHANTGRADE_A - Grade A
|
||||
|
||||
Example to get Crimson Weapon with Ghost property:
|
||||
// +9 Crimson Dagger [2]
|
||||
setarray .@OptID[0],RDMOPT_WEAPON_ATTR_TELEKINESIS;
|
||||
@@ -4867,6 +4884,8 @@ Valid bound types are:
|
||||
*getitembound2 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound type>{,<account ID>};
|
||||
*getitembound3 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound type>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account ID>};
|
||||
*getitembound3 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound type>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account ID>};
|
||||
*getitembound4 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound type>,<grade>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account ID>};
|
||||
*getitembound4 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound type>,<grade>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account ID>};
|
||||
|
||||
This command behaves identically to 'getitem2', but the items created will be
|
||||
bound to the target character as specified by the bound type. All items created
|
||||
@@ -4880,6 +4899,14 @@ For a list of bound types see 'getitembound'.
|
||||
<RandomValueArray> : Array variable of item random option's value.
|
||||
<RandomParamArray> : Array variable of item random option's param.
|
||||
|
||||
'getitembound4' is advance version of 'getitembound3' that also use the grade as additional values.
|
||||
Valid grades are:
|
||||
ENCHANTGRADE_NONE - No grade
|
||||
ENCHANTGRADE_D - Grade D
|
||||
ENCHANTGRADE_C - Grade C
|
||||
ENCHANTGRADE_B - Grade B
|
||||
ENCHANTGRADE_A - Grade A
|
||||
|
||||
Example to get Crimson Weapon with Ghost property:
|
||||
// +9 Crimson Dagger [2]
|
||||
setarray .@OptID[0],RDMOPT_WEAPON_ATTR_TELEKINESIS;
|
||||
@@ -4935,6 +4962,8 @@ Note: 'countitem' will not count any item with a rental timer. Use 'rentalcounti
|
||||
*rentitem2 "<item name>",<time>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<account_id>};
|
||||
*rentitem3 <item id>,<time>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account_id>};
|
||||
*rentitem3 "<item name>",<time>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account_id>};
|
||||
*rentitem4 <item id>,<time>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<grade>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account_id>};
|
||||
*rentitem4 "<item name>",<time>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<grade>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account_id>};
|
||||
|
||||
Creates a rental item in the attached character's inventory. The item will expire
|
||||
in <time> seconds and be automatically deleted. See 'rentitem' for further details.
|
||||
@@ -4946,6 +4975,14 @@ See 'getitem2' for an explanation of the expanded parameters.
|
||||
<RandomValueArray> : Array variable of item random option's value.
|
||||
<RandomParamArray> : Array variable of item random option's param.
|
||||
|
||||
'rentitem4' is advance version of 'rentitem3' that also use the grade as additional values.
|
||||
Valid grades are:
|
||||
ENCHANTGRADE_NONE - No grade
|
||||
ENCHANTGRADE_D - Grade D
|
||||
ENCHANTGRADE_C - Grade C
|
||||
ENCHANTGRADE_B - Grade B
|
||||
ENCHANTGRADE_A - Grade A
|
||||
|
||||
Example to get Crimson Weapon with Ghost property:
|
||||
// +9 Crimson Dagger [2]
|
||||
setarray .@OptID[0],RDMOPT_WEAPON_ATTR_TELEKINESIS;
|
||||
@@ -4975,6 +5012,8 @@ If <canShowEffect> flag is set to true, it will show a pillar effect on the grou
|
||||
*makeitem2 "<item name>",<amount>,"<map name>",<X>,<Y>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<canShowEffect>};
|
||||
*makeitem3 <item id>,<amount>,"<map name>",<X>,<Y>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<canShowEffect>};
|
||||
*makeitem3 "<item name>",<amount>,"<map name>",<X>,<Y>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<canShowEffect>};
|
||||
*makeitem4 <item id>,<amount>,"<map name>",<X>,<Y>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<grade>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<canShowEffect>};
|
||||
*makeitem4 "<item name>",<amount>,"<map name>",<X>,<Y>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<grade>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<canShowEffect>};
|
||||
|
||||
This command will create an item on the specified cell of a map. See 'makeitem' for
|
||||
further details.
|
||||
@@ -4986,6 +5025,14 @@ See 'getitem2' for an explanation of the expanded parameters.
|
||||
<RandomValueArray> : Array variable of item random option's value.
|
||||
<RandomParamArray> : Array variable of item random option's param.
|
||||
|
||||
'makeitem4' is advance version of 'makeitem3' that also use the grade as additional values.
|
||||
Valid grades are:
|
||||
ENCHANTGRADE_NONE - No grade
|
||||
ENCHANTGRADE_D - Grade D
|
||||
ENCHANTGRADE_C - Grade C
|
||||
ENCHANTGRADE_B - Grade B
|
||||
ENCHANTGRADE_A - Grade A
|
||||
|
||||
Example to get Crimson Weapon with Ghost property:
|
||||
// 0.5% chance to get +0 Valkyrie Shield [1]
|
||||
// with Neutral Resistance +10% and 5% damage reduction from Demi-Human or Player
|
||||
@@ -5063,6 +5110,8 @@ If player is not in a guild or storage is open, 'guildstoragedelitem' will retur
|
||||
*delitem2 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<account ID>};
|
||||
*delitem3 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account ID>};
|
||||
*delitem3 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account ID>};
|
||||
*delitem4 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<grade>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account ID>};
|
||||
*delitem4 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<grade>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account ID>};
|
||||
|
||||
This command will remove a specified amount of items from the invoking/target character.
|
||||
See 'getitem2' for an explanation of the expanded parameters.
|
||||
@@ -5072,6 +5121,8 @@ See 'getitem2' for an explanation of the expanded parameters.
|
||||
<RandomValueArray> : Array variable of item random option's value.
|
||||
<RandomParamArray> : Array variable of item random option's param.
|
||||
|
||||
'delitem4' is advance version of 'delitem3' that also use the grade as criteria.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*delitemidx <index>{,<amount>{,<char id>}}
|
||||
@@ -5154,6 +5205,8 @@ If player is not in a guild or storage is open, 'guildstoragecountitem' will ret
|
||||
*countitem2("<item name>",<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<accountID>})
|
||||
*countitem3(<item id>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<accountID>})
|
||||
*countitem3("<item name>",<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<accountID>})
|
||||
*countitem4(<item id>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<grade>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<accountID>})
|
||||
*countitem4("<item name>",<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<grade>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<accountID>})
|
||||
|
||||
Expanded version of 'countitem' function, used for created/carded/forged items.
|
||||
|
||||
@@ -5166,6 +5219,8 @@ See 'getitem2' for an explanation of the expanded parameters.
|
||||
<RandomValueArray> : Array variable of item random option's value.
|
||||
<RandomParamArray> : Array variable of item random option's param.
|
||||
|
||||
'countitem4' is advance version of 'countitem3' that also use the grade as criteria.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*cartcountitem2(<item id>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<accountID>})
|
||||
@@ -5195,6 +5250,8 @@ invoking character has in the inventory.
|
||||
*rentalcountitem2("<item name>",<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<accountID>})
|
||||
*rentalcountitem3(<item id>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<accountID>})
|
||||
*rentalcountitem3("<item name>",<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<accountID>})
|
||||
*rentalcountitem4(<item id>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<grade>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<accountID>})
|
||||
*rentalcountitem4("<item name>",<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<grade>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<accountID>})
|
||||
|
||||
Expanded version of 'rentalcountitem' function, used for created/carded/forged items.
|
||||
|
||||
@@ -5207,6 +5264,8 @@ See 'getitem2' for an explanation of the expanded parameters.
|
||||
<RandomValueArray> : Array variable of item random option's value.
|
||||
<RandomParamArray> : Array variable of item random option's param.
|
||||
|
||||
'rentalcountitem4' is advance version of 'rentalcountitem3' that also use the grade as criteria.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*countbound({<bound type>{,<char_id>}})
|
||||
@@ -6117,9 +6176,7 @@ kind in 'doc/item_bonus.txt'.
|
||||
*autobonus3 <bonus script>,<rate>,<duration>,<skill id>,{<other script>};
|
||||
*autobonus3 <bonus script>,<rate>,<duration>,"<skill name>",{<other script>};
|
||||
|
||||
These commands are meant to be used in item scripts. They will probably work
|
||||
outside item scripts, but the bonus will not persist for long. They, as
|
||||
expected, refer only to an invoking character.
|
||||
These commands are meant to be used in item scripts only! See 'petautobonus' for pet usage.
|
||||
|
||||
What these commands do is 'attach' a script to the player which will get
|
||||
executed on attack (or when attacked in the case of autobonus2).
|
||||
@@ -6473,12 +6530,14 @@ Examples:
|
||||
---------------------------------------
|
||||
|
||||
*monster "<map name>",<x>,<y>,"<name to show>",<mob id>,<amount>{,"<event label>",<size>,<ai>};
|
||||
*monster "<map name>",<x>,<y>,"<name to show>","<mob name>",<amount>{,"<event label>",<size>,<ai>};
|
||||
*areamonster "<map name>",<x1>,<y1>,<x2>,<y2>,"<name to show>",<mob id>,<amount>{,"<event label>",<size>,<ai>};
|
||||
*areamonster "<map name>",<x1>,<y1>,<x2>,<y2>,"<name to show>","<mob name>",<amount>{,"<event label>",<size>,<ai>};
|
||||
|
||||
This command will spawn a monster on the specified coordinates on the specified
|
||||
map. If the script is invoked by a character, a special map name, "this", will
|
||||
be recognized to mean the name of the map the invoking character is located at.
|
||||
This command works fine in the item scripts.
|
||||
This command will spawn <amount> monsters with <mob id> or <mob name> on the specified
|
||||
coordinates on the specified map. If the script is invoked by a character, a special
|
||||
<map name>, "this", will be recognized to mean the name of the map the invoking character
|
||||
is located at. This command works fine in item scripts.
|
||||
|
||||
The same command arguments mean the same things as described above in the
|
||||
beginning of this document when talking about permanent monster spawns. Monsters
|
||||
@@ -6557,11 +6616,13 @@ For more good examples see just about any official 2-1 or 2-2 job quest script.
|
||||
|
||||
*areamobuseskill "<map name>",<x>,<y>,<range>,<mob id>,<skill id>,<skill level>,<cast time>,<cancelable>,<emotion>,<target type>;
|
||||
*areamobuseskill "<map name>",<x>,<y>,<range>,<mob id>,"<skill name>",<skill level>,<cast time>,<cancelable>,<emotion>,<target type>;
|
||||
*areamobuseskill "<map name>",<x>,<y>,<range>,"<mob name>",<skill id>,<skill level>,<cast time>,<cancelable>,<emotion>,<target type>;
|
||||
*areamobuseskill "<map name>",<x>,<y>,<range>,"<mob name>","<skill name>",<skill level>,<cast time>,<cancelable>,<emotion>,<target type>;
|
||||
|
||||
This command will make all monsters of the specified mob ID in the specified
|
||||
area use the specified skill. Map name, x, and y define the center of the area,
|
||||
This command will make all monsters of the specified <mob id> or <mob name> in the specified
|
||||
area use the specified skill. <map name>, <x>, and <y> define the center of the area,
|
||||
which extending <range> cells in each direction (ex: a range of 3 would create
|
||||
a 7x7 square). The skill can be specified by skill ID or name. <cast time> is in
|
||||
a 7x7 square). The skill can be specified by <skill id> or <skill name>. <cast time> is in
|
||||
milliseconds (1000 = 1 second), and the rest should be self-explanatory.
|
||||
|
||||
<target type> can be:
|
||||
@@ -8140,14 +8201,14 @@ This feature requires packet version 2015-11-04 or newer.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*laphine_synthesis()
|
||||
*laphine_synthesis({<item id>})
|
||||
*laphine_synthesis({<"item name">})
|
||||
|
||||
Opens the laphine synthesis UI for the attached player.
|
||||
Opens the laphine synthesis UI for <item ID> or <item name> for the attached player.
|
||||
If run from within an item script <item ID> or <item name> is optional.
|
||||
|
||||
This feature requires packet version 2016-06-01 or newer.
|
||||
|
||||
This function is intended for use in item scripts.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*laphine_upgrade()
|
||||
@@ -8174,6 +8235,40 @@ Opens the enchantgrade UI for the attached character or the player given by the
|
||||
|
||||
This command requires packet version 2020-07-24 or newer.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*set_reputation_points(<type>,<points>{,<char id>})
|
||||
|
||||
Sets the reputation points via <points> for reputation group <type> for the attached player or the given character ID.
|
||||
<type> is the client side index as stored in the Id field of the reputation.yml database files.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*get_reputation_points(<type>{,<char id>})
|
||||
|
||||
Gets the reputation points for reputation group <type> for the attached player or the given character ID.
|
||||
<type> is the client side index as stored in the Id field of the reputation.yml database files.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*item_reform({<item id>{,<char id>}})
|
||||
*item_reform({<"item name">{,<char id>}})
|
||||
|
||||
Opens the item reform UI for <item ID> or <item name> for the attached player or the given character ID.
|
||||
If run from within an item script <item ID> or <item name> is optional.
|
||||
|
||||
This feature requires packet version 2021-11-03 or newer.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*item_enchant(<client side LUA index>{,<char ID>});
|
||||
|
||||
Opens the enchant UI for the attached character or the player given by the <char ID> parameter.
|
||||
If the player exceeds 70% weight the client will not open the enchant UI and will trigger an
|
||||
error message instead.
|
||||
|
||||
This command requires packet version 2021-11-03 or newer.
|
||||
|
||||
---------------------------------------
|
||||
\\
|
||||
6,1.- Unit-related commands
|
||||
@@ -9370,6 +9465,20 @@ with the given character id.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*naviregisterwarp("<Name of Link>", "<dest_map>", <dest_x>, <dest_y>)
|
||||
|
||||
Only useful when using the map-server-generator. Registers an extra warp from this
|
||||
npc to the destination map/x/y for the generated client files.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*navihide
|
||||
|
||||
Only useful when using the map-server-generator. Hides this npc and all links from
|
||||
this npc in the navigation generation.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
========================
|
||||
|7.- Instance commands.|
|
||||
========================
|
||||
@@ -10202,6 +10311,15 @@ Value of 'rate' is between 1 and 100. 100 = 100%
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*petautobonus <bonus script>,<rate>,<duration>{,<flag>,{<other script>}};
|
||||
*petautobonus2 <bonus script>,<rate>,<duration>{,<flag>,{<other script>}};
|
||||
*petautobonus3 <bonus script>,<rate>,<duration>,<skill id>,{<other script>};
|
||||
*petautobonus3 <bonus script>,<rate>,<duration>,"<skill name>",{<other script>};
|
||||
|
||||
See 'autobonus' for more details.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
===========================
|
||||
|11.- Homunculus commands.|
|
||||
===========================
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
# EquipLevelMin Minimum required level to equip. (Default: 0)
|
||||
# EquipLevelMax Maximum level that can equip. (Default: 0)
|
||||
# Refineable If the item can be refined. (Default: false)
|
||||
# Gradable If the item can be graded. (Default: false)
|
||||
# View View sprite of an item. (Default: 0)
|
||||
# AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
|
||||
# Flags: Item flags. (Default: null)
|
||||
|
||||
@@ -80,6 +80,7 @@ CREATE TABLE `item_db2_re` (
|
||||
`equip_level_min` tinyint(3) unsigned DEFAULT NULL,
|
||||
`equip_level_max` tinyint(3) unsigned DEFAULT NULL,
|
||||
`refineable` tinyint(1) unsigned DEFAULT NULL,
|
||||
`gradable` tinyint(1) unsigned DEFAULT NULL,
|
||||
`view` smallint(5) unsigned DEFAULT NULL,
|
||||
`alias_name` varchar(50) DEFAULT NULL,
|
||||
`flag_buyingstore` tinyint(1) unsigned DEFAULT NULL,
|
||||
|
||||
@@ -80,6 +80,7 @@ CREATE TABLE `item_db_re` (
|
||||
`equip_level_min` tinyint(3) unsigned DEFAULT NULL,
|
||||
`equip_level_max` tinyint(3) unsigned DEFAULT NULL,
|
||||
`refineable` tinyint(1) unsigned DEFAULT NULL,
|
||||
`gradable` tinyint(1) unsigned DEFAULT NULL,
|
||||
`view` smallint(5) unsigned DEFAULT NULL,
|
||||
`alias_name` varchar(50) DEFAULT NULL,
|
||||
`flag_buyingstore` tinyint(1) unsigned DEFAULT NULL,
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
L_SRV=login-server
|
||||
C_SRV=char-server
|
||||
M_SRV=map-server
|
||||
W_SRV=web-server
|
||||
INST_PATH=/opt
|
||||
PKG=rathena
|
||||
PKG_PATH=$INST_PATH/$PKG
|
||||
|
||||
check_files() {
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV}
|
||||
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
|
||||
do
|
||||
if [ ! -f ./$i ]; then
|
||||
echo "$i does not exist... exiting..."
|
||||
|
||||
@@ -526,6 +526,707 @@ S9: Restrict("RE");
|
||||
Go("paramk",97,17);
|
||||
S10: Go("turbo_room",99,114);
|
||||
|
||||
OnNaviGenerate:
|
||||
|
||||
// for non-prontera warpers, just give it warp to prontera
|
||||
// this cuts down the number of links considerably
|
||||
if (strnpcinfo(4) != "prontera") {
|
||||
naviregisterwarp("Warper > Prontera", "prontera", 155, 183);
|
||||
end;
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Prontera", "prontera", 155, 183);
|
||||
naviregisterwarp("Warper > Alberta", "alberta", 28, 234);
|
||||
naviregisterwarp("Warper > Al De Baran", "aldebaran", 140, 131);
|
||||
naviregisterwarp("Warper > Amatsu", "amatsu", 198, 84);
|
||||
naviregisterwarp("Warper > Ayothaya", "ayothaya", 208, 166);
|
||||
naviregisterwarp("Warper > Einbech", "einbech",63,35);
|
||||
naviregisterwarp("Warper > Einbroch", "einbroch",64,200);
|
||||
naviregisterwarp("Warper > Geffen", "geffen",119,59);
|
||||
naviregisterwarp("Warper > Hugel", "hugel",96,145);
|
||||
naviregisterwarp("Warper > Izlude", "izlude",128,(checkre(3)?146:114));
|
||||
naviregisterwarp("Warper > Jawaii", "jawaii",251,132);
|
||||
naviregisterwarp("Warper > Juno", "yuno",157,51);
|
||||
naviregisterwarp("Warper > Kunlun", "gonryun",160,120);
|
||||
naviregisterwarp("Warper > Lighthalzen", "lighthalzen",158,92);
|
||||
naviregisterwarp("Warper > Luoyang", "louyang",217,100);
|
||||
naviregisterwarp("Warper > Lutie", "xmas",147,134);
|
||||
naviregisterwarp("Warper > Manuk", "manuk",282,138);
|
||||
naviregisterwarp("Warper > Midgarts Expedition Camp", "mid_camp",210,288);
|
||||
naviregisterwarp("Warper > Morocc", "morocc",156,93);
|
||||
naviregisterwarp("Warper > Moscovia", "moscovia",223,184);
|
||||
naviregisterwarp("Warper > Nameless Island", "nameless_n",256,215);
|
||||
naviregisterwarp("Warper > Niflheim", "niflheim",202,174);
|
||||
naviregisterwarp("Warper > Payon", "payon",179,100);
|
||||
naviregisterwarp("Warper > Rachel", "rachel",130,110);
|
||||
naviregisterwarp("Warper > Splendide", "splendide",201,147);
|
||||
naviregisterwarp("Warper > Thor Camp", "thor_camp",246,68);
|
||||
naviregisterwarp("Warper > Umbala", "umbala",97,153);
|
||||
naviregisterwarp("Warper > Veins", "veins",216,123);
|
||||
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Brasilis", "brasilis", 196, 217);
|
||||
naviregisterwarp("Warper > Dewata", "dewata",200,180);
|
||||
naviregisterwarp("Warper > Eclage", "ecl_in01",48,53);
|
||||
naviregisterwarp("Warper > El Dicastes", "dicastes01",198,187);
|
||||
naviregisterwarp("Warper > Lasagna", "lasagna",193,182);
|
||||
naviregisterwarp("Warper > Malangdo", "malangdo",140,114);
|
||||
naviregisterwarp("Warper > Malaya", "malaya",231,200);
|
||||
naviregisterwarp("Warper > Mora", "mora",55,146);
|
||||
}
|
||||
|
||||
// fields
|
||||
naviregisterwarp("Warper > Amatsu Field", "ama_fild01", 190, 197);
|
||||
naviregisterwarp("Warper > Ayothaya Field", "ayo_fild01", 173, 134);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Ayothaya Field", "ayo_fild02", 212, 150);
|
||||
}
|
||||
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Bifrost Field", "bif_fild01", 193, 220);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Bifrost Field", "bif_fild02", 220, 187);
|
||||
}
|
||||
naviregisterwarp("Warper > Brasilis Field", "bra_fild01", 74, 32);
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Comodo Field", "cmd_fild01", 180, 178);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Comodo Field", "cmd_fild02", 231, 160);
|
||||
naviregisterwarp("Warper > Comodo Field", "cmd_fild03", 191, 172);
|
||||
naviregisterwarp("Warper > Comodo Field", "cmd_fild04", 228, 194);
|
||||
if (!checkre(0)) {
|
||||
naviregisterwarp("Warper > Comodo Field", "cmd_fild05", 224, 203);
|
||||
}
|
||||
naviregisterwarp("Warper > Comodo Field", "cmd_fild06", 190, 223);
|
||||
naviregisterwarp("Warper > Comodo Field", "cmd_fild07", 234, 177);
|
||||
naviregisterwarp("Warper > Comodo Field", "cmd_fild08", 194, 175);
|
||||
naviregisterwarp("Warper > Comodo Field", "cmd_fild09", 172, 172);
|
||||
}
|
||||
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Dewata Field", "dew_fild01", 371, 212);
|
||||
naviregisterwarp("Warper > Eclage Field", "ecl_fild01", 97, 314);
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Einbroch Field", "ein_fild01", 142, 225);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Einbroch Field", "ein_fild03", 187, 228);
|
||||
naviregisterwarp("Warper > Einbroch Field", "ein_fild04", 185, 173);
|
||||
naviregisterwarp("Warper > Einbroch Field", "ein_fild05", 216, 173);
|
||||
naviregisterwarp("Warper > Einbroch Field", "ein_fild06", 195, 148);
|
||||
naviregisterwarp("Warper > Einbroch Field", "ein_fild07", 272, 220);
|
||||
naviregisterwarp("Warper > Einbroch Field", "ein_fild08", 173, 214);
|
||||
naviregisterwarp("Warper > Einbroch Field", "ein_fild09", 207, 174);
|
||||
if (!checkre(0)) {
|
||||
naviregisterwarp("Warper > Einbroch Field", "ein_fild02", 182, 141);
|
||||
naviregisterwarp("Warper > Einbroch Field", "ein_fild10", 196, 200);
|
||||
}
|
||||
}
|
||||
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > El Dicastes Field", "dic_fild01", 143, 132);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > El Dicastes Field", "dic_fild02", 143, 217);
|
||||
}
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Geffen Field 0", "gef_fild00", 46, 199);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Geffen Field 1", "gef_fild01", 213, 204);
|
||||
naviregisterwarp("Warper > Geffen Field 2", "gef_fild02", 195, 212);
|
||||
naviregisterwarp("Warper > Geffen Field 3", "gef_fild03", 257, 192);
|
||||
naviregisterwarp("Warper > Geffen Field 4", "gef_fild04", 188, 171);
|
||||
naviregisterwarp("Warper > Geffen Field 5", "gef_fild05", 166, 263);
|
||||
naviregisterwarp("Warper > Geffen Field 6", "gef_fild06", 248, 158);
|
||||
naviregisterwarp("Warper > Geffen Field 7", "gef_fild07", 195, 191);
|
||||
naviregisterwarp("Warper > Geffen Field 8", "gef_fild08", 186, 183);
|
||||
naviregisterwarp("Warper > Geffen Field 9", "gef_fild09", 221, 117);
|
||||
naviregisterwarp("Warper > Geffen Field 10", "gef_fild10", 178, 218);
|
||||
naviregisterwarp("Warper > Geffen Field 11", "gef_fild11", 136, 328);
|
||||
naviregisterwarp("Warper > Geffen Field 13", "gef_fild13", 235, 235);
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Geffen Field 12", "gef_fild12", 240, 181);
|
||||
naviregisterwarp("Warper > Geffen Field 14", "gef_fild14", 211, 185);
|
||||
}
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Kunlun Field 1", "gon_fild01", 220, 227);
|
||||
|
||||
naviregisterwarp("Warper > Hugel Field 1", "hu_fild01", 268, 101);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Hugel Field 2", "hu_fild02", 222, 193);
|
||||
naviregisterwarp("Warper > Hugel Field 4", "hu_fild04", 252, 189);
|
||||
naviregisterwarp("Warper > Hugel Field 5", "hu_fild05", 196, 106);
|
||||
naviregisterwarp("Warper > Hugel Field 6", "hu_fild06", 216, 220);
|
||||
if (!checkre(0)) {
|
||||
naviregisterwarp("Warper > Hugel Field 3", "hu_fild03", 232, 185);
|
||||
naviregisterwarp("Warper > Hugel Field 7", "hu_fild07", 227, 197);
|
||||
}
|
||||
}
|
||||
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Lasagna Field 1", "lasa_fild01", 344, 371);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Lasagna Field 2", "lasa_fild02", 20, 98);
|
||||
}
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Lighthalzen Field 1", "lhz_fild01", 240, 179);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Lighthalzen Field 2", "lhz_fild02", 185, 235);
|
||||
naviregisterwarp("Warper > Lighthalzen Field 3", "lhz_fild03", 240, 226);
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Luoyang Field 1", "lou_fild01", 229, 187);
|
||||
|
||||
naviregisterwarp("Warper > Lutie Field 1", "xmas_fild01", 115, 145);
|
||||
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Malaya Field 1", "ma_fild01", 40, 272);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Malaya Field 2", "ma_fild02", 207, 180);
|
||||
}
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Manuk Field 1", "man_fild01", 35, 236);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Manuk Field 2", "man_fild02", 35, 262);
|
||||
naviregisterwarp("Warper > Manuk Field 3", "man_fild03", 84, 365);
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Mjolnir Field 1", "mjolnir_01", 204, 120);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Mjolnir Field 2", "mjolnir_02", 175, 193);
|
||||
naviregisterwarp("Warper > Mjolnir Field 3", "mjolnir_03", 208, 213);
|
||||
naviregisterwarp("Warper > Mjolnir Field 4", "mjolnir_04", 179, 180);
|
||||
naviregisterwarp("Warper > Mjolnir Field 5", "mjolnir_05", 181, 240);
|
||||
naviregisterwarp("Warper > Mjolnir Field 6", "mjolnir_06", 195, 270);
|
||||
naviregisterwarp("Warper > Mjolnir Field 7", "mjolnir_07", 235, 202);
|
||||
naviregisterwarp("Warper > Mjolnir Field 8", "mjolnir_08", 188, 215);
|
||||
naviregisterwarp("Warper > Mjolnir Field 9", "mjolnir_09", 205, 144);
|
||||
naviregisterwarp("Warper > Mjolnir Field 10", "mjolnir_10", 245, 223);
|
||||
naviregisterwarp("Warper > Mjolnir Field 11", "mjolnir_11", 180, 206);
|
||||
naviregisterwarp("Warper > Mjolnir Field 12", "mjolnir_12", 196, 208);
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Moscovia Field 1", "mosk_fild01", 82, 104);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Moscovia Field 2", "mosk_fild02", 131, 147);
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Niflheim Field 1", "nif_fild01", 215, 229);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warer > Niflheim Field 2", "nif_fild02", 167, 234);
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Payon Forest 1", "pay_fild01", 158, 206);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Payon Forest 2", "pay_fild02", 151, 219);
|
||||
naviregisterwarp("Warper > Payon Forest 3", "pay_fild03", 205, 148);
|
||||
naviregisterwarp("Warper > Payon Forest 4", "pay_fild04", 186, 247);
|
||||
naviregisterwarp("Warper > Payon Forest 6", "pay_fild06", 193, 235);
|
||||
naviregisterwarp("Warper > Payon Forest 7", "pay_fild07", 200, 177);
|
||||
naviregisterwarp("Warper > Payon Forest 8", "pay_fild08", 137, 189);
|
||||
naviregisterwarp("Warper > Payon Forest 9", "pay_fild09", 201, 224);
|
||||
naviregisterwarp("Warper > Payon Forest 10", "pay_fild10", 160, 205);
|
||||
if (!checkre(0)) {
|
||||
naviregisterwarp("Warper > Payon Forest 5", "pay_fild05", 134, 204);
|
||||
naviregisterwarp("Warper > Payon Forest 11", "pay_fild11", 194, 150);
|
||||
}
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Prontera Field 0", "prt_fild00", 208, 227);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Prontera Field 1", "prt_fild01", 190, 206);
|
||||
naviregisterwarp("Warper > Prontera Field 2", "prt_fild02", 240, 206);
|
||||
naviregisterwarp("Warper > Prontera Field 3", "prt_fild03", 190, 143);
|
||||
naviregisterwarp("Warper > Prontera Field 4", "prt_fild04", 307, 252);
|
||||
naviregisterwarp("Warper > Prontera Field 5", "prt_fild05", 239, 213);
|
||||
naviregisterwarp("Warper > Prontera Field 6", "prt_fild06", 185, 188);
|
||||
naviregisterwarp("Warper > Prontera Field 7", "prt_fild07", 193, 194);
|
||||
naviregisterwarp("Warper > Prontera Field 8", "prt_fild08", 187, 218);
|
||||
naviregisterwarp("Warper > Prontera Field 9", "prt_fild09", 210, 183);
|
||||
naviregisterwarp("Warper > Prontera Field 10", "prt_fild10", 195, 149);
|
||||
naviregisterwarp("Warper > Prontera Field 11", "prt_fild11", 198, 164);
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Rachel Field 1", "ra_fild01", 192, 162);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Rachel Field 3", "ra_fild03", 202, 206);
|
||||
naviregisterwarp("Warper > Rachel Field 4", "ra_fild04", 202, 208);
|
||||
naviregisterwarp("Warper > Rachel Field 5", "ra_fild05", 225, 202);
|
||||
naviregisterwarp("Warper > Rachel Field 6", "ra_fild06", 202, 214);
|
||||
naviregisterwarp("Warper > Rachel Field 8", "ra_fild08", 217, 201);
|
||||
naviregisterwarp("Warper > Rachel Field 12", "ra_fild12", 175, 200);
|
||||
|
||||
if (!checkre(0)) {
|
||||
naviregisterwarp("Warper > Rachel Field 2", "ra_fild02", 235, 166);
|
||||
naviregisterwarp("Warper > Rachel Field 7", "ra_fild07", 263, 196);
|
||||
naviregisterwarp("Warper > Rachel Field 9", "ra_fild09", 87, 121);
|
||||
naviregisterwarp("Warper > Rachel Field 10", "ra_fild10", 277, 181);
|
||||
naviregisterwarp("Warper > Rachel Field 11", "ra_fild11", 221, 185);
|
||||
naviregisterwarp("Warper > Rachel Field 13", "ra_fild13", 174, 197);
|
||||
}
|
||||
}
|
||||
|
||||
if (.Satan_Morocc) {
|
||||
naviregisterwarp("Warper > Sograt Desert 1", "moc_fild01", 219, 205);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Sograt Desert 2", "moc_fild02", 177, 206);
|
||||
naviregisterwarp("Warper > Sograt Desert 3", "moc_fild03", 194, 182);
|
||||
naviregisterwarp("Warper > Sograt Desert 7", "moc_fild07", 224, 170);
|
||||
naviregisterwarp("Warper > Sograt Desert 11", "moc_fild11", 198, 216);
|
||||
naviregisterwarp("Warper > Sograt Desert 12", "moc_fild12", 156, 187);
|
||||
naviregisterwarp("Warper > Sograt Desert 13", "moc_fild13", 185, 263);
|
||||
naviregisterwarp("Warper > Sograt Desert 16", "moc_fild16", 206, 228);
|
||||
naviregisterwarp("Warper > Sograt Desert 17", "moc_fild17", 208, 238);
|
||||
naviregisterwarp("Warper > Sograt Desert 18", "moc_fild18", 209, 223);
|
||||
naviregisterwarp("Warper > Sograt Desert 19", "moc_fild19", 85, 97);
|
||||
naviregisterwarp("Warper > Sograt Desert 20", "moc_fild20", 207, 202);
|
||||
naviregisterwarp("Warper > Sograt Desert 21", "moc_fild21", 31, 195);
|
||||
naviregisterwarp("Warper > Sograt Desert 22", "moc_fild22", 38, 195);
|
||||
}
|
||||
} else {
|
||||
naviregisterwarp("Warper > Sograt Desert 1", "moc_fild01", 219, 205);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Sograt Desert 2", "moc_fild02", 177, 206);
|
||||
naviregisterwarp("Warper > Sograt Desert 3", "moc_fild03", 194, 182);
|
||||
naviregisterwarp("Warper > Sograt Desert 4", "moc_fild04", 146, 297);
|
||||
naviregisterwarp("Warper > Sograt Desert 5", "moc_fild05", 204, 197);
|
||||
naviregisterwarp("Warper > Sograt Desert 6", "moc_fild06", 275, 302);
|
||||
naviregisterwarp("Warper > Sograt Desert 7", "moc_fild07", 224, 170);
|
||||
naviregisterwarp("Warper > Sograt Desert 8", "moc_fild08", 139, 123);
|
||||
naviregisterwarp("Warper > Sograt Desert 9", "moc_fild09", 101, 110);
|
||||
naviregisterwarp("Warper > Sograt Desert 10", "moc_fild10", 341, 39);
|
||||
naviregisterwarp("Warper > Sograt Desert 11", "moc_fild11", 198, 216);
|
||||
naviregisterwarp("Warper > Sograt Desert 12", "moc_fild12", 156, 187);
|
||||
naviregisterwarp("Warper > Sograt Desert 13", "moc_fild13", 185, 263);
|
||||
naviregisterwarp("Warper > Sograt Desert 14", "moc_fild14", 223, 222);
|
||||
naviregisterwarp("Warper > Sograt Desert 15", "moc_fild15", 170, 257);
|
||||
naviregisterwarp("Warper > Sograt Desert 16", "moc_fild16", 206, 228);
|
||||
naviregisterwarp("Warper > Sograt Desert 17", "moc_fild17", 208, 238);
|
||||
naviregisterwarp("Warper > Sograt Desert 18", "moc_fild18", 209, 223);
|
||||
naviregisterwarp("Warper > Sograt Desert 19", "moc_fild19", 85, 97);
|
||||
}
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Splendide Field 1", "spl_fild01", 175, 186);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Splendide Field 2", "spl_fild02", 236, 184);
|
||||
naviregisterwarp("Warper > Splendide Field 3", "spl_fild03", 188, 204);
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Umbala Field 1", "um_fild01", 217, 206);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Umbala Field 2", "um_fild02", 223, 221);
|
||||
naviregisterwarp("Warper > Umbala Field 3", "um_fild03", 237, 215);
|
||||
naviregisterwarp("Warper > Umbala Field 4", "um_fild04", 202, 197);
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Veins Field 1", "ve_fild01", 186, 175);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Veins Field 2", "ve_fild02", 196, 370);
|
||||
naviregisterwarp("Warper > Veins Field 3", "ve_fild03", 222, 45);
|
||||
naviregisterwarp("Warper > Veins Field 4", "ve_fild04", 51, 250);
|
||||
naviregisterwarp("Warper > Veins Field 6", "ve_fild06", 150, 223);
|
||||
naviregisterwarp("Warper > Veins Field 7", "ve_fild07", 149, 307);
|
||||
if (!checkre(0)) {
|
||||
naviregisterwarp("Warper > Veins Field 5", "ve_fild05", 202, 324);
|
||||
}
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Juno Field 1", "yuno_fild01", 189, 224);
|
||||
if (!.OnlyFirstFld) {
|
||||
naviregisterwarp("Warper > Juno Field 2", "yuno_fild02", 192, 207);
|
||||
naviregisterwarp("Warper > Juno Field 3", "yuno_fild03", 221, 157);
|
||||
naviregisterwarp("Warper > Juno Field 4", "yuno_fild04", 226, 199);
|
||||
naviregisterwarp("Warper > Juno Field 6", "yuno_fild06", 187, 232);
|
||||
naviregisterwarp("Warper > Juno Field 7", "yuno_fild07", 231, 174);
|
||||
naviregisterwarp("Warper > Juno Field 8", "yuno_fild08", 196, 203);
|
||||
naviregisterwarp("Warper > Juno Field 9", "yuno_fild09", 183, 214);
|
||||
naviregisterwarp("Warper > Juno Field 11", "yuno_fild11", 195, 226);
|
||||
naviregisterwarp("Warper > Juno Field 12", "yuno_fild12", 210, 304);
|
||||
if (!checkre(0)) {
|
||||
naviregisterwarp("Warper > Juno Field 5", "yuno_fild05", 223, 177);
|
||||
naviregisterwarp("Warper > Juno Field 10", "yuno_fild10", 200, 124);
|
||||
}
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Abyss Lakes 1", "abyss_01", 261, 272);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Abyss Lakes 2", "abyss_02", 275, 270);
|
||||
naviregisterwarp("Warper > Abyss Lakes 3", "abyss_03", 116, 27);
|
||||
}
|
||||
naviregisterwarp("Warper > Amatsu Dungeon 1", "ama_dun01", 228, 11);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Amatsu Dungeon 2", "ama_dun02", 34, 41);
|
||||
naviregisterwarp("Warper > Amatsu Dungeon 3", "ama_dun03", 119, 14);
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Anthell 1", "anthell01", 35, 262);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Anthell 2", "anthell02", 168, 170);
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Ancient Shrine Maze", "ayo_dun01", 275, 19);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Inside Ancient Shrine", "ayo_dun02", 24, 26);
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Beach Dungeon 1", "beach_dun", 266, 67);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Beach Dungeon 2", "beach_dun2", 255, 244);
|
||||
naviregisterwarp("Warper > Beach Dungeon 3", "beach_dun3", 23, 260);
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Bio Lab 1", "lhz_dun01", 150, 288);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Bio Lab 2", "lhz_dun02", 150, 18);
|
||||
naviregisterwarp("Warper > Bio Lab 3", "lhz_dun03", 140, 134);
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Bio Lab 4", "lhz_dun04", 244, 52);
|
||||
}
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Brasilis Dungeon 1", "bra_dun01", 87, 47);
|
||||
if (!.OnlyFirstDun) {
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Brasilis Dungeon 2", "bra_dun02", 262, 262);
|
||||
}
|
||||
}
|
||||
|
||||
naviregisterwarp("Warper > Byalan Dungeon 1", "iz_dun00", 168, 168);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Byalan Dungeon 2", "iz_dun01", 253, 252);
|
||||
naviregisterwarp("Warper > Byalan Dungeon 3", "iz_dun02", 236, 204);
|
||||
naviregisterwarp("Warper > Byalan Dungeon 4", "iz_dun03", 32, 63);
|
||||
naviregisterwarp("Warper > Byalan Dungeon 5", "iz_dun04", 26, 27);
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Byalan Dungeon 6", "iz_dun05", 141, 187);
|
||||
}
|
||||
}
|
||||
naviregisterwarp("Warper > Clock Tower 1", "c_tower1", 199, 159);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Clock Tower 2", "c_tower2", 148, 283);
|
||||
naviregisterwarp("Warper > Clock Tower 3", "c_tower3", 65, 147);
|
||||
naviregisterwarp("Warper > Clock Tower 4", "c_tower4", 56, 155);
|
||||
naviregisterwarp("Warper > Basement 1", "alde_dun01", 297, 25);
|
||||
naviregisterwarp("Warper > Basement 2", "alde_dun02", 127, 169);
|
||||
naviregisterwarp("Warper > Basement 3", "alde_dun03", 277, 178);
|
||||
naviregisterwarp("Warper > Basement 4", "alde_dun04", 268, 74);
|
||||
}
|
||||
naviregisterwarp("Warper > Coal Mines 1", "mjo_dun01", 52, 17);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Coal Mines 2", "mjo_dun02", 381, 343);
|
||||
naviregisterwarp("Warper > Coal Mines 3", "mjo_dun03", 302, 262);
|
||||
}
|
||||
naviregisterwarp("Warper > Culvert 1", "prt_sewb1", 131, 247);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Culvert 2", "prt_sewb2", 19, 19);
|
||||
naviregisterwarp("Warper > Culvert 3", "prt_sewb3", 180, 169);
|
||||
naviregisterwarp("Warper > Culvert 4", "prt_sewb4", 100, 92);
|
||||
}
|
||||
naviregisterwarp("Warper > Cursed Abbey 1", "abbey01", 51, 14);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Cursed Abbey 2", "abbey02", 150, 11);
|
||||
naviregisterwarp("Warper > Cursed Abbey 3", "abbey03", 120, 10);
|
||||
}
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Dewata Dungeon 1", "dew_dun01", 285, 160);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Dewata Dungeon 2", "dew_dun02", 299, 29);
|
||||
}
|
||||
}
|
||||
naviregisterwarp("Warper > Einbroch Dungeon 1", "ein_dun01", 22, 14);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Einbroch Dungeon 2", "ein_dun02", 292, 290);
|
||||
}
|
||||
naviregisterwarp("Warper > Gefenia 1", "gefenia01", 40, 103);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Gefenia 2", "gefenia02", 203, 34);
|
||||
naviregisterwarp("Warper > Gefenia 3", "gefenia03", 266, 168);
|
||||
naviregisterwarp("Warper > Gefenia 4", "gefenia04", 130, 272);
|
||||
}
|
||||
naviregisterwarp("Warper > Geffen Dungeon 1", "gef_dun00", 104, 99);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Geffen Dungeon 2", "gef_dun01", 115, 236);
|
||||
naviregisterwarp("Warper > Geffen Dungeon 3", "gef_dun02", 106, 132);
|
||||
naviregisterwarp("Warper > Geffen Dungeon 4", "gef_dun03", 203, 200);
|
||||
}
|
||||
naviregisterwarp("Warper > Entrance", "glast_01", 370, 304);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Castle 1", "gl_cas01", 199, 29);
|
||||
naviregisterwarp("Warper > Castle 2", "gl_cas02", 104, 25);
|
||||
naviregisterwarp("Warper > Chivalry 1", "gl_knt01", 150, 15);
|
||||
naviregisterwarp("Warper > Chivalry 2", "gl_knt02", 157, 287);
|
||||
naviregisterwarp("Warper > Churchyard", "gl_chyard", 147, 15);
|
||||
naviregisterwarp("Warper > Culvert 1", "gl_sew01", 258, 255);
|
||||
naviregisterwarp("Warper > Culvert 2", "gl_sew02", 108, 291);
|
||||
naviregisterwarp("Warper > Culvert 3", "gl_sew03", 171, 283);
|
||||
naviregisterwarp("Warper > Culvert 4", "gl_sew04", 68, 277);
|
||||
naviregisterwarp("Warper > St. Abbey", "gl_church", 156, 7);
|
||||
naviregisterwarp("Warper > Staircase Dungeon", "gl_step", 12, 7);
|
||||
naviregisterwarp("Warper > Underground Cave 1", "gl_dun01", 133, 271);
|
||||
naviregisterwarp("Warper > Underground Cave 2", "gl_dun02", 224, 274);
|
||||
naviregisterwarp("Warper > Underground Prison 1", "gl_prison", 14, 70);
|
||||
naviregisterwarp("Warper > Underground Prison 2", "gl_prison1", 150, 14);
|
||||
}
|
||||
naviregisterwarp("Warper > Kunlun Dungeon 1", "gon_dun01", 153, 53);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Kunlun Dungeon 2", "gon_dun02", 28, 113);
|
||||
naviregisterwarp("Warper > Kunlun Dungeon 3", "gon_dun03", 68, 16);
|
||||
}
|
||||
naviregisterwarp("Warper > Hidden Dungeon 1", "prt_maze01", 176, 7);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Hidden Dungeon 2", "prt_maze02", 93, 20);
|
||||
naviregisterwarp("Warper > Hidden Dungeon 3", "prt_maze03", 23, 8);
|
||||
}
|
||||
naviregisterwarp("Warper > Ice Dungeon 1", "ice_dun01", 157, 14);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Ice Dungeon 2", "ice_dun02", 151, 155);
|
||||
naviregisterwarp("Warper > Ice Dungeon 3", "ice_dun03", 149, 22);
|
||||
naviregisterwarp("Warper > Ice Dungeon 4", "ice_dun04", 33, 158);
|
||||
}
|
||||
naviregisterwarp("Warper > Entrance", "jupe_cave", 140, 51);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Juperos 1", "juperos_01", 53, 247);
|
||||
naviregisterwarp("Warper > Juperos 2", "juperos_02", 37, 63);
|
||||
naviregisterwarp("Warper > Core", "jupe_core", 150, 285);
|
||||
}
|
||||
naviregisterwarp("Warper > Kiel Dungeon 1", "kh_dun01", 28, 226);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Kiel Dungeon 2", "kh_dun02", 41, 198);
|
||||
}
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Lasagna Dungeon 1", "lasa_dun01", 24, 143);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Lasagna Dungeon 2", "lasa_dun02", 22, 171);
|
||||
naviregisterwarp("Warper > Lasagna Dungeon 3", "lasa_dun03", 190, 18);
|
||||
}
|
||||
}
|
||||
naviregisterwarp("Warper > The Royal Tomb", "lou_dun01", 218, 196);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Inside the Royal Tomb", "lou_dun02", 282, 20);
|
||||
naviregisterwarp("Warper > Suei Long Gon", "lou_dun03", 165, 38);
|
||||
}
|
||||
naviregisterwarp("Warper > Magma Dungeon 1", "mag_dun01", 126, 68);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Magma Dungeon 2", "mag_dun02", 47, 30);
|
||||
}
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Malangdo Dungeon 1", "mal_dun01", 33, 230);
|
||||
}
|
||||
naviregisterwarp("Warper > Moscovia Dungeon 1", "mosk_dun01", 189, 48);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Moscovia Dungeon 2", "mosk_dun02", 165, 30);
|
||||
naviregisterwarp("Warper > Moscovia Dungeon 3", "mosk_dun03", 32, 135);
|
||||
}
|
||||
naviregisterwarp("Warper > Nidhogg's Dungeon 1", "nyd_dun01", 61, 239);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Nidhogg's Dungeon 2", "nyd_dun02", 60, 271);
|
||||
}
|
||||
naviregisterwarp("Warper > Odin Temple 1", "odin_tem01", 298, 167);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Odin Temple 2", "odin_tem02", 224, 149);
|
||||
naviregisterwarp("Warper > Odin Temple 3", "odin_tem03", 266, 280);
|
||||
}
|
||||
naviregisterwarp("Warper > Orc Dungeon 1", "orcsdun01", 32, 170);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Orc Dungeon 2", "orcsdun02", 21, 185);
|
||||
}
|
||||
naviregisterwarp("Warper > Payon Dungeon 1", "pay_dun00", 21, 183);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Payon Dungeon 2", "pay_dun01", 19, 33);
|
||||
naviregisterwarp("Warper > Payon Dungeon 3", "pay_dun02", 19, 63);
|
||||
naviregisterwarp("Warper > Payon Dungeon 4", "pay_dun03", 155, 159);
|
||||
naviregisterwarp("Warper > Payon Dungeon 5", "pay_dun04", 201, 204);
|
||||
}
|
||||
naviregisterwarp("Warper > Pyramids 1", "moc_pryd01", 192, 9);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Pyramids 2", "moc_pryd02", 10, 192);
|
||||
naviregisterwarp("Warper > Pyramids 3", "moc_pryd03", 100, 92);
|
||||
naviregisterwarp("Warper > Pyramids 4", "moc_pryd04", 181, 11);
|
||||
naviregisterwarp("Warper > Basement 1", "moc_pryd05", 94, 96);
|
||||
naviregisterwarp("Warper > Basement 2", "moc_pryd06", 192, 8);
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Basement 1 - Nightmare Mode", "moc_prydn1", 94, 96);
|
||||
naviregisterwarp("Warper > Basement 2 - Nightmare Mode", "moc_prydn2", 192, 8);
|
||||
}
|
||||
}
|
||||
naviregisterwarp("Warper > Rachel Sanctuary 1", "ra_san01", 140, 11);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Rachel Sanctuary 2", "ra_san02", 32, 21);
|
||||
naviregisterwarp("Warper > Rachel Sanctuary 3", "ra_san03", 8, 149);
|
||||
naviregisterwarp("Warper > Rachel Sanctuary 4", "ra_san04", 204, 218);
|
||||
naviregisterwarp("Warper > Rachel Sanctuary 5", "ra_san05", 150, 9);
|
||||
}
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Scaraba Hole 1", "dic_dun01", 364, 44);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Scaraba Hole 2", "dic_dun02", 101, 141);
|
||||
}
|
||||
}
|
||||
naviregisterwarp("Warper > Sphinx 1", "in_sphinx1", 288, 9);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Sphinx 2", "in_sphinx2", 149, 81);
|
||||
naviregisterwarp("Warper > Sphinx 3", "in_sphinx3", 210, 54);
|
||||
naviregisterwarp("Warper > Sphinx 4", "in_sphinx4", 10, 222);
|
||||
naviregisterwarp("Warper > Sphinx 5", "in_sphinx5", 100, 99);
|
||||
}
|
||||
naviregisterwarp("Warper > Sunken Ship 1", "treasure01", 69, 24);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Sunken Ship 2", "treasure02", 102, 27);
|
||||
}
|
||||
naviregisterwarp("Warper > Thanatos Tower 1", "tha_t01", 150, 39);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Thanatos Tower 2", "tha_t02", 150, 136);
|
||||
naviregisterwarp("Warper > Thanatos Tower 3", "tha_t03", 220, 158);
|
||||
naviregisterwarp("Warper > Thanatos Tower 4", "tha_t04", 59, 143);
|
||||
naviregisterwarp("Warper > Thanatos Tower 5", "tha_t05", 62, 11);
|
||||
naviregisterwarp("Warper > Thanatos Tower 6", "tha_t06", 89, 221);
|
||||
naviregisterwarp("Warper > Thanatos Tower 7", "tha_t07", 35, 166);
|
||||
naviregisterwarp("Warper > Thanatos Tower 8", "tha_t08", 93, 148);
|
||||
naviregisterwarp("Warper > Thanatos Tower 9", "tha_t09", 29, 107);
|
||||
naviregisterwarp("Warper > Thanatos Tower 10", "tha_t10", 159, 138);
|
||||
naviregisterwarp("Warper > Thanatos Tower 11", "tha_t11", 19, 20);
|
||||
naviregisterwarp("Warper > Thanatos Tower 12", "tha_t12", 130, 52);
|
||||
}
|
||||
naviregisterwarp("Warper > Thor Volcano 1", "thor_v01", 21, 228);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Thor Volcano 2", "thor_v02", 75, 205);
|
||||
naviregisterwarp("Warper > Thor Volcano 3", "thor_v03", 34, 272);
|
||||
}
|
||||
naviregisterwarp("Warper > Toy Factory 1", "xmas_dun01", 205, 15);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Toy Factory 2", "xmas_dun02", 129, 133);
|
||||
}
|
||||
naviregisterwarp("Warper > Entrance", "tur_dun01", 154, 49);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Turtle Dungeon 1", "tur_dun02", 148, 261);
|
||||
naviregisterwarp("Warper > Turtle Dungeon 2", "tur_dun03", 132, 189);
|
||||
naviregisterwarp("Warper > Turtle Dungeon 3", "tur_dun04", 100, 192);
|
||||
}
|
||||
naviregisterwarp("Warper > Carpenter's Shop in the Tree", "um_dun01", 42, 31);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Passage to a Foreign World", "um_dun02", 48, 30);
|
||||
naviregisterwarp("Warper > Hvergermil's Fountain", "yggdrasil01", 204, 78);
|
||||
}
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Bifrost Tower 1", "ecl_tdun01", 57, 13);
|
||||
if (!.OnlyFirstDun) {
|
||||
naviregisterwarp("Warper > Bifrost Tower 2", "ecl_tdun02", 64, 88);
|
||||
naviregisterwarp("Warper > Bifrost Tower 3", "ecl_tdun03", 45, 14);
|
||||
naviregisterwarp("Warper > Bifrost Tower 4", "ecl_tdun04", 26, 23);
|
||||
}
|
||||
}
|
||||
|
||||
// castles
|
||||
|
||||
naviregisterwarp("Warper > Neuschwanstein", "alde_gld", 48, 83);
|
||||
naviregisterwarp("Warper > Hohenschwangau", "alde_gld", 95, 249);
|
||||
naviregisterwarp("Warper > Nuenberg", "alde_gld", 142, 85);
|
||||
naviregisterwarp("Warper > Wuerzburg", "alde_gld", 239, 242);
|
||||
naviregisterwarp("Warper > Rothenburg", "alde_gld", 264, 90);
|
||||
naviregisterwarp("Warper > Repherion", "gef_fild13", 214, 75);
|
||||
naviregisterwarp("Warper > Eeyolbriggar", "gef_fild13", 308, 240);
|
||||
naviregisterwarp("Warper > Yesnelph", "gef_fild13", 143, 240);
|
||||
naviregisterwarp("Warper > Bergel", "gef_fild13", 193, 278);
|
||||
naviregisterwarp("Warper > Mersetzdeitz", "gef_fild13", 305, 87);
|
||||
naviregisterwarp("Warper > Bright Arbor", "pay_gld", 121, 233);
|
||||
naviregisterwarp("Warper > Scarlet Palace", "pay_gld", 295, 116);
|
||||
naviregisterwarp("Warper > Holy Shadow", "pay_gld", 317, 293);
|
||||
naviregisterwarp("Warper > Sacred Altar", "pay_gld", 140, 160);
|
||||
naviregisterwarp("Warper > Bamboo Grove Hill", "pay_gld", 204, 266);
|
||||
naviregisterwarp("Warper > Kriemhild", "prt_gld", 134, 65);
|
||||
naviregisterwarp("Warper > Swanhild", "prt_gld", 240, 128);
|
||||
naviregisterwarp("Warper > Fadhgridh", "prt_gld", 153, 137);
|
||||
naviregisterwarp("Warper > Skoegul", "prt_gld", 111, 240);
|
||||
naviregisterwarp("Warper > Gondul", "prt_gld", 208, 240);
|
||||
naviregisterwarp("Warper > Mardol", "aru_gld", 158, 272);
|
||||
naviregisterwarp("Warper > Cyr", "aru_gld", 83, 47);
|
||||
naviregisterwarp("Warper > Horn", "aru_gld", 68, 155);
|
||||
naviregisterwarp("Warper > Gefn", "aru_gld", 299, 345);
|
||||
naviregisterwarp("Warper > Banadis", "aru_gld", 292, 107);
|
||||
naviregisterwarp("Warper > Himinn", "sch_gld", 293, 100);
|
||||
naviregisterwarp("Warper > Andlangr", "sch_gld", 288, 252);
|
||||
naviregisterwarp("Warper > Viblainn", "sch_gld", 97, 196);
|
||||
naviregisterwarp("Warper > Hljod", "sch_gld", 137, 90);
|
||||
naviregisterwarp("Warper > Skidbladnir", "sch_gld", 71, 315);
|
||||
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Kafragarten 1", "te_alde_gld", 48, 83);
|
||||
naviregisterwarp("Warper > Kafragarten 2", "te_alde_gld", 95, 249);
|
||||
naviregisterwarp("Warper > Kafragarten 3", "te_alde_gld", 142, 85);
|
||||
naviregisterwarp("Warper > Kafragarten 4", "te_alde_gld", 239, 242);
|
||||
naviregisterwarp("Warper > Kafragarten 5", "te_alde_gld", 264, 90);
|
||||
naviregisterwarp("Warper > Gloria 1", "te_prt_gld", 134, 65);
|
||||
naviregisterwarp("Warper > Gloria 2", "te_prt_gld", 240, 128);
|
||||
naviregisterwarp("Warper > Gloria 3", "te_prt_gld", 153, 137);
|
||||
naviregisterwarp("Warper > Gloria 4", "te_prt_gld", 111, 240);
|
||||
naviregisterwarp("Warper > Gloria 5", "te_prt_gld", 208, 240);
|
||||
}
|
||||
|
||||
// guild dungeons
|
||||
naviregisterwarp("Warper > Baldur F1", "gld_dun01", 119, 93);
|
||||
naviregisterwarp("Warper > Luina F1", "gld_dun02", 39, 161);
|
||||
naviregisterwarp("Warper > Valkyrie F1", "gld_dun03", 50, 44);
|
||||
naviregisterwarp("Warper > Britoniah F1", "gld_dun04", 116, 45);
|
||||
naviregisterwarp("Warper > Arunafeltz", "arug_dun01", 199, 195);
|
||||
naviregisterwarp("Warper > Schwarzwald", "schg_dun01", 200,124);
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Baldur F2", "gld_dun01_2", 119, 93);
|
||||
naviregisterwarp("Warper > Hall of Abyss", "gld2_pay", 120, 130);
|
||||
naviregisterwarp("Warper > Luina F2", "gld_dun02_2", 39, 161);
|
||||
naviregisterwarp("Warper > Hall of Abyss", "gld2_ald", 147, 155);
|
||||
naviregisterwarp("Warper > Valkyrie F2", "gld_dun03_2", 50, 44);
|
||||
naviregisterwarp("Warper > Hall of Abyss", "gld2_prt", 140, 132);
|
||||
naviregisterwarp("Warper > Britoniah F2", "gld_dun04_2", 116, 45);
|
||||
naviregisterwarp("Warper > Hall of Abyss", "gld2_gef", 152, 118);
|
||||
naviregisterwarp("Warper > Kafragarten", "teg_dun01", 42, 36);
|
||||
naviregisterwarp("Warper > Gloria", "teg_dun02", 26, 160);
|
||||
}
|
||||
end;
|
||||
|
||||
// instances
|
||||
naviregisterwarp("Warper > Endless Tower", "e_tower", 72, 112);
|
||||
naviregisterwarp("Warper > Nidhoggur's Nest", "nyd_dun02", 95, 193);
|
||||
naviregisterwarp("Warper > Orc's Memory", "gef_fild10", 240, 198);
|
||||
naviregisterwarp("Warper > Sealed Shrine", "monk_test", 306, 143);
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Bakonawa Lake", "ma_scene01", 172, 175);
|
||||
naviregisterwarp("Warper > Bangungot Hospital 2F", "ma_dun01", 151, 8);
|
||||
naviregisterwarp("Warper > Buwaya Cave", "ma_fild02", 316, 317);
|
||||
naviregisterwarp("Warper > Devil Tower", "dali02", 137, 115);
|
||||
naviregisterwarp("Warper > Eclage Interior", "ecl_hub01", 129, 12);
|
||||
naviregisterwarp("Warper > Faceworms Nest", "dali", 85, 64);
|
||||
naviregisterwarp("Warper > Geffen Magic Tournament", "dali", 94, 141);
|
||||
naviregisterwarp("Warper > Ghost Palace", "dali02", 46, 128);
|
||||
naviregisterwarp("Warper > Hazy Forest", "bif_fild01", 161, 334);
|
||||
naviregisterwarp("Warper > Horror Toy Factory", "xmas", 234, 298);
|
||||
naviregisterwarp("Warper > Malangdo Culvert", "mal_in01", 164, 21);
|
||||
naviregisterwarp("Warper > Octopus Cave", "mal_dun01", 152, 230);
|
||||
naviregisterwarp("Warper > Old Glast Heim", "glast_01", 204, 268);
|
||||
naviregisterwarp("Warper > Sarah and Fenrir", "dali02", 92, 141);
|
||||
naviregisterwarp("Warper > Sara Memory", "dali", 133, 108);
|
||||
naviregisterwarp("Warper > Wolfchev's Laboratory", "lhz_dun04", 148, 269);
|
||||
}
|
||||
|
||||
|
||||
// special
|
||||
naviregisterwarp("Warper > Auction Hall", "auction_01", 22, 68);
|
||||
naviregisterwarp("Warper > Battlegrounds", "bat_room", 154, 150);
|
||||
naviregisterwarp("Warper > Casino", "cmd_in02", 179, 129);
|
||||
naviregisterwarp("Warper > Kunlun Arena", "gon_test", 48, 10);
|
||||
naviregisterwarp("Warper > Izlude Arena", "arena_room", 100, 88);
|
||||
naviregisterwarp("Warper > Monster Race Arena", "p_track01", 62, 41);
|
||||
naviregisterwarp("Warper > Turbo Track", "turbo_room", 99, 114);
|
||||
if (checkre(0)) {
|
||||
naviregisterwarp("Warper > Dimensional Rift", "dali", 113, 82);
|
||||
naviregisterwarp("Warper > Eden Group Headquarters", "moc_para01", 31, 14);
|
||||
naviregisterwarp("Warper > Para Market", "paramk", 97, 17);
|
||||
}
|
||||
|
||||
OnInit:
|
||||
.Satan_Morocc = true; // false will enable moc_fild 4,5,6,8,9,10,14,15 while disable moc_fild 20,21,22 Default is true.
|
||||
.OnlyFirstFld = false; // true will teleport to the first level of the Fields Default is false.
|
||||
|
||||
@@ -183,10 +183,15 @@ que_ng,152,167,3 script Master Miller 901,{
|
||||
callfunc "Job_Change",Job_Gunslinger;
|
||||
set GUNS_Q,6;
|
||||
completequest 6024;
|
||||
if (rand(1,2) == 1) {
|
||||
getitem 13100,1; // Six_Shooter
|
||||
if (checkre(0)) {
|
||||
getitem 13180,1; // Novice_Rifle
|
||||
getitem 12149,2; // Bullet_Case
|
||||
getitem 12151,1; // Bullet_Case_Silver
|
||||
} else {
|
||||
getitem 13150,1; // Branch
|
||||
if (rand(2))
|
||||
getitem 13100,1; // Six_Shooter
|
||||
else
|
||||
getitem 13150,1; // Branch
|
||||
}
|
||||
close;
|
||||
}
|
||||
|
||||
@@ -883,7 +883,7 @@ OnTimer28500:
|
||||
mes "Hey there, are you alive?";
|
||||
mes "I did not expect to meet someone who is still alive.";
|
||||
next;
|
||||
.@item_name_req$ = getitemname(6672);// Shard_of_Gray
|
||||
.@item_name_req$ = getitemname(6672);// Gray_Shard
|
||||
mes "[King]";
|
||||
mes "Do you possibly have the ^006400" + .@item_name_req$ + "^000000?";
|
||||
mes "Can you give it to me?";
|
||||
|
||||
@@ -371,6 +371,11 @@ job4_tro mapflag nobranch
|
||||
2@ch_t mapflag nobranch
|
||||
3@ch_t mapflag nobranch
|
||||
|
||||
//============================================================
|
||||
// Training Ground outside Prontera
|
||||
//============================================================
|
||||
tra_fild mapflag nobranch
|
||||
|
||||
//============================================================
|
||||
// Episode 18 - Direction of Prayer
|
||||
//============================================================
|
||||
|
||||
@@ -446,7 +446,7 @@ har_in01,19,86,4 script Weapon Dealer#rockridge01 1_F_02,{
|
||||
|
||||
- marketshop armor_rockridge_1 -1,2247:500000:10,2248:500000:10,5018:700000:10
|
||||
- marketshop armor_rockridge_2 -1,5067:700000:10,5071:700000:10,5075:700000:10
|
||||
- marketshop armor_rockridge_3 -1,2267:100000:10,2268:500000:10,5155:5000:10
|
||||
- marketshop armor_rockridge_3 -1,2267:100000:10,2268:500000:10,2241:5000:10
|
||||
- marketshop armor_rockridge_4 -1,5067:700000:10,5071:700000:10,5075:700000:10,31144:1500000:3
|
||||
|
||||
har_in01,16,86,4 script Armor Dealer#rockridge02 1_M_04,{
|
||||
@@ -499,6 +499,22 @@ har_in01,16,86,4 script Armor Dealer#rockridge02 1_M_04,{
|
||||
else if (.@day == FRIDAY)
|
||||
callshop "armor_rockridge_4", 1;
|
||||
end;
|
||||
|
||||
OnSun0000: // custom restock, no official info
|
||||
npcshopupdate "armor_rockridge_1",2247,0,10;
|
||||
npcshopupdate "armor_rockridge_1",2248,0,10;
|
||||
npcshopupdate "armor_rockridge_1",5018,0,10;
|
||||
npcshopupdate "armor_rockridge_2",5067,0,10;
|
||||
npcshopupdate "armor_rockridge_2",5071,0,10;
|
||||
npcshopupdate "armor_rockridge_2",5075,0,10;
|
||||
npcshopupdate "armor_rockridge_3",2267,0,10;
|
||||
npcshopupdate "armor_rockridge_3",2268,0,10;
|
||||
npcshopupdate "armor_rockridge_3",2241,0,10;
|
||||
npcshopupdate "armor_rockridge_4",5067,0,10;
|
||||
npcshopupdate "armor_rockridge_4",5071,0,10;
|
||||
npcshopupdate "armor_rockridge_4",5075,0,10;
|
||||
npcshopupdate "armor_rockridge_4",31144,0,3;
|
||||
end;
|
||||
}
|
||||
|
||||
har_in01,34,84,3 shop Tool Dealer#rockridge00 1_F_03,611:-1,645:-1,656:-1,601:-1,602:-1,1065:-1,610:-1
|
||||
|
||||
@@ -11,7 +11,7 @@ dali02,51,130,4 script Dimension Traveler 4_F_SHABBY,{
|
||||
mes "- You cannot proceed because you have too many items with you. -";
|
||||
close;
|
||||
}
|
||||
.@item_name_req$ = getitemname(6672);// Shard_of_Gray
|
||||
.@item_name_req$ = getitemname(6672);// Gray_Shard
|
||||
mes "[Dimension Traveler]";
|
||||
mes "Adventurer friend, <ITEM>[" + .@item_name_req$ + "]<INFO>6672</INFO></ITEM> is what I need. How about exchanging it with something I have?";
|
||||
next;
|
||||
|
||||
@@ -1401,11 +1401,11 @@ mal_in01,20,107,3 script Lace La Zard#cos_ect 4_FROG,{
|
||||
25797, 29427, "Increases damage of Knuckle Arrow by 15%.", // SuraStone_Robe2 SuraStone_Robe2_
|
||||
25801, 29614, "Increases damage of Diamond Dust by 15%.", // SorcererStone_Robe2 SorcererStone_Robe2_
|
||||
25805, 29618, "Increases damage of Fatal Menace by 15%.", // ShadowchaserStone_Robe2 ShadowchaserStone_Robe2_
|
||||
25842, 29654, "Increases damage of Eswhoo by 20%.", // SoulReaperStone_Robe SoulReaperStone_Robe_
|
||||
25849, 29658, "Increases damage of Falling Star, Solar Burst and Full Moon Kick by 20%.", // StarEmperorStone_Garment StarEmperorStone_Garment_
|
||||
25842, 29654, "Increases damage of Eswhoo by 20%.", // SoulReaperStone_Robe Soulreaper_Robe
|
||||
25849, 29658, "Increases damage of Falling Star, Solar Burst and Full Moon Kick by 20%.", // StarEmperorStone_Garment Staremperor_Robe
|
||||
25853, 29662, "Increases damage of Swirling Petal by 25%.", // KagerouStone_Robe KagerouStone_Robe_
|
||||
25854, 29663, "Increases damage of Flaming Petals by 20%.", // OboroStone_Robe OboroStone_Robe_
|
||||
25858, 29667, "Increases damage of Hammer of God and Round Trip by 20%.", // GunslingerStone_Robe GunslingerStone_Robe_
|
||||
25858, 29667, "Increases damage of Hammer of God and Round Trip by 20%.", // GunslingerStone_Robe Rebellion_Robe
|
||||
25862, 29671, "Increases damage of Picky Peck and Catnip Meteor by 20%.", // DoramStone_Robe DoramStone_Robe_
|
||||
1000011, 310003, "Increases damage of Aimed Bolt by 15%.", // RangerStone_II_Garment Ranger_Robe2
|
||||
1000015, 310007, "Increases damage of Arms Cannon by 15%.", // MechanicStone_II_Garment Mechanic_Robe2
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
//= Spawns monsters in towns.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version, Renewal spawns.
|
||||
//= 1.1 Removed Dummy monsters.
|
||||
//============================================================
|
||||
|
||||
//==================================================
|
||||
@@ -26,11 +27,11 @@ brasilis,96,50,8,8 monster Strange Hydra 2081,5,5000
|
||||
alb_ship,0,0 monster Strange Mouse 2057,25
|
||||
|
||||
//==================================================
|
||||
// Prontera, Training Dummy Area
|
||||
// Prontera, Training Dummy Area (removed)
|
||||
//==================================================
|
||||
prontera,251,77 monster Dummy Lv50 2409,1,5000
|
||||
prontera,259,77 monster Dummy Lv50 2409,1,5000
|
||||
prontera,251,66 monster Dummy Lv100 2410,1,5000
|
||||
prontera,259,66 monster Dummy Lv100 2410,1,5000
|
||||
prontera,251,55 monster Dummy Lv150 2411,1,5000
|
||||
prontera,259,55 monster Dummy Lv150 2411,1,5000
|
||||
// prontera,251,77 monster Dummy Lv50 2409,1,5000
|
||||
// prontera,259,77 monster Dummy Lv50 2409,1,5000
|
||||
// prontera,251,66 monster Dummy Lv100 2410,1,5000
|
||||
// prontera,259,66 monster Dummy Lv100 2410,1,5000
|
||||
// prontera,251,55 monster Dummy Lv150 2411,1,5000
|
||||
// prontera,259,55 monster Dummy Lv150 2411,1,5000
|
||||
|
||||
49
npc/re/mobs/tra_fild.txt
Normal file
49
npc/re/mobs/tra_fild.txt
Normal file
@@ -0,0 +1,49 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Training Zone
|
||||
//===== Description: =========================================
|
||||
//= Training Dummy monster spawn script.
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 Initial Release [Capuche]
|
||||
//============================================================
|
||||
|
||||
tra_fild,57,159 monster Dummy (Small) 21064,1
|
||||
tra_fild,57,145 monster Dummy (Small) 21064,1
|
||||
tra_fild,57,131 monster Dummy (Small) 21064,1
|
||||
tra_fild,70,159 monster Dummy (Medium) 21065,1
|
||||
tra_fild,70,145 monster Dummy (Medium) 21065,1
|
||||
tra_fild,70,131 monster Dummy (Medium) 21065,1
|
||||
tra_fild,83,159 monster Dummy (Large) 21066,1
|
||||
tra_fild,83,145 monster Dummy (Large) 21066,1
|
||||
tra_fild,83,131 monster Dummy (Large) 21066,1
|
||||
|
||||
tra_fild,101,159 monster Dummy (Small) 21064,1
|
||||
tra_fild,101,145 monster Dummy (Small) 21064,1
|
||||
tra_fild,101,131 monster Dummy (Small) 21064,1
|
||||
tra_fild,114,159 monster Dummy (Medium) 21065,1
|
||||
tra_fild,114,145 monster Dummy (Medium) 21065,1
|
||||
tra_fild,114,131 monster Dummy (Medium) 21065,1
|
||||
tra_fild,127,159 monster Dummy (Large) 21066,1
|
||||
tra_fild,127,145 monster Dummy (Large) 21066,1
|
||||
tra_fild,127,131 monster Dummy (Large) 21066,1
|
||||
|
||||
tra_fild,66,70 monster Dummy (Neutral Lv1) 21077,1
|
||||
tra_fild,74,70 monster Dummy (Water Lv1) 21078,1
|
||||
tra_fild,82,70 monster Dummy (Earth Lv1) 21079,1
|
||||
tra_fild,90,70 monster Dummy (Fire Lv1) 21080,1
|
||||
tra_fild,98,70 monster Dummy (Wind Lv1) 21081,1
|
||||
tra_fild,106,70 monster Dummy (Poison Lv1) 21082,1
|
||||
tra_fild,114,70 monster Dummy (Holy Lv1) 21083,1
|
||||
tra_fild,122,70 monster Dummy (Dark Lv1) 21084,1
|
||||
tra_fild,130,70 monster Dummy (Ghost Lv1) 21085,1
|
||||
tra_fild,138,70 monster Dummy (Undead Lv1) 21086,1
|
||||
|
||||
tra_fild,66,50 monster Dummy (Neutral) 21067,1
|
||||
tra_fild,74,50 monster Dummy (Dragon) 21068,1
|
||||
tra_fild,82,50 monster Dummy (Brute) 21069,1
|
||||
tra_fild,90,50 monster Dummy (Human) 21070,1
|
||||
tra_fild,98,50 monster Dummy (Insect) 21071,1
|
||||
tra_fild,106,50 monster Dummy (Fish) 21072,1
|
||||
tra_fild,114,50 monster Dummy (Demon) 21073,1
|
||||
tra_fild,122,50 monster Dummy (Plant) 21074,1
|
||||
tra_fild,130,50 monster Dummy (Angel) 21075,1
|
||||
tra_fild,138,50 monster Dummy (Undead) 21076,1
|
||||
@@ -8,6 +8,7 @@ npc: npc/re/mobs/int_land.txt
|
||||
npc: npc/re/mobs/prt_cas.txt
|
||||
npc: npc/re/mobs/special_border_area.txt
|
||||
npc: npc/re/mobs/towns.txt
|
||||
npc: npc/re/mobs/tra_fild.txt
|
||||
npc: npc/re/mobs/verus.txt
|
||||
|
||||
// -------------------------- Dungeons --------------------------
|
||||
|
||||
@@ -53,6 +53,7 @@ npc: npc/re/warps/other/paradise.txt
|
||||
npc: npc/re/warps/other/s_workshop.txt
|
||||
npc: npc/re/warps/other/sign.txt
|
||||
npc: npc/re/warps/other/special_border_area.txt
|
||||
npc: npc/re/warps/other/TrainingZone.txt
|
||||
npc: npc/re/warps/other/un_myst.txt
|
||||
npc: npc/re/warps/other/verus.txt
|
||||
npc: npc/re/warps/guildcastles.txt
|
||||
|
||||
91
npc/re/warps/other/TrainingZone.txt
Normal file
91
npc/re/warps/other/TrainingZone.txt
Normal file
@@ -0,0 +1,91 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Training Zone
|
||||
//===== Description: =========================================
|
||||
//= NPC warp related to the training zone.
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 Initial Release [Capuche]
|
||||
//============================================================
|
||||
|
||||
prontera,246,62,3 script Training Instructor#sol1 8W_SOLDIER,{
|
||||
mes "[Training Instructor]";
|
||||
mes "If you want to train in a wider area, I'll let you in.";
|
||||
next;
|
||||
mes "[Training Instructor]";
|
||||
mes "The training ground is divided into two main areas.";
|
||||
next;
|
||||
mes "[Training Instructor]";
|
||||
mes "Upper area where you can check the applied force based on monster size.";
|
||||
next;
|
||||
mes "[Training Instructor]";
|
||||
mes "The lower area where you can check the force applied depending on the monster's attribute and form.";
|
||||
next;
|
||||
mes "[Training Instructor]";
|
||||
mes "Where would you like to enter?";
|
||||
next;
|
||||
switch( select( "Upper area", "Lower area", "Do not enter" ) ) {
|
||||
case 1:
|
||||
mes "[Training Instructor]";
|
||||
mes "Then I will guide you.";
|
||||
close2;
|
||||
warp "tra_fild",112,167;
|
||||
end;
|
||||
case 2:
|
||||
mes "[Training Instructor]";
|
||||
mes "Then I will guide you.";
|
||||
close2;
|
||||
warp "tra_fild",111,74;
|
||||
end;
|
||||
case 3:
|
||||
mes "[Training Instructor]";
|
||||
mes "If you need guidance, come to me.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
|
||||
tra_fild,111,79,3 script Training Instructor#sol3 8W_SOLDIER,{
|
||||
mes "[Training Instructor]";
|
||||
mes "Are you sure you want to move to the upper section?";
|
||||
next;
|
||||
switch( select( "Move", "Do not move", "Warp to Prontera." ) ) {
|
||||
case 1:
|
||||
mes "[Training Instructor]";
|
||||
mes "Go to upper section!!!";
|
||||
close2;
|
||||
warp "tra_fild",112,167;
|
||||
end;
|
||||
case 2:
|
||||
mes "[Training Instructor]";
|
||||
mes "Talk to me if you need to move.";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Training Instructor]";
|
||||
mes "I'll warp you.";
|
||||
close2;
|
||||
warp "prontera",246,60;
|
||||
end;
|
||||
}
|
||||
}
|
||||
|
||||
tra_fild,112,171,3 script Training Instructor#sol2 8W_SOLDIER,{
|
||||
mes "[Training Instructor]";
|
||||
mes "Are you sure you want to move to the lower section?";
|
||||
next;
|
||||
switch( select( "Move", "Do not move", "Warp to Prontera." ) ) {
|
||||
case 1:
|
||||
mes "[Training Instructor]";
|
||||
mes "Go to lower section!!!";
|
||||
close2;
|
||||
warp "tra_fild",111,74;
|
||||
end;
|
||||
case 2:
|
||||
mes "[Training Instructor]";
|
||||
mes "Talk to me if you need to move.";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Training Instructor]";
|
||||
mes "I'll warp you.";
|
||||
close2;
|
||||
warp "prontera",246,60;
|
||||
end;
|
||||
}
|
||||
}
|
||||
26
rAthena.sln
26
rAthena.sln
@@ -84,6 +84,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml2sql", "src\tool\yaml2s
|
||||
{352B45B3-FE88-4431-9D89-48CF811446DB} = {352B45B3-FE88-4431-9D89-48CF811446DB}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "web-server", "src\web\web-server.vcxproj", "{5809F27D-65B5-46A3-A340-C8685A8C09F4}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{F8FD7B1E-8E1C-4CC3-9CD1-2E28F77B6559} = {F8FD7B1E-8E1C-4CC3-9CD1-2E28F77B6559}
|
||||
{7A1A25BC-2CF7-44B2-8CAF-B4273B510FC6} = {7A1A25BC-2CF7-44B2-8CAF-B4273B510FC6}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "httplib", "3rdparty\httplib\httplib.vcxproj", "{7A1A25BC-2CF7-44B2-8CAF-B4273B510FC6}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yamlupgrade", "src\tool\yamlupgrade.vcxproj", "{9115C6D1-520A-4540-B4FE-95F3C923FE2C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{61D6A599-6BED-4154-A9FC-40553BD972E0} = {61D6A599-6BED-4154-A9FC-40553BD972E0}
|
||||
@@ -181,6 +189,22 @@ Global
|
||||
{CDBBB260-B245-44EC-80FB-3F9421885E40}.Release|Win32.Build.0 = Release|Win32
|
||||
{CDBBB260-B245-44EC-80FB-3F9421885E40}.Release|x64.ActiveCfg = Release|x64
|
||||
{CDBBB260-B245-44EC-80FB-3F9421885E40}.Release|x64.Build.0 = Release|x64
|
||||
{5809F27D-65B5-46A3-A340-C8685A8C09F4}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{5809F27D-65B5-46A3-A340-C8685A8C09F4}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{5809F27D-65B5-46A3-A340-C8685A8C09F4}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{5809F27D-65B5-46A3-A340-C8685A8C09F4}.Debug|x64.Build.0 = Debug|x64
|
||||
{5809F27D-65B5-46A3-A340-C8685A8C09F4}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{5809F27D-65B5-46A3-A340-C8685A8C09F4}.Release|Win32.Build.0 = Release|Win32
|
||||
{5809F27D-65B5-46A3-A340-C8685A8C09F4}.Release|x64.ActiveCfg = Release|x64
|
||||
{5809F27D-65B5-46A3-A340-C8685A8C09F4}.Release|x64.Build.0 = Release|x64
|
||||
{7A1A25BC-2CF7-44B2-8CAF-B4273B510FC6}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7A1A25BC-2CF7-44B2-8CAF-B4273B510FC6}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7A1A25BC-2CF7-44B2-8CAF-B4273B510FC6}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7A1A25BC-2CF7-44B2-8CAF-B4273B510FC6}.Debug|x64.Build.0 = Debug|x64
|
||||
{7A1A25BC-2CF7-44B2-8CAF-B4273B510FC6}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7A1A25BC-2CF7-44B2-8CAF-B4273B510FC6}.Release|Win32.Build.0 = Release|Win32
|
||||
{7A1A25BC-2CF7-44B2-8CAF-B4273B510FC6}.Release|x64.ActiveCfg = Release|x64
|
||||
{7A1A25BC-2CF7-44B2-8CAF-B4273B510FC6}.Release|x64.Build.0 = Release|x64
|
||||
{9115C6D1-520A-4540-B4FE-95F3C923FE2C}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{9115C6D1-520A-4540-B4FE-95F3C923FE2C}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{9115C6D1-520A-4540-B4FE-95F3C923FE2C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
@@ -213,6 +237,8 @@ Global
|
||||
{61D6A599-6BED-4154-A9FC-40553BD972E0} = {6ABA1767-6242-4CA0-BA22-A30972DC8918}
|
||||
{5A9059F2-4933-49A2-BEE6-CC67F66FA070} = {9F328FE9-129D-4C0C-820B-BE4AA5996652}
|
||||
{CDBBB260-B245-44EC-80FB-3F9421885E40} = {9F328FE9-129D-4C0C-820B-BE4AA5996652}
|
||||
{5809F27D-65B5-46A3-A340-C8685A8C09F4} = {6D9F5D00-2988-4812-844D-D155C4F588DC}
|
||||
{7A1A25BC-2CF7-44B2-8CAF-B4273B510FC6} = {6ABA1767-6242-4CA0-BA22-A30972DC8918}
|
||||
{9115C6D1-520A-4540-B4FE-95F3C923FE2C} = {9F328FE9-129D-4C0C-820B-BE4AA5996652}
|
||||
{492E2981-34F4-3A6A-BFD9-46096C641203} = {6ABA1767-6242-4CA0-BA22-A30972DC8918}
|
||||
EndGlobalSection
|
||||
|
||||
@@ -10,6 +10,7 @@ For a new install, the following needs to be imported into the 'ragnarok' schema
|
||||
Note: The schema name is defined in `conf/inter_athena.conf::map_server_db`.
|
||||
|
||||
* main.sql - Contains tables for normal server usage.
|
||||
* web.sql - Contains tables for the web service
|
||||
* roulette_default_data.sql - Contains data for the client's roulette game.
|
||||
|
||||
For a new install, the following needs to be imported into the 'log' schema:
|
||||
@@ -72,3 +73,7 @@ To run these queries the user requires the [FILE](https://dev.mysql.com/doc/refm
|
||||
* item_db_to_txt.sql - Dumps the __pre-renewal__ item data table to TXT format.
|
||||
* item_db2_re_to_txt.sql - Dumps the __renewal__ item data table (import) to TXT format.
|
||||
* item_db2_to_txt.sql - Dumps the __pre-renewal__ item data table (import) to TXT format.
|
||||
|
||||
### Notes
|
||||
---
|
||||
The web-server must be able to read the `login` and `guild` tables from the `login-server` and `char-server`, respectively.
|
||||
@@ -82,6 +82,7 @@ CREATE TABLE `item_db2_re` (
|
||||
`equip_level_min` tinyint(3) unsigned DEFAULT NULL,
|
||||
`equip_level_max` tinyint(3) unsigned DEFAULT NULL,
|
||||
`refineable` tinyint(1) unsigned DEFAULT NULL,
|
||||
`gradable` tinyint(1) unsigned DEFAULT NULL,
|
||||
`view` smallint(5) unsigned DEFAULT NULL,
|
||||
`alias_name` varchar(50) DEFAULT NULL,
|
||||
`flag_buyingstore` tinyint(1) unsigned DEFAULT NULL,
|
||||
|
||||
@@ -82,6 +82,7 @@ CREATE TABLE `item_db_re` (
|
||||
`equip_level_min` tinyint(3) unsigned DEFAULT NULL,
|
||||
`equip_level_max` tinyint(3) unsigned DEFAULT NULL,
|
||||
`refineable` tinyint(1) unsigned DEFAULT NULL,
|
||||
`gradable` tinyint(1) unsigned DEFAULT NULL,
|
||||
`view` smallint(5) unsigned DEFAULT NULL,
|
||||
`alias_name` varchar(50) DEFAULT NULL,
|
||||
`flag_buyingstore` tinyint(1) unsigned DEFAULT NULL,
|
||||
|
||||
@@ -810,7 +810,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`we
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_mage`,`job_sage`,`job_wizard`,`class_upper`,`class_third_upper`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (2039,'Wizardy_Staff_IL','Illusion Wizardry Staff','Weapon','2hStaff',2400,150,250,1,2,true,true,true,true,true,true,true,4,100,true,'.@val = min(getrefine(),10)/2;\nbonus bInt,(6+.@val);\nbonus bDex,(2+.@val);');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`price_buy`,`attack`,`magic_attack`,`range`,`slots`,`job_wizard`,`class_third`,`class_third_upper`,`class_third_baby`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_nostorage`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (2040,'Probation_Staff','Trial Warlock\'s Staff','Weapon','2hStaff',20,60,200,1,1,true,true,true,true,true,true,3,100,true,100,true,true,true,true,true,true,true,'bonus bUnbreakableWeapon;\nbonus2 bSkillAtk,"WL_EARTHSTRAIN",20;\nbonus bMatk,6*(min(BaseLevel,160)/10);\nif (getrefine()>=7) {\n bonus bMatkRate,getskilllv("WZ_STORMGUST");\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`attack`,`magic_attack`,`range`,`slots`,`job_wizard`,`class_third`,`class_third_upper`,`class_third_baby`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (2046,'Novice_Warlock\'s_Staff','Novice Warlock\'s Staff','Weapon','2hStaff',70,170,1,1,true,true,true,true,true,true,3,100,true,'bonus bMatkRate,5;\n.@r = getrefine();\nif (.@r>=7) {\n bonus2 bSkillAtk,"WL_CRIMSONROCK",15;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_wizard`,`class_third`,`class_third_upper`,`class_third_baby`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (2048,'Aeon_Staff','Aeon Staff','Weapon','2hStaff',800,100,200,1,2,true,true,true,true,true,true,4,100,true,'bonus bUnbreakableWeapon;\n.@r = getrefine();\nbonus bMatk,10*(.@r/2);\nbonus2 bSkillAtk,"WL_EARTHSTRAIN",12*(.@r/3);\nif (.@r>=9) {\n bonus bVariableCastrate,-10;\n}\nif (.@r>=11) {\n bonus2 bSkillCooldown,"WL_EARTHSTRAIN",-1000;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_wizard`,`class_third`,`class_third_upper`,`class_third_baby`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (2048,'Iron_Staff','Aeon Staff','Weapon','2hStaff',800,100,200,1,2,true,true,true,true,true,true,4,100,true,'bonus bUnbreakableWeapon;\n.@r = getrefine();\nbonus bMatk,10*(.@r/2);\nbonus2 bSkillAtk,"WL_EARTHSTRAIN",12*(.@r/3);\nif (.@r>=9) {\n bonus bVariableCastrate,-10;\n}\nif (.@r>=11) {\n bonus2 bSkillCooldown,"WL_EARTHSTRAIN",-1000;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`price_buy`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_acolyte`,`job_mage`,`job_monk`,`job_priest`,`job_sage`,`job_soullinker`,`job_wizard`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (2049,'Blue_Flame_Cane','Blue Flame Cane','Weapon','2hStaff',20,800,110,300,1,2,true,true,true,true,true,true,true,true,true,4,175,true,'.@r = getrefine;\nbonus bInt,7;\nbonus bMatkRate,.@r/2;\nbonus bUnbreakableWeapon;\nif (.@r>=9)\n .@val = 15;\nelse if (.@r>=7)\n .@val = 5;\nif (.@r>=11)\n bonus2 bSubSize,Size_All,20;\nif (.@r>=13)\n bonus bDelayrate,-15;\nbonus2 bMagicAtkEle,Ele_Fire,.@val;\nbonus2 bMagicAtkEle,Ele_Earth,.@val;\nbonus2 bMagicAtkEle,Ele_Water,.@val;\nbonus2 bMagicAtkEle,Ele_Holy,.@val;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_mage`,`job_sage`,`job_soullinker`,`job_wizard`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (2051,'Illusion_Survivor\'s_Staff','Illusion Survivor\'s Staff','Weapon','2hStaff',1200,100,240,1,2,true,true,true,true,true,true,4,120,true,'.@r = getrefine();\nbonus bDex,2;\nbonus bInt,2;\nbonus bMaxHP,600;\nbonus bUnbreakableWeapon;\nbonus bMatkRate,(.@r/2);\nif (.@r >= 7) {\n bonus2 bMagicAddSize,Size_Small,15;\n bonus2 bMagicAddSize,Size_Medium,15;\n if (.@r >= 9) {\n bonus2 bSubSize,Size_Small,15;\n bonus2 bSubSize,Size_Medium,15;\n if (.@r >= 11) {\n bonus2 bSubDefEle,Ele_Water,15;\n bonus2 bSubDefEle,Ele_Wind,15;\n bonus2 bSubDefEle,Ele_Earth,15;\n bonus2 bSubDefEle,Ele_Fire,15;\n }\n }\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_novice`,`job_priest`,`job_supernovice`,`job_wizard`,`class_upper`,`class_third`,`class_third_upper`,`class_third_baby`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (2053,'Abyss_Staff','Abyss Staff','Weapon','2hStaff',2400,120,270,1,1,true,true,true,true,true,true,true,true,true,true,4,165,true,'bonus2 bSubRace,RC_Player_Human,30;\n.@r = getrefine();\nbonus bHealPower,.@r*2;\nif (.@r>=7) {\n bonus2 bMagicAddClass,Class_All,5;\n bonus2 bSubRace,RC_Player_Human,5;\n}\nif (.@r>=9) {\n bonus2 bMagicAddClass,Class_All,5;\n bonus2 bSubRace,RC_Player_Human,5;\n}\nbonus bUnbreakableWeapon;');
|
||||
@@ -3219,7 +3219,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`defense`,`slots`,`location_armor`,`armor_level`,`equip_level_min`,`script`) VALUES (15250,'Beginner\'s_Suit','Beginner\'s Suit','Armor',40,1,true,1,100,'bonus bAllStats,1;\nbonus bMaxHP,400;\nbonus bMaxSP,100;\nbonus2 bAddClass,Class_All,2;\nbonus2 bMagicAddClass,Class_All,2;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`slots`,`location_armor`,`armor_level`,`equip_level_min`,`refineable`,`script`) VALUES (15278,'Overwhelm_Str_Armor','Soaring Physical Armor','Armor',2000,120,1,true,1,1,true,'.@r = getrefine();\nbonus bBaseAtk,50;\nif (.@r > 2)\n bonus2 bAddClass,Class_All,.@r/3*2;\nif (.@r > 6) {\n bonus2 bIgnoreDefRaceRate,RC_Brute,30;\n bonus2 bIgnoreDefRaceRate,RC_Demon,30;\n}\nif (.@r > 8) {\n bonus2 bAddRace,RC_Brute,10;\n bonus2 bAddRace,RC_Demon,10;\n}\nif (.@r > 10) {\n bonus2 bAddEle,Ele_Earth,10;\n bonus2 bAddEle,Ele_Wind,10;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`slots`,`location_armor`,`armor_level`,`equip_level_min`,`refineable`,`script`) VALUES (15279,'Overwhelm_Int_Armor','Robust Magical Armor','Armor',900,60,1,true,1,1,true,'.@r = getrefine();\nbonus bMatk,50;\nif (.@r > 2)\n bonus bMatkRate,.@r/3*2;\nif (.@r > 6) {\n bonus2 bIgnoreMdefRaceRate,RC_Brute,30;\n bonus2 bIgnoreMdefRaceRate,RC_Demon,30;\n}\nif (.@r > 8) {\n bonus2 bMagicAddRace,RC_Demon,10;\n bonus2 bMagicAddRace,RC_Brute,10;\n}\nif (.@r > 10) {\n bonus2 bMagicAddEle,Ele_Earth,10;\n bonus2 bMagicAddEle,Ele_Wind,10;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (15280,'S_Cri_Hit_Armor','Critical Hit Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 7;\nbonus bBaseAtk,15;\nif (.@r > 1) {\n bonus bCritAtkRate,(.@r/2);\n if (.@r >= 7) {\n .@val += 7;\n }\n}\nbonus bCritical,.@val;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (15280,'S_CriticalHit_Armor','Critical Hit Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 7;\nbonus bBaseAtk,15;\nif (.@r > 1) {\n bonus bCritAtkRate,(.@r/2);\n if (.@r >= 7) {\n .@val += 7;\n }\n}\nbonus bCritical,.@val;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_armor`,`armor_level`,`equip_level_min`,`refineable`,`script`) VALUES (15283,'Armor_of_Rosary','Mighty Black Threaded Armor','Armor',20,800,60,1,true,1,100,true,'.@r = getrefine();\nbonus bBaseAtk,10;\nbonus2 bIgnoreDefRaceRate,RC_All,10;\nif (.@r>=7) {\n bonus bBaseAtk,20;\n bonus2 bIgnoreDefRaceRate,RC_All,20;\n}\nif (.@r>=8) {\n bonus bBaseAtk,20;\n bonus2 bIgnoreDefRaceRate,RC_All,20;\n bonus bUnbreakableArmor;\n}\nif (.@r>=9) {\n bonus bBaseAtk,30;\n bonus2 bIgnoreDefRaceRate,RC_All,20;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`job_blacksmith`,`class_third`,`class_third_upper`,`class_third_baby`,`location_armor`,`armor_level`,`equip_level_min`,`refineable`,`script`) VALUES (15343,'Supplement_Part_Str_','Supplement Part STR','Armor',25000,2000,80,1,true,true,true,true,true,1,130,true,'bonus2 bAddClass,Class_All,5+(getrefine()/4);');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`job_blacksmith`,`class_third`,`class_third_upper`,`class_third_baby`,`location_armor`,`armor_level`,`equip_level_min`,`refineable`,`script`) VALUES (15344,'Upgrade_Part_Plate_','Upgrade Part - Gloves','Armor',25000,3000,110,1,true,true,true,true,true,1,130,true,'.@r = getrefine();\n.@val = 10;\nif (.@r>6) {\n bonus2 bSubSize,Size_Large,10;\n bonus2 bMagicSubSize,Size_Large,10;\n if (.@r>8) {\n .@val += 5;\n }\n}\nbonus2 bSubSize,Size_Small,.@val;\nbonus2 bMagicSubSize,Size_Small,.@val;\nbonus2 bSubSize,Size_Medium,.@val;\nbonus2 bMagicSubSize,Size_Medium,.@val;');
|
||||
@@ -3857,7 +3857,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`slots`,`location_head_top`,`armor_level`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19131,'Radio_Antenna_','Radio Antenna','Armor',1500,2,1,true,1,1,true,347,'bonus bMdef,5;\nbonus bCritical,5;\nbonus bFlee,5;\nskill "MG_LIGHTNINGBOLT",1;\nbonus4 bAutoSpellWhenHit,"MG_THUNDERSTORM",5,30,1;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`slots`,`job_all`,`job_novice`,`job_supernovice`,`location_head_mid`,`armor_level`,`view`,`script`) VALUES (19132,'Masquerade_','Masquerade','Armor',20,100,1,true,false,false,true,1,78,'bonus2 bAddRace,RC_DemiHuman,3;\nbonus2 bAddRace,RC_Player_Human,3;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_mid`,`location_head_low`,`armor_level`,`equip_level_min`,`view`,`script`) VALUES (19133,'Odin_Mask_','Odin\'s Mask','Armor',20,100,1,1,true,true,1,1,480,'bonus2 bSubClass,Class_Boss,2;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`armor_level`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19134,'Wickebines_Black_Cat_Ears','Wickebine\'s Black Cat Ears','Armor',20,200,4,1,true,1,1,true,368,'bonus bFlee,10;\nbonus bCritAtkRate,10;\nautobonus "{ bonus2 bIgnoreMdefClassRate,Class_Normal,100; bonus2 bIgnoreMdefClassRate,Class_Boss,100; }",50,5000,BF_MAGIC,"{ specialeffect2 EF_STEAL; }";');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`armor_level`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19134,'Whikebain_Ears_K','Wickebine\'s Black Cat Ears','Armor',20,200,4,1,true,1,1,true,368,'bonus bFlee,10;\nbonus bCritAtkRate,10;\nautobonus "{ bonus2 bIgnoreMdefClassRate,Class_Normal,100; bonus2 bIgnoreMdefClassRate,Class_Boss,100; }",50,5000,BF_MAGIC,"{ specialeffect2 EF_STEAL; }";');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`armor_level`,`refineable`,`view`,`script`) VALUES (19135,'Spirit_Of_Chung_E','Spirit of Green Maiden','Armor',20,10,true,1,true,882,'.@r = getrefine();\nbonus2 bDropAddClass,Class_All,(.@r/2);\nbonus2 bExpAddClass,Class_All,(.@r/2);\nbonus bMaxHPrate,2*(.@r/4);\nbonus bMaxSPrate,2*(.@r/4);\nif (.@r>=9) {\n bonus bHPrecovRate,40;\n bonus bSPrecovRate,40;\n}\nif (.@r>=12) {\n bonus bMaxHPrate,3;\n bonus bMaxSPrate,3;\n}\nautobonus "{ bonus bCritAtkRate,30; bonus bMatkRate,30; }",1,5000,BF_WEAPON|BF_MAGIC,"{ active_transform 1519,5000; }";');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`slots`,`location_head_top`,`armor_level`,`refineable`,`view`,`script`) VALUES (19136,'Spirit_Of_Chung_E_','Spirit of Green Maiden','Armor',20,10,1,true,1,true,882,'.@r = getrefine();\nbonus2 bDropAddClass,Class_All,(.@r/2);\nbonus2 bExpAddClass,Class_All,(.@r/2);\nbonus bMaxHPrate,(.@r/4);\nbonus bMaxSPrate,(.@r/4);\nif (.@r>=9) {\n bonus bHPrecovRate,40;\n bonus bSPrecovRate,40;\n}\nif (.@r>=12) {\n bonus bMaxHPrate,3;\n bonus bMaxSPrate,3;\n}\nautobonus "{ bonus bCritAtkRate,30; bonus bMatkRate,30; }",1,5000,BF_WEAPON|BF_MAGIC,"{ active_transform 1519,5000; }";');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_low`,`armor_level`,`equip_level_min`,`view`,`script`) VALUES (19137,'Strawberry_In_Mouth_','Strawberry Mouth Guard','Armor',20,100,true,1,80,861,'bonus bVit,2;\nbonus bLongAtkDef,5;\nbonus bShortWeaponDamageReturn,5;\nif (Baselevel>=100) {\n bonus bMaxHP,2000;\n}\nelse {\n bonus bMaxHP,200;\n}');
|
||||
@@ -3938,7 +3938,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`slots`,`loca
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`armor_level`,`refineable`,`view`,`script`) VALUES (19263,'General_Helmet_','General\'s Helm','Armor',20,800,12,1,true,1,true,729,'.@r = getrefine();\nbonus bBaseAtk,(.@r/2)*15;\nif (.@r>6) {\n bonus bAspdRate,10;\n}\nif (.@r>8) {\n bonus bAspd,1;\n bonus2 bAddClass,Class_All,5;\n}\nif (.@r>10) {\n bonus bCritAtkRate,15;\n}\n.@val = max(min(.@r-15,5),0);\nbonus bFixedCast,-.@val*100;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`armor_level`,`refineable`,`view`,`script`) VALUES (19264,'GoldFish_Hat','Gold Fish Head Hat','Armor',20,400,2,1,true,1,true,1645,'.@r = getrefine();\nif (.@r>8) {\n bonus4 bAutoSpellWhenHit,"WZ_QUAGMIRE",1,10,1;\n}\nif (.@r<6) {\n autobonus "{ bonus2 bMagicAtkEle,Ele_Holy,10; }",10,60000,BF_MAGIC,"{ specialeffect2 EF_ASPERSIO; }";\n}\nelse {\n autobonus "{ bonus2 bMagicAtkEle,Ele_Holy,10; }",(10+(.@r*2)),60000,BF_MAGIC,"{ specialeffect2 EF_ASPERSIO; }";\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`slots`,`location_head_top`,`armor_level`,`refineable`,`view`,`script`) VALUES (19265,'Smoky_TransformHat','Smokie Transformation Leaf','Armor',600,7,1,true,1,true,1646,'.@r = getrefine();\nbonus2 bMagicAtkEle,Ele_All,.@r;\nautobonus "{ .@r = getrefine(); bonus3 bAutoSpell,\\"MG_COLDBOLT\\",2,50; bonus3 bAutoSpell,\\"MG_FIREBOLT\\",2,50; bonus3 bAutoSpell,\\"MG_LIGHTNINGBOLT\\",2,50; bonus3 bAutoSpell,\\"WZ_EARTHSPIKE\\",2,50; if (.@r>=7) { bonus3 bAutoSpell,\\"WZ_FROSTNOVA\\",5,40; if (.@r>=8) { bonus3 bAutoSpell,\\"MG_THUNDERSTORM\\",5,30; if (BaseLevel>100) { if (.@r>=9) { bonus3 bAutoSpell,\\"WL_HELLINFERNO\\",5,20; if (.@r>=10) { bonus3 bAutoSpell,\\"WL_CHAINLIGHTNING\\",3,10; } } } } } }",1,5000,BF_WEAPON,"{ active_transform 1056,5000; /*SMOKIE*/ }";');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`slots`,`location_head_top`,`armor_level`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19266,'Survive_Circlet_','Survivor\'s Circlet','Armor',500,10,1,true,1,1,true,1220,'.@r = getrefine();\nbonus bInt,3;\nbonus bMatk,10*(.@r/2)+(BaseLevel > 129 ? 50 : 0);\nif (.@r >= 10) {\n bonus bMatkRate,5;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`slots`,`location_head_top`,`armor_level`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19266,'Survive_Circlet_K','Survivor\'s Circlet','Armor',500,10,1,true,1,1,true,1220,'.@r = getrefine();\nbonus bInt,3;\nbonus bMatk,10*(.@r/2)+(BaseLevel > 129 ? 50 : 0);\nif (.@r >= 10) {\n bonus bMatkRate,5;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`location_head_low`,`armor_level`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19267,'SurviveOrb_K','Survivor\'s Orb','Armor',300,2,true,1,1,true,1488,'bonus bMdef,2;\nbonus bVariableCastrate,-2;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`location_head_low`,`armor_level`,`view`,`script`) VALUES (19268,'FaceWorm_Breath','Gigant Snake\'s Breath','Armor',20,300,2,true,1,1050,'bonus2 bMagicAtkEle,Ele_Fire,1;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`armor_level`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (19269,'Angel_Of_Happiness_J','Happy Flapping Angel Wings','Armor',20,500,2,1,true,1,30,true,1251,'.@r = getrefine();\n.@a = 15;\nif (.@r >= 7)\n .@a += 15;\nif (.@r>=8)\n bonus2 bResEff,Eff_Stone,10000;\nif (.@r>=9)\n .@a += 20;\nbonus2 bAddRace2,RC2_CLOCKTOWER,.@a;\nbonus2 bMagicAddRace2,RC2_CLOCKTOWER,.@a;\nbonus2 bSubRace2,RC2_CLOCKTOWER,.@a;\nbonus3 bAddClassDropItem,1061,1193,50;\nbonus3 bAddClassDropItem,1061,1275,50;\nbonus3 bAddClassDropItem,1061,2920,50;\nbonus3 bAddClassDropItem,1061,1016,50;\nbonus3 bAddClassDropItem,1061,1101,50;\nbonus3 bAddClassDropItem,1061,1102,50;\nbonus3 bAddClassDropItem,1061,2917,50;\nbonus3 bAddClassDropItem,1061,2916,50;\nbonus3 bAddClassDropItem,1061,1270,50;\nbonus3 bAddClassDropItem,1061,1269,50;\nbonus3 bAddClassDropItem,1061,1209,50;\nbonus3 bAddClassDropItem,1061,1378,50;\nbonus3 bAddClassDropItem,1061,1109,50;\nbonus3 bAddClassDropItem,1061,1111,50;\nbonus3 bAddClassDropItem,1061,1377,50;\nbonus3 bAddClassDropItem,1061,1205,50;\nbonus3 bAddClassDropItem,1061,1213,50;\nbonus3 bAddClassDropItem,1061,1131,50;\nbonus3 bAddClassDropItem,1061,1219,50;\nbonus3 bAddClassDropItem,1061,1191,50;\nbonus3 bAddClassDropItem,1061,1203,50;\nbonus3 bAddClassDropItem,1061,2919,50;\nbonus3 bAddClassDropItem,1061,2479,50;\nbonus3 bAddClassDropItem,1061,2478,50;\nbonus3 bAddClassDropItem,1061,1189,50;\nbonus3 bAddClassDropItem,1061,1686,50;\nbonus3 bAddClassDropItem,1061,1190,50;\nbonus3 bAddClassDropItem,1061,1087,50;\nbonus3 bAddClassDropItem,1061,1023,50;\nbonus3 bAddClassDropItem,1061,2923,50;\nbonus3 bAddClassDropItem,1061,2921,50;\nbonus3 bAddClassDropItem,1061,1216,50;\nbonus3 bAddClassDropItem,1061,1199,50;\nbonus3 bAddClassDropItem,1061,1195,50;\nbonus3 bAddClassDropItem,1061,1281,50;\nbonus3 bAddClassDropItem,1061,1215,50;\nbonus3 bAddClassDropItem,1061,1622,50;\nbonus3 bAddClassDropItem,1061,2918,50;\nbonus3 bAddClassDropItem,1061,3074,50;\nbonus3 bAddClassDropItem,1061,1204,50;\nbonus3 bAddClassDropItem,1061,1179,50;');
|
||||
@@ -5633,8 +5633,8 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_sha
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_shield`,`equip_level_min`,`refineable`,`script`) VALUES (24336,'S_Gemstone_Shield_II','Gemstone Shadow Shield II','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bDef,5;\nif (.@r >= 7) {\n bonus bUseSPrate,-3;\n}\nelse {\n bonus bUseSPrate,-2;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24337,'S_Bearer\'s_Armor_II','Bearer\'s Shadow Armor II','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bMDef,1;\nif (.@r >= 7) {\n bonus bMaxHPrate,3;\n}\nelse {\n bonus bMaxHPrate,1;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_shoes`,`equip_level_min`,`refineable`,`script`) VALUES (24338,'S_Bearer\'s_Shoes_II','Bearer\'s Shadow Shoes II','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bMaxSP,50;\nif (.@r >= 7) {\n bonus bMaxHPrate,3;\n}\nelse {\n bonus bMaxHPrate,1;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_right_accessory`,`equip_level_min`,`refineable`,`script`) VALUES (24339,'S_Almighty_Earring','Almighty Shadow Earring','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bAllStats,.@r;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_left_accessory`,`equip_level_min`,`refineable`,`script`) VALUES (24340,'S_Almighty_Pendant','Almighty Shadow Pendant','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bAllStats,.@r;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_right_accessory`,`equip_level_min`,`refineable`,`script`) VALUES (24339,'S_AllMighty_Earring','Almighty Shadow Earring','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bAllStats,.@r;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_left_accessory`,`equip_level_min`,`refineable`,`script`) VALUES (24340,'S_AllMighty_Pendant','Almighty Shadow Pendant','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bAllStats,.@r;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_shoes`,`equip_level_min`,`refineable`,`script`) VALUES (24341,'S_All_Race_Shoes','All Race Shadow Shoes','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nif (.@r >= 9) {\n .@val = 5;\n} else if (.@r >= 7) {\n .@val = 3;\n}\nelse {\n .@val = 2;\n}\nbonus2 bAddRace,RC_All,.@val;\nbonus2 bMagicAddRace,RC_All,.@val;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_shield`,`equip_level_min`,`refineable`,`script`) VALUES (24342,'S_All_Race_Shield','All Race Shadow Shield','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nif (.@r >= 9) {\n .@val = 3;\n} else if (.@r >= 7) {\n .@val = 2;\n}\nelse {\n .@val = 1;\n}\nbonus2 bSubRace,RC_All,.@val;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_weapon`,`equip_level_min`,`refineable`,`script`) VALUES (24343,'S_Blitz_Weapon','Blitz Shadow Weapon','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bBaseAtk,.@r;\nbonus bMatk,.@r;\nbonus bAspdRate,5+.@r/2;\nif (.@r >= 7) {\n bonus bAspd,1;\n if (.@r >= 9) {\n bonus bDelayrate,-1;\n }\n}');
|
||||
@@ -5695,7 +5695,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_sha
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24398,'S_Magical_Armor','Magical Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bMatk,20;\nif (.@r >= 9) {\n bonus bMatkRate,5;\n} else if (.@r >= 7) {\n bonus bMatkRate,2;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_shield`,`equip_level_min`,`refineable`,`script`) VALUES (24399,'S_Immune_Athena_Shield','Immune Athena Shadow Shield','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bDef,50+20*(.@r/2);');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_shoes`,`equip_level_min`,`refineable`,`script`) VALUES (24400,'S_Hard_Champion_Shoes','Hard Champion Shadow Shoes','Shadowgear',true,1,true,'.@r = getrefine()/2;\nbonus bMaxHP,.@r*10+200;\nbonus bMaxSP,100;\nbonus bMaxHPrate,.@r;\nbonus bMaxSPrate,.@r;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24401,'S_Kingbird_Ancient_Armor','Kingbird Ancient Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bBaseAtk,15;\nbonus bLongAtkRate,.@r/2;\nif (.@r >= 7) {\n bonus bHit,30;\n}\nelse {\n bonus bHit,15;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24401,'S_KingbirdAncient_Armor','Kingbird Ancient Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bBaseAtk,15;\nbonus bLongAtkRate,.@r/2;\nif (.@r >= 7) {\n bonus bHit,30;\n}\nelse {\n bonus bHit,15;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`job_gunslinger`,`job_rebellion`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24402,'S_Rebellion_Armor','Rebellion Shadow Armor','Shadowgear',10,true,true,true,100,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus2 bSkillCooldown,"RL_HEAT_BARREL",-1000*(1+.@r/2);');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`job_kagerouoboro`,`job_ninja`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24403,'S_Kagerou_Armor','Kagerou Shadow Armor','Shadowgear',10,true,true,true,100,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus2 bSkillAtk,"KO_HUUMARANKA",20+.@r*5;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`job_kagerouoboro`,`job_ninja`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24404,'S_Oboro_Armor','Oboro Shadow Armor','Shadowgear',10,true,true,true,100,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus2 bSkillAtk,"NJ_KOUENKA",20+.@r*5;\nbonus2 bSkillAtk,"NJ_HYOUSENSOU",20+.@r*5;\nbonus2 bSkillAtk,"NJ_HUUJIN",20+.@r*5;');
|
||||
@@ -6199,7 +6199,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`slots`,`location_right_accessory`,`location_left_accessory`,`armor_level`,`equip_level_min`,`script`) VALUES (28434,'Boxer_Glove','Fist Fighter\'s Glove','Armor',20,400,1,true,true,1,90,'bonus bStr,2;\nbonus bMaxSP,100;\nbonus2 bAddRace,RC_All,2;\nskill "MO_ABSORBSPIRITS",1;\nif (readparam(bStr)>99)\n bonus2 bAddRace,RC_All,5;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`slots`,`location_right_accessory`,`location_left_accessory`,`armor_level`,`equip_level_min`,`script`) VALUES (28437,'ArchPriest_Glove','Hibram\'s Gloves','Armor',20,400,1,true,true,1,90,'skill "AL_HEAL",3;\nbonus bInt,2;\nbonus bMatkRate,2;\nbonus bUseSPrate,-5;\nif (readparam(bInt)>=110)\n bonus bMatkRate,5;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`slots`,`location_right_accessory`,`location_left_accessory`,`armor_level`,`equip_level_min`,`script`) VALUES (28438,'Fairy_Leaf_Powder','Fairy Leaf Powder','Armor',20,400,1,true,true,1,90,'bonus bDex,2;\nbonus bDelayrate,-5;\nbonus bLongAtkRate,2;\nskill "SM_MAGNUM",3;\nif (readparam(bDex)>=100)\n bonus bLongAtkRate,5;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`slots`,`location_right_accessory`,`location_left_accessory`,`armor_level`,`script`) VALUES (28439,'Sea_Otter_Mini_Fan','Sea Otter Mini Fan','Armor',100,1,true,true,1,'bonus bAllStats,1;\nbonus2 bExpAddClass,Class_All,5;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`slots`,`location_right_accessory`,`location_left_accessory`,`armor_level`,`script`) VALUES (28439,'SeeOtter_Fan','Sea Otter Mini Fan','Armor',100,1,true,true,1,'bonus bAllStats,1;\nbonus2 bExpAddClass,Class_All,5;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`slots`,`location_right_accessory`,`location_left_accessory`,`armor_level`,`script`) VALUES (28440,'FurSeal_Fan','Seal Mini Fan','Armor',3000000,100,1,true,true,1,'bonus2 bExpAddClass,Class_All,5;\nbonus bAllStats,1;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`job_rogue`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_accessory`,`location_left_accessory`,`armor_level`,`equip_level_min`,`script`) VALUES (28441,'Vigilante_Bedge','Vigilante Badge','Armor',200,2,true,true,true,true,true,true,1,100,'bonus bFlee,10;\nbonus bLongAtkRate,5;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`defense`,`job_barddancer`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_accessory`,`location_left_accessory`,`armor_level`,`equip_level_min`,`script`) VALUES (28442,'Hippie_Feather','Hippie Feather','Armor',200,2,true,true,true,true,true,true,1,100,'bonus bCritical,5;\nbonus bFlee,5;');
|
||||
@@ -7544,7 +7544,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`at
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`range`,`slots`,`job_stargladiator`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (540004,'Ep172_1h_Book','Sloth Text','Weapon','Book',500,210,1,2,true,true,true,true,true,4,150,true,'.@r = getrefine();\nbonus bUnbreakableWeapon;\nbonus2 bSkillAtk,"SJ_NEWMOONKICK",10;\nbonus bBaseAtk,12*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"SJ_NEWMOONKICK",15;\n}\nif (.@r>=9) {\n bonus bAspdRate,10;\n}\nif (.@r>=11) {\n bonus2 bSkillAtk,"SJ_FULLMOONKICK",25;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_sage`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (540005,'Ep172_1h_Book2','Sloth Bible','Weapon','Book',700,160,220,1,2,true,true,true,true,true,4,150,true,'.@r = getrefine();\nautobonus "{ bonus2 bSubClass,Class_Normal,15; bonus2 bSPRegenRate,300,1000; }",1,5000,BF_WEAPON|BF_MAGIC;\nbonus bVariableCastrate,-3*(.@r/3);\nbonus bMatk,6*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",25;\n}\nif (.@r>=9) {\n bonus bAspdRate,10;\n}\nif (.@r>=11) {\n bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",30;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`attack`,`range`,`job_sage`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_nostorage`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (540009,'SB_B_Book','Spell Bolt Booster Book','Weapon','Book',150,1,true,true,true,true,true,4,100,true,100,true,true,true,true,true,true,true,'.@r = getrefine();\nbonus bUnbreakableWeapon;\nbonus bMatkRate,2;\nbonus bMatk,160+(3*.@r)+3*(min(BaseLevel,195)/15);\nif (.@r>=7) {\n .@val = getskilllv("SA_AUTOSPELL");\n bonus2 bMagicAtkEle,Ele_Fire,.@val;\n bonus2 bMagicAtkEle,Ele_Earth,.@val;\n bonus2 bMagicAtkEle,Ele_Water,.@val;\n bonus2 bMagicAtkEle,Ele_Wind,.@val;\n}\nif (.@r>=9) {\n bonus bAspd,1;\n bonus2 bSkillAtk,"WZ_HEAVENDRIVE",25;\n bonus2 bSkillAtk,"WZ_EARTHSPIKE",25;\n bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",25;\n}\nif (.@r>=11) {\n bonus2 bMagicAtkEle,Ele_Fire,15;\n bonus2 bMagicAtkEle,Ele_Earth,15;\n bonus2 bMagicAtkEle,Ele_Water,15;\n bonus2 bMagicAtkEle,Ele_Wind,15;\n bonus bAspd,1;\n}\nif (.@r>=13) {\n bonus2 bSkillAtk,"WZ_HEAVENDRIVE",15;\n bonus2 bSkillAtk,"WZ_EARTHSPIKE",15;\n bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",15;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`range`,`slots`,`job_stargladiator`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (540010,'Up_Thousand_Sun','Patent One Sky One Sun','Weapon','Book',1100,200,1,2,true,true,true,true,true,4,150,true,'.@r = getrefine();\nbonus bBaseAtk,.@r/2*15;\nbonus bShortAtkRate,4*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"SJ_PROMINENCEKICK",20;\n bonus bAspdRate,10;\n}\nif (.@r>=9) {\n bonus2 bSkillAtk,"SJ_SOLARBURST",25;\n}\nif (.@r>=11) {\n bonus2 bAddSize,Size_All,15;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`range`,`slots`,`job_stargladiator`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (540010,'Up_OneSkyOneSun','Patent One Sky One Sun','Weapon','Book',1100,200,1,2,true,true,true,true,true,4,150,true,'.@r = getrefine();\nbonus bBaseAtk,.@r/2*15;\nbonus bShortAtkRate,4*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"SJ_PROMINENCEKICK",20;\n bonus bAspdRate,10;\n}\nif (.@r>=9) {\n bonus2 bSkillAtk,"SJ_SOLARBURST",25;\n}\nif (.@r>=11) {\n bonus2 bAddSize,Size_All,15;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`price_buy`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_priest`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (540011,'Up_Demon_Hunting_Bible','Patent Exorcist\'s Bible','Weapon','Book',20,700,205,190,1,2,true,true,true,true,true,4,150,true,'.@r = getrefine();\nbonus bBaseAtk,.@r/2*10;\nbonus bMatk,.@r/2*10;\nbonus2 bSkillAtk,"AB_DUPLELIGHT",25*(.@r/3);\nbonus2 bSkillAtk,"AB_JUDEX",25*(.@r/3);\nif (.@r>=7) {\n bonus bAspdRate,10;\n bonus2 bMagicAtkEle,Ele_Holy,15;\n}\nif (.@r>=9) {\n bonus2 bSkillAtk,"AB_DUPLELIGHT",30;\n bonus2 bSkillAtk,"AB_JUDEX",30;\n}\nif (.@r>=11) {\n .@i = getskilllv("AB_JUDEX");\n bonus3 bAutoSpell,"AB_JUDEX",(.@i > 5 ? .@i : 5),100;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_sage`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (540019,'Adulter_F_M_Book','Adulter Fides Magic Book','Weapon','Book',1200,170,200,1,2,true,true,true,true,true,4,180,true,'.@r = getrefine();\nbonus2 bSkillAtk,"SO_PSYCHIC_WAVE",10;\nbonus bMatk,12*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"SO_PSYCHIC_WAVE",20;\n if (.@r>=9) {\n bonus2 bSkillCooldown,"SO_PSYCHIC_WAVE",-1000;\n if (.@r>=11) {\n bonus2 bSkillAtk,"SO_PSYCHIC_WAVE",25;\n if (.@r>=12) {\n bonus2 bMagicAtkEle,Ele_Neutral,15;\n }\n }\n }\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_sage`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (540020,'Adulter_F_P_Book','Adulter Fides Poison Book','Weapon','Book',1300,170,200,1,2,true,true,true,true,true,4,180,true,'.@r = getrefine();\nbonus2 bSkillAtk,"SO_POISON_BUSTER",10;\nbonus bMatk,12*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"SO_POISON_BUSTER",20;\n if (.@r>=9) {\n bonus2 bSkillCooldown,"SO_POISON_BUSTER",-1000;\n if (.@r>=11) {\n bonus2 bSkillAtk,"SO_POISON_BUSTER",25;\n if (.@r>=12) {\n bonus2 bMagicAtkEle,Ele_Poison,15;\n }\n }\n }\n}');
|
||||
@@ -7570,7 +7570,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`at
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`price_buy`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_sage`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (550012,'Up_Shadow_Staff_K','Patent Shadow Staff','Weapon','Staff',20,750,40,195,1,2,true,true,true,true,true,4,150,true,'bonus bUnbreakableWeapon;\n.@r = getrefine();\nbonus bMatk,.@r/2*15;\nbonus2 bSkillAtk,"SO_EARTHGRAVE",12*(.@r/3);\nif (.@r>=7) {\n bonus2 bMagicAtkEle,Ele_Earth,15;\n bonus2 bMagicAtkEle,Ele_Neutral,15;\n}\nif (.@r>=9) {\n bonus2 bSkillAtk,"SO_PSYCHIC_WAVE",25;\n bonus bVariableCastrate,-7;\n}\nif (.@r>=11) {\n bonus bVariableCastrate,-8;\n bonus2 bSkillCooldown,"SO_PSYCHIC_WAVE",-1000;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_sage`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (550013,'Up_Freezing_Rod','Patent Chilling Cane','Weapon','Staff',750,40,195,1,2,true,true,true,true,true,4,150,true,'bonus bUnbreakableWeapon;\n.@r = getrefine();\nbonus bMatk,.@r/2*10;\nbonus2 bSkillAtk,"SO_DIAMONDDUST",.@r/3*12;\nif (.@r>=7) {\n bonus2 bMagicAddEle,Ele_All,15;\n bonus2 bSkillAtk,"SO_VARETYR_SPEAR",15;\n}\nif (.@r>=9) {\n bonus2 bSkillAtk,"SO_VARETYR_SPEAR",20;\n bonus bVariableCastrate,-7;\n}\nif (.@r>=11) {\n bonus bVariableCastrate,-8;\n bonus2 bSkillCooldown,"SO_VARETYR_SPEAR",-2000;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`price_buy`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_summoner`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (550014,'Up_MeawFoxtail','Patent Meowmeow Foxtail','Weapon','Staff',20,1200,350,350,1,2,true,true,4,150,true,'bonus bUnbreakableWeapon;\n.@r = getrefine();\nbonus bMatk,15*(.@r/2);\nbonus bBaseAtk,15*(.@r/2);\nbonus2 bAddClass,Class_All,2*(.@r/3);\nbonus bMatkRate,2*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"SU_LUNATICCARROTBEAT",25;\n bonus2 bSkillAtk,"SU_SV_STEMSPEAR",25;\n}\nif (.@r>=9) {\n bonus bVariableCastrate,-10;\n bonus bAspdRate,10;\n}\nif (.@r>=11) {\n bonus2 bSkillAtk,"SU_PICKYPECK",25;\n bonus2 bSkillAtk,"SU_CN_METEOR",25;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_soullinker`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (550015,'Up_Spirit_Pendulum_','Patent Spirit Pendulum','Weapon','Staff',1200,70,190,1,2,true,true,true,true,true,4,150,true,'.@r = getrefine();\nbonus bMatk,15*(.@r/2);\nbonus2 bMagicAddEle,Ele_All,2*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"SP_SPA",15;\n bonus bVariableCastrate,-10;\n}\nif (.@r>=9) {\n bonus2 bSkillAtk,"SP_SWHOO",20;\n}\nif (.@r>=11) {\n autobonus "{ bonus2 bSPRegenRate,230,10000; }",70,10000,BF_MAGIC;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_soullinker`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (550015,'Up_SoulWeight','Patent Spirit Pendulum','Weapon','Staff',1200,70,190,1,2,true,true,true,true,true,4,150,true,'.@r = getrefine();\nbonus bMatk,15*(.@r/2);\nbonus2 bMagicAddEle,Ele_All,2*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"SP_SPA",15;\n bonus bVariableCastrate,-10;\n}\nif (.@r>=9) {\n bonus2 bSkillAtk,"SP_SWHOO",20;\n}\nif (.@r>=11) {\n autobonus "{ bonus2 bSPRegenRate,230,10000; }",70,10000,BF_MAGIC;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_priest`,`class_third`,`class_third_upper`,`class_third_baby`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (550024,'Adulter_F_Wand','Adulter Fides Wand','Weapon','Staff',1500,160,210,1,2,true,true,true,true,true,4,180,true,'.@r = getrefine();\nbonus bUnbreakableWeapon;\nbonus2 bSkillAtk,"AB_ADORAMUS",10;\nbonus bMatk,12*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"AB_ADORAMUS",20;\n if (.@r>=9) {\n bonus2 bMagicAddSize,Size_All,15;\n if (.@r>=11) {\n bonus2 bSkillAtk,"AB_ADORAMUS",25;\n if (.@r>=12) {\n bonus2 bMagicAtkEle,Ele_Holy,15;\n }\n }\n }\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_soullinker`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (550025,'Adulter_F_S_Stick','Adulter Fides Soul Stick','Weapon','Staff',1900,160,205,1,2,true,true,4,180,true,'.@r = getrefine();\nbonus bUnbreakableWeapon;\nbonus2 bSkillAtk,"SP_SWHOO",10;\nbonus bMatk,12*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"SP_SWHOO",20;\n if (.@r>=9) {\n bonus bVariableCastrate,-10;\n if (.@r>=11) {\n bonus2 bSkillAtk,"SP_SWHOO",25;\n if (.@r>=12) {\n bonus2 bMagicAtkEle,Ele_Holy,15;\n bonus2 bMagicAtkEle,Ele_Fire,15;\n bonus2 bMagicAtkEle,Ele_Earth,15;\n bonus2 bMagicAtkEle,Ele_Water,15;\n bonus2 bMagicAtkEle,Ele_Wind,15;\n bonus2 bMagicAtkEle,Ele_Ghost,15;\n bonus2 bMagicAtkEle,Ele_Dark,15;\n }\n }\n }\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`magic_attack`,`range`,`slots`,`job_soullinker`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (550026,'Adulter_F_D_Wand','Adulter Fides Dark Wand','Weapon','Staff',1600,160,220,1,2,true,true,4,180,true,'.@r = getrefine();\nbonus bUnbreakableWeapon;\nbonus2 bSkillAtk,"SP_CURSEEXPLOSION",10;\nbonus bMatk,12*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"SP_CURSEEXPLOSION",20;\n if (.@r>=9) {\n bonus2 bMagicAddSize,Size_All,15;\n if (.@r>=11) {\n bonus2 bSkillAtk,"SP_CURSEEXPLOSION",25;\n if (.@r>=12) {\n bonus2 bMagicAtkEle,Ele_Dark,15;\n }\n }\n }\n}');
|
||||
@@ -7736,13 +7736,13 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`pr
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`range`,`slots`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (810002,'Adulter_F_Rifle','Adulter Fides Rifle','Weapon','Rifle',1500,280,9,2,true,true,true,4,180,true,'.@r = getrefine();\nbonus bUnbreakableWeapon;\nbonus2 bSkillAtk,"RL_HAMMER_OF_GOD",10;\nbonus bBaseAtk,18*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"RL_HAMMER_OF_GOD",20;\n if (.@r>=9) {\n bonus2 bSkillCooldown,"RL_HAMMER_OF_GOD",-8000;\n if (.@r>=11) {\n bonus2 bSkillAtk,"RL_HAMMER_OF_GOD",25;\n if (.@r>=12) {\n bonus bLongAtkRate,15;\n }\n }\n }\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`attack`,`range`,`job_gunslinger`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_nostorage`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (810003,'2Para_Rifle_GS','Paradise Gunslinger Rifle','Weapon','Rifle',180,9,true,true,true,3,45,100,true,true,true,true,true,true,true,'bonus2 bAddClass,Class_All,3;\nif (BaseLevel>=60)\n bonus bLongAtkRate,10;\nif (BaseLevel>=75)\n bonus2 bSkillAtk,"GS_TRACKING",10;\nif (BaseLevel>=90)\n bonus2 bSkillAtk,"GS_TRACKING",15;');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`range`,`slots`,`job_gunslinger`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (820000,'Ep172_1h_Shotgun','Lust Shatter','Weapon','Shotgun',1600,310,9,2,true,true,true,true,4,150,true,'.@r = getrefine();\nbonus bSplashRange,1;\nbonus2 bSkillAtk,"RL_SLUGSHOT",10;\nbonus bAspdRate,3*(.@r/3);\nbonus bBaseAtk,6*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"RL_S_STORM",10;\n bonus2 bSkillAtk,"RL_SLUGSHOT",15;\n}\nif (.@r>=9) {\n bonus2 bSkillCooldown,"RL_S_STORM",-1000;\n bonus2 bSkillCooldown,"RL_SLUGSHOT",-2000;\n}\nif (.@r>=11) {\n autobonus3 "{ bonus2 bSkillAtk,\\"RL_S_STORM\\",25; }",1000,10000,"RL_SLUGSHOT";\n bonus2 bSkillAtk,"RL_SLUGSHOT",25;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`range`,`slots`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (820001,'Up_Demon_Slayer_Shot','Patent Demon Slayer Shot','Weapon','Shotgun',2300,295,9,2,true,true,true,4,150,true,'.@r = getrefine();\nbonus bSplashRange,1;\nbonus bLongAtkRate,3*(.@r/2);\nbonus bMaxSPrate,2*(.@r/3);\nif (.@r>=7) {\n bonus2 bAddClass,Class_Boss,15;\n bonus2 bAddRace,RC_Undead,15;\n bonus2 bAddRace,RC_Demon,15;\n}\nif (.@r>=9) {\n autobonus3 "{ bonus bBaseAtk,50; bonus bLongAtkRate,10; }",1000,90000,"RL_P_ALTER";\n}\nif (.@r>=11) {\n bonus2 bSkillAtk,"RL_BANISHING_BUSTER",35;\n bonus2 bSkillAtk,"RL_S_STORM",35;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`range`,`slots`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (820001,'Up_Demon_S_Shot','Patent Demon Slayer Shot','Weapon','Shotgun',2300,295,9,2,true,true,true,4,150,true,'.@r = getrefine();\nbonus bSplashRange,1;\nbonus bLongAtkRate,3*(.@r/2);\nbonus bMaxSPrate,2*(.@r/3);\nif (.@r>=7) {\n bonus2 bAddClass,Class_Boss,15;\n bonus2 bAddRace,RC_Undead,15;\n bonus2 bAddRace,RC_Demon,15;\n}\nif (.@r>=9) {\n autobonus3 "{ bonus bBaseAtk,50; bonus bLongAtkRate,10; }",1000,90000,"RL_P_ALTER";\n}\nif (.@r>=11) {\n bonus2 bSkillAtk,"RL_BANISHING_BUSTER",35;\n bonus2 bSkillAtk,"RL_S_STORM",35;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`range`,`slots`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (820002,'Adulter_F_Shotgun','Adulter Fides Shotgun','Weapon','Shotgun',2000,320,9,2,true,true,true,4,180,true,'.@r = getrefine();\nbonus bSplashRange,1;\nbonus2 bSkillAtk,"RL_S_STORM",10;\nbonus bBaseAtk,18*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"RL_S_STORM",20;\n if (.@r>=9) {\n bonus2 bSkillCooldown,"RL_S_STORM",-1000;\n if (.@r>=11) {\n bonus2 bSkillAtk,"RL_S_STORM",25;\n if (.@r>=12) {\n bonus bLongAtkRate,15;\n }\n }\n }\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`attack`,`range`,`slots`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (830000,'Boost_Gatling','Booster Gatling','Weapon','Gatling',170,9,2,true,true,true,4,100,true,'bonus2 bAddClass,Class_All,5;\n.@r = getrefine();\nbonus bBaseAtk,.@r*3;\nbonus bBaseAtk,min(BaseLevel,180)/15*3;\nif (.@r>=7) {\n bonus bLongAtkRate,getskilllv("GS_SINGLEACTION");\n}\nif (.@r>=9) {\n bonus bLongAtkRate,10;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`range`,`slots`,`job_gunslinger`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (830001,'Ep172_1h_Gatling','Lust Crusher','Weapon','Gatling',2000,230,9,2,true,true,true,true,4,150,true,'.@r = getrefine();\nbonus2 bSkillAtk,"RL_FIRE_RAIN",10;\nbonus bAspdRate,3*(.@r/3);\nbonus bBaseAtk,6*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"RL_R_TRIP",10;\n bonus2 bSkillAtk,"RL_FIRE_RAIN",15;\n}\nif (.@r>=9) {\n bonus2 bSkillCooldown,"RL_FIRE_RAIN",-2000;\n}\nif (.@r>=11) {\n autobonus3 "{ bonus2 bSkillAtk,\\"RL_R_TRIP\\",15; }",1000,10000,"RL_FIRE_RAIN";\n bonus2 bSkillAtk,"RL_FIRE_RAIN",25;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`range`,`slots`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (830002,'Up_The_Black','Patent The Black','Weapon','Gatling',3000,225,9,2,true,true,true,4,150,true,'.@r = getrefine();\nbonus bBaseAtk,15*(.@r/2);\nbonus bLongAtkRate,4*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"RL_R_TRIP",20;\n bonus2 bSkillUseSPrate,"RL_R_TRIP",10;\n}\nif (.@r>=9) {\n bonus2 bSkillAtk,"RL_R_TRIP",15;\n autobonus3 "{ bonus bBaseAtk,50; bonus bLongAtkRate,10; }",1000,90000,"RL_P_ALTER";\n}\nif (.@r>=11) {\n bonus2 bAddSize,Size_All,15;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`range`,`slots`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (830002,'Up_The_Black_Gatling','Patent The Black','Weapon','Gatling',3000,225,9,2,true,true,true,4,150,true,'.@r = getrefine();\nbonus bBaseAtk,15*(.@r/2);\nbonus bLongAtkRate,4*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"RL_R_TRIP",20;\n bonus2 bSkillUseSPrate,"RL_R_TRIP",10;\n}\nif (.@r>=9) {\n bonus2 bSkillAtk,"RL_R_TRIP",15;\n autobonus3 "{ bonus bBaseAtk,50; bonus bLongAtkRate,10; }",1000,90000,"RL_P_ALTER";\n}\nif (.@r>=11) {\n bonus2 bAddSize,Size_All,15;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`range`,`slots`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (830003,'Adulter_F_Gatling','Adulter Fides Gatling Gun','Weapon','Gatling',1500,250,9,2,true,true,true,4,180,true,'.@r = getrefine();\nbonus2 bSkillAtk,"RL_R_TRIP",10;\nbonus bBaseAtk,18*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"RL_R_TRIP",20;\n if (.@r>=9) {\n bonus2 bAddSize,Size_All,15;\n if (.@r>=11) {\n bonus2 bSkillAtk,"RL_R_TRIP",25;\n if (.@r>=12) {\n bonus bLongAtkRate,15;\n }\n }\n }\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`attack`,`range`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_nostorage`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (830004,'3Para_Gatling_RL','Paradise Rebellion Gatling Gun','Weapon','Gatling',200,9,true,true,true,4,100,100,true,true,true,true,true,true,true,'.@a = getskilllv("GS_SINGLEACTION");\nbonus2 bAddClass,Class_All,5;\nbonus bLongAtkRate,1*.@a;\nif (BaseLevel>=105) {\n bonus2 bSkillCooldown,"RL_FIRE_RAIN",-1000;\n bonus2 bSkillAtk,"RL_FIRE_RAIN",25;\n bonus2 bSkillAtk,"RL_R_TRIP",25;\n if (BaseLevel>=110) {\n bonus bLongAtkRate,10;\n bonus2 bAddSize,Size_All,15;\n if (BaseLevel>=115) {\n bonus2 bSkillAtk,"RL_FIRE_RAIN",15;\n bonus2 bSkillAtk,"RL_R_TRIP",15;\n }\n }\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`range`,`slots`,`job_gunslinger`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (840000,'Ep172_1h_Grenade','Lust Boom','Weapon','Grenade',2400,330,9,2,true,true,true,true,4,150,true,'.@r = getrefine();\nbonus2 bSkillAtk,"RL_H_MINE",10;\nbonus bAspdRate,3*(.@r/3);\nbonus bBaseAtk,6*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"RL_D_TAIL",10;\n bonus2 bSkillAtk,"RL_H_MINE",10;\n}\nif (.@r>=9) {\n bonus2 bSkillCooldown,"RL_D_TAIL",-1000;\n bonus2 bSkillCooldown,"RL_H_MINE",-1000;\n}\nif (.@r>=11) {\n autobonus3 "{ bonus2 bSkillAtk,\\"RL_D_TAIL\\",25; }",1000,10000,"RL_C_MARKER";\n bonus2 bSkillAtk,"RL_H_MINE",25;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`price_buy`,`weight`,`attack`,`range`,`slots`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (840001,'Up_Golden_Lord_Launcher','Patent Golden Lord Launcher','Weapon','Grenade',20,2400,350,9,2,true,true,true,4,150,true,'.@r = getrefine();\nbonus bLongAtkRate,3*(.@r/2);\nbonus bBaseAtk,20*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"RL_D_TAIL",15;\n bonus2 bSkillCooldown,"RL_D_TAIL",-1000;\n}\nif (.@r>=9) {\n bonus2 bSkillAtk,"RL_D_TAIL",20;\n}\nif (.@r>=11) {\n bonus2 bAddEle,Ele_All,15;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`price_buy`,`weight`,`attack`,`range`,`slots`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (840001,'Up_Golden_L_Launcher','Patent Golden Lord Launcher','Weapon','Grenade',20,2400,350,9,2,true,true,true,4,150,true,'.@r = getrefine();\nbonus bLongAtkRate,3*(.@r/2);\nbonus bBaseAtk,20*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"RL_D_TAIL",15;\n bonus2 bSkillCooldown,"RL_D_TAIL",-1000;\n}\nif (.@r>=9) {\n bonus2 bSkillAtk,"RL_D_TAIL",20;\n}\nif (.@r>=11) {\n bonus2 bAddEle,Ele_All,15;\n}');
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`subtype`,`weight`,`attack`,`range`,`slots`,`job_rebellion`,`location_left_hand`,`location_right_hand`,`weapon_level`,`equip_level_min`,`refineable`,`script`) VALUES (840002,'Adulter_F_Launcher','Adulter Fides Launcher','Weapon','Grenade',3000,350,9,2,true,true,true,4,180,true,'.@r = getrefine();\nbonus2 bSkillAtk,"RL_D_TAIL",10;\nbonus bBaseAtk,18*(.@r/3);\nif (.@r>=7) {\n bonus2 bSkillAtk,"RL_D_TAIL",20;\n if (.@r>=9) {\n bonus2 bSkillCooldown,"RL_D_TAIL",-2000;\n if (.@r>=11) {\n bonus2 bSkillAtk,"RL_D_TAIL",25;\n if (.@r>=12) {\n bonus bLongAtkRate,15;\n }\n }\n }\n}');
|
||||
|
||||
@@ -1893,7 +1893,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`) VALUES (6658
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`trade_override`,`trade_nodrop`) VALUES (6665,'RWC_Inicializer','RWC Inicializer','Etc',10,100,true);
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`) VALUES (6669,'Jade_Leaf','Emerald Leaf','Etc',10);
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`flag_buyingstore`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`) VALUES (6671,'Geffen_Coin_Magic_Tournament','Geffen Coin Magic Tournament','Etc',10,true,100,true,true,true,true,true,true);
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`flag_buyingstore`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`) VALUES (6672,'Shard_of_Gray','Shard of Gray','Etc',10,true,100,true,true,true,true,true,true);
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`flag_buyingstore`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`) VALUES (6672,'Gray_Shard','Shard of Gray','Etc',10,true,100,true,true,true,true,true,true);
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_nostorage`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`) VALUES (6673,'Bossnia_Tickets','Bossnia Tickets','Etc',10,100,true,true,true,true,true,true,true,true);
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_nostorage`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`) VALUES (6674,'GM_Coin','GM Coin','Etc',10,100,true,true,true,true,true,true,true);
|
||||
REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`) VALUES (6681,'XMAS_Cookie','Christmas Cookie','Etc',20,10,100,true,true,true,true,true,true);
|
||||
|
||||
@@ -177,7 +177,7 @@ CREATE TABLE IF NOT EXISTS `picklog` (
|
||||
`id` int(11) NOT NULL auto_increment,
|
||||
`time` datetime NOT NULL,
|
||||
`char_id` int(11) NOT NULL default '0',
|
||||
`type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F','Y','Z','Q','H','J','W','0','1','2') NOT NULL default 'P',
|
||||
`type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F','Y','Z','Q','H','J','W','0','1','2','3') NOT NULL default 'P',
|
||||
`nameid` int(10) unsigned NOT NULL default '0',
|
||||
`amount` int(11) NOT NULL default '1',
|
||||
`refine` tinyint(3) unsigned NOT NULL default '0',
|
||||
|
||||
@@ -282,6 +282,8 @@ CREATE TABLE IF NOT EXISTS `char` (
|
||||
`title_id` INT(11) unsigned NOT NULL default '0',
|
||||
`show_equip` tinyint(3) unsigned NOT NULL default '0',
|
||||
`inventory_slots` smallint(6) NOT NULL default '100',
|
||||
`body_direction` tinyint(1) unsigned NOT NULL default '0',
|
||||
`disable_call` tinyint(3) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`char_id`),
|
||||
UNIQUE KEY `name_key` (`name`),
|
||||
KEY `account_id` (`account_id`),
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user