Merge branch 'master' into refactor/StatusChangeDisplay
This commit is contained in:
commit
8807632e4a
@ -27,14 +27,15 @@ before_script:
|
|||||||
- mysql -u $DB_ROOT -e "GRANT ALL ON *.* TO '$DB_USER'@'$DB_HOST' IDENTIFIED BY '$DB_PASS';"
|
- mysql -u $DB_ROOT -e "GRANT ALL ON *.* TO '$DB_USER'@'$DB_HOST' IDENTIFIED BY '$DB_PASS';"
|
||||||
- sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
|
- sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
|
||||||
- sudo apt-get update -q
|
- sudo apt-get update -q
|
||||||
- sudo apt-get install gcc-4.8 -y
|
- sudo apt-get install gcc-5 -y
|
||||||
- sudo apt-get install g++-4.8 -y
|
- sudo apt-get install g++-5 -y
|
||||||
|
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 1
|
||||||
|
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 1
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- ./configure $CONFIGURE_FLAGS
|
- ./configure $CONFIGURE_FLAGS
|
||||||
- make clean
|
- make clean
|
||||||
- make server
|
- make server
|
||||||
- 'echo packet_db_ver: $PACKETDBVER >> db/import/packet_db.txt'
|
|
||||||
- ./map-server --run-once
|
- ./map-server --run-once
|
||||||
|
|
||||||
env:
|
env:
|
||||||
@ -44,7 +45,6 @@ env:
|
|||||||
- DB_NAME="ragnarok"
|
- DB_NAME="ragnarok"
|
||||||
- DB_USER="ragnarok"
|
- DB_USER="ragnarok"
|
||||||
- DB_PASS="ragnarok"
|
- DB_PASS="ragnarok"
|
||||||
- PACKETDBVER=45
|
|
||||||
matrix:
|
matrix:
|
||||||
- CONFIGURE_FLAGS="--enable-prere=no --enable-vip=no --enable-buildbot=yes"
|
- CONFIGURE_FLAGS="--enable-prere=no --enable-vip=no --enable-buildbot=yes"
|
||||||
- CONFIGURE_FLAGS="--enable-prere=yes --enable-vip=no --enable-buildbot=yes"
|
- CONFIGURE_FLAGS="--enable-prere=yes --enable-vip=no --enable-buildbot=yes"
|
||||||
|
|||||||
@ -50,8 +50,8 @@ class GraphBuilderAdapter : public EventHandler {
|
|||||||
struct ContainerFrame {
|
struct ContainerFrame {
|
||||||
ContainerFrame(void* pSequence)
|
ContainerFrame(void* pSequence)
|
||||||
: pContainer(pSequence), pPrevKeyNode(&sequenceMarker) {}
|
: pContainer(pSequence), pPrevKeyNode(&sequenceMarker) {}
|
||||||
ContainerFrame(void* pMap, void* pPrevKeyNode)
|
ContainerFrame(void* pMap, void* pPrevKeyNode_)
|
||||||
: pContainer(pMap), pPrevKeyNode(pPrevKeyNode) {}
|
: pContainer(pMap), pPrevKeyNode(pPrevKeyNode_) {}
|
||||||
|
|
||||||
void* pContainer;
|
void* pContainer;
|
||||||
void* pPrevKeyNode;
|
void* pPrevKeyNode;
|
||||||
|
|||||||
2
3rdparty/yaml-cpp/src/parse.cpp
vendored
2
3rdparty/yaml-cpp/src/parse.cpp
vendored
@ -31,7 +31,7 @@ Node Load(std::istream& input) {
|
|||||||
|
|
||||||
Node LoadFile(const std::string& filename) {
|
Node LoadFile(const std::string& filename) {
|
||||||
std::ifstream fin(filename.c_str());
|
std::ifstream fin(filename.c_str());
|
||||||
if (!fin) {
|
if (!fin || fin.bad()) {
|
||||||
throw BadFile();
|
throw BadFile();
|
||||||
}
|
}
|
||||||
return Load(fin);
|
return Load(fin);
|
||||||
|
|||||||
8
3rdparty/yaml-cpp/src/singledocparser.cpp
vendored
8
3rdparty/yaml-cpp/src/singledocparser.cpp
vendored
@ -166,10 +166,10 @@ void SingleDocParser::HandleBlockSequence(EventHandler& eventHandler) {
|
|||||||
|
|
||||||
// check for null
|
// check for null
|
||||||
if (!m_scanner.empty()) {
|
if (!m_scanner.empty()) {
|
||||||
const Token& token = m_scanner.peek();
|
const Token& token_ = m_scanner.peek();
|
||||||
if (token.type == Token::BLOCK_ENTRY ||
|
if (token_.type == Token::BLOCK_ENTRY ||
|
||||||
token.type == Token::BLOCK_SEQ_END) {
|
token_.type == Token::BLOCK_SEQ_END) {
|
||||||
eventHandler.OnNull(token.mark, NullAnchor);
|
eventHandler.OnNull(token_.mark, NullAnchor);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
8
3rdparty/yaml-cpp/yaml-cpp.vcxproj
vendored
8
3rdparty/yaml-cpp/yaml-cpp.vcxproj
vendored
@ -96,7 +96,7 @@
|
|||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
|
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;WIN32;_WINDOWS;WIN32;_WINDOWS;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
@ -108,7 +108,7 @@
|
|||||||
</SDLCheck>
|
</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
|
||||||
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
|
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
|
||||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;WIN32;_WINDOWS;WIN32;_WINDOWS;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
@ -121,7 +121,7 @@
|
|||||||
<SDLCheck>
|
<SDLCheck>
|
||||||
</SDLCheck>
|
</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;WIN32;_WINDOWS;WIN32;_WINDOWS;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
@ -138,7 +138,7 @@
|
|||||||
<SDLCheck>
|
<SDLCheck>
|
||||||
</SDLCheck>
|
</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;WIN32;_WINDOWS;WIN32;_WINDOWS;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
|
|||||||
@ -5,10 +5,10 @@ OMAP=@OMAP@
|
|||||||
ifeq ($(HAVE_MYSQL),yes)
|
ifeq ($(HAVE_MYSQL),yes)
|
||||||
ALL_DEPENDS=server tools
|
ALL_DEPENDS=server tools
|
||||||
SERVER_DEPENDS=common login char map import
|
SERVER_DEPENDS=common login char map import
|
||||||
COMMON_DEPENDS=mt19937ar libconfig
|
COMMON_DEPENDS=mt19937ar libconfig yaml-cpp
|
||||||
LOGIN_DEPENDS=mt19937ar libconfig common
|
LOGIN_DEPENDS=mt19937ar libconfig common
|
||||||
CHAR_DEPENDS=mt19937ar libconfig common
|
CHAR_DEPENDS=mt19937ar libconfig common yaml-cpp
|
||||||
MAP_DEPENDS=mt19937ar libconfig common
|
MAP_DEPENDS=mt19937ar libconfig common yaml-cpp
|
||||||
else
|
else
|
||||||
ALL_DEPENDS=needs_mysql
|
ALL_DEPENDS=needs_mysql
|
||||||
SERVER_DEPENDS=needs_mysql
|
SERVER_DEPENDS=needs_mysql
|
||||||
@ -93,7 +93,7 @@ help:
|
|||||||
@echo "'common' - builds object files used for the three servers"
|
@echo "'common' - builds object files used for the three servers"
|
||||||
@echo "'mt19937ar' - builds object file of Mersenne Twister MT19937"
|
@echo "'mt19937ar' - builds object file of Mersenne Twister MT19937"
|
||||||
@echo "'libconfig' - builds object files of libconfig"
|
@echo "'libconfig' - builds object files of libconfig"
|
||||||
@echo "'libconfig' - builds object files of yaml-cpp"
|
@echo "'yaml-cpp' - builds object files of yaml-cpp"
|
||||||
@echo "'login' - builds login server"
|
@echo "'login' - builds login server"
|
||||||
@echo "'char' - builds char server"
|
@echo "'char' - builds char server"
|
||||||
@echo "'map' - builds map server"
|
@echo "'map' - builds map server"
|
||||||
|
|||||||
@ -91,6 +91,9 @@ relevant to your Operation System, please refer to the Wiki (links at the end of
|
|||||||
* Configure and compile:
|
* Configure and compile:
|
||||||
|
|
||||||
./configure && make clean && make server
|
./configure && make clean && make server
|
||||||
|
* Configure and compile (for Centos 64 bit with Maria DB):
|
||||||
|
|
||||||
|
./configure --enable-64bit --with-MYSQL_LIBS=/usr/lib64/libmysqlclient.so && make clean && make server
|
||||||
* When you're ready, start the servers:
|
* When you're ready, start the servers:
|
||||||
|
|
||||||
./athena-start start
|
./athena-start start
|
||||||
|
|||||||
@ -9,58 +9,6 @@
|
|||||||
// assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary)
|
// assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary)
|
||||||
//--------------------------------------------------------------
|
//--------------------------------------------------------------
|
||||||
|
|
||||||
// Set here which client version do you accept. Add all values of clients:
|
|
||||||
// Clients older than accepted versions, and versions not set to 'accepted'
|
|
||||||
// here will be rejected when logging in
|
|
||||||
// 0x00000001: Clients older than 2004-09-06aSakray (packet versions 5-9)
|
|
||||||
// 0x00000002: 2004-09-06 aSakexe (version 10)
|
|
||||||
// 0x00000004: 2004-09-20 aSakexe (version 11)
|
|
||||||
// 0x00000008: 2004-10-05 aSakexe (version 12)
|
|
||||||
// 0x00000010: 2004-10-25 aSakexe (version 13)
|
|
||||||
// 0x00000020: 2004-11-29 aSakexe (version 14)
|
|
||||||
// 0x00000040: 2005-01-10 bSakexe (version 15)
|
|
||||||
// 0x00000080: 2005-05-09 aSakexe (version 16)
|
|
||||||
// 0x00000100: 2005-06-28 aSakexe (version 17)
|
|
||||||
// 0x00000200: 2005-07-18 aSakexe (version 18)
|
|
||||||
// 0x00000400: 2005-07-19 bSakexe (version 19)
|
|
||||||
// 0x00000800: 2006-03-27 aSakexe (version 20)
|
|
||||||
// 0x00001000: 2007-01-08 aSakexe (version 21)
|
|
||||||
// 0x00002000: 2007-02-12 aSakexe (version 22)
|
|
||||||
// 0x00004000: 2008-09-10 aSakexe (version 23)
|
|
||||||
// 0x00008000: 2008-08-27 aRagexeRE (version 24)
|
|
||||||
// 0x00010000: 2008-09-10 aRagexeRE (version 25)
|
|
||||||
// 0x00020000: 2010-11-24 aRagexeRE (version 26)
|
|
||||||
// 0x00040000: 2011-10-05 aRagexeRE (version 27)
|
|
||||||
// 0x00080000: 2011-11-02 aRagexe (version 28)
|
|
||||||
// 0x00100000: 2012-03-07 fRagexeRE (version 29)
|
|
||||||
// 0x00200000: 2012-04-10 aRagexeRE (version 30)
|
|
||||||
// 0x00400000: 2012-04-18 aRagexeRE (version 31)
|
|
||||||
// 0x00800000: 2012-06-18 unknow (version 32)
|
|
||||||
// 0x01000000: 2012-07-02 aRagexeRE (version 33)
|
|
||||||
// 0x02000000: 2013-03-20 Ragexe (version 34)
|
|
||||||
// 0x04000000: 2013-05-15 aRagexe (version 35)
|
|
||||||
// 0x08000000: 2013-05-22 Ragexe (version 36)
|
|
||||||
// 0x10000000: 2013-05-29 Ragexe (version 37)
|
|
||||||
// 0x20000000: 2013-06-05 Ragexe (version 38)
|
|
||||||
// 0x40000000: 2013-06-12 Ragexe (version 39)
|
|
||||||
// default value: 0x7FFFFFFF (all clients/versions [5;39])
|
|
||||||
packet_ver_flag: 0x7FFFFFFF
|
|
||||||
|
|
||||||
// 0x00000001: 2013-06-18 Ragexe (version 40)
|
|
||||||
// 0x00000002: 2013-06-26 Ragexe (version 41)
|
|
||||||
// 0x00000004: 2013-07-03 Ragexe (version 42)
|
|
||||||
// 0x00000008: 2013-07-10 Ragexe (version 43)
|
|
||||||
// 0x00000010: 2013-07-17 Ragexe (version 44)
|
|
||||||
// 0x00000020: 2013-08-07 Ragexe (version 45)
|
|
||||||
// 0x00000040: 2013-12-23 Ragexe (version 46)
|
|
||||||
// 0x00000080: ????
|
|
||||||
// 0x00000100: ????
|
|
||||||
// 0x00000200: ????
|
|
||||||
// 0x00000400: 2014-10-16 Ragexe (version 50)
|
|
||||||
// 0x00000800: 2014-10-22 Ragexe (version 51)
|
|
||||||
// default value: 0x7FFFFFFF (all clients/versions [41;72])
|
|
||||||
packet_ver_flag2: 0x7FFFFFFF
|
|
||||||
|
|
||||||
// Minimum delay between whisper/global/party/guild messages (in ms)
|
// Minimum delay between whisper/global/party/guild messages (in ms)
|
||||||
// Messages that break this threshold are silently omitted.
|
// Messages that break this threshold are silently omitted.
|
||||||
min_chat_delay: 0
|
min_chat_delay: 0
|
||||||
|
|||||||
@ -63,3 +63,7 @@ feature.autotrade_open_delay: 5000
|
|||||||
// Requires: 2014-10-22bRagexe or later
|
// Requires: 2014-10-22bRagexe or later
|
||||||
// Off by default while test version is out; enable at your own risk.
|
// Off by default while test version is out; enable at your own risk.
|
||||||
feature.roulette: off
|
feature.roulette: off
|
||||||
|
|
||||||
|
// Achievement (Note 1)
|
||||||
|
// Requires: 2015-05-13aRagexe or later
|
||||||
|
feature.achievement: on
|
||||||
|
|||||||
@ -70,3 +70,7 @@ guild_leaderchange_delay: 1440
|
|||||||
// Is changing the guild leader allowed during WoE?
|
// Is changing the guild leader allowed during WoE?
|
||||||
// Default: no
|
// Default: no
|
||||||
guild_leaderchange_woe: no
|
guild_leaderchange_woe: no
|
||||||
|
|
||||||
|
// Only guild master can accept alliance?
|
||||||
|
// Default: no
|
||||||
|
guild_alliance_onlygm: no
|
||||||
|
|||||||
@ -42,7 +42,7 @@ go: "Params: <city name|number>\n" "Warps you to a city.\n"
|
|||||||
" -1: (Memo point 0) 16: prison/jail 33: malangdo island\n"
|
" -1: (Memo point 0) 16: prison/jail 33: malangdo island\n"
|
||||||
" 0: prontera 17: jawaii 34: malaya port\n"
|
" 0: prontera 17: jawaii 34: malaya port\n"
|
||||||
" 1: morocc 18: ayothaya 35: eclage\n"
|
" 1: morocc 18: ayothaya 35: eclage\n"
|
||||||
" 2: geffen 19: einbroch\n"
|
" 2: geffen 19: einbroch 36: lasagna\n"
|
||||||
" 3: payon 20: lighthalzen\n"
|
" 3: payon 20: lighthalzen\n"
|
||||||
" 4: alberta 21: einbech\n"
|
" 4: alberta 21: einbech\n"
|
||||||
" 5: izlude 22: hugel\n"
|
" 5: izlude 22: hugel\n"
|
||||||
@ -310,7 +310,6 @@ reloaditemdb: "Reload item database."
|
|||||||
reloadmobdb: "Reload monster database."
|
reloadmobdb: "Reload monster database."
|
||||||
reloadmotd: "Reload Message of the Day."
|
reloadmotd: "Reload Message of the Day."
|
||||||
reloadmsgconf: "Reload message configuration."
|
reloadmsgconf: "Reload message configuration."
|
||||||
reloadpacketdb: "Reload packet database."
|
|
||||||
reloadpcdb: "Reload player settings."
|
reloadpcdb: "Reload player settings."
|
||||||
reloadquestdb: "Reload quest database."
|
reloadquestdb: "Reload quest database."
|
||||||
reloadscript: "Reload all scripts."
|
reloadscript: "Reload all scripts."
|
||||||
|
|||||||
17
conf/import-tmpl/inter_server.yml
Normal file
17
conf/import-tmpl/inter_server.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# Config for Storages
|
||||||
|
#
|
||||||
|
# To access the premium storage, use script command 'openstorage2'.
|
||||||
|
# If premium storages are added, copy the structure of the storage table and match the table name in this config.
|
||||||
|
# The 'max' of premium storages are not adjusted by 'vip_storage_increase' config nor MIN_STORAGE.
|
||||||
|
#
|
||||||
|
# Structure:
|
||||||
|
# - ID: <storage_id> // (int) Storage ID will be used for script command 'openstorage2'.
|
||||||
|
# Name: "<storage name>" // (string) Storage name will be sent to the client to display on the title bar.
|
||||||
|
# Table: "<storage_table>" // (string) Name of table where storage is saved. The table stucture is the same as the default storage table.
|
||||||
|
# Max: <max_amount> // (int) *optional* Maximum number of items in storage. MAX_STORAGE will be used if no value is defined.
|
||||||
|
###############################################################################################################################################
|
||||||
|
#Storages:
|
||||||
|
# - ID: 1
|
||||||
|
# Name: "VIP Storage"
|
||||||
|
# Table: "vip_storage"
|
||||||
|
# Max: 300
|
||||||
@ -153,6 +153,6 @@ roulette_table: db_roulette
|
|||||||
// Use SQL item_db, mob_db and mob_skill_db for the map server? (yes/no)
|
// Use SQL item_db, mob_db and mob_skill_db for the map server? (yes/no)
|
||||||
use_sql_db: no
|
use_sql_db: no
|
||||||
|
|
||||||
inter_server_conf: conf/inter_server.conf
|
inter_server_conf: inter_server.yml
|
||||||
|
|
||||||
import: conf/import/inter_conf.txt
|
import: conf/import/inter_conf.txt
|
||||||
|
|||||||
@ -1,26 +0,0 @@
|
|||||||
/**
|
|
||||||
* Config for Storages
|
|
||||||
*
|
|
||||||
* To access the premium storage, use script command 'openstorage2'.
|
|
||||||
* If premium storages are added, copy the structure of the storage table and match the table name in this config.
|
|
||||||
* The 'max' of premium storages are not adjusted by 'vip_storage_increase' config nor MIN_STORAGE.
|
|
||||||
*
|
|
||||||
* Structure:
|
|
||||||
{
|
|
||||||
id: <storage_id> // (int) Storage ID will be used for script command 'openstorage2'.
|
|
||||||
name: "<storage name>" // (string) Storage name will be sent to the client to display on the title bar.
|
|
||||||
table: "<storage_table>" // (string) Name of table where storage is saved. The table stucture is the same as the default storage table.
|
|
||||||
max: <max_amount> // (int) *optional* Maximum number of items in storage. MAX_STORAGE will be used if no value is defined.
|
|
||||||
}, // Use comma to add more storages
|
|
||||||
**/
|
|
||||||
|
|
||||||
storages: (
|
|
||||||
{
|
|
||||||
// Default Storage
|
|
||||||
// DO NOT CHANGE THIS UNLESS YOU KNOW WHAT YOU ARE DOING
|
|
||||||
id: 0
|
|
||||||
name: "Storage"
|
|
||||||
table: "storage"
|
|
||||||
//max: 600
|
|
||||||
}
|
|
||||||
)
|
|
||||||
34
conf/inter_server.yml
Normal file
34
conf/inter_server.yml
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# This file is a part of rAthena.
|
||||||
|
# Copyright(C) 2017 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/>.
|
||||||
|
#
|
||||||
|
###########################################################################
|
||||||
|
# Config for Storages
|
||||||
|
#
|
||||||
|
# To access the premium storage, use script command 'openstorage2'.
|
||||||
|
# If premium storages are added, copy the structure of the storage table and match the table name in this config.
|
||||||
|
# The 'max' of premium storages are not adjusted by 'vip_storage_increase' config nor MIN_STORAGE.
|
||||||
|
#
|
||||||
|
# Structure:
|
||||||
|
# - ID: <storage_id> // (int) Storage ID will be used for script command 'openstorage2'.
|
||||||
|
# Name: "<storage name>" // (string) Storage name will be sent to the client to display on the title bar.
|
||||||
|
# Table: "<storage_table>" // (string) Name of table where storage is saved. The table stucture is the same as the default storage table.
|
||||||
|
# Max: <max_amount> // (int) *optional* Maximum number of items in storage. MAX_STORAGE will be used if no value is defined.
|
||||||
|
|
||||||
|
Storages:
|
||||||
|
- ID: 0
|
||||||
|
Name: "Storage"
|
||||||
|
Table: "storage"
|
||||||
@ -106,12 +106,6 @@ vip_char_increase: -1
|
|||||||
// 0 or more: new accounts automatically expire after the given value, in seconds
|
// 0 or more: new accounts automatically expire after the given value, in seconds
|
||||||
start_limited_time: -1
|
start_limited_time: -1
|
||||||
|
|
||||||
// Check the clientversion field set in clientinfo.xml?
|
|
||||||
check_client_version: no
|
|
||||||
|
|
||||||
// What version is allowed to connect? (if the option above is enabled)
|
|
||||||
client_version_to_connect: 20
|
|
||||||
|
|
||||||
// Store passwords as MD5 hashes instead of plain text?
|
// Store passwords as MD5 hashes instead of plain text?
|
||||||
// NOTE: Will not work with clients that use <passwordencrypt>
|
// NOTE: Will not work with clients that use <passwordencrypt>
|
||||||
use_MD5_passwords: no
|
use_MD5_passwords: no
|
||||||
|
|||||||
@ -157,3 +157,8 @@
|
|||||||
224: -- Character Details --
|
224: -- Character Details --
|
||||||
225: [Slot/CID: %d/%d] %s | %s | Level: %d/%d | %s
|
225: [Slot/CID: %d/%d] %s | %s | Level: %d/%d | %s
|
||||||
226: This account doesn't have characters.
|
226: This account doesn't have characters.
|
||||||
|
|
||||||
|
// Achievements
|
||||||
|
227: GM
|
||||||
|
228: Achievement Reward Mail
|
||||||
|
229: [%s] Achievement Reward.
|
||||||
|
|||||||
@ -825,7 +825,13 @@
|
|||||||
769: %s %s has been banned.
|
769: %s %s has been banned.
|
||||||
770: %s %s has been unbanned.
|
770: %s %s has been unbanned.
|
||||||
|
|
||||||
//771-899 free
|
//@reloadachievementdb
|
||||||
|
771: Achievement database has been reloaded.
|
||||||
|
|
||||||
|
// Achievements
|
||||||
|
772: Achievements are disabled.
|
||||||
|
|
||||||
|
//773-899 free
|
||||||
|
|
||||||
//------------------------------------
|
//------------------------------------
|
||||||
// More atcommands message
|
// More atcommands message
|
||||||
@ -1615,8 +1621,7 @@
|
|||||||
1475: ---- My Channels ----
|
1475: ---- My Channels ----
|
||||||
1476: You have not joined any channels.
|
1476: You have not joined any channels.
|
||||||
|
|
||||||
// @reloadpacketdb
|
//1477 free
|
||||||
1477: Packet database has been reloaded.
|
|
||||||
|
|
||||||
// @partysharelvl
|
// @partysharelvl
|
||||||
1478: Party share level range has been changed successfully.
|
1478: Party share level range has been changed successfully.
|
||||||
|
|||||||
@ -1469,8 +1469,7 @@
|
|||||||
1475: ---- 我的頻道 ----
|
1475: ---- 我的頻道 ----
|
||||||
1476: 你沒有加入任何的頻道
|
1476: 你沒有加入任何的頻道
|
||||||
|
|
||||||
// @reloadpacketdb
|
//1477 free
|
||||||
1477: 完成重載封包數據庫.
|
|
||||||
|
|
||||||
// @partysharelvl
|
// @partysharelvl
|
||||||
1478: 隊伍經驗均分的等級間距已成功變更。
|
1478: 隊伍經驗均分的等級間距已成功變更。
|
||||||
|
|||||||
@ -1480,8 +1480,7 @@
|
|||||||
1475: ---- Canaux rejoins ----
|
1475: ---- Canaux rejoins ----
|
||||||
1476: Vous n'avez rejoins aucun canal.
|
1476: Vous n'avez rejoins aucun canal.
|
||||||
|
|
||||||
// @reloadpacketdb
|
//1477 free
|
||||||
1477: Base de donnée des 'Packets' rechargée.
|
|
||||||
|
|
||||||
// @partysharelvl
|
// @partysharelvl
|
||||||
1478: Différence de niveau pour le partage en équipe changé.
|
1478: Différence de niveau pour le partage en équipe changé.
|
||||||
|
|||||||
@ -1571,8 +1571,7 @@
|
|||||||
1475: ---- Channel yang diikuti ----
|
1475: ---- Channel yang diikuti ----
|
||||||
1476: Kamu tidak bergabung ke channel manapun saat ini.
|
1476: Kamu tidak bergabung ke channel manapun saat ini.
|
||||||
|
|
||||||
// @reloadpacketdb
|
//1477 free
|
||||||
1477: Database paket telah dimuat ulang.
|
|
||||||
|
|
||||||
// @partysharelvl
|
// @partysharelvl
|
||||||
1478: Jarak level dalam party share telah diubah dengan sukses.
|
1478: Jarak level dalam party share telah diubah dengan sukses.
|
||||||
|
|||||||
@ -1480,8 +1480,7 @@
|
|||||||
1475: ---- Мои каналы ----
|
1475: ---- Мои каналы ----
|
||||||
1476: Вы не присоединились ни к одному каналу.
|
1476: Вы не присоединились ни к одному каналу.
|
||||||
|
|
||||||
// @reloadpacketdb
|
//1477 free
|
||||||
1477: <20>אחא האםם<D79D>ץ ןאךועמג ב<>כא ןונוחאדנףזוםא.
|
|
||||||
|
|
||||||
// @partysharelvl
|
// @partysharelvl
|
||||||
1478: Диапазон уровней разделения опыта между участниками группы успешно изменен.
|
1478: Диапазон уровней разделения опыта между участниками группы успешно изменен.
|
||||||
|
|||||||
@ -1473,8 +1473,7 @@
|
|||||||
1475: ---- Channels ·<>ט©<D798>¹<EFBFBD><C2B9><EFBFBD>ט ----
|
1475: ---- Channels ·<>ט©<D798>¹<EFBFBD><C2B9><EFBFBD>ט ----
|
||||||
1476: ¤<>³ה<C2B3>טה´י<C2B4><D799><EFBFBD>טד¹ channels ד´א<C2B4><D790>.
|
1476: ¤<>³ה<C2B3>טה´י<C2B4><D799><EFBFBD>טד¹ channels ד´א<C2B4><D790>.
|
||||||
|
|
||||||
// @reloadpacketdb
|
//1477 free
|
||||||
1477: °Ò¹¢éÍÁÙÅ Packet ä´é¶Ù¡âËÅ´ãËÁèàÃÕºÃéÍÂ.
|
|
||||||
|
|
||||||
// @partysharelvl
|
// @partysharelvl
|
||||||
1478: <20><>´<EFBFBD>÷ Level <20><><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>ב×<D791>ל ה´י¶<D799><C2B6>»<EFBFBD><C2BB>÷א»<D790><C2BB>ט<EFBFBD>¹א<C2B9><D790><EFBFBD>÷<EFBFBD>י<EFBFBD><D799>ב<EFBFBD>י<EFBFBD>.
|
1478: <20><>´<EFBFBD>÷ Level <20><><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>ב×<D791>ל ה´י¶<D799><C2B6>»<EFBFBD><C2BB>÷א»<D790><C2BB>ט<EFBFBD>¹א<C2B9><D790><EFBFBD>÷<EFBFBD>י<EFBFBD><D799>ב<EFBFBD>י<EFBFBD>.
|
||||||
|
|||||||
118
conf/readme.md
Normal file
118
conf/readme.md
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
# Import Directories
|
||||||
|
|
||||||
|
## What is the import directory for?
|
||||||
|
|
||||||
|
The `import/` directory provides a way for you to change your config settings without the need to even touch the main `/conf/` and `/db/` files.
|
||||||
|
|
||||||
|
By placing your custom entries into the `import/` directory within these two locations, your core files will not need to have any conflicts resolved when you update your server. You store your changes, and the rest is updated with rAthena.
|
||||||
|
|
||||||
|
## How does this work?
|
||||||
|
|
||||||
|
Think of "import" as in "override". Place only the settings you have changed in the import files, or settings you are "overriding".
|
||||||
|
|
||||||
|
For example, when setting up a server there are always a few config settings that users would like to change in order for rAthena to suit their needs. The following example will show you how to use the `/conf/import/` directory correctly. (for `/db/import/` examples, see [/db/readme.md](/db/readme.md))
|
||||||
|
|
||||||
|
### Login Server
|
||||||
|
---
|
||||||
|
We want to use MD5 passwords and disable `_m/f` account creation methods.
|
||||||
|
|
||||||
|
#### /conf/import/login_conf.txt
|
||||||
|
|
||||||
|
new_account: no
|
||||||
|
use_MD5_passwords: yes
|
||||||
|
|
||||||
|
|
||||||
|
### Char Server
|
||||||
|
---
|
||||||
|
We want to change the server name to "Odin".
|
||||||
|
|
||||||
|
#### /conf/import/char_conf.txt
|
||||||
|
|
||||||
|
server_name: Odin
|
||||||
|
|
||||||
|
|
||||||
|
### Map Server
|
||||||
|
---
|
||||||
|
We want to hide all error messages and add a few custom maps.
|
||||||
|
|
||||||
|
#### /conf/import/map_conf.txt
|
||||||
|
|
||||||
|
//Makes server output more silent by omitting certain types of messages:
|
||||||
|
//16: Hide Error and SQL Error messages.
|
||||||
|
console_silent: 16
|
||||||
|
map: 1@toy
|
||||||
|
map: 1@valley
|
||||||
|
map: shops
|
||||||
|
|
||||||
|
|
||||||
|
### Inter Server
|
||||||
|
---
|
||||||
|
We want to use MySQL tables instead of .txt files.
|
||||||
|
|
||||||
|
#### /conf/import/inter_conf.txt
|
||||||
|
|
||||||
|
use_sql_db: yes
|
||||||
|
|
||||||
|
|
||||||
|
### Logging Settings
|
||||||
|
---
|
||||||
|
We want to log all items and all chat messages.
|
||||||
|
|
||||||
|
#### /conf/import/log_conf.txt
|
||||||
|
|
||||||
|
log_filter: 1
|
||||||
|
// Log CHAT (Global, Whisper, Party, Guild, Main chat, Clan) (Note 3)
|
||||||
|
// log_chat: 63 = logs everything
|
||||||
|
log_chat: 63
|
||||||
|
|
||||||
|
|
||||||
|
### Battle Configs
|
||||||
|
---
|
||||||
|
We want to change the way various mechanics work. For anything that would be configured in the `/conf/battle/` directory, it will go into `import/battle_conf.txt`. To help you find which configs came from where, it's generally a good idea to comment out the name of the file that specific collection of configs came from.
|
||||||
|
|
||||||
|
#### /conf/import/battle_conf.txt
|
||||||
|
|
||||||
|
// guild.conf
|
||||||
|
guild_exp_limit: 90
|
||||||
|
|
||||||
|
// items.conf
|
||||||
|
vending_over_max: no
|
||||||
|
vending_tax: 100
|
||||||
|
weapon_produce_rate: 200
|
||||||
|
potion_produce_rate: 200
|
||||||
|
produce_item_name_input: 0x03
|
||||||
|
|
||||||
|
// misc.conf
|
||||||
|
duel_time_interval: 2
|
||||||
|
at_mapflag: yes
|
||||||
|
at_monsterignore: yes
|
||||||
|
cashshop_show_points: yes
|
||||||
|
hide_fav_sell: yes
|
||||||
|
// Whether or not mail box status is displayed upon login.
|
||||||
|
// Default: 0
|
||||||
|
// 0 = No
|
||||||
|
// 1 = Yes
|
||||||
|
// 2 = Yes, when there are unread mails
|
||||||
|
mail_show_status: 2
|
||||||
|
|
||||||
|
// monster.conf
|
||||||
|
show_mob_info: 3
|
||||||
|
|
||||||
|
// party.conf
|
||||||
|
party_hp_mode: 1
|
||||||
|
display_party_name: yes
|
||||||
|
|
||||||
|
// pet.conf
|
||||||
|
pet_rename: yes
|
||||||
|
|
||||||
|
// player.conf
|
||||||
|
max_aspd: 196
|
||||||
|
max_third_aspd: 196
|
||||||
|
max_extended_aspd: 196
|
||||||
|
vip_disp_rate: no
|
||||||
|
|
||||||
|
// status.conf
|
||||||
|
debuff_on_logout: 3
|
||||||
|
|
||||||
|
|
||||||
|
We cannot stress enough how helpful this system is for everyone. The majority of git conflicts will simply go away if users make use of the `import/` system.
|
||||||
@ -1,22 +0,0 @@
|
|||||||
What is the import folder for?
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
The folder provides a way for you to change your config settings without having
|
|
||||||
to update the files every time you update your server. You store your changes,
|
|
||||||
and the rest is updated with rAthena.
|
|
||||||
|
|
||||||
How does this work?
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Place only the settings you have changed in the import files.
|
|
||||||
For example, if you want to change a value in /battle/exp.conf:
|
|
||||||
|
|
||||||
// Rate at which exp. is given. (Note 2)
|
|
||||||
base_exp_rate: 700
|
|
||||||
|
|
||||||
You could instead copy the setting into /import/battle_conf.txt,
|
|
||||||
and you'll eliminate any problems updating in the future.
|
|
||||||
|
|
||||||
Neat, isn't it?
|
|
||||||
|
|
||||||
- Semi-guide by Ajarn / Euphy
|
|
||||||
2
configure
vendored
2
configure
vendored
@ -4951,7 +4951,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
|||||||
|
|
||||||
CFLAGS="$CFLAGS -pipe -ffast-math -Wall"
|
CFLAGS="$CFLAGS -pipe -ffast-math -Wall"
|
||||||
CPPFLAGS="$CPPFLAGS -I../common"
|
CPPFLAGS="$CPPFLAGS -I../common"
|
||||||
|
CXXFLAGS="$CXXFLAGS -std=c++11"
|
||||||
|
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
|
||||||
|
|||||||
@ -440,6 +440,7 @@ AC_LANG([C++])
|
|||||||
|
|
||||||
CFLAGS="$CFLAGS -pipe -ffast-math -Wall"
|
CFLAGS="$CFLAGS -pipe -ffast-math -Wall"
|
||||||
CPPFLAGS="$CPPFLAGS -I../common"
|
CPPFLAGS="$CPPFLAGS -I../common"
|
||||||
|
CXXFLAGS="$CXXFLAGS -std=c++11"
|
||||||
|
|
||||||
|
|
||||||
AC_C_BIGENDIAN(
|
AC_C_BIGENDIAN(
|
||||||
|
|||||||
10
db/const.txt
10
db/const.txt
@ -2298,6 +2298,16 @@ JP_NPC01 10236
|
|||||||
4_PCCOUNT 10253
|
4_PCCOUNT 10253
|
||||||
4_LAVAGOLEM 10254
|
4_LAVAGOLEM 10254
|
||||||
|
|
||||||
|
JP_NPC02 10261
|
||||||
|
JP_NPC03 10262
|
||||||
|
JP_NPC04 10263
|
||||||
|
JP_NPC05 10264
|
||||||
|
JP_NPC06 10265
|
||||||
|
JP_NPC07 10266
|
||||||
|
JP_NPC08 10267
|
||||||
|
JP_NPC09 10268
|
||||||
|
JP_NPC10 10269
|
||||||
|
|
||||||
SWORDCLAN 1
|
SWORDCLAN 1
|
||||||
ARCWANDCLAN 2
|
ARCWANDCLAN 2
|
||||||
GOLDENMACECLAN 3
|
GOLDENMACECLAN 3
|
||||||
|
|||||||
80
db/import-tmpl/achievement_db.yml
Normal file
80
db/import-tmpl/achievement_db.yml
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
# This file is a part of rAthena.
|
||||||
|
# Copyright(C) 2017 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/>.
|
||||||
|
#
|
||||||
|
###########################################################################
|
||||||
|
# Custom Achievement Database
|
||||||
|
###########################################################################
|
||||||
|
#
|
||||||
|
# Achievement Settings
|
||||||
|
#
|
||||||
|
###########################################################################
|
||||||
|
# ID - Unique achievement ID.
|
||||||
|
###########################################################################
|
||||||
|
# Group - Achievement group type. Each achievement type calls a specific
|
||||||
|
# objective check.
|
||||||
|
# Valid groups:
|
||||||
|
# AG_ADD_FRIEND
|
||||||
|
# AG_ADVENTURE
|
||||||
|
# AG_BABY
|
||||||
|
# AG_BATTLE
|
||||||
|
# AG_CHATTING
|
||||||
|
# AG_CHATTING_COUNT
|
||||||
|
# AG_CHATTING_CREATE
|
||||||
|
# AG_CHATTING_DYING
|
||||||
|
# AG_EAT
|
||||||
|
# AG_GET_ITEM
|
||||||
|
# AG_GET_ZENY
|
||||||
|
# AG_GOAL_ACHIEVE
|
||||||
|
# AG_GOAL_LEVEL
|
||||||
|
# AG_GOAL_STATUS
|
||||||
|
# AG_HEAR
|
||||||
|
# AG_JOB_CHANGE
|
||||||
|
# AG_MARRY
|
||||||
|
# AG_PARTY
|
||||||
|
# AG_ENCHANT_FAIL
|
||||||
|
# AG_ENCHANT_SUCCESS
|
||||||
|
# AG_SEE
|
||||||
|
# AG_SPEND_ZENY
|
||||||
|
# AG_TAMING
|
||||||
|
###########################################################################
|
||||||
|
# Name - Achievement name. Used when sending rewards through RODEX.
|
||||||
|
###########################################################################
|
||||||
|
# Target - A list of monster ID and count values that the achievement
|
||||||
|
# requires. The target count can also be used for achievements that keep
|
||||||
|
# a counter while not being related to monster kills.
|
||||||
|
# Capped at MAX_ACHIEVEMENT_OBJECTIVES.
|
||||||
|
###########################################################################
|
||||||
|
# Condition - A conditional statement that must be met for the achievement
|
||||||
|
# to be considered complete.
|
||||||
|
###########################################################################
|
||||||
|
# Map - A map name that is used for the AG_CHATTING type which increments
|
||||||
|
# the counter based on the player's map.
|
||||||
|
###########################################################################
|
||||||
|
# Dependent: - A list of achievement IDs that need to be completed before
|
||||||
|
# this achievement is considered complete.
|
||||||
|
###########################################################################
|
||||||
|
# Reward - A list of rewards that are given on completion. All fields are
|
||||||
|
# optional.
|
||||||
|
# ItemID: Item ID
|
||||||
|
# Amount: Amount of Item ID (default 1)
|
||||||
|
# Script: Bonus Script
|
||||||
|
# TitleID: Title ID
|
||||||
|
###########################################################################
|
||||||
|
# Score - Achievement points that are given on completion.
|
||||||
|
###########################################################################
|
||||||
|
|
||||||
|
Achievements:
|
||||||
@ -6,4 +6,6 @@
|
|||||||
// 2 - As item group container, check player's inventory and weight before consumed
|
// 2 - As item group container, check player's inventory and weight before consumed
|
||||||
// 4 - GUID item, cannot be stacked even same or stackable item
|
// 4 - GUID item, cannot be stacked even same or stackable item
|
||||||
// 8 - Item will be bound item when equipped
|
// 8 - Item will be bound item when equipped
|
||||||
|
// 16 - Special Broadcast: When item dropped by monster and player loot it, will be broadcasted!
|
||||||
|
// 32 - Item will not be removed on consumption. Also supports 'itemskill'
|
||||||
// NOTE: For removing flag by import file, use "-" to remove the flag. Example, 604,-1 will removes flag 1 from Branch_Of_Dead_Tree
|
// NOTE: For removing flag by import file, use "-" to remove the flag. Example, 604,-1 will removes flag 1 from Branch_Of_Dead_Tree
|
||||||
|
|||||||
@ -1,35 +0,0 @@
|
|||||||
// Client<->Map Packet Database
|
|
||||||
//
|
|
||||||
// Structure of Database:
|
|
||||||
// PacketType,PacketLength[,Name,FieldIndex1:FieldIndex2:FieldIndex3:...]
|
|
||||||
//
|
|
||||||
// 01. PacketType ID of the packet.
|
|
||||||
// 02. PacketLength Length of the packet. If 0, packet is disabled in current packet version. If -1, packet has variable size.
|
|
||||||
// 03. Name Name of the packet parser function (optional, for incoming packets only).
|
|
||||||
// 04. FieldIndex Specifies the offset of a packet field in bytes from the begin of the packet (only specified when Name is given).
|
|
||||||
// Can be 0, when the layout is not known.
|
|
||||||
// ...
|
|
||||||
//
|
|
||||||
// NOTE: Up to MAX_PACKET_POS (typically 20) field indexes may be used.
|
|
||||||
//
|
|
||||||
// The packet database allows you to add support for new clients,
|
|
||||||
// because packets change every release.
|
|
||||||
//
|
|
||||||
// Note: Every packet version needs a wanttoconnection specification, since
|
|
||||||
// that is the packet used to identify a client's version.
|
|
||||||
// If multiple versions have the same connection packet, the higher version
|
|
||||||
// will be used (unless the lower one is specified as the default)
|
|
||||||
//
|
|
||||||
// Incoming packets have their parser function and layout specified, which enables
|
|
||||||
// them for the current and all higher versions, unless explicitely disabled.
|
|
||||||
//
|
|
||||||
// Outgoing packets must be specified in order to enable them for the current
|
|
||||||
// and all higher versions, unless explicitely disabled. Packets that are not
|
|
||||||
// enabled for a packet version are silently discarded when sent as multicast.
|
|
||||||
//
|
|
||||||
// Every packet version inherits packet definitions from the previous (lower)
|
|
||||||
// packet version.
|
|
||||||
//
|
|
||||||
// Main packet version of the DB to use (default = max available version)
|
|
||||||
// Client detection is faster when all clients use this version.
|
|
||||||
// Version 23 is the latest Sakexe (above versions are for Renewal clients)
|
|
||||||
2675
db/packet_db.txt
2675
db/packet_db.txt
File diff suppressed because it is too large
Load Diff
2407
db/pre-re/achievement_db.yml
Normal file
2407
db/pre-re/achievement_db.yml
Normal file
File diff suppressed because it is too large
Load Diff
@ -7,6 +7,7 @@
|
|||||||
// 4 - GUID Item: When this item is obtained, will generates GUID that cannot be stacked even same or stackable item
|
// 4 - GUID Item: When this item is obtained, will generates GUID that cannot be stacked even same or stackable item
|
||||||
// 8 - Item will be bound item when equipped
|
// 8 - Item will be bound item when equipped
|
||||||
// 16 - Special Broadcast: When item dropped by monster and player loot it, will be broadcasted!
|
// 16 - Special Broadcast: When item dropped by monster and player loot it, will be broadcasted!
|
||||||
|
// 32 - Item will not be removed on consumption. Also supports 'itemskill'
|
||||||
// NOTE: For removing flag by import file, use "-" to remove the flag. Example, 604,-1 will removes flag 1 from Branch_Of_Dead_Tree
|
// NOTE: For removing flag by import file, use "-" to remove the flag. Example, 604,-1 will removes flag 1 from Branch_Of_Dead_Tree
|
||||||
|
|
||||||
// Logged as Dead Branch item
|
// Logged as Dead Branch item
|
||||||
|
|||||||
2407
db/re/achievement_db.yml
Normal file
2407
db/re/achievement_db.yml
Normal file
File diff suppressed because it is too large
Load Diff
@ -22,3 +22,4 @@
|
|||||||
15,Geffen Magic Tournament,7200,300,1@gef,119,209,1@gef_in,1@ge_st
|
15,Geffen Magic Tournament,7200,300,1@gef,119,209,1@gef_in,1@ge_st
|
||||||
16,Horror Toy Factory,3600,300,1@xm_d,111,22
|
16,Horror Toy Factory,3600,300,1@xm_d,111,22
|
||||||
17,Faceworm's Nest,3600,300,1@face,112,374
|
17,Faceworm's Nest,3600,300,1@face,112,374
|
||||||
|
18,Ghost Palace,3600,300,1@spa,42,196
|
||||||
|
|||||||
@ -784,7 +784,7 @@
|
|||||||
1440,Battle_Hook_,Battle Hook,5,20,,900,140,,3,3,0x00004082,18,2,2,4,65,1,4,{ bonus2 bAddEff,Eff_Stun,500; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; skill "KN_PIERCE",3; },{},{}
|
1440,Battle_Hook_,Battle Hook,5,20,,900,140,,3,3,0x00004082,18,2,2,4,65,1,4,{ bonus2 bAddEff,Eff_Stun,500; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; skill "KN_PIERCE",3; },{},{}
|
||||||
1441,Blue_Spear,Blue Spear,5,10,,1200,180:170,,3,1,0x00004000,56,2,2,3,100,1,4,{ bonus bDex,5; bonus bInt,5; },{},{}
|
1441,Blue_Spear,Blue Spear,5,10,,1200,180:170,,3,1,0x00004000,56,2,2,3,100,1,4,{ bonus bDex,5; bonus bInt,5; },{},{}
|
||||||
1442,Ru_Gold_Spear,Ru Gold Spear,5,0,,1200,180,,3,2,0x00004000,56,2,2,3,120,1,4,{ bonus bStr,8; bonus bAgi,8; },{},{}
|
1442,Ru_Gold_Spear,Ru Gold Spear,5,0,,1200,180,,3,2,0x00004000,56,2,2,3,120,1,4,{ bonus bStr,8; bonus bAgi,8; },{},{}
|
||||||
1443,Crimson_Spear,Crimson Spear,5,20,,900,90,,3,2,0x00004082,56,2,2,3,70,1,4,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
|
1443,Crimson_Spear,Crimson Spear,5,20,,900,90,,3,2,0x00004082,63,2,2,3,70,1,4,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
|
||||||
1446,Requiem_Spear,Requiem Spear,5,20,,1000,130,,3,,0x00004080,63,2,2,4,100,1,4,{ .@r = getrefine(); .@b = 40; bonus bUnbreakableWeapon,1; if(.@r>=5){ .@b += (.@r-5)*15+20; } bonus2 bAddRace2,RC2_BioLab,.@b; },{},{}
|
1446,Requiem_Spear,Requiem Spear,5,20,,1000,130,,3,,0x00004080,63,2,2,4,100,1,4,{ .@r = getrefine(); .@b = 40; bonus bUnbreakableWeapon,1; if(.@r>=5){ .@b += (.@r-5)*15+20; } bonus2 bAddRace2,RC2_BioLab,.@b; },{},{}
|
||||||
//===================================================================
|
//===================================================================
|
||||||
// 2-Handed Spears
|
// 2-Handed Spears
|
||||||
@ -1379,12 +1379,12 @@
|
|||||||
2174,Lumiere_Shield,Lumiere Shield,4,20,,1300,,50,,1,0xFFFFFFFF,63,2,32,,65,1,3,{},{},{}
|
2174,Lumiere_Shield,Lumiere Shield,4,20,,1300,,50,,1,0xFFFFFFFF,63,2,32,,65,1,3,{},{},{}
|
||||||
2175,Esprit_Shield,Spirit Shield,4,20,,1300,,50,,1,0xFFFFFFFF,63,2,32,,65,1,3,{},{},{}
|
2175,Esprit_Shield,Spirit Shield,4,20,,1300,,50,,1,0xFFFFFFFF,63,2,32,,65,1,3,{},{},{}
|
||||||
2176,Dark_Book,Black Book,4,20,,500,,80,,1,0xFFFFFFFF,63,2,32,,65,1,5,{ bonus bMdef,5; .@r = getrefine(); bonus3 bAutoSpellWhenHit,"NPC_DRAGONFEAR",1,(.@r<=6)?(10):((.@r<=8)?(20):(30)); },{},{}
|
2176,Dark_Book,Black Book,4,20,,500,,80,,1,0xFFFFFFFF,63,2,32,,65,1,5,{ bonus bMdef,5; .@r = getrefine(); bonus3 bAutoSpellWhenHit,"NPC_DRAGONFEAR",1,(.@r<=6)?(10):((.@r<=8)?(20):(30)); },{},{}
|
||||||
2177,Shield_Of_Death,Shield Of Death,4,20,,2000,,150,,1,0xFFFFFFFF,63,2,32,,90,1,3,{ bonus2 bAddClass,Class_Boss,2; bonus2 bMagicAddClass,Class_Boss,2; bonus2 bAddClass,Class_Normal,10; bonus2 bMagicAddClass,Class_Normal,10; },{},{}
|
2177,Shield_Of_Death,Shield Of Death,4,20,,2000,,150,,1,0xFFFFFFFF,63,2,32,,90,1,3,{ bonus2 bAddClass,Class_Boss,2; bonus2 bMagicAddClass,Class_Boss,2; bonus2 bSubClass,Class_Normal,-10; },{},{}
|
||||||
2178,TE_Woe_Buckler,TE Woe Buckler,4,0,,0,,15,,0,0xFFFFFFFF,63,2,32,1,40,1,2,{ bonus bMdef,15; bonus bMaxHP,100; bonus bMaxSP,100; bonus2 bSubRace,RC_Player,15; },{},{}
|
2178,TE_Woe_Buckler,TE Woe Buckler,4,0,,0,,15,,0,0xFFFFFFFF,63,2,32,,40,1,2,{ bonus bMdef,15; bonus bMaxHP,100; bonus bMaxSP,100; bonus2 bSubRace,RC_Player,15; },{},{}
|
||||||
2179,TE_Woe_Shield,TE Woe Shield,4,0,,0,,25,,0,0x000444A2,63,2,32,1,40,1,3,{ bonus bMdef,5; bonus bMaxHP,200; bonus2 bSubRace,RC_Player,20; },{},{}
|
2179,TE_Woe_Shield,TE Woe Shield,4,0,,0,,25,,0,0x000444A2,63,2,32,,40,1,3,{ bonus bMdef,5; bonus bMaxHP,200; bonus2 bSubRace,RC_Player,20; },{},{}
|
||||||
2180,TE_Woe_Magic_Guard,TE Woe Magic Guard,4,0,,0,,5,,0,0x00818315,63,2,32,1,40,1,1,{ bonus bMdef,25; bonus bMaxSP,200; bonus2 bSubRace,RC_Player,10; },{},{}
|
2180,TE_Woe_Magic_Guard,TE Woe Magic Guard,4,0,,0,,5,,0,0x00818315,63,2,32,,40,1,1,{ bonus bMdef,25; bonus bMaxSP,200; bonus2 bSubRace,RC_Player,10; },{},{}
|
||||||
2181,Hervor,Hervor,4,10,,1500,,100,,0,0xFFFFFFFF,63,2,32,,1,,2,{ bonus bMdef,5; bonus2 bSubRace,RC_All,30; bonus bUnbreakableArmor,1; },{},{}
|
2181,Hervor,Hervor,4,10,,1500,,100,,0,0xFFFFFFFF,63,2,32,,1,,2,{ bonus bMdef,5; bonus2 bSubRace,RC_All,30; bonus bUnbreakableArmor,1; },{},{}
|
||||||
2182,Hervor_Alvitr,Hervor Alvitr,4,0,,3000,,150,,0,0x000FDF80,56,2,32,1,100,0,2,{ bonus bMdef,10; bonus bVit,20; bonus2 bSubRace,RC_All,30; bonus bUnbreakableShield,1; autobonus2 "{ sc_end SC_STUN; sc_end SC_SLEEP; sc_end SC_CURSE; sc_end SC_STONE; sc_end SC_POISON; sc_end SC_BLIND; sc_end SC_SILENCE; sc_end SC_BLEEDING; sc_end SC_CONFUSION; sc_end SC_FREEZE; bonus2 bResEff,Eff_Stun,10000; bonus2 bResEff,Eff_Sleep,10000; bonus2 bResEff,Eff_Curse,10000; bonus2 bResEff,Eff_Stone,10000; bonus2 bResEff,Eff_Poison,10000; bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Silence,10000; bonus2 bResEff,Eff_Bleeding,10000; bonus2 bResEff,Eff_Confusion,10000; bonus2 bResEff,Eff_Freeze,10000; }",10,60000,BF_SHORT; },{},{}
|
2182,Hervor_Alvitr,Hervor Alvitr,4,0,,3000,,150,,0,0x000FDF80,56,2,32,,100,0,2,{ bonus bMdef,10; bonus bVit,20; bonus2 bSubRace,RC_All,30; bonus bUnbreakableShield,1; autobonus2 "{ sc_end SC_STUN; sc_end SC_SLEEP; sc_end SC_CURSE; sc_end SC_STONE; sc_end SC_POISON; sc_end SC_BLIND; sc_end SC_SILENCE; sc_end SC_BLEEDING; sc_end SC_CONFUSION; sc_end SC_FREEZE; bonus2 bResEff,Eff_Stun,10000; bonus2 bResEff,Eff_Sleep,10000; bonus2 bResEff,Eff_Curse,10000; bonus2 bResEff,Eff_Stone,10000; bonus2 bResEff,Eff_Poison,10000; bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Silence,10000; bonus2 bResEff,Eff_Bleeding,10000; bonus2 bResEff,Eff_Confusion,10000; bonus2 bResEff,Eff_Freeze,10000; }",10,60000,BF_SHORT; },{},{}
|
||||||
2183,Impr_Angel's_Safeguard,Advanced Angelic Guard,4,10000,,400,,30,,1,0x00000001,63,2,32,,99,1,1,{ bonus2 bSubRace,RC_Demon,5; bonus2 bSubEle,Ele_All,5; bonus2 bSubEle,Ele_Neutral,-5; },{},{}
|
2183,Impr_Angel's_Safeguard,Advanced Angelic Guard,4,10000,,400,,30,,1,0x00000001,63,2,32,,99,1,1,{ bonus2 bSubRace,RC_Demon,5; bonus2 bSubEle,Ele_All,5; bonus2 bSubEle,Ele_Neutral,-5; },{},{}
|
||||||
2185,Magic_Reflect,Magic Reflect,4,10,,1000,,50,,1,0xFFFFFFFF,63,2,32,,99,1,3,{ bonus bMdef,10; bonus bMagicDamageReturn,3+((getrefine()>=9) ? 3 : 0); },{},{}
|
2185,Magic_Reflect,Magic Reflect,4,10,,1000,,50,,1,0xFFFFFFFF,63,2,32,,99,1,3,{ bonus bMdef,10; bonus bMagicDamageReturn,3+((getrefine()>=9) ? 3 : 0); },{},{}
|
||||||
2186,Great_Encyclopedia_Revision,Great Encyclopedia Revision,4,10,,200,0:5,50,,1,0x00810100,63,2,32,,99,1,4,{ bonus bInt,3; bonus bDex,2; .@r = getrefine(); bonus bCritical,3+((.@r >= 7) ? 2 : 0); if(.@r >= 9) bonus bMatk,5; },{},{}
|
2186,Great_Encyclopedia_Revision,Great Encyclopedia Revision,4,10,,200,0:5,50,,1,0x00810100,63,2,32,,99,1,4,{ bonus bInt,3; bonus bDex,2; .@r = getrefine(); bonus bCritical,3+((.@r >= 7) ? 2 : 0); if(.@r >= 9) bonus bMatk,5; },{},{}
|
||||||
@ -1392,7 +1392,7 @@
|
|||||||
2188,Svalinn_J,Svalinn,4,10,,500,,80,,1,0xFFFFFFFF,63,2,32,,65,1,3,{ .@r = getrefine(); bonus bMaxHP,9+.@r/3; bonus2 bAddEle,Ele_Water,4+.@r/3*5; },{},{}
|
2188,Svalinn_J,Svalinn,4,10,,500,,80,,1,0xFFFFFFFF,63,2,32,,65,1,3,{ .@r = getrefine(); bonus bMaxHP,9+.@r/3; bonus2 bAddEle,Ele_Water,4+.@r/3*5; },{},{}
|
||||||
2189,Mad_Bunny,Mad Bunny Shield,4,10,,100,,40,,1,0xFFFFFFFF,63,2,32,,30,1,6,{ bonus2 bSubEle,Ele_All,5; bonus bMdef,6; bonus bDex,1; },{},{}
|
2189,Mad_Bunny,Mad Bunny Shield,4,10,,100,,40,,1,0xFFFFFFFF,63,2,32,,30,1,6,{ bonus2 bSubEle,Ele_All,5; bonus bMdef,6; bonus bDex,1; },{},{}
|
||||||
2190,Ancient_Shield_Of_Aeon,Ancient Shield Of Aeon,4,0,,200,,5,,0,0x000FDF80,63,2,32,,130,1,2,{ bonus2 bSubEle,Ele_Neutral,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubEle,Ele_Holy,10; bonus2 bSubEle,Ele_Ghost,10; bonus bMaxHP,500; bonus bMaxSP,50; if(getrefine()>=14) skill "MG_STONECURSE",5; },{},{}
|
2190,Ancient_Shield_Of_Aeon,Ancient Shield Of Aeon,4,0,,200,,5,,0,0x000FDF80,63,2,32,,130,1,2,{ bonus2 bSubEle,Ele_Neutral,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubEle,Ele_Holy,10; bonus2 bSubEle,Ele_Ghost,10; bonus bMaxHP,500; bonus bMaxSP,50; if(getrefine()>=14) skill "MG_STONECURSE",5; },{},{}
|
||||||
2195,Lian_Shield,Lian Shield,4,0,,1300,,50,,1,0xFFFFFFFF,63,2,32,1,65,1,,{ bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubRace,RC_Formless,-5; },{},{}
|
2195,Lian_Shield,Lian Shield,4,0,,1300,,50,,1,0xFFFFFFFF,63,2,32,,65,1,,{ bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubRace,RC_Formless,-5; },{},{}
|
||||||
2196,White_Gold_Shield,White Gold Shield,4,0,,1800,,140,,1,0xFFFFFFFF,63,2,32,,,1,,{ autobonus2 "{ bonus bMagicDamageReturn,20; }",100,2000,BF_MAGIC; /* Confirm: Success rate? */ },{},{}
|
2196,White_Gold_Shield,White Gold Shield,4,0,,1800,,140,,1,0xFFFFFFFF,63,2,32,,,1,,{ autobonus2 "{ bonus bMagicDamageReturn,20; }",100,2000,BF_MAGIC; /* Confirm: Success rate? */ },{},{}
|
||||||
2198,Lapine_Shield,Lapine Shield,4,0,,1000,,25,,1,0xFFFFFFFF,63,2,32,,100,1,,{ bonus bMdef,10; if (getrefine() > 7) { bonus bMatk,20; } },{},{}
|
2198,Lapine_Shield,Lapine Shield,4,0,,1000,,25,,1,0xFFFFFFFF,63,2,32,,100,1,,{ bonus bMdef,10; if (getrefine() > 7) { bonus bMatk,20; } },{},{}
|
||||||
// GM Shield
|
// GM Shield
|
||||||
@ -1698,9 +1698,9 @@
|
|||||||
2493,Goibne's_Combat_Boots_,Goibne's Greaves,4,30000,,700,,13,,1,0xFFFFFFFE,63,2,64,,54,1,0,{ bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5; },{},{}
|
2493,Goibne's_Combat_Boots_,Goibne's Greaves,4,30000,,700,,13,,1,0xFFFFFFFE,63,2,64,,54,1,0,{ bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5; },{},{}
|
||||||
2494,Chrystal_Pumps_,Crystal Pumps,4,20,,100,,5,,1,0xFFFFFFFE,63,0,64,,0,1,0,{ bonus bMdef,10; bonus bLuk,5; },{},{}
|
2494,Chrystal_Pumps_,Crystal Pumps,4,20,,100,,5,,1,0xFFFFFFFE,63,0,64,,0,1,0,{ bonus bMdef,10; bonus bLuk,5; },{},{}
|
||||||
2495,Egir_Shoes,Egir Shoes,4,200000,,300,,13,,1,0xFFFFFFFF,63,2,64,,110,1,0,{ if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bMaxHP,BaseLevel*5; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bMaxSP,JobLevel*2; },{},{}
|
2495,Egir_Shoes,Egir Shoes,4,200000,,300,,13,,1,0xFFFFFFFF,63,2,64,,110,1,0,{ if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bMaxHP,BaseLevel*5; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bMaxSP,JobLevel*2; },{},{}
|
||||||
2496,TE_Woe_Shoes,TE Woe Shoes,4,0,,0,,5,,0,0xFFFFFFFF,63,2,64,0,40,1,,{ bonus bMdef,5; bonus bMaxHP,150; bonus bMaxSP,150; bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
2496,TE_Woe_Shoes,TE Woe Shoes,4,0,,0,,5,,0,0xFFFFFFFF,63,2,64,,40,1,,{ bonus bMdef,5; bonus bMaxHP,150; bonus bMaxSP,150; bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
||||||
2497,TE_Woe_Boots,TE Woe Boots,4,0,,0,,10,,0,0x000444A2,63,2,64,0,40,1,,{ bonus bMaxHP,200; bonus bMaxSP,100; bonus2 bAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
2497,TE_Woe_Boots,TE Woe Boots,4,0,,0,,10,,0,0x000444A2,63,2,64,,40,1,,{ bonus bMaxHP,200; bonus bMaxSP,100; bonus2 bAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
||||||
2498,TE_Woe_Magic_Sandal,TE Woe Magic Sandal,4,0,,0,,5,,0,0x00818315,63,2,64,1,40,1,,{ bonus bMdef,5; bonus bMaxHP,100; bonus bMaxSP,200; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
2498,TE_Woe_Magic_Sandal,TE Woe Magic Sandal,4,0,,0,,5,,0,0x00818315,63,2,64,,40,1,,{ bonus bMdef,5; bonus bMaxHP,100; bonus bMaxSP,200; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
||||||
2499,Temporal_Boots,Temporal Boots,4,400,,600,,20,,0,0xFFFFFFFF,63,2,64,,10,1,,{ .@r = getrefine(); bonus bMaxHP,300; bonus bMaxSP,30; bonus bMaxHP,100*(.@r/3); bonus bMaxSP,10*(.@r/3); },{},{}
|
2499,Temporal_Boots,Temporal Boots,4,400,,600,,20,,0,0xFFFFFFFF,63,2,64,,10,1,,{ .@r = getrefine(); bonus bMaxHP,300; bonus bMaxSP,30; bonus bMaxHP,100*(.@r/3); bonus bMaxSP,10*(.@r/3); },{},{}
|
||||||
//===================================================================
|
//===================================================================
|
||||||
// Garments
|
// Garments
|
||||||
@ -2137,15 +2137,15 @@
|
|||||||
2941,Gunslinger_Manual,Gunslinger Manual,4,0,,100,,0,,0,0x00000001,63,2,136,,0,0,0,{ bonus bMaxSP,100; skill "GS_GLITTERING",1; skill "GS_ADJUSTMENT",1; skill "GS_MADNESSCANCEL",1; skill "GS_INCREASING",1; },{},{}
|
2941,Gunslinger_Manual,Gunslinger Manual,4,0,,100,,0,,0,0x00000001,63,2,136,,0,0,0,{ bonus bMaxSP,100; skill "GS_GLITTERING",1; skill "GS_ADJUSTMENT",1; skill "GS_MADNESSCANCEL",1; skill "GS_INCREASING",1; },{},{}
|
||||||
2942,Taekwon_Manual,Taekwon Manual,4,0,,100,,0,,0,0x00000001,63,2,136,,0,0,0,{ bonus bMaxSP,100; skill "TK_SEVENWIND",4; skill "TK_JUMPKICK",5; },{},{}
|
2942,Taekwon_Manual,Taekwon Manual,4,0,,100,,0,,0,0x00000001,63,2,136,,0,0,0,{ bonus bMaxSP,100; skill "TK_SEVENWIND",4; skill "TK_JUMPKICK",5; },{},{}
|
||||||
2943,Critical_Ring_,Critical Ring,4,0,,100,,,,1,0xFFFFFFFF,63,2,136,,,0,,{ bonus bCritical,5;},{},{}
|
2943,Critical_Ring_,Critical Ring,4,0,,100,,,,1,0xFFFFFFFF,63,2,136,,,0,,{ bonus bCritical,5;},{},{}
|
||||||
2944,TE_Ring_Of_Protection,TE Ring Of Protection,4,0,,0,,,,0,0xFFFFFFFF,63,2,136,1,40,0,,{ bonus bMaxHP,100; bonus2 bSubRace,RC_Player,5; },{},{}
|
2944,TE_Ring_Of_Protection,TE Ring Of Protection,4,0,,0,,,,0,0xFFFFFFFF,63,2,136,,40,0,,{ bonus bMaxHP,100; bonus2 bSubRace,RC_Player,5; },{},{}
|
||||||
2945,TE_Ring_Of_Rage,TE Ring Of Rage,4,0,,0,,,,0,0xFFFFFFFF,63,2,136,1,40,0,,{ bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5; },{},{}
|
2945,TE_Ring_Of_Rage,TE Ring Of Rage,4,0,,0,,,,0,0xFFFFFFFF,63,2,136,,40,0,,{ bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5; },{},{}
|
||||||
2946,TE_Ring_Of_Defiance,TE Ring Of Defiance,4,0,,0,,,,0,0xFFFFFFFF,63,2,136,1,40,0,,{ bonus bMdef,5; bonus2 bSubRace,RC_Player,5; },{},{}
|
2946,TE_Ring_Of_Defiance,TE Ring Of Defiance,4,0,,0,,,,0,0xFFFFFFFF,63,2,136,,40,0,,{ bonus bMdef,5; bonus2 bSubRace,RC_Player,5; },{},{}
|
||||||
2948,Demon_Wing,Demon Wing,4,10,,100,,,,1,0xFFFFFFFF,63,2,136,,70,,,{ bonus bFlee,5; },{},{}
|
2948,Demon_Wing,Demon Wing,4,10,,100,,,,1,0xFFFFFFFF,63,2,136,,70,,,{ bonus bFlee,5; },{},{}
|
||||||
2949,Silversmith_Bracelet,Silversmith Bracelet,4,10,,100,,3,,1,0xFFFFFFFF,63,2,136,,60,,,{ bonus bAllStats,1; bonus bMdef,3; skill "SA_SPELLBREAKER",5; },{},{}
|
2949,Silversmith_Bracelet,Silversmith Bracelet,4,10,,100,,3,,1,0xFFFFFFFF,63,2,136,,60,,,{ bonus bAllStats,1; bonus bMdef,3; skill "SA_SPELLBREAKER",5; },{},{}
|
||||||
2950,Rune_Ring,Rune Ring,4,0,,0,,,,0,0xFFFFFFFF,63,2,136,1,1,0,,{ bonus2 bExpAddClass,Class_Normal,10; },{},{}
|
2950,Rune_Ring,Rune Ring,4,0,,0,,,,0,0xFFFFFFFF,63,2,136,,1,0,,{ bonus2 bExpAddClass,Class_Normal,10; },{},{}
|
||||||
2951,Kvasir_Ring_Blue,Kvasir Ring Blue,4,0,,100,,,,0,0xFFFFFFFF,63,2,136,1,1,0,,{ bonus bMaxSP,30; skill "ECL_SNOWFLIP",1; },{},{}
|
2951,Kvasir_Ring_Blue,Kvasir Ring Blue,4,0,,100,,,,0,0xFFFFFFFF,63,2,136,,1,0,,{ bonus bMaxSP,30; skill "ECL_SNOWFLIP",1; },{},{}
|
||||||
2952,Kvasir_Ring_Red,Kvasir Ring Red,4,0,,100,,,,0,0xFFFFFFFF,63,2,136,1,1,0,,{ bonus bMaxSP,30; skill "ECL_PEONYMAMY",1; },{},{}
|
2952,Kvasir_Ring_Red,Kvasir Ring Red,4,0,,100,,,,0,0xFFFFFFFF,63,2,136,,1,0,,{ bonus bMaxSP,30; skill "ECL_PEONYMAMY",1; },{},{}
|
||||||
2953,Kvasir_Ring_Green,Kvasir Ring Green,4,0,,100,,,,0,0xFFFFFFFF,63,2,136,1,1,0,,{ bonus bMaxHP,100; skill "ECL_SADAGUI",1; },{},{}
|
2953,Kvasir_Ring_Green,Kvasir Ring Green,4,0,,100,,,,0,0xFFFFFFFF,63,2,136,,1,0,,{ bonus bMaxHP,100; skill "ECL_SADAGUI",1; },{},{}
|
||||||
2954,Kvasir_Ring_Brown,Kvasir Ring Brown,4,10,,100,,,,0,0xFFFFFFFF,63,2,136,,1,,,{ bonus bMaxHP,100; },{},{}
|
2954,Kvasir_Ring_Brown,Kvasir Ring Brown,4,10,,100,,,,0,0xFFFFFFFF,63,2,136,,1,,,{ bonus bMaxHP,100; },{},{}
|
||||||
2956,Safety_Ring_,Advanced Safety Ring,4,75000,,100,,10,,1,0xFFFFFFFE,63,2,136,,50,0,0,{ bonus bMdef,5; bonus bAllStats,1; },{},{}
|
2956,Safety_Ring_,Advanced Safety Ring,4,75000,,100,,10,,1,0xFFFFFFFE,63,2,136,,50,0,0,{ bonus bMdef,5; bonus bAllStats,1; },{},{}
|
||||||
2957,Good_Ring_Of_Flame_Lord,Advanced Ring Of Flame Lord,4,20,,100,,0,,0,0x7CCFDF80,63,2,136,,85,0,0,{ bonus bStr,3; bonus bVit,2; bonus bBaseAtk,20; bonus2 bSubEle,Ele_Fire,10; bonus3 bAutoSpell,"CH_SOULCOLLECT",1,30; bonus3 bAutoSpell,"MO_EXPLOSIONSPIRITS",1,10; bonus3 bAutoSpell,"PA_PRESSURE",2,30; bonus3 bAutoSpell,"MG_FIREBALL",1,150; bonus3 bAutoSpell,"KN_BOWLINGBASH",5,20; },{},{}
|
2957,Good_Ring_Of_Flame_Lord,Advanced Ring Of Flame Lord,4,20,,100,,0,,0,0x7CCFDF80,63,2,136,,85,0,0,{ bonus bStr,3; bonus bVit,2; bonus bBaseAtk,20; bonus2 bSubEle,Ele_Fire,10; bonus3 bAutoSpell,"CH_SOULCOLLECT",1,30; bonus3 bAutoSpell,"MO_EXPLOSIONSPIRITS",1,10; bonus3 bAutoSpell,"PA_PRESSURE",2,30; bonus3 bAutoSpell,"MG_FIREBALL",1,150; bonus3 bAutoSpell,"KN_BOWLINGBASH",5,20; },{},{}
|
||||||
@ -2178,7 +2178,7 @@
|
|||||||
2995,Supplement_Part_Dex,Supplement Part Dex,4,25000,,100,,0,,1,0x00000400,56,2,136,,100,0,0,{ bonus bUseSPrate,-10; bonus bDelayrate,-10; bonus bVariableCastrate,-10; bonus2 bSkillVariableCast,"NC_AXEBOOMERANG",-2000; },{},{}
|
2995,Supplement_Part_Dex,Supplement Part Dex,4,25000,,100,,0,,1,0x00000400,56,2,136,,100,0,0,{ bonus bUseSPrate,-10; bonus bDelayrate,-10; bonus bVariableCastrate,-10; bonus2 bSkillVariableCast,"NC_AXEBOOMERANG",-2000; },{},{}
|
||||||
2996,Reinforced_Parts_Gun_Barrel,Reinforced Parts - Gun Barrel,4,10,,500,,,,1,0xFFFFFFFF,63,2,136,,100,,,{ bonus2 bAddClass,Class_All,4; bonus bHit,10; bonus2 bSkillAtk,"NC_BOOSTKNUCKLE",25; },{},{}
|
2996,Reinforced_Parts_Gun_Barrel,Reinforced Parts - Gun Barrel,4,10,,500,,,,1,0xFFFFFFFF,63,2,136,,100,,,{ bonus2 bAddClass,Class_All,4; bonus bHit,10; bonus2 bSkillAtk,"NC_BOOSTKNUCKLE",25; },{},{}
|
||||||
2997,RWC_Gold_Brooch,RWC Gold Brooch,4,10,,200,,0,,1,0xFFFFFFFF,63,2,136,,0,0,,{ bonus bBaseAtk,25; bonus bMatk,20; },{},{}
|
2997,RWC_Gold_Brooch,RWC Gold Brooch,4,10,,200,,0,,1,0xFFFFFFFF,63,2,136,,0,0,,{ bonus bBaseAtk,25; bonus bMatk,20; },{},{}
|
||||||
2998,Shining_Trapezohedron,Shining Trapezohedron,4,0,,100,,,,1,0xFFFFFFFF,63,2,136,1,90,1,,{ bonus2 bSubEle,Ele_Holy,10; },{},{}
|
2998,Shining_Trapezohedron,Shining Trapezohedron,4,0,,100,,,,1,0xFFFFFFFF,63,2,136,,90,1,,{ bonus2 bSubEle,Ele_Holy,10; },{},{}
|
||||||
2999,RWC_Brooch,RWC Brooch,4,10,,200,,0,,0,0xFFFFFFFF,63,2,136,,0,0,,{ bonus bMaxHP,300; bonus bMaxSP,30; },{},{}
|
2999,RWC_Brooch,RWC Brooch,4,10,,200,,0,,0,0xFFFFFFFF,63,2,136,,0,0,,{ bonus bMaxHP,300; bonus bMaxSP,30; },{},{}
|
||||||
//===================================================================
|
//===================================================================
|
||||||
// Cards
|
// Cards
|
||||||
@ -3118,6 +3118,12 @@
|
|||||||
4948,Skill_Delay1,After Skill Delay Lv1,6,10,,,,,,,,,,,,,,,{ bonus bDelayrate,-2; },{},{}
|
4948,Skill_Delay1,After Skill Delay Lv1,6,10,,,,,,,,,,,,,,,{ bonus bDelayrate,-2; },{},{}
|
||||||
4949,Skill_Delay2,After Skill Delay Lv2,6,10,,,,,,,,,,,,,,,{ bonus bDelayrate,-4; },{},{}
|
4949,Skill_Delay2,After Skill Delay Lv2,6,10,,,,,,,,,,,,,,,{ bonus bDelayrate,-4; },{},{}
|
||||||
4950,Skill_Delay3,After Skill Delay Lv3,6,10,,,,,,,,,,,,,,,{ bonus bDelayrate,-6; },{},{}
|
4950,Skill_Delay3,After Skill Delay Lv3,6,10,,,,,,,,,,,,,,,{ bonus bDelayrate,-6; },{},{}
|
||||||
|
4994,Rune_of_Strength_Lv_1,Rune of Strength Lv 1,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bStr,5; } if (.@r>=10) { bonus bAtkRate,5; } },{},{}
|
||||||
|
4995,Rune_of_Strength_Lv_2,Rune of Strength Lv 2,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bStr,6; } if (.@r>=11) { bonus bStr,1; bonus bAtkRate,7; } },{},{}
|
||||||
|
4996,Rune_of_Strength_Lv_3,Rune of Strength_Lv 3,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bStr,7; } if (.@r>=12) { bonus bStr,1; bonus bAtkRate,8; } if (.@r>=13) { bonus bStr,1; bonus bAtkRate,2; } },{},{}
|
||||||
|
4997,Rune_of_Agility_Lv_1,Rune of Agility Lv 1,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bAgi,5; } if (.@r>=10) { bonus bFlee2,5; } },{},{}
|
||||||
|
4998,Rune_of_Agility_Lv_2,Rune of Agility Lv 2,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bAgi,6; } if (.@r>=11) { bonus bAgi,1; bonus bFlee2,7; } },{},{}
|
||||||
|
4999,Rune_of_Agility_Lv_3,Rune of Agility Lv 3,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bAgi,7; } if (.@r>=12) { bonus bAgi,1; bonus bFlee2,5; } if (.@r>=13) { bonus bAgi,1; bonus bFlee2,5; } },{},{}
|
||||||
//===================================================================
|
//===================================================================
|
||||||
// More Headgears
|
// More Headgears
|
||||||
//===================================================================
|
//===================================================================
|
||||||
@ -4000,23 +4006,23 @@
|
|||||||
5894,RCC2013_3RD_CROWN,RCC2013 3RD CROWN,4,20,,2500,,7,,1,0xFFFFFFFF,63,2,256,,1,0,1108,{ bonus bAllStats,3; skill "AL_TELEPORT",1; },{ sc_start SC_SPEEDUP0,-1,25; },{ sc_end SC_SPEEDUP0; }
|
5894,RCC2013_3RD_CROWN,RCC2013 3RD CROWN,4,20,,2500,,7,,1,0xFFFFFFFF,63,2,256,,1,0,1108,{ bonus bAllStats,3; skill "AL_TELEPORT",1; },{ sc_start SC_SPEEDUP0,-1,25; },{ sc_end SC_SPEEDUP0; }
|
||||||
5895,RCC2013_ANV_Hat,RCC2013 ANV Hat,4,20,,2500,,7,,1,0xFFFFFFFF,63,2,256,,1,0,1109,{ bonus bAllStats,1; bonus2 bAddClass,Class_All,2; bonus bMatkRate,2; },{},{}
|
5895,RCC2013_ANV_Hat,RCC2013 ANV Hat,4,20,,2500,,7,,1,0xFFFFFFFF,63,2,256,,1,0,1109,{ bonus bAllStats,1; bonus2 bAddClass,Class_All,2; bonus bMatkRate,2; },{},{}
|
||||||
5906,Oni_Horns_,Oni Horns,4,0,,20,,10,,1,0x00001000,63,2,256,,100,1,1127,{ bonus2 bSkillAtk,"GC_COUNTERSLASH",(10*getskilllv("GC_WEAPONBLOCKING")); .@r = getrefine(); if(.@r > 6){ bonus bAtk,20; bonus bHit,5; } if(.@r > 9){ bonus3 bAutoSpell,"GC_CROSSIMPACT",1,10; } },{},{}
|
5906,Oni_Horns_,Oni Horns,4,0,,20,,10,,1,0x00001000,63,2,256,,100,1,1127,{ bonus2 bSkillAtk,"GC_COUNTERSLASH",(10*getskilllv("GC_WEAPONBLOCKING")); .@r = getrefine(); if(.@r > 6){ bonus bAtk,20; bonus bHit,5; } if(.@r > 9){ bonus3 bAutoSpell,"GC_CROSSIMPACT",1,10; } },{},{}
|
||||||
5914,C_Flutter_Butterfly,C Flutter Butterfly,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,1,1,0,1378,{ hateffect HAT_EF_FLUTTER_BUTTERFLY,true; },{},{ hateffect HAT_EF_FLUTTER_BUTTERFLY,false; }
|
5914,C_Flutter_Butterfly,C Flutter Butterfly,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,0,1378,{ hateffect HAT_EF_FLUTTER_BUTTERFLY,true; },{},{ hateffect HAT_EF_FLUTTER_BUTTERFLY,false; }
|
||||||
5917,Yellow_Scarf,Yellow Scarf,4,0,,100,,,,0,0xFFFFFFFF,63,2,1,0,90,0,1170,{ bonus bLongAtkDef,3; },{},{}
|
5917,Yellow_Scarf,Yellow Scarf,4,0,,100,,,,0,0xFFFFFFFF,63,2,1,,90,0,1170,{ bonus bLongAtkDef,3; },{},{}
|
||||||
5918,Gambler_Seal,Gambler Seal,4,0,,500,,,,0,0xFFFFFFFF,63,2,512,,,0,1202,{ bonus bCritical,3; bonus bCritAtkRate,3; bonus2 bSubSkill,"RA_ARROWSTORM",10; bonus2 bSubSkill,"SR_GATEOFHELL",10; .@dex = readparam(bDex); .@luk = readparam(bLuk); bonus bCritAtkRate,-(.@dex/10)*2; bonus bCritical,.@luk/10; bonus bBaseAtk,(.@luk/10)*2; bonus bMatk,(.@luk/10)*2; if (.@luk > 120) { bonus bCritical,10; bonus bCritAtkRate,10; bonus2 bSubSkill,"RA_ARROWSTORM",30; bonus2 bSubSkill,"SR_GATEOFHELL",30; } else if (.@luk > 108) { bonus bCritical,5; bonus bCritAtkRate,10; } },{},{}
|
5918,Gambler_Seal,Gambler Seal,4,0,,500,,,,0,0xFFFFFFFF,63,2,512,,,0,1202,{ bonus bCritical,3; bonus bCritAtkRate,3; bonus2 bSubSkill,"RA_ARROWSTORM",10; bonus2 bSubSkill,"SR_GATEOFHELL",10; .@dex = readparam(bDex); .@luk = readparam(bLuk); bonus bCritAtkRate,-(.@dex/10)*2; bonus bCritical,.@luk/10; bonus bBaseAtk,(.@luk/10)*2; bonus bMatk,(.@luk/10)*2; if (.@luk > 120) { bonus bCritical,10; bonus bCritAtkRate,10; bonus2 bSubSkill,"RA_ARROWSTORM",30; bonus2 bSubSkill,"SR_GATEOFHELL",30; } else if (.@luk > 108) { bonus bCritical,5; bonus bCritAtkRate,10; } },{},{}
|
||||||
5919,Camellia_Hair_Pin,Camellia Hair Pin,4,0,,1000,,,,1,0xFFFFFFFF,63,2,256,0,50,1,1203,{ bonus bMdef,20; bonus3 bAutoSpell,"AL_PNEUMA",1,30+getrefine()*5; /* CONFIRM The Rate*/ },{},{}
|
5919,Camellia_Hair_Pin,Camellia Hair Pin,4,0,,1000,,,,1,0xFFFFFFFF,63,2,256,,50,1,1203,{ bonus bMdef,20; bonus3 bAutoSpell,"AL_PNEUMA",1,30+getrefine()*5; /* CONFIRM The Rate*/ },{},{}
|
||||||
5920,Medical_Boots,Medical Boots,4,0,,300,,10,,0,0xFFFFFFFF,63,2,64,,10,1,,{ .@r = getrefine(); bonus bHealPower,10+((.@r/2) * 2); bonus2 bSkillUseSP,"AB_CHEAL",(.@r * 5); },{},{}
|
5920,Medical_Boots,Medical Boots,4,0,,300,,10,,0,0xFFFFFFFF,63,2,64,,10,1,,{ .@r = getrefine(); bonus bHealPower,10+((.@r/2) * 2); bonus2 bSkillUseSP,"AB_CHEAL",(.@r * 5); },{},{}
|
||||||
5943,Owlviscount_Silk_Hat,Owl Viscount Silk Hat,4,0,,500,,15,,1,0xFFFFFFFF,63,2,256,0,70,1,1323,{ bonus bInt,1; bonus bAspdRate,10; .@r = getrefine(); bonus bMatk,7*.@r; autobonus "{ .@r = getrefine(); bonus bAspdRate,(.@r >= 9 ? 40 : ((.@r >= 7) ? 10 : ((.@r >= 5) ? 5 : 1))); }",.@r*20,30000,BF_MAGIC,"{ specialeffect2 EF_SPELLBREAKER }"; },{},{}
|
5943,Owlviscount_Silk_Hat,Owl Viscount Silk Hat,4,0,,500,,15,,1,0xFFFFFFFF,63,2,256,,70,1,1323,{ bonus bInt,1; bonus bAspdRate,10; .@r = getrefine(); bonus bMatk,7*.@r; autobonus "{ .@r = getrefine(); bonus bAspdRate,(.@r >= 9 ? 40 : ((.@r >= 7) ? 10 : ((.@r >= 5) ? 5 : 1))); }",.@r*20,30000,BF_MAGIC,"{ specialeffect2 EF_SPELLBREAKER }"; },{},{}
|
||||||
5966,KarduiEar,KarduiEar,4,0,,300,,,,0,0xFFFFFFFF,63,2,512,0,70,0,1357,{ .@dex = readparam(bDex); bonus bMatk,(.@dex > 10) ? .@dex/10*2 : 0; if (.@dex > 107) { bonus bVariableCastrate,-10; bonus bMatk,60; } if (.@dex > 119) { bonus bVariableCastrate,-5; bonus bMatk,100; } },{},{}
|
5966,KarduiEar,KarduiEar,4,0,,300,,,,0,0xFFFFFFFF,63,2,512,,70,0,1357,{ .@dex = readparam(bDex); bonus bMatk,(.@dex > 10) ? .@dex/10*2 : 0; if (.@dex > 107) { bonus bVariableCastrate,-10; bonus bMatk,60; } if (.@dex > 119) { bonus bVariableCastrate,-5; bonus bMatk,100; } },{},{}
|
||||||
5967,Flying Galapago,Flying Galapago,4,0,,500,,,,0,0xFFFFFFFF,63,2,1,0,110,0,1358,{ bonus bAgi,1; bonus2 bSkillAtk,"HT_BLITZBEAT",getskilllv("HT_STEELCROW")*40; },{},{}
|
5967,Flying Galapago,Flying Galapago,4,0,,500,,,,0,0xFFFFFFFF,63,2,1,,110,0,1358,{ bonus bAgi,1; bonus2 bSkillAtk,"HT_BLITZBEAT",getskilllv("HT_STEELCROW")*40; },{},{}
|
||||||
5968,DVAngelNurseCap,DVAngelNurseCap,4,0,,500,,10,,1,0xFFFFFFFF,63,2,256,0,50,1,1359,{ if (BaseClass == Job_Acolyte) bonus bHealPower,3; bonus bNoCastCancel,1; .@r = getrefine(); bonus bHealPower,(.@r > 8) ? 12 : ((.@r > 6) ? 9 : ((.@r > 4) ? 6 : 0)); },{},{}
|
5968,DVAngelNurseCap,DVAngelNurseCap,4,0,,500,,10,,1,0xFFFFFFFF,63,2,256,,50,1,1359,{ if (BaseClass == Job_Acolyte) bonus bHealPower,3; bonus bNoCastCancel,1; .@r = getrefine(); bonus bHealPower,(.@r > 8) ? 12 : ((.@r > 6) ? 9 : ((.@r > 4) ? 6 : 0)); },{},{}
|
||||||
5969,QueenAnzRevenge,QueenAnzRevenge,4,0,,400,,7,,1,0xFFFFFFFF,63,2,256,0,100,1,1360,{ bonus bStr,5; .@r = getrefine(); bonus2 bAddClass,Class_All,7+(.@r > 8 ? 4 : (.@r > 6 ? 3 : (.@r > 4 ? 2 : 0))); bonus bNoSizeFix,1; },{},{}
|
5969,QueenAnzRevenge,QueenAnzRevenge,4,0,,400,,7,,1,0xFFFFFFFF,63,2,256,,100,1,1360,{ bonus bStr,5; .@r = getrefine(); bonus2 bAddClass,Class_All,7+(.@r > 8 ? 4 : (.@r > 6 ? 3 : (.@r > 4 ? 2 : 0))); bonus bNoSizeFix,1; },{},{}
|
||||||
5971,Moon_Eyepatch,Moon Eyepatch,4,0,,100,,,,1,0xFFFFFFFF,63,2,512,0,10,0,1370,{ bonus2 bSubEle,Ele_Water,5; },{},{}
|
5971,Moon_Eyepatch,Moon Eyepatch,4,0,,100,,,,1,0xFFFFFFFF,63,2,512,,10,0,1370,{ bonus2 bSubEle,Ele_Water,5; },{},{}
|
||||||
5972,Chatty_Parrot,Chatty Parrot,4,0,,100,,,,0,0xFFFFFFFF,63,2,1,0,80,0,1116,{ bonus bMatkRate,BaseLevel/50; bonus bVariableCast,-readparam(bInt)/30; },{},{}
|
5972,Chatty_Parrot,Chatty Parrot,4,0,,100,,,,0,0xFFFFFFFF,63,2,1,,80,0,1116,{ bonus bMatkRate,BaseLevel/50; bonus bVariableCast,-readparam(bInt)/30; },{},{}
|
||||||
5973,Ancient_Elven_Ear_J,Ancient Elven Ear J,4,0,,200,,,,0,0xFFFFFFFF,63,2,512,0,70,0,665,{ bonus bLuk,10; bonus bMdef,10; bonus bFlee2,2; },{},{}
|
5973,Ancient_Elven_Ear_J,Ancient Elven Ear J,4,0,,200,,,,0,0xFFFFFFFF,63,2,512,,70,0,665,{ bonus bLuk,10; bonus bMdef,10; bonus bFlee2,2; },{},{}
|
||||||
5978,Syringe_Toy,Toy Syringe,4,0,,100,,3,,0,0xFFFFFFFF,63,2,1,1,70,0,842,{ bonus bMdef,3; bonus2 bAddItemHealRate,545,150; bonus2 bAddItemHealRate,546,150; bonus2 bAddItemHealRate,547,150; },{},{}
|
5978,Syringe_Toy,Toy Syringe,4,0,,100,,3,,0,0xFFFFFFFF,63,2,1,,70,0,842,{ bonus bMdef,3; bonus2 bAddItemHealRate,545,150; bonus2 bAddItemHealRate,546,150; bonus2 bAddItemHealRate,547,150; },{},{}
|
||||||
5979,C_Angel_Fluttering,C Angel Fluttering,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,0,1,0,1380,{ hateffect HAT_EF_ANGEL_FLUTTERING,true; },{},{ hateffect HAT_EF_ANGEL_FLUTTERING,false; }
|
5979,C_Angel_Fluttering,C Angel Fluttering,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,0,1380,{ hateffect HAT_EF_ANGEL_FLUTTERING,true; },{},{ hateffect HAT_EF_ANGEL_FLUTTERING,false; }
|
||||||
5980,C_Classical_Fhat,C Classical Fhat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,0,1,0,1381,{},{},{}
|
5980,C_Classical_Fhat,C Classical Fhat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,0,1381,{},{},{}
|
||||||
5985,Noble_Mask,Noble Mask,4,0,,200,,,,0,0xFFFFFFFF,63,2,256,0,30,0,1409,{ bonus2 bSkillAtk,"PA_SACRIFICE",BaseLevel*2; bonus2 bSkillVariableCast,"PA_PRESSURE",-2000; bonus2 bSkillVariableCast,"CR_DEVOTION",-2000; if (BaseLevel > 149) { bonus bMaxHPrate,3; bonus bAspdRate,3; } else if (BaseLevel > 99) { bonus bMaxHPrate,2; bonus bAspdRate,2; } else { bonus bMaxHPrate,1; bonus bAspdRate,1; } },{},{}
|
5985,Noble_Mask,Noble Mask,4,0,,200,,,,0,0xFFFFFFFF,63,2,256,,30,0,1409,{ bonus2 bSkillAtk,"PA_SACRIFICE",BaseLevel*2; bonus2 bSkillVariableCast,"PA_PRESSURE",-2000; bonus2 bSkillVariableCast,"CR_DEVOTION",-2000; if (BaseLevel > 149) { bonus bMaxHPrate,3; bonus bAspdRate,3; } else if (BaseLevel > 99) { bonus bMaxHPrate,2; bonus bAspdRate,2; } else { bonus bMaxHPrate,1; bonus bAspdRate,1; } },{},{}
|
||||||
//===================================================================
|
//===================================================================
|
||||||
// More Etc Items
|
// More Etc Items
|
||||||
//===================================================================
|
//===================================================================
|
||||||
@ -4839,7 +4845,8 @@
|
|||||||
6915,Captured_Soul,Captured Soul,3,10,,0,,,,,,,,,,,,,{},{},{}
|
6915,Captured_Soul,Captured Soul,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||||
6916,Piece_Of_Soul_Monkey,Piece Of Soul Monkey,3,10,,0,,,,,,,,,,,,,{},{},{}
|
6916,Piece_Of_Soul_Monkey,Piece Of Soul Monkey,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||||
6917,Piece_Of_Soul_Chicken,Piece Of Soul Chicken,3,10,,0,,,,,,,,,,,,,{},{},{}
|
6917,Piece_Of_Soul_Chicken,Piece Of Soul Chicken,3,10,,0,,,,,,,,,,,,,{},{},{}
|
||||||
6919,Honor_Proof,Honor Proof,3,10,,10,,,,,,,,,,,,,{},{},{}
|
6919,Honor_Proof,Honor Token,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||||
|
6920,Rune_Magic_Powder,Rune Magic Powder,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||||
6921,Dehumidifiers,Dehumidifiers,3,10,,10,,,,,,,,,,,,,{},{},{}
|
6921,Dehumidifiers,Dehumidifiers,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||||
6922,Sandpaper,Sandpaper,3,10,,10,,,,,,,,,,,,,{},{},{}
|
6922,Sandpaper,Sandpaper,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||||
6923,Bright_Fire_Lights,Bright Fire Lights,3,10,,10,,,,,,,,,,,,,{},{},{}
|
6923,Bright_Fire_Lights,Bright Fire Lights,3,10,,10,,,,,,,,,,,,,{},{},{}
|
||||||
@ -6752,7 +6759,7 @@
|
|||||||
12619,Cgrade_Pocket,C Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Cgrade_Pocket); },{},{}
|
12619,Cgrade_Pocket,C Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Cgrade_Pocket); },{},{}
|
||||||
12620,Dgrade_Pocket,D Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Dgrade_Pocket); },{},{}
|
12620,Dgrade_Pocket,D Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Dgrade_Pocket); },{},{}
|
||||||
12621,Egrade_Pocket,E Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Egrade_Pocket); },{},{}
|
12621,Egrade_Pocket,E Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Egrade_Pocket); },{},{}
|
||||||
12622,Boarding_Halter,Reins Of Mount,11,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ setmounting(); },{},{ if (ismounting()) setmounting(); }
|
12622,Boarding_Halter,Reins Of Mount,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ setmounting(); },{},{ if (ismounting()) setmounting(); }
|
||||||
12623,High_Weapon_Box,Advanced Weapons Box,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getrandgroupitem(IG_Advanced_Weapons_Box,1); },{},{}
|
12623,High_Weapon_Box,Advanced Weapons Box,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getrandgroupitem(IG_Advanced_Weapons_Box,1); },{},{}
|
||||||
12624,Delicious_Jelly,Delicious Jelly,0,20,,50,,,,,0xFFFFFFFF,63,2,,,,,,{ percentheal 3,3; },{},{}
|
12624,Delicious_Jelly,Delicious Jelly,0,20,,50,,,,,0xFFFFFFFF,63,2,,,,,,{ percentheal 3,3; },{},{}
|
||||||
12625,Sapa_Feat_Cert_Pack,Sapa Feat Cert Pack,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
12625,Sapa_Feat_Cert_Pack,Sapa Feat Cert Pack,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||||
@ -6763,7 +6770,7 @@
|
|||||||
12630,Teddy_Bear_Scroll,Teddy Bear Scroll,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ mercenary_create 2217,1800000; },{},{}
|
12630,Teddy_Bear_Scroll,Teddy Bear Scroll,2,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ mercenary_create 2217,1800000; },{},{}
|
||||||
12631,Macro_Stone_A,Macro Stone A,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
12631,Macro_Stone_A,Macro Stone A,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||||
12632,Macro_Stone_B,Macro Stone B,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
12632,Macro_Stone_B,Macro Stone B,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||||
12633,Malang_Cat_Can,Malangdo Cat Can,2,20,,50,,,,,0xFFFFFFFF,63,2,,,,,,{ specialeffect2 EF_MAGICALATTHIT; bonus_script "{ bonus2 bExpAddRace,RC_All,10; }",1200; sc_start SC_ITEMBOOST,1200000,20; },{},{}
|
12633,Malang_Cat_Can,Malangdo Cat Can,2,20,,50,,,,,0xFFFFFFFF,63,2,,,,,,{ specialeffect2 EF_MAGICALATTHIT; bonus_script "{ bonus2 bExpAddRace,RC_All,10; bonus2 bDropAddRace,RC_All,20; }",1200,1,0,SI_OVERLAPEXPUP; },{},{}
|
||||||
12634,Macro_Stone_A1,Macro Stone A1,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
12634,Macro_Stone_A1,Macro Stone A1,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||||
12635,Macro_Stone_A2,Macro Stone A2,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
12635,Macro_Stone_A2,Macro Stone A2,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||||
12636,Malang_Sp_Can,Malangdo Canned Specialties,2,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ warp "malangdo",140,114; },{},{}
|
12636,Malang_Sp_Can,Malangdo Canned Specialties,2,20,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ warp "malangdo",140,114; },{},{}
|
||||||
@ -6807,8 +6814,8 @@
|
|||||||
12674,God_Material_Box,God Material Box,2,20,,500,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_God_Material_Box); },{},{}
|
12674,God_Material_Box,God Material Box,2,20,,500,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_God_Material_Box); },{},{}
|
||||||
12675,Sg_Weapon_Supply_Box,WoE Weapon Supply Box,2,20,,500,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Sg_Weapon_Supply_Box); },{},{}
|
12675,Sg_Weapon_Supply_Box,WoE Weapon Supply Box,2,20,,500,,,,,0xFFFFFFFF,63,2,,,,,,{ getgroupitem(IG_Sg_Weapon_Supply_Box); },{},{}
|
||||||
12676,Sg_Violet_Potion_Box,Siege Violet Potion Box,2,20,,500,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 11547,50; },{},{}
|
12676,Sg_Violet_Potion_Box,Siege Violet Potion Box,2,20,,500,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 11547,50; },{},{}
|
||||||
12677,Siege_Arrow_Quiver_S,Siege Arrow Quiver S,2,2,,100,,,,,0xFFFFFFFF,63,2,,,130,,,{ getitem 1776,200; },{},{}
|
12677,Siege_Arrow_Quiver_S,Siege Arrow Quiver S,2,2,,100,,,,,0xFFFFFFFF,63,2,,,130,,,{ getitem 1775,200; },{},{}
|
||||||
12678,Siege_Arrow_Quiver_A,Siege Arrow Quiver A,2,2,,100,,,,,0xFFFFFFFF,63,2,,,95,,,{ getitem 1775,200; },{},{}
|
12678,Siege_Arrow_Quiver_A,Siege Arrow Quiver A,2,2,,100,,,,,0xFFFFFFFF,63,2,,,95,,,{ getitem 1776,200; },{},{}
|
||||||
12679,Sg_White_Potion_Box,Siege White Potion Box,2,20,,200,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 11548,30; },{},{}
|
12679,Sg_White_Potion_Box,Siege White Potion Box,2,20,,200,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 11548,30; },{},{}
|
||||||
12680,Sg_Blue_Potion_Box,Siege Blue Potion Box,2,20,,200,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 11549,10; },{},{}
|
12680,Sg_Blue_Potion_Box,Siege Blue Potion Box,2,20,,200,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 11549,10; },{},{}
|
||||||
12681,Nestea_Lemon,Nestea Lemon,2,0,,50,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
12681,Nestea_Lemon,Nestea Lemon,2,0,,50,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||||
@ -7007,7 +7014,7 @@
|
|||||||
12884,Infinite_Concentration_Potion,Infinite Concentration Potion,11,10,,0,,,,0,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_ASPDPOTION0,1800000,4; },{},{}
|
12884,Infinite_Concentration_Potion,Infinite Concentration Potion,11,10,,0,,,,0,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_ASPDPOTION0,1800000,4; },{},{}
|
||||||
12885,Infinite_Awakening_Potion,Infinite Awakening Potion,11,10,,0,,,,0,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_ASPDPOTION1,1800000,6; },{},{}
|
12885,Infinite_Awakening_Potion,Infinite Awakening Potion,11,10,,0,,,,0,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_ASPDPOTION1,1800000,6; },{},{}
|
||||||
12886,Infinite_Berserk_Potion,Infinite Berserk Potion,11,10,,0,,,,0,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_ASPDPOTION2,1800000,9; },{},{}
|
12886,Infinite_Berserk_Potion,Infinite Berserk Potion,11,10,,0,,,,0,0xFFFFFFFF,63,2,,,,,,{ sc_start SC_ASPDPOTION2,1800000,9; },{},{}
|
||||||
12887,C_Wing_Of_Fly,Infinite Flywing,11,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ unitskilluseid getcharid(3),"AL_TELEPORT",1; },{},{}
|
12887,C_Wing_Of_Fly,Infinite Flywing,2,0,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ itemskill "AL_TELEPORT",1; },{},{}
|
||||||
12888,Siege_Kit_Box,Siege Kit Box,18,0,,100,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
12888,Siege_Kit_Box,Siege Kit Box,18,0,,100,,,,,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||||
12889,Weapon_Box_Spear,Weapon Box(Spear),2,10,,200,,,,0,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
12889,Weapon_Box_Spear,Weapon Box(Spear),2,10,,200,,,,0,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||||
12890,Weapon_Box_Mace,Weapon Box(Mace),2,10,,200,,,,0,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
12890,Weapon_Box_Mace,Weapon Box(Mace),2,10,,200,,,,0,0xFFFFFFFF,63,2,,,,,,{},{},{}
|
||||||
@ -7296,8 +7303,8 @@
|
|||||||
13195,RAG203_,RAG203,5,1800000,,1300,260,,9,0,0x40000000,63,2,34,3,140,1,18,{ bonus bHit,10; bonus bCriticalRate,15; bonus4 bAutoSpell,"AL_DECAGI",1,10,1; },{},{}
|
13195,RAG203_,RAG203,5,1800000,,1300,260,,9,0,0x40000000,63,2,34,3,140,1,18,{ bonus bHit,10; bonus bCriticalRate,15; bonus4 bAutoSpell,"AL_DECAGI",1,10,1; },{},{}
|
||||||
13196,Peace_Breaker_,Peace Breaker,5,1950000,,1400,250,,9,1,0x41000000,63,2,34,3,140,1,20,{ bonus bHit,-25; bonus bAspdRate,25; },{},{}
|
13196,Peace_Breaker_,Peace Breaker,5,1950000,,1400,250,,9,1,0x41000000,63,2,34,3,140,1,20,{ bonus bHit,-25; bonus bAspdRate,25; },{},{}
|
||||||
13197,Mini_Mei,Mini Mei,5,1600000,,2500,220,,9,2,0x41000000,63,2,34,2,106,1,19,{},{},{}
|
13197,Mini_Mei,Mini Mei,5,1600000,,2500,220,,9,2,0x41000000,63,2,34,2,106,1,19,{},{},{}
|
||||||
13198,Tempest_,Tempest,5,2200000,,2500,250,,9,0,0x41000000,63,2,34,2,140,1,19,{ bonus bHit,-25; bonus bCritical,10; bonus bLongAtkRate,20; },{},{}
|
13198,Tempest_,Tempest,5,2200000,,2500,250,,9,0,0x41000000,63,2,34,4,140,1,19,{ bonus bHit,-25; bonus bCritical,10; bonus bLongAtkRate,20; },{},{}
|
||||||
13199,Tempest,Tempest,5,2200000,,2500,250,,9,1,0x41000000,63,2,34,2,140,1,19,{ bonus bHit,-25; bonus bCritical,10; bonus bLongAtkRate,20; },{},{}
|
13199,Tempest,Tempest,5,2200000,,2500,250,,9,1,0x41000000,63,2,34,4,140,1,19,{ bonus bHit,-25; bonus bCritical,10; bonus bLongAtkRate,20; },{},{}
|
||||||
//===================================================================
|
//===================================================================
|
||||||
// Bullets
|
// Bullets
|
||||||
//===================================================================
|
//===================================================================
|
||||||
@ -8598,11 +8605,11 @@
|
|||||||
15059,2011Love_Daddy,2011Love Daddy,4,20,,100,0,80,0,1,0xFFFFFFFF,63,2,16,,0,1,0,{},{},{}
|
15059,2011Love_Daddy,2011Love Daddy,4,20,,100,0,80,0,1,0xFFFFFFFF,63,2,16,,0,1,0,{},{},{}
|
||||||
15060,Sky_Blue_Smock,Sky Blue Smock,4,20,,300,0,1,0,1,0xFFFFFFFF,63,2,16,,0,1,0,{},{},{}
|
15060,Sky_Blue_Smock,Sky Blue Smock,4,20,,300,0,1,0,1,0xFFFFFFFF,63,2,16,,0,1,0,{},{},{}
|
||||||
15061,Egir_Armor,Egir Armor,4,200000,,2600,,55,,1,0xFFFFFFFF,63,2,16,,110,1,0,{ bonus bAllStats,1; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus2 bResEff,Eff_Silence,5000; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus2 bResEff,Eff_Stun,5000; },{},{}
|
15061,Egir_Armor,Egir Armor,4,200000,,2600,,55,,1,0xFFFFFFFF,63,2,16,,110,1,0,{ bonus bAllStats,1; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus2 bResEff,Eff_Silence,5000; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus2 bResEff,Eff_Stun,5000; },{},{}
|
||||||
15062,TE_Woe_Coat,TE Woe Coat,4,0,,0,,15,,0,0xFFFFFFFF,63,2,16,0,40,1,,{ bonus bMdef,15; bonus bMaxHP,250; bonus bMaxSP,250; bonus2 bSubRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
15062,TE_Woe_Coat,TE Woe Coat,4,0,,0,,15,,0,0xFFFFFFFF,63,2,16,,40,1,,{ bonus bMdef,15; bonus bMaxHP,250; bonus bMaxSP,250; bonus2 bSubRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
||||||
15063,TE_Woe_Chain_Mail,TE Woe Chain Mail,4,0,,0,,25,,0,0x000444A2,63,2,16,0,40,1,,{ bonus bMdef,5; bonus bMaxHP,450; bonus bMaxSP,50; bonus2 bSubRace,RC_Player,15; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
15063,TE_Woe_Chain_Mail,TE Woe Chain Mail,4,0,,0,,25,,0,0x000444A2,63,2,16,,40,1,,{ bonus bMdef,5; bonus bMaxHP,450; bonus bMaxSP,50; bonus2 bSubRace,RC_Player,15; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
||||||
15064,TE_Woe_Mage_Coat,TE Woe Mage Coat,4,0,,0,,5,,0,0x00818315,63,2,16,0,40,1,,{ bonus bMdef,25; bonus bMaxHP,200; bonus bMaxSP,200; bonus2 bSubRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
15064,TE_Woe_Mage_Coat,TE Woe Mage Coat,4,0,,0,,5,,0,0x00818315,63,2,16,,40,1,,{ bonus bMdef,25; bonus bMaxHP,200; bonus bMaxSP,200; bonus2 bSubRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
||||||
15066,Engraved_Plate_Armor,Engraved Plate Armor,4,100000,,3000,,120,,1,0x00004082,63,2,16,,150,1,,{ bonus bMdef,25; },{},{}
|
15066,Engraved_Plate_Armor,Engraved Plate Armor,4,100000,,3000,,120,,1,0x00004082,63,2,16,,150,1,,{ bonus bMdef,25; },{},{}
|
||||||
15067,Rune_Suit,Rune Suit,4,0,,0,,,,0,0xFFFFFFFF,63,2,16,0,1,1,,{ bonus2 bExpAddRace,RC_All,10; },{},{}
|
15067,Rune_Suit,Rune Suit,4,0,,0,,,,0,0xFFFFFFFF,63,2,16,,1,1,,{ bonus2 bExpAddRace,RC_All,10; },{},{}
|
||||||
15068,Im_Angel's_Protection,Advanced Angelic Protection,4,10000,,600,,40,,1,0x00000001,63,2,16,,99,1,0,{ bonus bMdef,30; },{},{}
|
15068,Im_Angel's_Protection,Advanced Angelic Protection,4,10000,,600,,40,,1,0x00000001,63,2,16,,99,1,0,{ bonus bMdef,30; },{},{}
|
||||||
15069,Suit_Of_Sid,Suit Of Sid,4,20,,1000,,30,,0,0xFFFFFFFF,63,2,16,,0,1,0,{},{},{}
|
15069,Suit_Of_Sid,Suit Of Sid,4,20,,1000,,30,,0,0xFFFFFFFF,63,2,16,,0,1,0,{},{},{}
|
||||||
15070,Clothes_of_Happiness,Clothes of Happiness,4,10,,1000,,5,,1,0xFFFFFFFF,63,2,16,,1,1,,{ bonus bMdef,5; bonus bLuk,getrefine(); },{},{}
|
15070,Clothes_of_Happiness,Clothes of Happiness,4,10,,1000,,5,,1,0xFFFFFFFF,63,2,16,,1,1,,{ bonus bMdef,5; bonus bLuk,getrefine(); },{},{}
|
||||||
@ -9659,10 +9666,10 @@
|
|||||||
18728,Egir_Helm,Egir Helm,4,200000,,800,,10,,1,0xFFFFFFFF,63,2,256,,110,1,870,{ bonus bMdef,5; bonus bUnbreakableHelm,1; },{},{}
|
18728,Egir_Helm,Egir Helm,4,200000,,800,,10,,1,0xFFFFFFFF,63,2,256,,110,1,870,{ bonus bMdef,5; bonus bUnbreakableHelm,1; },{},{}
|
||||||
18729,MVP_Basketball,MVP Basketball,4,20,,150,,6,,1,0xFFFFFFFF,63,2,256,,1,1,871,{ bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bAddItemHealRate,522,30; .@r = getrefine(); bonus bVariableCastrate,(.@r>=12)?(-5):((.@r>=10)?(-4):(-3)); },{},{}
|
18729,MVP_Basketball,MVP Basketball,4,20,,150,,6,,1,0xFFFFFFFF,63,2,256,,1,1,871,{ bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bAddItemHealRate,522,30; .@r = getrefine(); bonus bVariableCastrate,(.@r>=12)?(-5):((.@r>=10)?(-4):(-3)); },{},{}
|
||||||
18730,Cryptura_Academy_Hat,Cryptura Academy Hat,4,0,,200,,2,,1,0xFFFFFFFF,63,2,256,,0,1,872,{ bonus bMaxHP,15; bonus bMaxSP,5; },{},{}
|
18730,Cryptura_Academy_Hat,Cryptura Academy Hat,4,0,,200,,2,,1,0xFFFFFFFF,63,2,256,,0,1,872,{ bonus bMaxHP,15; bonus bMaxSP,5; },{},{}
|
||||||
18732,TE_Woe_Cap,TE Woe Cap,4,0,,0,,5,,0,0xFFFFFFFF,63,2,256,0,40,1,14,{ bonus bMdef,5; bonus bBaseAtk,5; bonus bMatk,5; bonus2 bAddRace,RC_Player,10; bonus2 bMagicAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
18732,TE_Woe_Cap,TE Woe Cap,4,0,,0,,5,,0,0xFFFFFFFF,63,2,256,,40,1,14,{ bonus bMdef,5; bonus bBaseAtk,5; bonus bMatk,5; bonus2 bAddRace,RC_Player,10; bonus2 bMagicAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
||||||
18733,TE_Woe_Bone_Helm,TE Woe Bone Helm,4,0,,0,,10,,0,0x000444A2,63,2,256,0,40,1,103,{ bonus bBaseAtk,10; bonus2 bAddRace,RC_Player,20; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
18733,TE_Woe_Bone_Helm,TE Woe Bone Helm,4,0,,0,,10,,0,0x000444A2,63,2,256,,40,1,103,{ bonus bBaseAtk,10; bonus2 bAddRace,RC_Player,20; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
||||||
18734,TE_Woe_Magic_Eyes,TE Woe Magic Eyes,4,0,,0,,5,,0,0x00818315,63,2,256,0,40,1,209,{ bonus bMdef,5; bonus bMatk,10; bonus2 bMagicAddRace,RC_Player,20; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
18734,TE_Woe_Magic_Eyes,TE Woe Magic Eyes,4,0,,0,,5,,0,0x00818315,63,2,256,,40,1,209,{ bonus bMdef,5; bonus bMatk,10; bonus2 bMagicAddRace,RC_Player,20; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
||||||
18736,Censor_Bar_,Censor Bar,4,0,,100,,,,0,0xFFFFFFFF,63,2,512,0,1,0,229,{},{},{}
|
18736,Censor_Bar_,Censor Bar,4,0,,100,,,,0,0xFFFFFFFF,63,2,512,,1,0,229,{},{},{}
|
||||||
18737,Fortier_Mask,Fortier Masque,4,20,,200,,0,,0,0xFFFFFFFF,63,2,512,,10,0,876,{ bonus bUnbreakableHelm,1; bonus2 bMagicAtkEle,Ele_Fire,4; },{},{}
|
18737,Fortier_Mask,Fortier Masque,4,20,,200,,0,,0,0xFFFFFFFF,63,2,512,,10,0,876,{ bonus bUnbreakableHelm,1; bonus2 bMagicAtkEle,Ele_Fire,4; },{},{}
|
||||||
18739,Carnation_Hairband,Carnation Hairband,4,20,,100,,0,,0,0xFFFFFFFF,63,2,256,,0,1,878,{ bonus bLuk,1; },{},{}
|
18739,Carnation_Hairband,Carnation Hairband,4,20,,100,,0,,0,0xFFFFFFFF,63,2,256,,0,1,878,{ bonus bLuk,1; },{},{}
|
||||||
18740,Hair_Of_The_Strong,RMSC2012 Special Costume,4,20,,0,,0,,0,0xFFFFFFFF,63,2,1024,,0,0,879,{},{},{}
|
18740,Hair_Of_The_Strong,RMSC2012 Special Costume,4,20,,0,,0,,0,0xFFFFFFFF,63,2,1024,,0,0,879,{},{},{}
|
||||||
@ -9679,7 +9686,7 @@
|
|||||||
18752,Cursed_Book,Cursed Book,4,20,,300,,3,,1,0xFFFFFFFE,63,2,256,,99,1,890,{ .@r = getrefine(); bonus2 bHPLossRate,.@r,5000; bonus2 bHPDrainRate,40,4+(.@r/2); bonus2 bSPDrainRate,10,1+(.@r/3); },{},{}
|
18752,Cursed_Book,Cursed Book,4,20,,300,,3,,1,0xFFFFFFFE,63,2,256,,99,1,890,{ .@r = getrefine(); bonus2 bHPLossRate,.@r,5000; bonus2 bHPDrainRate,40,4+(.@r/2); bonus2 bSPDrainRate,10,1+(.@r/3); },{},{}
|
||||||
18753,Tw_Rice_Ball,Tw Rice Ball,4,20,,100,,6,,0,0xFFFFFFFF,63,2,256,,0,0,892,{ bonus bLuk,1; bonus2 bAddMonsterDropItem,564,100; },{},{}
|
18753,Tw_Rice_Ball,Tw Rice Ball,4,20,,100,,6,,0,0xFFFFFFFF,63,2,256,,0,0,892,{ bonus bLuk,1; bonus2 bAddMonsterDropItem,564,100; },{},{}
|
||||||
18754,Blood_Sucker,Blood Sucker,4,20,,300,,0,,0,0xFFFFFFFF,63,2,1,,40,0,893,{ bonus bUnbreakableHelm,1; bonus2 bHPDrainRate,30,5; bonus bHPrecovRate,-100; bonus bSPrecovRate,-100; },{},{}
|
18754,Blood_Sucker,Blood Sucker,4,20,,300,,0,,0,0xFFFFFFFF,63,2,1,,40,0,893,{ bonus bUnbreakableHelm,1; bonus2 bHPDrainRate,30,5; bonus bHPrecovRate,-100; bonus bSPrecovRate,-100; },{},{}
|
||||||
18755,Feather_Beret_,Feather Beret,4,0,,600,,1,,1,0xFFFFFFFF,63,2,256,0,1,1,224,{ bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; },{},{}
|
18755,Feather_Beret_,Feather Beret,4,0,,600,,1,,1,0xFFFFFFFF,63,2,256,,1,1,224,{ bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; },{},{}
|
||||||
18756,Black_Shiba_Inu_Hat,Black Shiba Inu Hat,4,20,,400,,6,,1,0xFFFFFFFF,63,2,256,,50,1,894,{ bonus bBaseAtk,30; bonus2 bAddRace,RC_Brute,10; },{},{}
|
18756,Black_Shiba_Inu_Hat,Black Shiba Inu Hat,4,20,,400,,6,,1,0xFFFFFFFF,63,2,256,,50,1,894,{ bonus bBaseAtk,30; bonus2 bAddRace,RC_Brute,10; },{},{}
|
||||||
18758,Hat_Of_Scrat,Hat Of Scrat,4,20,,200,,3,,1,0xFFFFFFFF,63,2,256,,0,1,896,{},{},{}
|
18758,Hat_Of_Scrat,Hat Of Scrat,4,20,,200,,3,,1,0xFFFFFFFF,63,2,256,,0,1,896,{},{},{}
|
||||||
18759,Stretched_Nose_M,Wood Goblin's Nose,4,20,,200,,0,,0,0xFFFFFFFF,63,2,512,,50,0,737,{ bonus bUnbreakableHelm,1; bonus2 bAddMonsterDropItem,1032,400; bonus2 bAddMonsterDropItem,1033,100; bonus3 bAddMonsterDropItem,576,RC_Plant,40; },{},{}
|
18759,Stretched_Nose_M,Wood Goblin's Nose,4,20,,200,,0,,0,0xFFFFFFFF,63,2,512,,50,0,737,{ bonus bUnbreakableHelm,1; bonus2 bAddMonsterDropItem,1032,400; bonus2 bAddMonsterDropItem,1033,100; bonus3 bAddMonsterDropItem,576,RC_Plant,40; },{},{}
|
||||||
@ -9759,7 +9766,7 @@
|
|||||||
18863,Exorcist_Robe,Exorcist Robe,4,10,,1700,,57,,1,0xFFFFFFFF,63,2,16,,60,1,,{ bonus bMdef,5; .@r = getrefine(); if (.@r >= 3) { bonus2 bAddRace,RC_Undead,.@r/3*5; } if (BaseClass==Job_Acolyte) bonus2 bAddRace,RC_Undead,10; },{},{}
|
18863,Exorcist_Robe,Exorcist Robe,4,10,,1700,,57,,1,0xFFFFFFFF,63,2,16,,60,1,,{ bonus bMdef,5; .@r = getrefine(); if (.@r >= 3) { bonus2 bAddRace,RC_Undead,.@r/3*5; } if (BaseClass==Job_Acolyte) bonus2 bAddRace,RC_Undead,10; },{},{}
|
||||||
18864,Earth_Goddess_Flower,Earth Goddess Flower,4,10,,250,,6,,0,0xFFFFFFFF,63,2,256,,1,1,864,{ bonus2 bAddEle,Ele_Earth,15; skill "WZ_EARTHSPIKE",5; },{},{}
|
18864,Earth_Goddess_Flower,Earth Goddess Flower,4,10,,250,,6,,0,0xFFFFFFFF,63,2,256,,1,1,864,{ bonus2 bAddEle,Ele_Earth,15; skill "WZ_EARTHSPIKE",5; },{},{}
|
||||||
18865,Sword_Master_Crown,Sword Master Crown,4,10,,1000,,30,,1,0xFFFFFFFF,63,2,256,,50,1,981,{ .@i = BaseLevel; bonus bBaseAtk,(.@i>150)?(15):((.@i>100)?(10):((.@i>50)?(5):(0))); if(getskilllv("SM_SWORD")==10) bonus bHit,10; if(getskilllv("SM_TWOHAND")==10) bonus bUseSPrate,-5; if(getskilllv("AM_AXEMASTERY")==10) bonus bVariableCastrate,-5; if(getskilllv("AS_KATAR")==10) bonus bCritAtkRate,20; if(getskilllv("PR_MACEMASTERY")==10) bonus bAspdRate,10; },{},{}
|
18865,Sword_Master_Crown,Sword Master Crown,4,10,,1000,,30,,1,0xFFFFFFFF,63,2,256,,50,1,981,{ .@i = BaseLevel; bonus bBaseAtk,(.@i>150)?(15):((.@i>100)?(10):((.@i>50)?(5):(0))); if(getskilllv("SM_SWORD")==10) bonus bHit,10; if(getskilllv("SM_TWOHAND")==10) bonus bUseSPrate,-5; if(getskilllv("AM_AXEMASTERY")==10) bonus bVariableCastrate,-5; if(getskilllv("AS_KATAR")==10) bonus bCritAtkRate,20; if(getskilllv("PR_MACEMASTERY")==10) bonus bAspdRate,10; },{},{}
|
||||||
18867,Vajra,Vajra,4,0,,300,,,,0,0xFFFFFFFF,63,2,1,0,48,0,983,{ bonus bDex,1; bonus bLongAtkRate,2; },{},{}
|
18867,Vajra,Vajra,4,0,,300,,,,0,0xFFFFFFFF,63,2,1,,48,0,983,{ bonus bDex,1; bonus bLongAtkRate,2; },{},{}
|
||||||
18868,Assassin_Skull_Mask,Assassin Skull Mask,4,10,,500,,2,,0,0xFFFFFFFF,63,2,513,,70,,984,{ bonus bCritical,5; },{},{}
|
18868,Assassin_Skull_Mask,Assassin Skull Mask,4,10,,500,,2,,0,0xFFFFFFFF,63,2,513,,70,,984,{ bonus bCritical,5; },{},{}
|
||||||
18870,Very_Sweet_Candy_Bar,Very Sweet Candy Bar,4,10,,10,,,,0,0xFFFFFFFF,63,2,1,,1,1,446,{ bonus bAllStats,2; bonus bBaseAtk,10; bonus bMatk,10; bonus2 bExpAddClass,Class_All,2; },{},{}
|
18870,Very_Sweet_Candy_Bar,Very Sweet Candy Bar,4,10,,10,,,,0,0xFFFFFFFF,63,2,1,,1,1,446,{ bonus bAllStats,2; bonus bBaseAtk,10; bonus bMatk,10; bonus2 bExpAddClass,Class_All,2; },{},{}
|
||||||
18871,Very_Sweet_Candy,Very Sweet Candy,4,10,,10,,,,0,0xFFFFFFFF,63,2,1,,1,1,446,{ bonus bAllStats,1; bonus bBaseAtk,5; bonus bMatk,5; },{},{}
|
18871,Very_Sweet_Candy,Very Sweet Candy,4,10,,10,,,,0,0xFFFFFFFF,63,2,1,,1,1,446,{ bonus bAllStats,1; bonus bBaseAtk,5; bonus bMatk,5; },{},{}
|
||||||
@ -9828,7 +9835,7 @@
|
|||||||
19020,Survive_Circlet,Survive Circlet,4,0,,500,,10,,0,0xFFFFFFFF,63,2,256,,,1,1220,{ .@r = getrefine(); bonus bInt,(3 + (.@r/2)+ (BaseLevel > 130 ? .@r : 0)); bonus bMatkRate,4; },{},{}
|
19020,Survive_Circlet,Survive Circlet,4,0,,500,,10,,0,0xFFFFFFFF,63,2,256,,,1,1220,{ .@r = getrefine(); bonus bInt,(3 + (.@r/2)+ (BaseLevel > 130 ? .@r : 0)); bonus bMatkRate,4; },{},{}
|
||||||
19021,Gigant_Helm,Gigant Helm,4,0,,500,,10,,0,0xFFFFFFFF,63,2,256,,,1,1221,{ bonus bStr,3+((BaseLevel > 130) ? getrefine() : 0); bonus2 bAddClass,Class_All,4; },{},{}
|
19021,Gigant_Helm,Gigant Helm,4,0,,500,,10,,0,0xFFFFFFFF,63,2,256,,,1,1221,{ bonus bStr,3+((BaseLevel > 130) ? getrefine() : 0); bonus2 bAddClass,Class_All,4; },{},{}
|
||||||
19022,Floating_Stone_Of_Intelligence,Floating Stone Of Intelligence,4,,,,,,,,0xFFFFFFFF,63,2,256,,,,1230,{},{ sc_start SC_FSTONE,-1,0; },{ sc_end SC_FSTONE; } // jRO Item
|
19022,Floating_Stone_Of_Intelligence,Floating Stone Of Intelligence,4,,,,,,,,0xFFFFFFFF,63,2,256,,,,1230,{},{ sc_start SC_FSTONE,-1,0; },{ sc_end SC_FSTONE; } // jRO Item
|
||||||
19024,Protect_Feathers,Protect Feathers,4,0,,500,,,,0,0xFFFFFFFF,63,2,512,0,70,0,1232,{ bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; bonus bAspdRate,-5; .@vit = readparam(bVit); if (.@vit >= 108) { bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; bonus bAspdRate,-5; } if (.@vit >= 120) { bonus bMaxHPRate,3; bonus bMdef,3; } },{},{}
|
19024,Protect_Feathers,Protect Feathers,4,0,,500,,,,0,0xFFFFFFFF,63,2,512,,70,0,1232,{ bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; bonus bAspdRate,-5; .@vit = readparam(bVit); if (.@vit >= 108) { bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; bonus bAspdRate,-5; } if (.@vit >= 120) { bonus bMaxHPRate,3; bonus bMdef,3; } },{},{}
|
||||||
19026,Aegir_Helm,Aegir Helm,4,10,,800,,10,,1,0xFFFFFFFF,63,2,256,,40,1,870,{ bonus bVit,3; },{},{}
|
19026,Aegir_Helm,Aegir Helm,4,10,,800,,10,,1,0xFFFFFFFF,63,2,256,,40,1,870,{ bonus bVit,3; },{},{}
|
||||||
19030,Pretty_Rabbit_Hood,Pretty Rabbit Hood,4,10,,100,,20,,1,0xFFFFFFFF,63,2,769,,1,1,1085,{ bonus bMaxHP,(15*BaseLevel); },{},{}
|
19030,Pretty_Rabbit_Hood,Pretty Rabbit Hood,4,10,,100,,20,,1,0xFFFFFFFF,63,2,769,,1,1,1085,{ bonus bMaxHP,(15*BaseLevel); },{},{}
|
||||||
19031,Fallen_Angel_Blessing,Fallen Angel Blessing,4,0,,200,,1,,0,0xFFFFFFFF,63,2,512,,,1,1250,{ bonus2 bAddRace,RC_Angel,5; bonus2 bSubRace,RC_Angel,5; },{},{}
|
19031,Fallen_Angel_Blessing,Fallen Angel Blessing,4,0,,200,,1,,0,0xFFFFFFFF,63,2,512,,,1,1250,{ bonus2 bAddRace,RC_Angel,5; bonus2 bSubRace,RC_Angel,5; },{},{}
|
||||||
@ -9840,7 +9847,7 @@
|
|||||||
19051,Warrior_Moon_Cat,Warrior Moon Cat,4,20,,100,,5,,1,0xFFFFFFFF,63,2,256,,1,1,1308,{ /*Enables use of Level 1 Monster's Cry*/ bonus bAllStats,3; bonus2 bHPDrainRate,40,5; bonus2 bSPDrainRate,10,2; },{},{}
|
19051,Warrior_Moon_Cat,Warrior Moon Cat,4,20,,100,,5,,1,0xFFFFFFFF,63,2,256,,1,1,1308,{ /*Enables use of Level 1 Monster's Cry*/ bonus bAllStats,3; bonus2 bHPDrainRate,40,5; bonus2 bSPDrainRate,10,2; },{},{}
|
||||||
19052,Sigruns_Wing,Rental Sigrun's Wing,4,10,,0,,2,,0,0xFFFFFFFF,63,2,512,,1,0,568,{ if (Class == Job_Swordman || Class == Job_Thief || Class == Job_Merchant || Class == Job_Taekwon || Class == Job_Star_Gladiator || Class == Job_Star_Gladiator2) bonus bAspd,1; else if (Class == Job_Mage || Class == Job_Acolyte || Class == Job_Ninja || Class == Job_Soul_Linker) { bonus bMatk,5; bonus bHealPower,2; } else if (Class == Job_Archer || Class == Job_Gunslinger) bonus bLongAtkRate,2; else if (Class == Job_Novice || Class == Job_SuperNovice) { bonus bMaxHP,120; bonus bMaxSP,60; } },{},{}
|
19052,Sigruns_Wing,Rental Sigrun's Wing,4,10,,0,,2,,0,0xFFFFFFFF,63,2,512,,1,0,568,{ if (Class == Job_Swordman || Class == Job_Thief || Class == Job_Merchant || Class == Job_Taekwon || Class == Job_Star_Gladiator || Class == Job_Star_Gladiator2) bonus bAspd,1; else if (Class == Job_Mage || Class == Job_Acolyte || Class == Job_Ninja || Class == Job_Soul_Linker) { bonus bMatk,5; bonus bHealPower,2; } else if (Class == Job_Archer || Class == Job_Gunslinger) bonus bLongAtkRate,2; else if (Class == Job_Novice || Class == Job_SuperNovice) { bonus bMaxHP,120; bonus bMaxSP,60; } },{},{}
|
||||||
19053,Fighter_Moon_Cat,Fighter Moon Cat,4,20,,100,,5,,1,0xFFFFFFFF,63,2,256,,1,1,1308,{ /*Enables use of Level 1 Monster's Cry*/ .@r = getrefine(); bonus bAllStats,3; bonus2 bAddEff,Eff_Stun,500+(.@r*100); },{},{}
|
19053,Fighter_Moon_Cat,Fighter Moon Cat,4,20,,100,,5,,1,0xFFFFFFFF,63,2,256,,1,1,1308,{ /*Enables use of Level 1 Monster's Cry*/ .@r = getrefine(); bonus bAllStats,3; bonus2 bAddEff,Eff_Stun,500+(.@r*100); },{},{}
|
||||||
19082,Bio_Protector,Bio Protector,4,0,,500,,3,,0,0xFFFFFFFF,63,2,512,1,50,1,1366,{ bonus bHit,10; bonus bVariableCastrate,-5; bonus bPerfectHitRate,5; },{},{}
|
19082,Bio_Protector,Bio Protector,4,0,,500,,3,,0,0xFFFFFFFF,63,2,512,,50,1,1366,{ bonus bHit,10; bonus bVariableCastrate,-5; bonus bPerfectHitRate,5; },{},{}
|
||||||
19083,Mask_of_Hero,Mask of Hero,4,20,,200,,0,,0,0xFFFFFFFF,63,2,512,,70,0,1367,{ bonus bVit,10; bonus bMdef,10; bonus bShortWeaponDamageReturn,1; },{},{}
|
19083,Mask_of_Hero,Mask of Hero,4,20,,200,,0,,0,0xFFFFFFFF,63,2,512,,70,0,1367,{ bonus bVit,10; bonus bMdef,10; bonus bShortWeaponDamageReturn,1; },{},{}
|
||||||
19084,Parfaille_Vigilante_Hat,Parfaille Vigilante Hat,4,0,,100,,2,,0,0x80000000,63,2,256,,20,1,1368,{ bonus bLuk,1; bonus3 bAutoSpell,"AL_BLESSING",3,100; },{},{}
|
19084,Parfaille_Vigilante_Hat,Parfaille Vigilante Hat,4,0,,100,,2,,0,0x80000000,63,2,256,,20,1,1368,{ bonus bLuk,1; bonus3 bAutoSpell,"AL_BLESSING",3,100; },{},{}
|
||||||
19085,Sigrun's_Wings_,Sigrun's Wings,4,20,,100,,2,,1,0xFFFFFFFF,63,2,512,,1,0,568,{ if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief||(BaseJob==Job_Taekwon&&Class!=Job_Soul_Linker)) { bonus bAspd,1; bonus bAgi,-2; } else if(BaseClass==Job_Mage||BaseClass==Job_Acolyte||Class==Job_Ninja||Class==Job_Soul_Linker){ bonus bMatk,3; bonus bHealPower,2; } else if(BaseClass==Job_Archer||BaseClass==Job_Gunslinger) bonus bLongAtkRate,1; else if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) { bonus bMaxHP,60; bonus bMaxSP,30; } },{},{}
|
19085,Sigrun's_Wings_,Sigrun's Wings,4,20,,100,,2,,1,0xFFFFFFFF,63,2,512,,1,0,568,{ if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief||(BaseJob==Job_Taekwon&&Class!=Job_Soul_Linker)) { bonus bAspd,1; bonus bAgi,-2; } else if(BaseClass==Job_Mage||BaseClass==Job_Acolyte||Class==Job_Ninja||Class==Job_Soul_Linker){ bonus bMatk,3; bonus bHealPower,2; } else if(BaseClass==Job_Archer||BaseClass==Job_Gunslinger) bonus bLongAtkRate,1; else if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) { bonus bMaxHP,60; bonus bMaxSP,30; } },{},{}
|
||||||
@ -9854,9 +9861,9 @@
|
|||||||
19093,Spinning_Eyes_,Geek Glasses,4,20000,,100,,1,,1,0xFFFFFFFF,63,2,512,,0,0,27,{ bonus2 bResEff,Eff_Blind,800; },{},{}
|
19093,Spinning_Eyes_,Geek Glasses,4,20000,,100,,1,,1,0xFFFFFFFF,63,2,512,,0,0,27,{ bonus2 bResEff,Eff_Blind,800; },{},{}
|
||||||
19094,Mr_Smile_,Mr. Smile,4,60,,100,,1,,1,0xFFFFFFFF,63,2,513,,0,0,65,{},{},{}
|
19094,Mr_Smile_,Mr. Smile,4,60,,100,,1,,1,0xFFFFFFFF,63,2,513,,0,0,65,{},{},{}
|
||||||
19095,Happy_Balloon,Happy Balloon,4,0,,10,,0,,0,0xFFFFFFFF,63,2,1,,1,0,1289,{ bonus2 bDropAddRace,RC_All,5; bonus2 bExpAddRace,RC_All,5; },{},{}
|
19095,Happy_Balloon,Happy Balloon,4,0,,10,,0,,0,0xFFFFFFFF,63,2,1,,1,0,1289,{ bonus2 bDropAddRace,RC_All,5; bonus2 bExpAddRace,RC_All,5; },{},{}
|
||||||
19109,Valhalla_Idol,Valhalla Idol,4,0,,300,,2,,0,0xFFFFFFFF,63,2,512,0,70,0,1423,{ bonus bMaxSP,50; bonus3 bAutoSpell,"MG_SAFETYWALL",10,50; },{},{}
|
19109,Valhalla_Idol,Valhalla Idol,4,0,,300,,2,,0,0xFFFFFFFF,63,2,512,,70,0,1423,{ bonus bMaxSP,50; bonus3 bAutoSpell,"MG_SAFETYWALL",10,50; },{},{}
|
||||||
19111,Laser_Of_Eagle,Laser of Eagle,4,0,,400,,5,,1,0xFFFFFFFF,63,2,256,0,100,1,1424,{ bonus bDex,2; bonus bLongAtkRate,10; bonus4 bAutoSpell,"PR_LEXAETERNA",1,50,BF_LONG; /*TODO: Chance to transform become Shechil while attacking.*/ },{},{}
|
19111,Laser_Of_Eagle,Laser of Eagle,4,0,,400,,5,,1,0xFFFFFFFF,63,2,256,,100,1,1424,{ bonus bDex,2; bonus bLongAtkRate,10; bonus4 bAutoSpell,"PR_LEXAETERNA",1,50,BF_LONG; /*TODO: Chance to transform become Shechil while attacking.*/ },{},{}
|
||||||
19116,Red_Baby_Dragon,Red Baby Dragon,4,0,,700,,,1,1,0xFFFFFFFF,63,2,256,0,90,1,1463,{ .@r=getrefine(); bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bSkillAtk,"RK_DRAGONBREATH",15; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",15; if (.@r>=6) { bonus2 bSkillAtk,"RK_DRAGONBREATH",15; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",15; } if (.@r>=8) { bonus2 bSkillAtk,"RK_DRAGONBREATH",15; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",15; } },{},{}
|
19116,Red_Baby_Dragon,Red Baby Dragon,4,0,,700,,,1,1,0xFFFFFFFF,63,2,256,,90,1,1463,{ .@r=getrefine(); bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bSkillAtk,"RK_DRAGONBREATH",15; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",15; if (.@r>=6) { bonus2 bSkillAtk,"RK_DRAGONBREATH",15; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",15; } if (.@r>=8) { bonus2 bSkillAtk,"RK_DRAGONBREATH",15; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",15; } },{},{}
|
||||||
19117,Poring_Sunglasses,Poring Sunglasses,4,0,,10,,0,,0,0xFFFFFFFF,63,2,512,,1,0,954,{ bonus2 bDropAddRace,RC_All,5; bonus2 bExpAddRace,RC_All,5; },{},{}
|
19117,Poring_Sunglasses,Poring Sunglasses,4,0,,10,,0,,0,0xFFFFFFFF,63,2,512,,1,0,954,{ bonus2 bDropAddRace,RC_All,5; bonus2 bExpAddRace,RC_All,5; },{},{}
|
||||||
19118,Poring_Sunglasses_,Poring Sunglasses,4,0,,10,,0,,1,0xFFFFFFFF,63,2,512,,1,0,954,{ bonus2 bDropAddRace,RC_All,4; bonus2 bExpAddRace,RC_All,4; },{},{}
|
19118,Poring_Sunglasses_,Poring Sunglasses,4,0,,10,,0,,1,0xFFFFFFFF,63,2,512,,1,0,954,{ bonus2 bDropAddRace,RC_All,4; bonus2 bExpAddRace,RC_All,4; },{},{}
|
||||||
19126,Shadow_Booster_,Magical Booster,4,10,,300,,,,1,0xFFFFFFFF,63,2,512,,1,1,873,{ bonus bAspd,1; bonus bDelayrate,-1; },{},{}
|
19126,Shadow_Booster_,Magical Booster,4,10,,300,,,,1,0xFFFFFFFF,63,2,512,,1,1,873,{ bonus bAspd,1; bonus bDelayrate,-1; },{},{}
|
||||||
@ -10389,7 +10396,7 @@
|
|||||||
20096,C_Blue_Ribbon,Costume Blue Ribbon,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,441,{},{},{}
|
20096,C_Blue_Ribbon,Costume Blue Ribbon,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,441,{},{},{}
|
||||||
20097,C_White_Ribbon,Costume White Ribbon,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,442,{},{},{}
|
20097,C_White_Ribbon,Costume White Ribbon,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,442,{},{},{}
|
||||||
20098,C_Vampire_Hairband,Costume Vampire Hairband,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1238,{},{},{}
|
20098,C_Vampire_Hairband,Costume Vampire Hairband,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1238,{},{},{}
|
||||||
20099,C_Ljosalfar,Flying Ljosalfar,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,1,1,1,1239,{},{ sc_start SC_LJOSALFAR,-1,0; },{ sc_end SC_LJOSALFAR; }
|
20099,C_Ljosalfar,Flying Ljosalfar,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1239,{},{ sc_start SC_LJOSALFAR,-1,0; },{ sc_end SC_LJOSALFAR; }
|
||||||
20100,C_Volume_Fhat,Costume Volume Fhat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1240,{},{},{}
|
20100,C_Volume_Fhat,Costume Volume Fhat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1240,{},{},{}
|
||||||
20101,C_Bragi_Wing_Ears,Costume Bragi Wing Ears,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1241,{},{},{}
|
20101,C_Bragi_Wing_Ears,Costume Bragi Wing Ears,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1241,{},{},{}
|
||||||
20102,C_Horse_King_J,Costume Horse King J,4,0,,0,,,,0,0xFFFFFFFF,63,2,7168,,1,1,1189,{},{},{}
|
20102,C_Horse_King_J,Costume Horse King J,4,0,,0,,,,0,0xFFFFFFFF,63,2,7168,,1,1,1189,{},{},{}
|
||||||
@ -10405,9 +10412,9 @@
|
|||||||
20112,C_Aqua_Ten_Gallon_Hat,Costume Aqua Ten Gallon Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1256,{},{},{}
|
20112,C_Aqua_Ten_Gallon_Hat,Costume Aqua Ten Gallon Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1256,{},{},{}
|
||||||
20113,C_Star_Reading_Hat,Costume Star Reading Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1253,{},{},{}
|
20113,C_Star_Reading_Hat,Costume Star Reading Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1253,{},{},{}
|
||||||
20114,C_Funeral_Hat,Costume Funeral Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,77,{},{},{}
|
20114,C_Funeral_Hat,Costume Funeral Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,77,{},{},{}
|
||||||
20115,C_Under_Rim_Glasses,Under Rim Glasses,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,1,1,1,1255,{},{},{}
|
20115,C_Under_Rim_Glasses,Under Rim Glasses,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,1255,{},{},{}
|
||||||
20116,C_Mermaid_Headphone,Mermaid Headphone,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,1,1,1,1254,{},{},{}
|
20116,C_Mermaid_Headphone,Mermaid Headphone,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,1254,{},{},{}
|
||||||
20117,C_Raspberry_Mousse_Hat,Raspberry Mousse Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,1,1,1,1257,{},{},{}
|
20117,C_Raspberry_Mousse_Hat,Raspberry Mousse Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1257,{},{},{}
|
||||||
20118,C_Cake_Hat,Costume Cake Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,109,{},{},{}
|
20118,C_Cake_Hat,Costume Cake Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,109,{},{},{}
|
||||||
20119,C_Beanie,Costume Beanie,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,160,{},{},{}
|
20119,C_Beanie,Costume Beanie,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,160,{},{},{}
|
||||||
20120,C_Aerial,Costume Aerial,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,97,{},{},{}
|
20120,C_Aerial,Costume Aerial,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,97,{},{},{}
|
||||||
@ -10508,9 +10515,9 @@
|
|||||||
20215,C_Black_Devil_Mask,Costume Black Devil Mask,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,760,{},{},{}
|
20215,C_Black_Devil_Mask,Costume Black Devil Mask,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,760,{},{},{}
|
||||||
20216,C_Rideword_Hat,Costume Rideword Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,890,{},{},{}
|
20216,C_Rideword_Hat,Costume Rideword Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,890,{},{},{}
|
||||||
20217,C_Arabian_Veil,Costume Arabian Veil,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1300,{},{},{}
|
20217,C_Arabian_Veil,Costume Arabian Veil,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1300,{},{},{}
|
||||||
20218,C_Spell_Circuit,Costume Spell Circuit,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,1,1,1,1301,{},{},{}
|
20218,C_Spell_Circuit,Costume Spell Circuit,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1301,{},{},{}
|
||||||
20219,C_Angel_Marcher_Hat,Costume Angel Marcher Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1302,{},{},{}
|
20219,C_Angel_Marcher_Hat,Costume Angel Marcher Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1302,{},{},{}
|
||||||
20220,C_Dark_Night_Veil,Costume Dark Night Veil,4,0,,0,,,,0,0xFFFFFFFF,63,2,3072,1,1,1,1303,{},{},{}
|
20220,C_Dark_Night_Veil,Costume Dark Night Veil,4,0,,0,,,,0,0xFFFFFFFF,63,2,3072,,1,1,1303,{},{},{}
|
||||||
20221,C_Eyes_Of_Ifrit,C Eyes Of Ifrit,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,886,{},{},{}
|
20221,C_Eyes_Of_Ifrit,C Eyes Of Ifrit,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,886,{},{},{}
|
||||||
20222,C_Blue_Pigtail_Santa_Hat,Costume Blue Pigtail Santa Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,,1,395,{},{},{}
|
20222,C_Blue_Pigtail_Santa_Hat,Costume Blue Pigtail Santa Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,,1,395,{},{},{}
|
||||||
20223,C_Romantic_Leaf,Costume Romantic Leaf,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,1,57,{},{},{}
|
20223,C_Romantic_Leaf,Costume Romantic Leaf,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,1,57,{},{},{}
|
||||||
@ -10594,8 +10601,8 @@
|
|||||||
20312,C_Barons_Evil_Eye,Costume Baron's Evil Eye,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,989,{},{},{}
|
20312,C_Barons_Evil_Eye,Costume Baron's Evil Eye,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,989,{},{},{}
|
||||||
20313,C_CD_in_Mouth,Costume CD in Mouth,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,1,815,{},{},{}
|
20313,C_CD_in_Mouth,Costume CD in Mouth,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,1,815,{},{},{}
|
||||||
20314,C_New_Wave_Sunglasses,Costume New Wave Sunglasses,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,856,{},{},{}
|
20314,C_New_Wave_Sunglasses,Costume New Wave Sunglasses,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,856,{},{},{}
|
||||||
20315,C_Analyze_Eye,Costume Analyze Eye,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,1,1,1,1351,{},{},{}
|
20315,C_Analyze_Eye,Costume Analyze Eye,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,1,1351,{},{},{}
|
||||||
20316,C_Seraph_Wing_Helm,Costume Seraph Wing Helm,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,1,1,1,1352,{},{},{}
|
20316,C_Seraph_Wing_Helm,Costume Seraph Wing Helm,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1352,{},{},{}
|
||||||
20317,C_Nekomimi_Cyber_Headphone,Costume Nekomimi Cyber Headphone,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1353,{},{},{}
|
20317,C_Nekomimi_Cyber_Headphone,Costume Nekomimi Cyber Headphone,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1353,{},{},{}
|
||||||
20318,C_Charleston_Antenna,Costume Charleston Antenna,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,1354,{},{},{}
|
20318,C_Charleston_Antenna,Costume Charleston Antenna,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,1354,{},{},{}
|
||||||
20319,C_Crimson_Booster,Costume Crimson Booster,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,1355,{},{},{}
|
20319,C_Crimson_Booster,Costume Crimson Booster,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,1355,{},{},{}
|
||||||
@ -10603,8 +10610,8 @@
|
|||||||
20321,C_Pterios_Fins,Costume Pterios Fins,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,1009,{},{},{}
|
20321,C_Pterios_Fins,Costume Pterios Fins,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,1009,{},{},{}
|
||||||
20322,C_Seal_Hat,Costume Seal Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,540,{},{},{}
|
20322,C_Seal_Hat,Costume Seal Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,540,{},{},{}
|
||||||
20323,C_Sparkling_Sound,Costume Sparkling Sound,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,1,1074,{},{},{}
|
20323,C_Sparkling_Sound,Costume Sparkling Sound,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,1,1074,{},{},{}
|
||||||
20324,C_Pigeon_Hat,Costume Pigeon Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,1,1,1,1362,{},{},{}
|
20324,C_Pigeon_Hat,Costume Pigeon Hat,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1362,{},{},{}
|
||||||
20325,C_Little_Aquarium,Costume Little Aquarium,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,1,1,1,1363,{},{},{}
|
20325,C_Little_Aquarium,Costume Little Aquarium,4,0,,0,,,,0,0xFFFFFFFF,63,2,2048,,1,1,1363,{},{},{}
|
||||||
20326,C_Sailor_Collar,Costume Sailor Collar,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,1,1364,{},{},{}
|
20326,C_Sailor_Collar,Costume Sailor Collar,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,1,1364,{},{},{}
|
||||||
20327,C_Marine_Cap,Costume Marine Cap,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1365,{},{},{}
|
20327,C_Marine_Cap,Costume Marine Cap,4,0,,0,,,,0,0xFFFFFFFF,63,2,1024,,1,1,1365,{},{},{}
|
||||||
20328,C_Mackerel_Pike,Costume Mackerel Pike,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,1,1081,{},{},{}
|
20328,C_Mackerel_Pike,Costume Mackerel Pike,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,1,1081,{},{},{}
|
||||||
@ -10746,12 +10753,12 @@
|
|||||||
20510,C_SwordWing,Costume Sword Wing,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,19,{},{},{}
|
20510,C_SwordWing,Costume Sword Wing,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,19,{},{},{}
|
||||||
20600,Fantastic_Aura,Fantastic Aura,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,0,{ /*TODO: View ID*/ bonus bUnbreakableHelm,1; },{},{}
|
20600,Fantastic_Aura,Fantastic Aura,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,0,{ /*TODO: View ID*/ bonus bUnbreakableHelm,1; },{},{}
|
||||||
20700,Egir_Manteau,Egir Manteau,4,200000,,300,,10,,1,0xFFFFFFFF,63,2,4,,110,1,0,{ bonus bUnbreakableGarment,1; .@r = getrefine(); if (.@r > 10) .@r = 10; if (BaseClass == Job_Mage || BaseClass == Job_Archer || BaseClass == Job_Acolyte) { bonus bFlee2,5+(.@r*2); } else if (BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief) { bonus bShortWeaponDamageReturn,5+(.@r*2); } },{},{}
|
20700,Egir_Manteau,Egir Manteau,4,200000,,300,,10,,1,0xFFFFFFFF,63,2,4,,110,1,0,{ bonus bUnbreakableGarment,1; .@r = getrefine(); if (.@r > 10) .@r = 10; if (BaseClass == Job_Mage || BaseClass == Job_Archer || BaseClass == Job_Acolyte) { bonus bFlee2,5+(.@r*2); } else if (BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief) { bonus bShortWeaponDamageReturn,5+(.@r*2); } },{},{}
|
||||||
20702,TE_Woe_Muffler,TE Woe Muffler,4,0,,0,,5,,0,0xFFFFFFFF,63,2,4,1,40,1,,{ bonus bMdef,5; bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
20702,TE_Woe_Muffler,TE Woe Muffler,4,0,,0,,5,,0,0xFFFFFFFF,63,2,4,,40,1,,{ bonus bMdef,5; bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
||||||
20703,TE_Woe_Manteau,TE Woe Manteau,4,0,,0,,10,,0,0x000444A2,63,2,4,1,40,1,,{ bonus2 bAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
20703,TE_Woe_Manteau,TE Woe Manteau,4,0,,0,,10,,0,0x000444A2,63,2,4,,40,1,,{ bonus2 bAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
||||||
20704,TE_Woe_Magic_Manteau,TE Woe Magic Manteau,4,0,,0,,5,,0,0x00818315,63,2,4,1,40,1,,{ bonus2 bMagicAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
20704,TE_Woe_Magic_Manteau,TE Woe Magic Manteau,4,0,,0,,5,,0,0x00818315,63,2,4,,40,1,,{ bonus2 bMagicAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25; },{},{}
|
||||||
20706,Amistr_Bag,Amistr Bag,4,10,,500,,18,,0,0xFFFFFFFF,63,2,4,,1,,4,{ bonus bAllStats,1; bonus2 bSubEle,Ele_All,5; },{},{}
|
20706,Amistr_Bag,Amistr Bag,4,10,,500,,18,,0,0xFFFFFFFF,63,2,4,,1,,4,{ bonus bAllStats,1; bonus2 bSubEle,Ele_All,5; },{},{}
|
||||||
20707,Kirin_Wing,Kirin Wing,4,20,,0,,18,,0,0xFFFFFFFF,63,2,4,,0,1,6,{ bonus bAllStats,1; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; },{},{}
|
20707,Kirin_Wing,Kirin Wing,4,20,,0,,18,,0,0xFFFFFFFF,63,2,4,,0,1,6,{ bonus bAllStats,1; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; },{},{}
|
||||||
20709,Mana_Manteau,Mana Manteau,4,0,,0,,,,0,0xFFFFFFFF,63,2,4,0,1,1,,{ bonus2 bExpAddRace,RC_All,10; },{},{}
|
20709,Mana_Manteau,Mana Manteau,4,0,,0,,,,0,0xFFFFFFFF,63,2,4,,1,1,,{ bonus2 bExpAddRace,RC_All,10; },{},{}
|
||||||
20710,Impr_Angel's_Warmth,Advanced Angelic Cardigan,4,10000,,400,,6,,1,0x00000001,63,2,4,,99,1,0,{ bonus bHPrecovRate,50; },{},{}
|
20710,Impr_Angel's_Warmth,Advanced Angelic Cardigan,4,10000,,400,,6,,1,0x00000001,63,2,4,,99,1,0,{ bonus bHPrecovRate,50; },{},{}
|
||||||
20711,Manteau_Of_Diego,Manteau Of Diego,4,20,,600,,15,,1,0xFFFFFFFF,63,2,4,,0,1,0,{ bonus bInt,1; bonus bDex,1; bonus bMdef,3; },{},{}
|
20711,Manteau_Of_Diego,Manteau Of Diego,4,20,,600,,15,,1,0xFFFFFFFF,63,2,4,,0,1,0,{ bonus bInt,1; bonus bDex,1; bonus bMdef,3; },{},{}
|
||||||
20717,Gigant_Snake_Skin,Gigant Snake Skin,4,10,,400,,38,,0,0xFFFFFFFF,63,2,4,,1,1,0,{ bonus bMdef,10; },{},{}
|
20717,Gigant_Snake_Skin,Gigant Snake Skin,4,10,,400,,38,,0,0xFFFFFFFF,63,2,4,,1,1,0,{ bonus bMdef,10; },{},{}
|
||||||
@ -10769,7 +10776,7 @@
|
|||||||
20746,C_Rudra_Wings,Costume Rudra Wings,4,10,,0,,,,0,0xFFFFFFFF,63,2,8192,,1,0,8,{},{},{}
|
20746,C_Rudra_Wings,Costume Rudra Wings,4,10,,0,,,,0,0xFFFFFFFF,63,2,8192,,1,0,8,{},{},{}
|
||||||
20748,Cloak_Of_Casualties,Cloak Of Casualties,4,10,,600,,20,,0,0xFFFFFFFF,63,2,4,,120,1,,{ .@r = getrefine(); bonus bAgi,5; bonus bFlee,10; if(readparam(bStr)>=90) bonus bBaseAtk,10+(.@r*2); if(readparam(bInt)>=90) bonus bMatk,20+(.@r*3); if(readparam(bVit)>=90) bonus2 bSubEle,Ele_Neutral,3+((.@r>=8)?3:0)+((.@r>=10)?4:0); if(readparam(bAgi)>=90){ bonus bAspdRate,3+(.@r/2); bonus bAspd,((.@r>=10)?1:0); } if(readparam(bDex)>=90) bonus bLongAtkRate,3+(.@r/2); if(readparam(bLuk)>=90) bonus bCriticalRate,5+.@r; },{},{}
|
20748,Cloak_Of_Casualties,Cloak Of Casualties,4,10,,600,,20,,0,0xFFFFFFFF,63,2,4,,120,1,,{ .@r = getrefine(); bonus bAgi,5; bonus bFlee,10; if(readparam(bStr)>=90) bonus bBaseAtk,10+(.@r*2); if(readparam(bInt)>=90) bonus bMatk,20+(.@r*3); if(readparam(bVit)>=90) bonus2 bSubEle,Ele_Neutral,3+((.@r>=8)?3:0)+((.@r>=10)?4:0); if(readparam(bAgi)>=90){ bonus bAspdRate,3+(.@r/2); bonus bAspd,((.@r>=10)?1:0); } if(readparam(bDex)>=90) bonus bLongAtkRate,3+(.@r/2); if(readparam(bLuk)>=90) bonus bCriticalRate,5+.@r; },{},{}
|
||||||
20749,Cloak_Of_Casualties_,Cloak Of Casualties,4,10,,600,,30,,1,0xFFFFFFFF,63,2,4,,170,1,,{ .@r = getrefine(); bonus bMaxHPrate,.@r/2; bonus bMaxSPrate,.@r/2; bonus bAgi,5; bonus bFlee,10; if(readparam(bStr)>=90) bonus bBaseAtk,10+(.@r*2); if(readparam(bInt)>=90) bonus bMatk,20+(.@r*3); if(readparam(bVit)>=90) bonus2 bSubEle,Ele_Neutral,3+((.@r>=8)?3:0)+((.@r>=10)?4:0); if(readparam(bAgi)>=90){ bonus bAspdRate,3+(.@r/2); bonus bAspd,((.@r>=10)?1:0); } if(readparam(bDex)>=90) bonus bLongAtkRate,3+(.@r/2); if(readparam(bLuk)>=90) bonus bCriticalRate,5+.@r; },{},{}
|
20749,Cloak_Of_Casualties_,Cloak Of Casualties,4,10,,600,,30,,1,0xFFFFFFFF,63,2,4,,170,1,,{ .@r = getrefine(); bonus bMaxHPrate,.@r/2; bonus bMaxSPrate,.@r/2; bonus bAgi,5; bonus bFlee,10; if(readparam(bStr)>=90) bonus bBaseAtk,10+(.@r*2); if(readparam(bInt)>=90) bonus bMatk,20+(.@r*3); if(readparam(bVit)>=90) bonus2 bSubEle,Ele_Neutral,3+((.@r>=8)?3:0)+((.@r>=10)?4:0); if(readparam(bAgi)>=90){ bonus bAspdRate,3+(.@r/2); bonus bAspd,((.@r>=10)?1:0); } if(readparam(bDex)>=90) bonus bLongAtkRate,3+(.@r/2); if(readparam(bLuk)>=90) bonus bCriticalRate,5+.@r; },{},{}
|
||||||
20753,Lian_Robe,Lian Robe,4,0,,700,,20,1,1,0xFFFFFFFF,63,2,4,0,65,1,,{ bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubRace,RC_Formless,-5; },{},{}
|
20753,Lian_Robe,Lian Robe,4,0,,700,,20,1,1,0xFFFFFFFF,63,2,4,,65,1,,{ bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubRace,RC_Formless,-5; },{},{}
|
||||||
20756,Aegir_Cloak,Aegir Cloak,4,10,,300,,10,,1,0xFFFFFFFF,63,2,4,,40,1,,{ bonus bUnbreakableGarment,1; bonus bMaxHP,500; bonus bMaxSP,50; },{},{}
|
20756,Aegir_Cloak,Aegir Cloak,4,10,,300,,10,,1,0xFFFFFFFF,63,2,4,,40,1,,{ bonus bUnbreakableGarment,1; bonus bMaxHP,500; bonus bMaxSP,50; },{},{}
|
||||||
20761,C_Happiness_Wings,Costume Happiness Wings,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,9,{},{},{}
|
20761,C_Happiness_Wings,Costume Happiness Wings,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,9,{},{},{}
|
||||||
20762,C_Great_Devil_Wings,Costume Great Devil Wings,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,10,{},{},{}
|
20762,C_Great_Devil_Wings,Costume Great Devil Wings,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,10,{},{},{}
|
||||||
@ -10779,12 +10786,12 @@
|
|||||||
20780,Unity_STR_Manteau,Unity STR Manteau,4,32000,,300,,20,,1,0xFFFFFFFF,63,2,4,,1,1,0,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bMaxHPrate,2*(.@r/2); } },{},{}
|
20780,Unity_STR_Manteau,Unity STR Manteau,4,32000,,300,,20,,1,0xFFFFFFFF,63,2,4,,1,1,0,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bMaxHPrate,2*(.@r/2); } },{},{}
|
||||||
20781,Unity_AGI_Manteau,Unity AGI Manteau,4,32000,,300,,20,,1,0xFFFFFFFF,63,2,4,,1,1,0,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bFlee,3*(.@r/2); } },{},{}
|
20781,Unity_AGI_Manteau,Unity AGI Manteau,4,32000,,300,,20,,1,0xFFFFFFFF,63,2,4,,1,1,0,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bFlee,3*(.@r/2); } },{},{}
|
||||||
20782,Unity_INT_Muffler,Unity INT Muffler,4,32000,,300,,20,,1,0xFFFFFFFF,63,2,4,,1,1,0,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bUseSPrate,-(.@r/2); } },{},{}
|
20782,Unity_INT_Muffler,Unity INT Muffler,4,32000,,300,,20,,1,0xFFFFFFFF,63,2,4,,1,1,0,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bUseSPrate,-(.@r/2); } },{},{}
|
||||||
20783,Hero_Cape,Hero Cape,4,0,,100,,,,1,0xFFFFFFFF,63,2,4,1,10,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Neutral,1+(.@r/3); bonus bFlee,1+(.@r/3); if (.@r > 9) { bonus2 bSubEle,Ele_Neutral,20; bonus bFlee,20; } },{},{}
|
20783,Hero_Cape,Hero Cape,4,0,,100,,,,1,0xFFFFFFFF,63,2,4,,10,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Neutral,1+(.@r/3); bonus bFlee,1+(.@r/3); if (.@r > 9) { bonus2 bSubEle,Ele_Neutral,20; bonus bFlee,20; } },{},{}
|
||||||
20787,Unity_Exquisite_Muffler,Unity Exquisite Muffler,4,32000,,300,,20,,1,0xFFFFFFFF,63,2,4,,1,1,0,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bCritical,2*(.@r/2); } },{},{}
|
20787,Unity_Exquisite_Muffler,Unity Exquisite Muffler,4,32000,,300,,20,,1,0xFFFFFFFF,63,2,4,,1,1,0,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bCritical,2*(.@r/2); } },{},{}
|
||||||
20788,Private_Doram_Manteau,Private Doram Manteau,4,20,,300,,20,,1,0x80000000,7,2,4,,100,1,,{ bonus bFlee,5; bonus2 bSubEle,Ele_Neutral,2; bonus bFlee2,getrefine()/3; },{},{}
|
20788,Private_Doram_Manteau,Private Doram Manteau,4,20,,300,,20,,1,0x80000000,7,2,4,,100,1,,{ bonus bFlee,5; bonus2 bSubEle,Ele_Neutral,2; bonus bFlee2,getrefine()/3; },{},{}
|
||||||
20789,Luxury_Doram_Manteau,Luxury Doram Manteau,4,20,,400,,25,,1,0x80000000,7,2,4,,140,1,,{ bonus bFlee,7; bonus2 bSubEle,Ele_Neutral,3; .@r = getrefine()/3; bonus bFlee2,.@r; bonus bLuk,.@r; },{},{}
|
20789,Luxury_Doram_Manteau,Luxury Doram Manteau,4,20,,400,,25,,1,0x80000000,7,2,4,,140,1,,{ bonus bFlee,7; bonus2 bSubEle,Ele_Neutral,3; .@r = getrefine()/3; bonus bFlee2,.@r; bonus bLuk,.@r; },{},{}
|
||||||
20790,Elegant_Doram_Manteau,Elegant Doram Manteau,4,20,,500,,30,,1,0x80000000,7,2,4,,175,1,,{ bonus bFlee,10; bonus2 bSubEle,Ele_Neutral,5; .@r = getrefine()/2; bonus bFlee2,.@r; bonus bInt,.@r; bonus bDex,.@r; bonus bLuk,.@r; },{},{}
|
20790,Elegant_Doram_Manteau,Elegant Doram Manteau,4,20,,500,,30,,1,0x80000000,7,2,4,,175,1,,{ bonus bFlee,10; bonus2 bSubEle,Ele_Neutral,5; .@r = getrefine()/2; bonus bFlee2,.@r; bonus bInt,.@r; bonus bDex,.@r; bonus bLuk,.@r; },{},{}
|
||||||
20797,Etran_Shirt,Etran Shirt,4,0,,150,,,,1,0xFFFFFFFF,63,2,4,1,1,1,,{ bonus bMdef,10; bonus bMaxHPrate,2; .@r = getrefine(); if (.@r >= 6) bonus bMaxHPrate,4; if (.@r >= 7) bonus bMaxHPrate,6; if (.@r >= 8) bonus bMaxHPrate,8; if (.@r >= 9) bonus bNoKnockback,1; },{},{}
|
20797,Etran_Shirt,Etran Shirt,4,0,,150,,,,1,0xFFFFFFFF,63,2,4,,1,1,,{ bonus bMdef,10; bonus bMaxHPrate,2; .@r = getrefine(); if (.@r >= 6) bonus bMaxHPrate,4; if (.@r >= 7) bonus bMaxHPrate,6; if (.@r >= 8) bonus bMaxHPrate,8; if (.@r >= 9) bonus bNoKnockback,1; },{},{}
|
||||||
20798,C_Grim_Reaper_Protection,Costume Grim Reaper Protection,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,0,1450,{},{},{}
|
20798,C_Grim_Reaper_Protection,Costume Grim Reaper Protection,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,0,1450,{},{},{}
|
||||||
20815,SeraphimRobe,Seraphim Robe,4,0,,300,,18,,1,0xFFFFFFFF,63,2,4,,1,1,,{ bonus bMaxHPrate,10; bonus2 bMagicAtkEle,Ele_Neutral,5; .@r = getrefine(); if (.@r > 6) { bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Holy,20; bonus bMatkRate,10; } if (.@r > 8) { bonus2 bSubEle,Ele_Dark,10; bonus2 bSubEle,Ele_Holy,10; bonus bVariableCastrate,-5; } if (getskilllv("CR_TRUST") > 0) { bonus2 bSubEle,Ele_Holy,.@r*3; } },{},{}
|
20815,SeraphimRobe,Seraphim Robe,4,0,,300,,18,,1,0xFFFFFFFF,63,2,4,,1,1,,{ bonus bMaxHPrate,10; bonus2 bMagicAtkEle,Ele_Neutral,5; .@r = getrefine(); if (.@r > 6) { bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Holy,20; bonus bMatkRate,10; } if (.@r > 8) { bonus2 bSubEle,Ele_Dark,10; bonus2 bSubEle,Ele_Holy,10; bonus bVariableCastrate,-5; } if (getskilllv("CR_TRUST") > 0) { bonus2 bSubEle,Ele_Holy,.@r*3; } },{},{}
|
||||||
20819,Oxygen_Bottle,Oxygen Bottle,4,0,,500,,0,,1,0xFFFFFFFF,63,2,4,,40,0,0,{ bonus bFlee,12+getrefine(); bonus bHit,getrefine(); },{},{}
|
20819,Oxygen_Bottle,Oxygen Bottle,4,0,,500,,0,,1,0xFFFFFFFF,63,2,4,,40,0,0,{ bonus bFlee,12+getrefine(); bonus bHit,getrefine(); },{},{}
|
||||||
@ -10830,7 +10837,7 @@
|
|||||||
22009,Temporal_INT_Boots_,Temporal Boots Of Intelligence,4,20,,600,,20,,1,0xFFFFFFFF,56,2,64,,99,1,,{ .@r = getrefine(); bonus bMdef,5; bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bMatk,10*(.@r/3); if(readparam(bInt)>=120) bonus bMatk,60; },{},{}
|
22009,Temporal_INT_Boots_,Temporal Boots Of Intelligence,4,20,,600,,20,,1,0xFFFFFFFF,56,2,64,,99,1,,{ .@r = getrefine(); bonus bMdef,5; bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bMatk,10*(.@r/3); if(readparam(bInt)>=120) bonus bMatk,60; },{},{}
|
||||||
22010,Temporal_AGI_Boots_,Temporal Boots Of Agility,4,20,,600,,25,,1,0xFFFFFFFF,56,2,64,,99,1,,{ .@r = getrefine(); bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bAspdRate,3*(.@r/3); if(readparam(bAgi)>=120) bonus bAspd,1; },{},{}
|
22010,Temporal_AGI_Boots_,Temporal Boots Of Agility,4,20,,600,,25,,1,0xFFFFFFFF,56,2,64,,99,1,,{ .@r = getrefine(); bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bAspdRate,3*(.@r/3); if(readparam(bAgi)>=120) bonus bAspd,1; },{},{}
|
||||||
22011,Temporal_LUK_Boots_,Temporal Boots Of Luck,4,20,,600,,20,,1,0xFFFFFFFF,56,2,64,,99,1,,{ .@r = getrefine(); bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bMdef,5; bonus bCritAtkRate,2*(.@r/3); if(readparam(bLuk)>=120) bonus bCritAtkRate,30; },{},{}
|
22011,Temporal_LUK_Boots_,Temporal Boots Of Luck,4,20,,600,,20,,1,0xFFFFFFFF,56,2,64,,99,1,,{ .@r = getrefine(); bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bMdef,5; bonus bCritAtkRate,2*(.@r/3); if(readparam(bLuk)>=120) bonus bCritAtkRate,30; },{},{}
|
||||||
22012,Mana_Boots,Mana Boots,4,0,,0,,,,0,0xFFFFFFFF,63,2,64,0,1,1,,{ bonus2 bExpAddRace,RC_All,10; },{},{}
|
22012,Mana_Boots,Mana Boots,4,0,,0,,,,0,0xFFFFFFFF,63,2,64,,1,1,,{ bonus2 bExpAddRace,RC_All,10; },{},{}
|
||||||
22014,Enhanced_Variant_Shoes,Enhanced Variant Shoes,4,20,,500,,13,,1,0x7CCFDF80,63,2,64,,85,1,0,{ bonus bMaxHPrate,12; bonus bMaxSPrate,12; .@r = getrefine(); bonus bDef,.@r; bonus bMdef,.@r; },{},{}
|
22014,Enhanced_Variant_Shoes,Enhanced Variant Shoes,4,20,,500,,13,,1,0x7CCFDF80,63,2,64,,85,1,0,{ bonus bMaxHPrate,12; bonus bMaxSPrate,12; .@r = getrefine(); bonus bDef,.@r; bonus bMdef,.@r; },{},{}
|
||||||
22015,Impr_Angel's_Arrival,Advanced Angel's Reincarnation,4,10000,,300,,8,,1,0x00000001,63,2,64,,99,1,0,{ bonus bMaxHP,500; bonus bMaxSP,100; },{},{}
|
22015,Impr_Angel's_Arrival,Advanced Angel's Reincarnation,4,10000,,300,,8,,1,0x00000001,63,2,64,,99,1,0,{ bonus bMaxHP,500; bonus bMaxSP,100; },{},{}
|
||||||
22018,Shoes_Of_Wise_Man,Shoes Of Wise Man,4,10,,300,,15,,1,0xFFFFFFFF,63,2,64,,50,1,,{ .@r = getrefine(); if(.@r>5){ bonus bInt,.@r-5; bonus bMaxHPrate,-(.@r-5); } },{},{}
|
22018,Shoes_Of_Wise_Man,Shoes Of Wise Man,4,10,,300,,15,,1,0xFFFFFFFF,63,2,64,,50,1,,{ .@r = getrefine(); if(.@r>5){ bonus bInt,.@r-5; bonus bMaxHPrate,-(.@r-5); } },{},{}
|
||||||
@ -10848,8 +10855,8 @@
|
|||||||
22059,Aegir_Shoes,Aegir Shoes,4,10,,300,,13,,1,0xFFFFFFFF,63,2,64,,40,1,,{ bonus bUnbreakableShoes,1; bonus bMaxHP,500; bonus bMaxSP,50; },{},{}
|
22059,Aegir_Shoes,Aegir Shoes,4,10,,300,,13,,1,0xFFFFFFFF,63,2,64,,40,1,,{ bonus bUnbreakableShoes,1; bonus bMaxHP,500; bonus bMaxSP,50; },{},{}
|
||||||
22064,Thorny_Shoes,Thorny Shoes,4,0,,1000,,25,,1,0xFFFFFFFF,63,2,64,,,1,,{ bonus bShortWeaponDamageReturn,getrefine()/2; },{},{}
|
22064,Thorny_Shoes,Thorny Shoes,4,0,,1000,,25,,1,0xFFFFFFFF,63,2,64,,,1,,{ bonus bShortWeaponDamageReturn,getrefine()/2; },{},{}
|
||||||
22067,Shoe_of_Witch,Shoe of Witch,4,10,,400,,10,,0,0xFFFFFFFE,63,2,64,,1,1,,{ skill "ALL_CATCRY",1; },{},{}
|
22067,Shoe_of_Witch,Shoe of Witch,4,10,,400,,10,,0,0xFFFFFFFE,63,2,64,,1,1,,{ skill "ALL_CATCRY",1; },{},{}
|
||||||
22069,Lian_Shoes,Lian Shoes,4,0,,250,,12,,1,0xFFFFFFFF,63,2,64,1,90,1,,{ bonus bMdef,3; bonus2 bSubEle,Ele_Neutral,5; .@r = getrefine(); bonus bMaxHPrate,.@r; bonus bMaxSPrate,.@r; },{},{}
|
22069,Lian_Shoes,Lian Shoes,4,0,,250,,12,,1,0xFFFFFFFF,63,2,64,,90,1,,{ bonus bMdef,3; bonus2 bSubEle,Ele_Neutral,5; .@r = getrefine(); bonus bMaxHPrate,.@r; bonus bMaxSPrate,.@r; },{},{}
|
||||||
22072,Hikingboots,Hikingboots,4,0,,500,,10,,1,0xFFFFFFFF,63,2,64,0,100,1,,{ .@r = getrefine(); bonus bMaxHPRate,4+(.@r/3); bonus bMaxSPRate,4+(.@r/3); if (.@r > 9) bonus bSpeedRate,25; },{},{}
|
22072,Hikingboots,Hikingboots,4,0,,500,,10,,1,0xFFFFFFFF,63,2,64,,100,1,,{ .@r = getrefine(); bonus bMaxHPRate,4+(.@r/3); bonus bMaxSPRate,4+(.@r/3); if (.@r > 9) bonus bSpeedRate,25; },{},{}
|
||||||
22075,Rift_Shoes,Rift Shoes,4,20,,250,,12,,1,0xFFFFFFFF,63,2,64,,100,1,,{ .@r = getrefine(); bonus bMaxHP,(.@r >= 9 ? 1300 : .@r >= 7 ? 700 : 300); bonus bMaxSP,-50; },{},{}
|
22075,Rift_Shoes,Rift Shoes,4,20,,250,,12,,1,0xFFFFFFFF,63,2,64,,100,1,,{ .@r = getrefine(); bonus bMaxHP,(.@r >= 9 ? 1300 : .@r >= 7 ? 700 : 300); bonus bMaxSP,-50; },{},{}
|
||||||
22076,Wooden_Slipper,Wooden Slipper,4,20,,50,,10,,1,0x80000000,7,2,64,,9,1,,{ bonus2 bHPRegenRate,2,10000; },{},{}
|
22076,Wooden_Slipper,Wooden Slipper,4,20,,50,,10,,1,0x80000000,7,2,64,,9,1,,{ bonus2 bHPRegenRate,2,10000; },{},{}
|
||||||
22077,Red_Eco-Friendly_Shoes,Red Eco-Friendly Shoes,4,20,,100,,20,,1,0x80000000,7,2,64,,18,1,,{ bonus bCritical,5; bonus2 bHPRegenRate,4,10000; bonus2 bSPRegenRate,1,10000; },{},{}
|
22077,Red_Eco-Friendly_Shoes,Red Eco-Friendly Shoes,4,20,,100,,20,,1,0x80000000,7,2,64,,18,1,,{ bonus bCritical,5; bonus2 bHPRegenRate,4,10000; bonus2 bSPRegenRate,1,10000; },{},{}
|
||||||
@ -10857,13 +10864,13 @@
|
|||||||
22079,Unity_AGI_Boots,Unity AGI Boots,4,10,,300,,20,,1,0xFFFFFFFF,63,2,64,,1,1,,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bAgi,.@r/2; } },{},{}
|
22079,Unity_AGI_Boots,Unity AGI Boots,4,10,,300,,20,,1,0xFFFFFFFF,63,2,64,,1,1,,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bAgi,.@r/2; } },{},{}
|
||||||
22080,Unity_DEX_Boots,Unity DEX Boots,4,10,,300,,20,,1,0xFFFFFFFF,63,2,64,,1,1,,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bDex,.@r/2; } },{},{}
|
22080,Unity_DEX_Boots,Unity DEX Boots,4,10,,300,,20,,1,0xFFFFFFFF,63,2,64,,1,1,,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bDex,.@r/2; } },{},{}
|
||||||
22081,Unity_INT_Boots,Unity INT Boots,4,10,,300,,20,,1,0xFFFFFFFF,63,2,64,,1,1,,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bInt,.@r/2; } },{},{}
|
22081,Unity_INT_Boots,Unity INT Boots,4,10,,300,,20,,1,0xFFFFFFFF,63,2,64,,1,1,,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bInt,.@r/2; } },{},{}
|
||||||
22082,Polyhedron_Shoes,Polyhedron Shoes,4,0,,500,,12,,1,0xFFFFFFFF,63,2,64,0,90,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Wind,5; if (.@r > 4) { .@b = (.@r > 6) ? 10 : 5; bonus2 bAddEle,Ele_Neutral,.@b; bonus2 bAddEle,Ele_Fire,.@b; bonus2 bAddEle,Ele_Water,.@b; bonus2 bAddEle,Ele_Wind,.@b; } },{},{}
|
22082,Polyhedron_Shoes,Polyhedron Shoes,4,0,,500,,12,,1,0xFFFFFFFF,63,2,64,,90,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Wind,5; if (.@r > 4) { .@b = (.@r > 6) ? 10 : 5; bonus2 bAddEle,Ele_Neutral,.@b; bonus2 bAddEle,Ele_Fire,.@b; bonus2 bAddEle,Ele_Water,.@b; bonus2 bAddEle,Ele_Wind,.@b; } },{},{}
|
||||||
22083,Private_Doram_Shoes,Private Doram Shoes,4,20,,500,,25,,1,0x80000000,7,2,64,,100,1,,{ bonus bMaxHP,100; bonus bMaxSP,50; .@r = getrefine()/3; bonus bHPrecovRate,.@r*10; bonus bSPrecovRate,.@r*10; },{},{}
|
22083,Private_Doram_Shoes,Private Doram Shoes,4,20,,500,,25,,1,0x80000000,7,2,64,,100,1,,{ bonus bMaxHP,100; bonus bMaxSP,50; .@r = getrefine()/3; bonus bHPrecovRate,.@r*10; bonus bSPrecovRate,.@r*10; },{},{}
|
||||||
22084,Luxury_Doram_Shoes,Luxury Doram Shoes,4,20,,600,,30,,1,0x80000000,7,2,64,,140,1,,{ bonus bMaxHP,300; bonus bMaxSP,100; .@r = getrefine()/3; bonus bHPrecovRate,20*.@r; bonus bSPrecovRate,20*.@r; },{},{}
|
22084,Luxury_Doram_Shoes,Luxury Doram Shoes,4,20,,600,,30,,1,0x80000000,7,2,64,,140,1,,{ bonus bMaxHP,300; bonus bMaxSP,100; .@r = getrefine()/3; bonus bHPrecovRate,20*.@r; bonus bSPrecovRate,20*.@r; },{},{}
|
||||||
22085,Elegant_Doram_Shoes,Elegant Doram Shoes,4,20,,700,,35,,1,0x80000000,7,2,64,,175,1,,{ bonus bMaxHPrate,10; bonus bMaxSPrate,5; .@r = getrefine()/2; bonus bMaxHP,100*.@r; bonus bMaxSP,20*.@r; if(.@r >= 4) bonus2 bSkillUseSP,"SU_LOPE",5; },{},{}
|
22085,Elegant_Doram_Shoes,Elegant Doram Shoes,4,20,,700,,35,,1,0x80000000,7,2,64,,175,1,,{ bonus bMaxHPrate,10; bonus bMaxSPrate,5; .@r = getrefine()/2; bonus bMaxHP,100*.@r; bonus bMaxSP,20*.@r; if(.@r >= 4) bonus2 bSkillUseSP,"SU_LOPE",5; },{},{}
|
||||||
22089,Crimson_Gaiter_,Crimson Gaiter,4,0,,500,,10,,1,0xFFFFFFFF,63,2,64,,50,1,,{ bonus bCritical,2; bonus bCritAtkRate,2; if(getrefine()>=7){ bonus bCritical,3; bonus bCritAtkRate,3; } },{},{}
|
22089,Crimson_Gaiter_,Crimson Gaiter,4,0,,500,,10,,1,0xFFFFFFFF,63,2,64,,50,1,,{ bonus bCritical,2; bonus bCritAtkRate,2; if(getrefine()>=7){ bonus bCritical,3; bonus bCritAtkRate,3; } },{},{}
|
||||||
22101,Angel_Poring_Boots,Angel Poring Boots,4,10,,300,,15,,1,0xFFFFFFFF,63,2,64,,1,1,,{ bonus bAllStats,1; skill "AL_HEAL",1; },{},{}
|
22101,Angel_Poring_Boots,Angel Poring Boots,4,10,,300,,15,,1,0xFFFFFFFF,63,2,64,,1,1,,{ bonus bAllStats,1; skill "AL_HEAL",1; },{},{}
|
||||||
22103,Excelion_Leg,Excelion Leg,4,0,,500,,13,,0,0xFFFFFFFF,63,2,64,1,100,1,,{ .@r = getrefine(); bonus bMaxHP,5+((BaseLevel > 129) ? 4 : 0)+(.@r/3)*3; bonus bMaxSP,5+((BaseLevel > 129) ? 4 : 0)+(.@r/3)*3; },{},{}
|
22103,Excelion_Leg,Excelion Leg,4,0,,500,,13,,0,0xFFFFFFFF,63,2,64,,100,1,,{ .@r = getrefine(); bonus bMaxHP,5+((BaseLevel > 129) ? 4 : 0)+(.@r/3)*3; bonus bMaxSP,5+((BaseLevel > 129) ? 4 : 0)+(.@r/3)*3; },{},{}
|
||||||
22106,Giant_Boots,Giant Boots,4,0,,500,,13,,1,0xFFFFFFFF,63,2,64,,1,1,,{ bonus2 bSubRace,RC_All,1; bonus bMaxHPrate,2; bonus bMaxSPrate,2; .@r = getrefine(); if (.@r > 4) { bonus bDefRate,2; bonus bMaxHPrate,4; bonus bMaxSPrate,4; } if (.@r > 6) { bonus bDefRate,2; bonus bMaxHPrate,4; bonus bMaxSPrate,4; } },{},{}
|
22106,Giant_Boots,Giant Boots,4,0,,500,,13,,1,0xFFFFFFFF,63,2,64,,1,1,,{ bonus2 bSubRace,RC_All,1; bonus bMaxHPrate,2; bonus bMaxSPrate,2; .@r = getrefine(); if (.@r > 4) { bonus bDefRate,2; bonus bMaxHPrate,4; bonus bMaxSPrate,4; } if (.@r > 6) { bonus bDefRate,2; bonus bMaxHPrate,4; bonus bMaxSPrate,4; } },{},{}
|
||||||
22122,Para_Team_Boots100,Awakened Eden Group Boots I,4,0,,0,,22,,0,0xFFFFFFFF,63,2,64,,100,1,,{ bonus bAllStats,1; bonus bHPrecovRate,30; bonus bSPrecovRate,14; },{},{}
|
22122,Para_Team_Boots100,Awakened Eden Group Boots I,4,0,,0,,22,,0,0xFFFFFFFF,63,2,64,,100,1,,{ bonus bAllStats,1; bonus bHPrecovRate,30; bonus bSPrecovRate,14; },{},{}
|
||||||
22123,Para_Team_Boots115,Awakened Eden Group Boots II,4,0,,0,,25,,0,0xFFFFFFFF,63,2,64,,115,1,,{ bonus bAllStats,1; bonus bHPrecovRate,36; bonus bSPrecovRate,18; },{},{}
|
22123,Para_Team_Boots115,Awakened Eden Group Boots II,4,0,,0,,25,,0,0xFFFFFFFF,63,2,64,,115,1,,{ bonus bAllStats,1; bonus bHPrecovRate,36; bonus bSPrecovRate,18; },{},{}
|
||||||
@ -10873,7 +10880,7 @@
|
|||||||
//===================================================================
|
//===================================================================
|
||||||
// New Usable items
|
// New Usable items
|
||||||
//===================================================================
|
//===================================================================
|
||||||
22508,Para_Team_Mark_,Eden Group Mark,11,0,,0,,,,0,0xFFFFFFFF,63,2,,,,,,{ warp "moc_para01",171,115; },{},{}
|
22508,Para_Team_Mark_,Eden Group Mark,2,0,,0,,,,0,0xFFFFFFFF,63,2,,,,,,{ warp "moc_para01",171,115; },{},{}
|
||||||
22507,ShabbyOldScroll,Old Scroll,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ callfunc "F_22507"; },{},{}
|
22507,ShabbyOldScroll,Old Scroll,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ callfunc "F_22507"; },{},{}
|
||||||
22510,King_Wolf_Scroll,King Wolf Scroll,2,10,,10,,,,0,0xFFFFFFFF,63,2,,,,,,{ /*TODO, confirm the rates*/ getitem callfunc("F_Rand",6635,19598,5658,6238,6239),1; },{},{}
|
22510,King_Wolf_Scroll,King Wolf Scroll,2,10,,10,,,,0,0xFFFFFFFF,63,2,,,,,,{ /*TODO, confirm the rates*/ getitem callfunc("F_Rand",6635,19598,5658,6238,6239),1; },{},{}
|
||||||
22511,Fenrirs_Power_Scroll,Fenrir's Power Scroll,2,10,,10,,,,0,0xFFFFFFFF,63,2,,,,,,{ bonus_script "bonus bMatk,25; bonus bFixedCastRate,-50;",300,1025; },{},{}
|
22511,Fenrirs_Power_Scroll,Fenrir's Power Scroll,2,10,,10,,,,0,0xFFFFFFFF,63,2,,,,,,{ bonus_script "bonus bMatk,25; bonus bFixedCastRate,-50;",300,1025; },{},{}
|
||||||
@ -11057,9 +11064,9 @@
|
|||||||
22844,Sealed_Dracula_Card_Album,Sealed Dracula Card Album,2,10,,10,,,,,,,,,,,,,{/*No Info*/},{},{}
|
22844,Sealed_Dracula_Card_Album,Sealed Dracula Card Album,2,10,,10,,,,,,,,,,,,,{/*No Info*/},{},{}
|
||||||
22845,Sealed_Fortune_Egg,Sealed Fortune Egg,2,10,,10,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getitem callfunc("F_Rand",4488,4497,4486,4480,4485,4539,4487,4494,4538,4489,4490,4482,4503,22846),1; },{},{}
|
22845,Sealed_Fortune_Egg,Sealed Fortune Egg,2,10,,10,,,,0,0xFFFFFFFF,63,2,,,1,,,{ getitem callfunc("F_Rand",4488,4497,4486,4480,4485,4539,4487,4494,4538,4489,4490,4482,4503,22846),1; },{},{}
|
||||||
22846,Sealed_Dracula_Card_,Sealed Dracula Card,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ bonus_script "{ bonus2 bSPDrainRate,50,5; }",300; },{},{}
|
22846,Sealed_Dracula_Card_,Sealed Dracula Card,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ bonus_script "{ bonus2 bSPDrainRate,50,5; }",300; },{},{}
|
||||||
22847,Prontera_Medal,Prontera Medal,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ warp "prontera",0,0; /*No coord info*/ },{},{}
|
22847,Prontera_Medal,Prontera Medal,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ warp "prontera",159,192; /*No coord info*/ },{},{}
|
||||||
22848,Prison_Key,Prison Key,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ warp "prt_prison",0,0; /*No coord info*/ },{},{}
|
22848,Prison_Key,Prison Key,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ warp "prt_prison",0,0; /*No coord info*/ },{},{}
|
||||||
22849,Prontera_Time_Crystal,Prontera Time Crystal,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ warp "prt_lib_q",0,0; /*No map+coord info*/ },{},{}
|
22849,Prontera_Time_Crystal,Prontera Time Crystal,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ warp "prt_q",155,27; },{},{}
|
||||||
22850,January_Gift_Box_,January Gift Box,2,10,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 19052,604800; },{},{}
|
22850,January_Gift_Box_,January Gift Box,2,10,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 19052,604800; },{},{}
|
||||||
22851,February_Gift_Box_,February Gift Box,2,10,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 12105,2; },{},{}
|
22851,February_Gift_Box_,February Gift Box,2,10,,100,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem 12105,2; },{},{}
|
||||||
22852,March_Gift_Box_,March Gift Box,2,10,,100,,,,,0xFFFFFFFF,63,2,,,,,,{/*2 Lucky Eggs*/},{},{}
|
22852,March_Gift_Box_,March Gift Box,2,10,,100,,,,,0xFFFFFFFF,63,2,,,,,,{/*2 Lucky Eggs*/},{},{}
|
||||||
@ -11078,7 +11085,7 @@
|
|||||||
22873,Sealed_Beelzebub_Scroll_II,Sealed Beelzebub Scroll II,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem callfunc("F_Rand",22875,6238,6239,6228,6232,24231,24232,17474,6635),1; },{},{}
|
22873,Sealed_Beelzebub_Scroll_II,Sealed Beelzebub Scroll II,2,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ getitem callfunc("F_Rand",22875,6238,6239,6228,6232,24231,24232,17474,6635),1; },{},{}
|
||||||
22874,Sealed_Beelzebub_Card_Album,Sealed Beelzebub Card Album,2,10,,50,,,,,0xFFFFFFFF,63,2,,,,,,{/*No Info*/},{},{}
|
22874,Sealed_Beelzebub_Card_Album,Sealed Beelzebub Card Album,2,10,,50,,,,,0xFFFFFFFF,63,2,,,,,,{/*No Info*/},{},{}
|
||||||
22875,Sealed_Beelzebub_Card,Sealed Beelzebub Card,6,20,,10,,,,,,,,769,,,,,{ bonus bVariableCastrate,-15; /*Item removed on 2014-12-17*/ },{},{}
|
22875,Sealed_Beelzebub_Card,Sealed Beelzebub Card,6,20,,10,,,,,,,,769,,,,,{ bonus bVariableCastrate,-15; /*Item removed on 2014-12-17*/ },{},{}
|
||||||
22876,Old_Money_Pocket,Old Money Pocket,3,0,,0,,,,,,,,,,,,,{},{},{}
|
22876,Old_Money_Pocket,Old Money Pocket,3,0,,0,,,,,,,,,,,,,{ Zeny += rand(500,550); },{},{}
|
||||||
22881,Rope_Gallows,Rope Gallows,2,10,,0,,,,,0xFFFFFFFF,63,2,,,,,,{/*Used to catch a Lost Sheep*/},{},{}
|
22881,Rope_Gallows,Rope Gallows,2,10,,0,,,,,0xFFFFFFFF,63,2,,,,,,{/*Used to catch a Lost Sheep*/},{},{}
|
||||||
22882,Chocolate_Rice_Cake_Soup,Chocolate Rice Cake Soup,2,10,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ percentheal 10,10; },{},{}
|
22882,Chocolate_Rice_Cake_Soup,Chocolate Rice Cake Soup,2,10,,0,,,,,0xFFFFFFFF,63,2,,,,,,{ percentheal 10,10; },{},{}
|
||||||
22883,September_Gift_Box_,September Gift Box,2,10,,100,,,,,0xFFFFFFFF,63,2,,,,,,{/*2 Lucky Eggs*/},{},{}
|
22883,September_Gift_Box_,September Gift Box,2,10,,100,,,,,0xFFFFFFFF,63,2,,,,,,{/*2 Lucky Eggs*/},{},{}
|
||||||
@ -11455,27 +11462,30 @@
|
|||||||
28316,RCC2013_ARMLET_,RCC2013_ARMLET_,4,200,,200,,,,1,0xFFFFFFFF,63,2,136,,1,0,,{ bonus2 bAddClass,Class_All,1; },{},{}
|
28316,RCC2013_ARMLET_,RCC2013_ARMLET_,4,200,,200,,,,1,0xFFFFFFFF,63,2,136,,1,0,,{ bonus2 bAddClass,Class_All,1; },{},{}
|
||||||
28317,RCC2013_RING,RCC2013_RING,4,200,,200,,,,0,0xFFFFFFFF,63,2,136,,1,0,,{ bonus2 bAddClass,Class_All,1; },{},{}
|
28317,RCC2013_RING,RCC2013_RING,4,200,,200,,,,0,0xFFFFFFFF,63,2,136,,1,0,,{ bonus2 bAddClass,Class_All,1; },{},{}
|
||||||
28318,RCC2013_RING_,RCC2013_RING_,4,200,,200,,,,1,0xFFFFFFFF,63,2,136,,1,0,,{ bonus2 bAddClass,Class_All,1; },{},{}
|
28318,RCC2013_RING_,RCC2013_RING_,4,200,,200,,,,1,0xFFFFFFFF,63,2,136,,1,0,,{ bonus2 bAddClass,Class_All,1; },{},{}
|
||||||
28310,Sarah's_Left_Earring,Sarah's Left Earring,4,10,,100,,,,0,0xFFFFFFFF,63,2,128,,145,0,,{ skill "AL_HEAL",1; },{},{}
|
28310,Sarah's_Left_Earring,Sarah's Left Earring,4,10,,100,,,,0,0xFFFFFFFF,63,2,8,,145,0,,{ skill "AL_HEAL",1; },{},{}
|
||||||
28311,Sarah's_Right_Earring,Sarah's Right Earring,4,10,,100,,,,0,0xFFFFFFFF,63,2,8,,145,0,,{ skill "AL_TELEPORT",1; },{},{}
|
28311,Sarah's_Right_Earring,Sarah's Right Earring,4,10,,100,,,,0,0xFFFFFFFF,63,2,128,,145,0,,{ skill "AL_TELEPORT",1; },{},{}
|
||||||
28321,Falconer_Claw,Falconer Claw,4,0,,100,,5,,1,0x00000800,63,2,136,0,80,0,,{ bonus bDex,1; bonus2 bSkillAtk,"HT_BLITZBEAT",getskilllv("HT_STEELCROW")*10; },{},{}
|
28321,Falconer_Claw,Falconer Claw,4,0,,100,,5,,1,0x00000800,63,2,136,,80,0,,{ bonus bDex,1; bonus2 bSkillAtk,"HT_BLITZBEAT",getskilllv("HT_STEELCROW")*10; },{},{}
|
||||||
28322,Falconer_Glove,Falconer Glove,4,0,,100,,5,,1,0x00000800,63,2,136,0,80,0,,{ bonus bDex,1; bonus bUseSPrate,-5; },{},{}
|
28322,Falconer_Glove,Falconer Glove,4,0,,100,,5,,1,0x00000800,63,2,136,,80,0,,{ bonus bDex,1; bonus bUseSPrate,-5; },{},{}
|
||||||
28326,Broken_Chips_01,Broken Chips 01,4,10,,100,,,,1,0xFFFFFFFF,63,2,136,,100,0,,{ bonus bStr,4; },{},{}
|
28326,Broken_Chips_01,Broken Chips 01,4,10,,100,,,,1,0xFFFFFFFF,63,2,136,,100,0,,{ bonus bStr,4; },{},{}
|
||||||
28327,Broken_Chips_02,Broken Chips 02,4,10,,100,,,,1,0xFFFFFFFF,63,2,136,,100,0,,{ bonus bInt,4; },{},{}
|
28327,Broken_Chips_02,Broken Chips 02,4,10,,100,,,,1,0xFFFFFFFF,63,2,136,,100,0,,{ bonus bInt,4; },{},{}
|
||||||
28332,Jewerly_Ring,Jewerly Ring,4,10,,100,,,,0,0xFFFFFFFF,63,2,136,,1,0,,{ bonus bLuk,20; autobonus "{ bonus bAspd,2; }",50,2000,BF_WEAPON|BF_MAGIC; },{},{}
|
28332,Jewerly_Ring,Jewerly Ring,4,10,,100,,,,0,0xFFFFFFFF,63,2,136,,1,0,,{ bonus bLuk,20; autobonus "{ bonus bAspd,2; }",50,2000,BF_WEAPON|BF_MAGIC; },{},{}
|
||||||
28333,Gold_PC_Room_Ring,Gold PC Room Ring,4,10,,0,,,,1,0xFFFFFFFF,63,2,136,,1,0,,{ bonus bMaxHPrate,3; bonus bMaxSPrate,3; },{},{}
|
28333,Gold_PC_Room_Ring,Gold PC Room Ring,4,10,,0,,,,1,0xFFFFFFFF,63,2,136,,1,0,,{ bonus bMaxHPrate,3; bonus bMaxSPrate,3; },{},{}
|
||||||
28342,Critical_Anklet,Critical Anklet,4,0,,200,,3,,1,0xFFFFFFFF,63,2,136,,,0,,{ bonus bCritical,5; },{},{}
|
28342,Critical_Anklet,Critical Anklet,4,0,,200,,3,,1,0xFFFFFFFF,63,2,136,,,0,,{ bonus bCritical,5; },{},{}
|
||||||
28358,Cursed_Lucky_Clover,Cursed Lucky Clover,4,0,,100,,,,1,0xFFFFFFFF,63,2,136,0,100,0,,{ bonus bLuk,2; bonus bFlee,3; bonus2 bAddEff2,Eff_Curse,5; },{},{ sc_end SC_CLOAKING; /*FIXME: Because the combo has Cloaking skill*/ }
|
28354,City_Map,City Map,4,0,,100,,0,,1,0xFFFFFFFF,63,2,136,,1,0,0,{ /* todo */ },{},{}
|
||||||
28372,Imperial_Ring,Imperial Ring,4,0,,500,,3,,1,0xFFFFFFFF,63,2,136,0,50,0,,{ bonus bStr,1; bonus bInt,1; bonus bMaxHPRate,3; bonus bMaxSPRate,3; },{},{}
|
28355,Shining_Holy_Water,Shining Holy Water,4,0,,100,,0,,1,0xFFFFFFFF,63,2,136,,1,0,0,{ /* todo */ },{},{}
|
||||||
|
28356,Prontera_Badge,Prontera Badge,4,0,,100,,0,,0,0xFFFFFFFF,63,2,136,,1,0,0,{ /*warp "prontera",159,192; 15 mins cooldown */ },{},{}
|
||||||
|
28358,Cursed_Lucky_Clover,Cursed Lucky Clover,4,0,,100,,,,1,0xFFFFFFFF,63,2,136,,100,0,,{ bonus bLuk,2; bonus bFlee,3; bonus2 bAddEff2,Eff_Curse,5; },{},{ sc_end SC_CLOAKING; /*FIXME: Because the combo has Cloaking skill*/ }
|
||||||
|
28372,Imperial_Ring,Imperial Ring,4,0,,500,,3,,1,0xFFFFFFFF,63,2,136,,50,0,,{ bonus bStr,1; bonus bInt,1; bonus bMaxHPRate,3; bonus bMaxSPRate,3; },{},{}
|
||||||
28374,Foxtail_Ring,Foxtail Ring,4,20,,100,,0,,0,0x80000000,7,2,136,,1,0,,{ bonus2 bExpAddRace,RC_All,5; .@lvl = min(BaseLevel/5,10); bonus bAtk,2*.@lvl; bonus bMatk,2*.@lvl; bonus bMaxHP,10*.@lvl; bonus bMaxSP,5*.@lvl; },{},{}
|
28374,Foxtail_Ring,Foxtail Ring,4,20,,100,,0,,0,0x80000000,7,2,136,,1,0,,{ bonus2 bExpAddRace,RC_All,5; .@lvl = min(BaseLevel/5,10); bonus bAtk,2*.@lvl; bonus bMatk,2*.@lvl; bonus bMaxHP,10*.@lvl; bonus bMaxSP,5*.@lvl; },{},{}
|
||||||
28377,Magical_Ring,Magical Ring,4,0,,100,,,,1,0xFFFFFFFF,63,2,136,0,20,0,,{ bonus2 bMagicAddEle,Ele_Fire,5; bonus2 bMagicAddEle,Ele_Water,5; bonus2 bMagicAddEle,Ele_Earth,5; bonus2 bMagicAddEle,Ele_Wind,5; if (BaseLevel > 4) { bonus2 bSkillAtk,"MG_FIREBOLT",BaseLevel/5; bonus2 bSkillAtk,"MG_COLDBOLT",BaseLevel/5; bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",BaseLevel/5; bonus2 bSkillAtk,"WZ_EARTHSPIKE",BaseLevel/5; } },{},{}
|
28377,Magical_Ring,Magical Ring,4,0,,100,,,,1,0xFFFFFFFF,63,2,136,,20,0,,{ bonus2 bMagicAddEle,Ele_Fire,5; bonus2 bMagicAddEle,Ele_Water,5; bonus2 bMagicAddEle,Ele_Earth,5; bonus2 bMagicAddEle,Ele_Wind,5; if (BaseLevel > 4) { bonus2 bSkillAtk,"MG_FIREBOLT",BaseLevel/5; bonus2 bSkillAtk,"MG_COLDBOLT",BaseLevel/5; bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",BaseLevel/5; bonus2 bSkillAtk,"WZ_EARTHSPIKE",BaseLevel/5; } },{},{}
|
||||||
28380,Fresh_Grass_Necklace,Fresh Grass Necklace,4,20,,100,,0,,1,0x80000000,7,2,136,,100,0,,{ bonus bFlee2,5; bonus2 bSkillCooldown,"SU_SCAROFTAROU",-5000; },{},{}
|
28380,Fresh_Grass_Necklace,Fresh Grass Necklace,4,20,,100,,0,,1,0x80000000,7,2,136,,100,0,,{ bonus bFlee2,5; bonus2 bSkillCooldown,"SU_SCAROFTAROU",-5000; },{},{}
|
||||||
28381,Cute_Grass_Necklace,Cute Grass Necklace,4,20,,10,,0,,1,0x80000000,7,2,136,,100,0,,{ bonus bHealPower,5; bonus2 bSkillCooldown,"SU_TUNAPARTY",-7000; },{},{}
|
28381,Cute_Grass_Necklace,Cute Grass Necklace,4,20,,10,,0,,1,0x80000000,7,2,136,,100,0,,{ bonus bHealPower,5; bonus2 bSkillCooldown,"SU_TUNAPARTY",-7000; },{},{}
|
||||||
28382,Charm_Grass_Necklace,Charm Grass Necklace,4,20,,10,,0,,1,0x80000000,7,2,136,,100,0,,{ bonus bMdef,5; bonus2 bVariableCastrate,"SU_CN_METEOR",-1000; },{},{}
|
28382,Charm_Grass_Necklace,Charm Grass Necklace,4,20,,10,,0,,1,0x80000000,7,2,136,,100,0,,{ bonus bMdef,5; bonus2 bVariableCastrate,"SU_CN_METEOR",-1000; },{},{}
|
||||||
28386,Fallen_Monk_Rosary,Fallen Monk Rosary,4,0,,100,,,,1,0xFFFFFFFF,63,2,136,0,20,0,,{ bonus bAspdRate,5; bonus bCritical,5; bonus2 bSkillUseSP,"CH_SOULCOLLECT",-5; if (BaseLevel > 14) bonus2 bSkillAtk,"SR_DRAGONCOMBO",BaseLevel/15; if (BaseLevel > 19) bonus2 bSkillAtk,"SR_KNUCKLEARROW",BaseLevel/20; if (BaseLevel > 29) bonus2 bSkillAtk,"SR_SKYNETBLOW",BaseLevel/30; },{},{}
|
28386,Fallen_Monk_Rosary,Fallen Monk Rosary,4,0,,100,,,,1,0xFFFFFFFF,63,2,136,,20,0,,{ bonus bAspdRate,5; bonus bCritical,5; bonus2 bSkillUseSP,"CH_SOULCOLLECT",-5; if (BaseLevel > 14) bonus2 bSkillAtk,"SR_DRAGONCOMBO",BaseLevel/15; if (BaseLevel > 19) bonus2 bSkillAtk,"SR_KNUCKLEARROW",BaseLevel/20; if (BaseLevel > 29) bonus2 bSkillAtk,"SR_SKYNETBLOW",BaseLevel/30; },{},{}
|
||||||
28391,S_Thief_Earring,Thief Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); autobonus3 "{ bonus bBaseAtk,30+(.@r*10); bonus bFlee,30+(.@r*10); }",200,5000,"TF_THROWSTONE","{ specialeffect2 EF_ENHANCE; }"; },{},{}
|
28391,S_Thief_Earring,Thief Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); autobonus3 "{ bonus bBaseAtk,30+(.@r*10); bonus bFlee,30+(.@r*10); }",200,5000,"TF_THROWSTONE","{ specialeffect2 EF_ENHANCE; }"; },{},{}
|
||||||
28392,S_Archer_Earring,Archer Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); autobonus3 "{ bonus bBaseAtk,30+(.@r*10); bonus bHit,30+(.@r*10); }",200,5000,"AC_DOUBLE","{ specialeffect2 EF_ENHANCE; }"; },{},{}
|
28392,S_Archer_Earring,Archer Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); autobonus3 "{ bonus bBaseAtk,30+(.@r*10); bonus bHit,30+(.@r*10); }",200,5000,"AC_DOUBLE","{ specialeffect2 EF_ENHANCE; }"; },{},{}
|
||||||
28410,Sapphire_Wrist,Sapphire Wrist,4,0,,500,,3,,1,0xFFFFFFFF,63,2,136,0,50,0,,{ bonus bDex,5; bonus bLuk,5; bonus bInt,5; bonus2 bSkillAtk,"GN_SPORE_EXPLOSION",BaseLevel/5; bonus2 bVariableCastrate,"CR_ACIDDEMONSTRATION",-(BaseLevel/4); .@n = getskilllv("CR_SLIMPITCHER"); bonus bDex,.@n/2; bonus bLuk,.@n/2; bonus bInt,.@n/2; bonus bMatk,(.@n/2)*20; },{},{}
|
28410,Sapphire_Wrist,Sapphire Wrist,4,0,,500,,3,,1,0xFFFFFFFF,63,2,136,,50,0,,{ bonus bDex,5; bonus bLuk,5; bonus bInt,5; bonus2 bSkillAtk,"GN_SPORE_EXPLOSION",BaseLevel/5; bonus2 bVariableCastrate,"CR_ACIDDEMONSTRATION",-(BaseLevel/4); .@n = getskilllv("CR_SLIMPITCHER"); bonus bDex,.@n/2; bonus bLuk,.@n/2; bonus bInt,.@n/2; bonus bMatk,(.@n/2)*20; },{},{}
|
||||||
28411,Emerald_Earring,Emerald Earring,4,0,,500,,3,,1,0xFFFFFFFF,63,2,136,0,50,0,,{ bonus bDex,5; bonus bAgi,5; bonus bInt,5; bonus2 bSkillAtk,"CG_ARROWVULCAN",BaseLevel; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",BaseLevel; bonus2 bSkillAtk,"DC_THROWARROW",BaseLevel; bonus2 bSkillAtk,"WM_METALICSOUND",2*(BaseLevel/5); .@n = getskilllv("WM_METALICSOUND"); bonus2 bVariableCastrate,"WM_METALICSOUND",.@n/2; bonus bDex,.@n/2; bonus bAgi,.@n/2; bonus bInt,.@n/2; bonus bMatk,(.@n/2)*20; },{},{}
|
28411,Emerald_Earring,Emerald Earring,4,0,,500,,3,,1,0xFFFFFFFF,63,2,136,,50,0,,{ bonus bDex,5; bonus bAgi,5; bonus bInt,5; bonus2 bSkillAtk,"CG_ARROWVULCAN",BaseLevel; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",BaseLevel; bonus2 bSkillAtk,"DC_THROWARROW",BaseLevel; bonus2 bSkillAtk,"WM_METALICSOUND",2*(BaseLevel/5); .@n = getskilllv("WM_METALICSOUND"); bonus2 bVariableCastrate,"WM_METALICSOUND",.@n/2; bonus bDex,.@n/2; bonus bAgi,.@n/2; bonus bInt,.@n/2; bonus bMatk,(.@n/2)*20; },{},{}
|
||||||
28413,Lesser_Mackerel_Talisman,Lesser Mackerel Talisman,4,0,,100,,1,,1,0x80000000,63,2,136,,100,,,{ bonus bVit,1; },{},{}
|
28413,Lesser_Mackerel_Talisman,Lesser Mackerel Talisman,4,0,,100,,1,,1,0x80000000,63,2,136,,100,,,{ bonus bVit,1; },{},{}
|
||||||
28414,Intermediate_Mackerel_Talisman,Intermediate Mackerel Talisman,4,0,,100,,1,,1,0x80000000,63,2,136,,140,,,{ bonus bVit,2; },{},{}
|
28414,Intermediate_Mackerel_Talisman,Intermediate Mackerel Talisman,4,0,,100,,1,,1,0x80000000,63,2,136,,140,,,{ bonus bVit,2; },{},{}
|
||||||
28415,Greater_Mackerel_Talisman,Greater Mackerel Talisman,4,0,,100,,1,,1,0x80000000,63,2,136,,175,,,{ bonus bVit,3; },{},{}
|
28415,Greater_Mackerel_Talisman,Greater Mackerel Talisman,4,0,,100,,1,,1,0x80000000,63,2,136,,175,,,{ bonus bVit,3; },{},{}
|
||||||
@ -11544,13 +11554,13 @@
|
|||||||
28900,Guardsmen's_Shield,Guardsmen's Shield,4,20,,3000,,30,,1,0xFFFFFFFF,63,2,32,,100,1,1,{ .@r = getrefine(); skill "LG_SHIELDSPELL",1; bonus3 bAutoSpellWhenHit,"HP_ASSUMPTIO",3,(10+(.@r*10)); bonus bDef,(.@r*10); bonus bMdef,.@r; },{},{}
|
28900,Guardsmen's_Shield,Guardsmen's Shield,4,20,,3000,,30,,1,0xFFFFFFFF,63,2,32,,100,1,1,{ .@r = getrefine(); skill "LG_SHIELDSPELL",1; bonus3 bAutoSpellWhenHit,"HP_ASSUMPTIO",3,(10+(.@r*10)); bonus bDef,(.@r*10); bonus bMdef,.@r; },{},{}
|
||||||
28901,Cursed_Mad_Bunny,Cursed Mad Bunny,4,20,,100,,0,,0,0xFFFFFFFF,63,2,32,,1,1,1,{ bonus bAspd,3; bonus2 bAddRace,RC_All,5; bonus2 bMagicAddRace,RC_All,5; bonus bShortWeaponDamageReturn,10; autobonus2 "{ bonus bMagicDamageReturn,60; }",10,2000,BF_MAGIC,"{ specialeffect2 EF_WIND; }"; .@r = getrefine(); if(.@r>=7) { bonus bBaseAtk,5; bonus bMatk,5; } if(.@r>=9) { bonus bBaseAtk,15; bonus bMatk,15; } if(.@r>=12) { bonus bCritical,10; bonus bNoCastCancel,0; } },{},{}
|
28901,Cursed_Mad_Bunny,Cursed Mad Bunny,4,20,,100,,0,,0,0xFFFFFFFF,63,2,32,,1,1,1,{ bonus bAspd,3; bonus2 bAddRace,RC_All,5; bonus2 bMagicAddRace,RC_All,5; bonus bShortWeaponDamageReturn,10; autobonus2 "{ bonus bMagicDamageReturn,60; }",10,2000,BF_MAGIC,"{ specialeffect2 EF_WIND; }"; .@r = getrefine(); if(.@r>=7) { bonus bBaseAtk,5; bonus bMatk,5; } if(.@r>=9) { bonus bBaseAtk,15; bonus bMatk,15; } if(.@r>=12) { bonus bCritical,10; bonus bNoCastCancel,0; } },{},{}
|
||||||
28902,Mad_Bunny_,Mad Bunny,4,20,,100,,0,,1,0xFFFFFFFF,63,2,32,,1,1,1,{ bonus2 bAddRace,RC_All,5; bonus2 bMagicAddRace,RC_All,5; bonus bShortWeaponDamageReturn,10; autobonus2 "{ bonus bMagicDamageReturn,60; }",10,2000,BF_MAGIC,"{ specialeffect2 EF_WIND; }"; .@r = getrefine(); if(.@r>=7) { bonus bBaseAtk,5; bonus bMatk,5; } if(.@r>=9) { bonus bBaseAtk,15; bonus bMatk,15; } if(.@r>=12) { bonus bCritical,10; bonus bNoCastCancel,0; } },{},{}
|
28902,Mad_Bunny_,Mad Bunny,4,20,,100,,0,,1,0xFFFFFFFF,63,2,32,,1,1,1,{ bonus2 bAddRace,RC_All,5; bonus2 bMagicAddRace,RC_All,5; bonus bShortWeaponDamageReturn,10; autobonus2 "{ bonus bMagicDamageReturn,60; }",10,2000,BF_MAGIC,"{ specialeffect2 EF_WIND; }"; .@r = getrefine(); if(.@r>=7) { bonus bBaseAtk,5; bonus bMatk,5; } if(.@r>=9) { bonus bBaseAtk,15; bonus bMatk,15; } if(.@r>=12) { bonus bCritical,10; bonus bNoCastCancel,0; } },{},{}
|
||||||
28903,Scutum,Scutum,4,0,,500,,1,,1,0xFFFFFFFF,63,2,32,1,1,1,,{ .@r = getrefine(); bonus bFlee,5+(.@r*3); bonus bFlee2,1+(.@r*2); if (.@r > 10) { bonus bMaxHPrate,10; bonus bMaxSPrate,10; } },{},{}
|
28903,Scutum,Scutum,4,0,,500,,1,,1,0xFFFFFFFF,63,2,32,,1,1,1,{ .@r = getrefine(); bonus bFlee,5+(.@r*3); bonus bFlee2,1+(.@r*2); if (.@r > 10) { bonus bMaxHPrate,10; bonus bMaxSPrate,10; } },{},{}
|
||||||
28904,Unity_Guard,Unity Guard,4,20,,300,,60,,1,0xFFFFFFFF,63,2,32,,100,1,1,{ if(BaseLevel<100) { bonus bDef,12*getrefine(); } },{},{}
|
28904,Unity_Guard,Unity Guard,4,20,,300,,60,,1,0xFFFFFFFF,63,2,32,,100,1,1,{ if(BaseLevel<100) { bonus bDef,12*getrefine(); } },{},{}
|
||||||
28905,Unity_Buckler,Unity Buckler,4,20,,300,,60,,1,0xFFFFFFFF,63,2,32,,100,1,1,{ if(BaseLevel<100) { bonus bMaxSPrate,2*getrefine(); } },{},{}
|
28905,Unity_Buckler,Unity Buckler,4,20,,300,,60,,1,0xFFFFFFFF,63,2,32,,100,1,1,{ if(BaseLevel<100) { bonus bMaxSPrate,2*getrefine(); } },{},{}
|
||||||
28906,Shield_Of_Flame,Shield Of Flame,4,0,,500,,80,,1,0xFFFFFFFF,63,2,32,1,90,1,,{ bonus2 bSubEle,Ele_Fire,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); } },{},{}
|
28906,Shield_Of_Flame,Shield Of Flame,4,0,,500,,80,,1,0xFFFFFFFF,63,2,32,,90,1,1,{ bonus2 bSubEle,Ele_Fire,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); } },{},{}
|
||||||
28907,Shield_Of_Gust,Shield Of Gust,4,0,,500,,80,,1,0xFFFFFFFF,63,2,32,1,90,1,,{ bonus2 bSubEle,Ele_Wind,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); } },{},{}
|
28907,Shield_Of_Gust,Shield Of Gust,4,0,,500,,80,,1,0xFFFFFFFF,63,2,32,,90,1,1,{ bonus2 bSubEle,Ele_Wind,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); } },{},{}
|
||||||
28908,Shield_Of_Water,Shield Of Water,4,0,,500,,80,,1,0xFFFFFFFF,63,2,32,1,90,1,,{ bonus2 bSubEle,Ele_Water,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); } },{},{}
|
28908,Shield_Of_Water,Shield Of Water,4,0,,500,,80,,1,0xFFFFFFFF,63,2,32,,90,1,1,{ bonus2 bSubEle,Ele_Water,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); } },{},{}
|
||||||
28909,Shield_Of_Earth,Shield Of Earth,4,0,,500,,80,,1,0xFFFFFFFF,63,2,32,1,90,1,,{ bonus2 bSubEle,Ele_Earth,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); } },{},{}
|
28909,Shield_Of_Earth,Shield Of Earth,4,0,,500,,80,,1,0xFFFFFFFF,63,2,32,,90,1,1,{ bonus2 bSubEle,Ele_Earth,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); } },{},{}
|
||||||
28910,Rectangular_Large_Sleeve,Rectangular Large Sleeve,4,20,,800,,80,,1,0xFFFFFFFF,63,2,32,,100,1,1,{ bonus bLongAtkDef,5; .@r = getrefine(); if(.@r>=5) { bonus bLongAtkDef,5; } if(.@r>=7) { bonus bLongAtkDef,10; } if(.@r>=9) { bonus bLongAtkDef,15; } },{},{}
|
28910,Rectangular_Large_Sleeve,Rectangular Large Sleeve,4,20,,800,,80,,1,0xFFFFFFFF,63,2,32,,100,1,1,{ bonus bLongAtkDef,5; .@r = getrefine(); if(.@r>=5) { bonus bLongAtkDef,5; } if(.@r>=7) { bonus bLongAtkDef,10; } if(.@r>=9) { bonus bLongAtkDef,15; } },{},{}
|
||||||
28913,Ultralight_Magic_Shield,Ultralight Magic Shield,4,20,,100,,50,,1,0xFFFFFFFF,63,2,32,,100,1,1,{ bonus bAspdRate,5; bonus2 bIgnoreDefClassRate,Class_Normal,10; bonus2 bSubEle,Ele_Neutral,5; .@r = getrefine(); if(.@r>=7) { bonus2 bIgnoreDefClassRate,Class_Normal,2; bonus bAspdRate,2; } if(.@r>=9) { bonus2 bIgnoreDefClassRate,Class_Normal,3; bonus bAspdRate,3; } },{},{}
|
28913,Ultralight_Magic_Shield,Ultralight Magic Shield,4,20,,100,,50,,1,0xFFFFFFFF,63,2,32,,100,1,1,{ bonus bAspdRate,5; bonus2 bIgnoreDefClassRate,Class_Normal,10; bonus2 bSubEle,Ele_Neutral,5; .@r = getrefine(); if(.@r>=7) { bonus2 bIgnoreDefClassRate,Class_Normal,2; bonus bAspdRate,2; } if(.@r>=9) { bonus2 bIgnoreDefClassRate,Class_Normal,3; bonus bAspdRate,3; } },{},{}
|
||||||
28915,Bunker_Shield,Bunker Shield,4,20,,3500,,90,,1,0xFFFFFFFF,63,2,32,,50,1,1,{ bonus2 bAddRace,RC_All,4; bonus bAspdRate,5; .@r = getrefine(); if(.@r>=5) { bonus2 bAddRace,RC_All,.@r; } },{},{}
|
28915,Bunker_Shield,Bunker Shield,4,20,,3500,,90,,1,0xFFFFFFFF,63,2,32,,50,1,1,{ bonus2 bAddRace,RC_All,4; bonus bAspdRate,5; .@r = getrefine(); if(.@r>=5) { bonus2 bAddRace,RC_All,.@r; } },{},{}
|
||||||
@ -11559,6 +11569,18 @@
|
|||||||
//===================================================================
|
//===================================================================
|
||||||
// Enchantment stones
|
// Enchantment stones
|
||||||
//===================================================================
|
//===================================================================
|
||||||
|
29000,Rune_of_Intellect_Lv_1,Rune of Intellect Lv 1,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bInt,5; } if (.@r>=10) { bonus bMatkRate,5; } },{},{}
|
||||||
|
29001,Rune_of_Intellect_Lv_2,Rune of Intellect Lv 2,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bInt,6; } if (.@r>=11) { bonus bInt,1; bonus bMatkRate,7; } },{},{}
|
||||||
|
29002,Rune_of_Intellect_Lv_3,Rune of Intellect Lv 3,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bInt,7; } if (.@r>=12) { bonus bInt,1; bonus bMatkRate,8; } if (.@r>=13) { bonus bInt,1; bonus bMatkRate,2; } },{},{}
|
||||||
|
29003,Rune_of_Dexterity_Lv_1,Rune of Dexterity Lv 1,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bDex,5; } if (.@r>=10) { bonus bLongAtkRate,5; } },{},{}
|
||||||
|
29004,Rune_of_Dexterity_Lv_2,Rune of Dexterity Lv 2,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bDex,6; } if (.@r>=11) { bonus bDex,1; bonus bLongAtkRate,7; } },{},{}
|
||||||
|
29005,Rune_of_Dexterity_Lv_3,Rune of Dexterity Lv 3,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bDex,7; } if (.@r>=12) { bonus bDex,1; bonus bLongAtkRate,8; } if (.@r>=13) { bonus bDex,1; bonus bLongAtkRate,2; } },{},{}
|
||||||
|
29006,Rune_of_Luck_Lv_1,Rune of Luck Lv 1,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bLuk,5; } if (.@r>=10) { bonus bCritAtkRate,5; } },{},{}
|
||||||
|
29007,Rune_of_Luck_Lv_2,Rune of Luck Lv 2,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bLuk,6; } if (.@r>=11) { bonus bLuk,1; bonus bCritAtkRate,7; } },{},{}
|
||||||
|
29008,Rune_of_Luck_Lv_3,Rune of Luck Lv 3,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bLuk,7; } if (.@r>=12) { bonus bLuk,1; bonus bCritAtkRate,8; } if (.@r>=13) { bonus bLuk,1; bonus bCritAtkRate,6; } },{},{}
|
||||||
|
29009,Rune_of_Vitality_Lv_1,Rune of Vitality Lv 1,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bVit,5; } if (.@r>=10) { bonus bMaxHPrate,5; } },{},{}
|
||||||
|
29010,Rune_of_Vitality_Lv_2,Rune of Vitality Lv 2,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bVit,6; } if (.@r>=11) { bonus bVit,1; bonus bMaxHPrate,7; } },{},{}
|
||||||
|
29011,Rune_of_Vitality_Lv_3,Rune of Vitality Lv 3,6,20,,,,,,,,,,,,,,,{ .@r = getrefine(); if (.@r>=7) { bonus bVit,7; } if (.@r>=12) { bonus bVit,1; bonus bMaxHPrate,8; } if (.@r>=13) { bonus bVit,1; bonus bMaxHPrate,2; } },{},{}
|
||||||
29061,Ambition1Lv,Ambition1Lv,6,10,,0,,,,,,,,,,,,,{ bonus2 bAddClass,Class_All,3; bonus bHit,3; },{},{}
|
29061,Ambition1Lv,Ambition1Lv,6,10,,0,,,,,,,,,,,,,{ bonus2 bAddClass,Class_All,3; bonus bHit,3; },{},{}
|
||||||
29062,Ambition2Lv,Ambition2Lv,6,10,,0,,,,,,,,,,,,,{ bonus2 bAddClass,Class_All,6; bonus bHit,6; },{},{}
|
29062,Ambition2Lv,Ambition2Lv,6,10,,0,,,,,,,,,,,,,{ bonus2 bAddClass,Class_All,6; bonus bHit,6; },{},{}
|
||||||
29063,Ambition3Lv,Ambition3Lv,6,10,,0,,,,,,,,,,,,,{ bonus2 bAddClass,Class_All,9; bonus bHit,9; },{},{}
|
29063,Ambition3Lv,Ambition3Lv,6,10,,0,,,,,,,,,,,,,{ bonus2 bAddClass,Class_All,9; bonus bHit,9; },{},{}
|
||||||
|
|||||||
@ -7,6 +7,7 @@
|
|||||||
// 4 - GUID Item: When this item is obtained, will generates GUID that cannot be stacked even same or stackable item
|
// 4 - GUID Item: When this item is obtained, will generates GUID that cannot be stacked even same or stackable item
|
||||||
// 8 - Item will be bound item when equipped
|
// 8 - Item will be bound item when equipped
|
||||||
// 16 - Special Broadcast: When item dropped by monster and player loot it, will be broadcasted!
|
// 16 - Special Broadcast: When item dropped by monster and player loot it, will be broadcasted!
|
||||||
|
// 32 - Item will not be removed on consumption. Also supports 'itemskill'
|
||||||
// NOTE: For removing flag by import file, use "-" to remove the flag. Example, 604,-1 will removes flag 1 from Branch_Of_Dead_Tree
|
// NOTE: For removing flag by import file, use "-" to remove the flag. Example, 604,-1 will removes flag 1 from Branch_Of_Dead_Tree
|
||||||
|
|
||||||
// Logged as Dead Branch item
|
// Logged as Dead Branch item
|
||||||
@ -1772,3 +1773,8 @@
|
|||||||
// Special Broadcast
|
// Special Broadcast
|
||||||
7782,16 //Gold_Key77
|
7782,16 //Gold_Key77
|
||||||
7783,16 //Silver_Key77
|
7783,16 //Silver_Key77
|
||||||
|
|
||||||
|
// Not removed after consumption
|
||||||
|
12622,32 //Boarding_Halter
|
||||||
|
12887,32 //C_Wing_Of_Fly
|
||||||
|
22508,32 //Para_Team_Mark_
|
||||||
|
|||||||
@ -914,7 +914,7 @@
|
|||||||
6916,499,100 // Piece_Of_Soul_Monkey
|
6916,499,100 // Piece_Of_Soul_Monkey
|
||||||
6917,499,100 // Piece_Of_Soul_Chicken
|
6917,499,100 // Piece_Of_Soul_Chicken
|
||||||
6919,499,100 // Honor_Proof
|
6919,499,100 // Honor_Proof
|
||||||
//6920,467,100 //
|
6920,499,100 // Rune_Magic_Powder
|
||||||
6923,499,100 // Bright_Fire_Lights
|
6923,499,100 // Bright_Fire_Lights
|
||||||
6925,499,100 // Letter_Of_Prisoner
|
6925,499,100 // Letter_Of_Prisoner
|
||||||
6926,499,100 // Rune-Midgard_History_Book
|
6926,499,100 // Rune-Midgard_History_Book
|
||||||
|
|||||||
@ -2102,20 +2102,20 @@
|
|||||||
//2945,J_MUMMY
|
//2945,J_MUMMY
|
||||||
//2946,J_ANUBIS
|
//2946,J_ANUBIS
|
||||||
//2947,J_EGGYRA
|
//2947,J_EGGYRA
|
||||||
//2948,CURSED_SOLDIER
|
2948,CURSED_SOLDIER,Cursed Soldier,Cursed Soldier,110,18574,1,1907,1851,9,1258,1791,85,35,81,50,64,56,178,23,10,12,1,1,69,0x3885,150,1960,576,420,0,0,0,0,0,0,0,6672,1000,957,3000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
//2949,CURSED_SENTINEL
|
2949,CURSED_SENTINEL,Cursed Sentinel,Cursed Sentinel,110,14099,1,1634,1346,2,1347,1906,84,41,120,65,66,41,107,26,10,12,2,7,67,0x3885,175,914,1344,384,0,0,0,0,0,0,0,6672,1000,934,2500,1097,1500,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
//2950,BROKEN_MIND
|
2950,BROKEN_MIND,Broken Mind,Broken Mind,110,13520,1,1545,1557,1,1259,1799,67,27,69,37,36,10,64,5,10,12,1,6,67,0x2003885,200,920,720,200,0,0,0,0,0,0,0,6672,1000,6086,2500,683,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
//2951,FLOATING_WORD
|
2951,FLOATING_WORD,Floating Word,Floating Word,110,11276,1,1166,1034,1,1080,1509,93,40,111,90,60,70,139,65,10,12,0,6,68,0x2003885,150,972,648,432,0,0,0,0,0,0,0,6672,1000,938,3000,947,2500,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
//2952,LIKE_LOVE
|
2952,LIKE_LOVE,Like Love,Like Love,110,14008,1,1505,1667,2,1182,1183,64,51,62,27,25,55,102,20,10,12,1,6,64,0x2003885,150,1056,1056,336,0,0,0,0,0,0,0,6672,1000,929,2500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
//2953,CURSED_MEMORY
|
2953,CURSED_MEMORY,Cursed Memory,Cursed Memory,110,18045,1,1802,1623,1,1310,1867,89,28,87,39,58,5,82,10,10,12,1,1,69,0x3885,350,1768,500,192,0,0,0,0,0,0,0,6672,1000,957,3000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
//2954,COLORLESS_VOW
|
2954,COLORLESS_VOW,Colorless Vow,Colorless Vow,110,19194,0,1939,1881,1,1478,2121,95,41,84,35,60,20,85,15,10,12,1,1,69,0x3885,350,0,500,0,0,0,0,0,0,0,0,6672,1000,958,3500,1063,2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
//2955,OLD_FRIENDSHIP
|
2955,OLD_FRIENDSHIP,Old Friendship,Old Friendship,110,12614,0,1306,1328,0,1147,1638,78,5,56,12,19,11,30,10,10,12,1,1,49,0x3885,250,2460,912,0,0,0,0,0,0,0,0,6672,1000,932,3500,1098,2500,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
//2956,SWEET_SLAUGHTER
|
2956,SWEET_SLAUGHTER,Sweet Slaughter,Sweet Slaughter,110,13986,0,1960,1587,0,1216,1709,125,10,121,48,40,31,125,32,10,12,2,1,29,0x3885,350,1538,1000,396,0,0,0,0,0,0,0,6672,1000,929,2000,682,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
//2957,FORGOTTEN_NAME
|
2957,FORGOTTEN_NAME,Forgotten Name,Forgotten Name,120,19546,1,1505,1485,2,1093,1520,111,38,121,29,51,43,100,3,10,12,1,1,49,0x3885,155,1169,1152,480,0,0,0,0,0,0,0,6672,1500,682,5000,683,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
//2958,FATAL_DAYS
|
2958,FATAL_DAYS,Fatal Days,Fatal Days,120,24240,1,2052,2026,2,1025,1428,72,15,100,71,63,85,115,37,10,12,1,6,67,0x2003885,190,720,384,480,0,0,0,0,0,0,0,6672,1500,1050,2500,1038,2500,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
//2959,TORTUROUS_REDEEMER
|
2959,TORTUROUS_REDEEMER,Torturous Redeemer,Torturous Redeemer,120,103342,0,10590,8378,0,1253,1753,144,28,133,69,72,55,165,44,10,12,1,7,62,0x3885,200,672,420,360,0,0,0,0,0,0,0,6672,10000,6672,10000,923,2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
//2960,MM_FLAMECROSS
|
//2960,MM_FLAMECROSS
|
||||||
//2961,E_TORTUROUS_REDEEMER
|
2961,E_TORTUROUS_REDEEMER,Torturous Redeemer,Torturous Redeemer,120,103342,1,10590,8378,1,1253,1753,144,28,133,69,72,55,165,44,10,12,1,7,62,0x3885,200,672,420,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
//2962,E_DEVILING
|
//2962,E_DEVILING
|
||||||
//2963,WOODIE
|
//2963,WOODIE
|
||||||
//2964,EXP_1000
|
//2964,EXP_1000
|
||||||
@ -3034,7 +3034,17 @@
|
|||||||
//3874,AB_MOB_048
|
//3874,AB_MOB_048
|
||||||
//3875,AB_MOB_049
|
//3875,AB_MOB_049
|
||||||
//3876,AB_MOB_050
|
//3876,AB_MOB_050
|
||||||
|
//3877,E_NYAIL_PIG
|
||||||
|
//3878,E_PIT
|
||||||
|
//3879,E_SEA_WORMS
|
||||||
|
//3880,E_SMALL_SWIRL
|
||||||
|
//3881,E_RIPE_WATERMELON
|
||||||
|
//3882,E_MD_NYAILO
|
||||||
|
//3883,E_MD_NYAILO_LEG
|
||||||
|
//3884,E_MD_S_TREASURE_BOX
|
||||||
|
//3885,E_MD_B_TREASURE_BOX
|
||||||
|
//3886,E_MD_BOX_PUPPET
|
||||||
|
//3887,E_MD_DEPRESS_SOUL
|
||||||
//3888,TW_I_QUEEN_SCARABA
|
//3888,TW_I_QUEEN_SCARABA
|
||||||
//3889,TW_GIOIA
|
//3889,TW_GIOIA
|
||||||
//3890,TW_TIMEHOLDER
|
//3890,TW_TIMEHOLDER
|
||||||
@ -3051,3 +3061,42 @@
|
|||||||
//3901,MD_ORK_HERO
|
//3901,MD_ORK_HERO
|
||||||
//3902,MD_ORC_LORD
|
//3902,MD_ORC_LORD
|
||||||
//3903,MD_ORC_FLOWER
|
//3903,MD_ORC_FLOWER
|
||||||
|
|
||||||
|
//3910,E_EMPEL_1
|
||||||
|
//3911,E_GIBBET
|
||||||
|
//3912,E_LOLI_RURI
|
||||||
|
//3913,E_DULLAHAN
|
||||||
|
//3914,E_BLOODY_MURDERER
|
||||||
|
//3915,E_EMPEL_1B
|
||||||
|
//3916,JP_E_MONSTER_74
|
||||||
|
//3917,JP_E_MONSTER_75
|
||||||
|
//3918,JP_E_MONSTER_76
|
||||||
|
//3919,JP_E_MONSTER_77
|
||||||
|
//3920,JP_E_MONSTER_78
|
||||||
|
//3921,JP_E_MONSTER_79
|
||||||
|
//3922,JP_E_MONSTER_80
|
||||||
|
//3923,JP_E_MONSTER_81
|
||||||
|
//3924,JP_E_MONSTER_82
|
||||||
|
//3925,JP_E_MONSTER_83
|
||||||
|
//3926,JP_E_MONSTER_84
|
||||||
|
//3927,JP_E_MONSTER_85
|
||||||
|
//3928,JP_E_MONSTER_86
|
||||||
|
//3929,JP_E_MONSTER_87
|
||||||
|
//3930,JP_E_MONSTER_88
|
||||||
|
//3931,JP_E_MONSTER_89
|
||||||
|
//3932,JP_E_MONSTER_90
|
||||||
|
//3933,JP_E_MONSTER_91
|
||||||
|
//3934,JP_E_MONSTER_92
|
||||||
|
//3935,JP_E_MONSTER_93
|
||||||
|
//3936,JP_E_MONSTER_94
|
||||||
|
//3937,JP_E_MONSTER_95
|
||||||
|
//3938,JP_E_MONSTER_96
|
||||||
|
//3939,JP_E_MONSTER_97
|
||||||
|
//3940,JP_E_MONSTER_98
|
||||||
|
//3941,JP_E_MONSTER_99
|
||||||
|
//3942,JP_E_MONSTER_100
|
||||||
|
//3943,JP_E_MONSTER_101
|
||||||
|
//3944,JP_E_MONSTER_102
|
||||||
|
//3945,JP_E_MONSTER_103
|
||||||
|
//3946,JP_E_MONSTER_104
|
||||||
|
//3947,JP_E_MONSTER_105
|
||||||
|
|||||||
@ -46,11 +46,11 @@
|
|||||||
2700,28705,250,RDMOPTG_Crimson_Weapon // C2_PORCELLIO
|
2700,28705,250,RDMOPTG_Crimson_Weapon // C2_PORCELLIO
|
||||||
2745,13127,250,RDMOPTG_None // C2_MOLE
|
2745,13127,250,RDMOPTG_None // C2_MOLE
|
||||||
2746,1939,250,RDMOPTG_Crimson_Weapon // C3_MIYABI_NINGYO
|
2746,1939,250,RDMOPTG_Crimson_Weapon // C3_MIYABI_NINGYO
|
||||||
1102,2009,50,RDMOPTG_None // BATHORY
|
1102,1680,50,RDMOPTG_None // BATHORY
|
||||||
1155,16040,50,RDMOPTG_Crimson_Weapon // PETIT
|
1155,16040,50,RDMOPTG_Crimson_Weapon // PETIT
|
||||||
2714,16040,250,RDMOPTG_Crimson_Weapon // C1_PETIT
|
2714,16040,250,RDMOPTG_Crimson_Weapon // C1_PETIT
|
||||||
2715,16040,250,RDMOPTG_Crimson_Weapon // C2_PETIT
|
2715,16040,250,RDMOPTG_Crimson_Weapon // C2_PETIT
|
||||||
2885,2009,250,RDMOPTG_None // C4_BATHORY
|
2885,1680,250,RDMOPTG_None // C4_BATHORY
|
||||||
2199,28705,50,RDMOPTG_Crimson_Weapon // SIORAVA
|
2199,28705,50,RDMOPTG_Crimson_Weapon // SIORAVA
|
||||||
1143,16040,50,RDMOPTG_Crimson_Weapon // MARIONETTE
|
1143,16040,50,RDMOPTG_Crimson_Weapon // MARIONETTE
|
||||||
1413,1995,50,RDMOPTG_Crimson_Weapon // WILD_GINSENG
|
1413,1995,50,RDMOPTG_Crimson_Weapon // WILD_GINSENG
|
||||||
@ -106,9 +106,9 @@
|
|||||||
1653,28705,50,RDMOPTG_Crimson_Weapon // WHIKEBAIN
|
1653,28705,50,RDMOPTG_Crimson_Weapon // WHIKEBAIN
|
||||||
1655,1839,50,RDMOPTG_Crimson_Weapon // EREND
|
1655,1839,50,RDMOPTG_Crimson_Weapon // EREND
|
||||||
1655,16040,50,RDMOPTG_Crimson_Weapon // EREND
|
1655,16040,50,RDMOPTG_Crimson_Weapon // EREND
|
||||||
1657,2009,50,RDMOPTG_None // RAWREL
|
1657,1680,50,RDMOPTG_None // RAWREL
|
||||||
1829,21015,50,RDMOPTG_Crimson_Weapon // SWORD_GUARDIAN
|
1829,21015,50,RDMOPTG_Crimson_Weapon // SWORD_GUARDIAN
|
||||||
2692,2009,250,RDMOPTG_None // C3_RAWREL
|
2692,1680,250,RDMOPTG_None // C3_RAWREL
|
||||||
1654,13454,50,RDMOPTG_Crimson_Weapon // ARMAIA
|
1654,13454,50,RDMOPTG_Crimson_Weapon // ARMAIA
|
||||||
1654,28106,50,RDMOPTG_Crimson_Weapon // ARMAIA
|
1654,28106,50,RDMOPTG_Crimson_Weapon // ARMAIA
|
||||||
1656,1939,50,RDMOPTG_Crimson_Weapon // KAVAC
|
1656,1939,50,RDMOPTG_Crimson_Weapon // KAVAC
|
||||||
|
|||||||
@ -10916,6 +10916,54 @@
|
|||||||
2923,Owl Marquees@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,6,0x3695,,,,,
|
2923,Owl Marquees@NPC_EMOTION,idle,197,1,2000,0,5000,yes,self,always,0,6,0x3695,,,,,
|
||||||
2923,Owl Marquees@NPC_SUMMONSLAVE,idle,196,2,10000,2000,60000,no,self,slavele,0,2922,,,,,,
|
2923,Owl Marquees@NPC_SUMMONSLAVE,idle,196,2,10000,2000,60000,no,self,slavele,0,2922,,,,,,
|
||||||
|
|
||||||
|
// Ghost Palace Memorial
|
||||||
|
2948,Cursed Soldier@NPC_BLINDATTACK,attack,177,5,500,0,5000,no,target,always,0,,,,,,,
|
||||||
|
2948,Cursed Soldier@AC_DOUBLE,attack,46,5,500,0,5000,no,target,always,0,,,,,,,
|
||||||
|
2948,Cursed Soldier@NPC_MAGICALATTACK,attack,192,1,500,800,5000,yes,target,always,0,,,,,,,
|
||||||
|
2948,Cursed Soldier@AC_SHOWER,attack,47,3,500,0,5000,no,target,always,0,,,,,,,
|
||||||
|
2949,Cursed Sentinel@AS_SONICBLOW,attack,136,7,500,800,5000,yes,target,always,0,,,,,,29,
|
||||||
|
2949,Cursed Sentinel@NPC_CURSEATTACK,attack,181,5,500,800,5000,yes,target,always,0,,,,,,29,
|
||||||
|
2950,Broken Mind@NPC_BLINDATTACK,attack,177,3,1500,0,5000,no,target,always,0,,,,,,1,
|
||||||
|
2950,Broken Mind@NPC_BLINDATTACK,chase,177,3,1500,0,5000,no,target,always,0,,,,,,1,
|
||||||
|
2950,Broken Mind@NPC_BLOODDRAIN,attack,199,1,500,0,5000,no,target,always,0,,,,,,26,
|
||||||
|
2950,Broken Mind@NPC_CURSEATTACK,attack,181,3,500,800,5000,yes,target,always,0,,,,,,0,
|
||||||
|
2950,Broken Mind@NPC_CURSEATTACK,chase,181,3,500,800,5000,yes,target,always,0,,,,,,0,
|
||||||
|
2950,Broken Mind@CR_REFLECTSHIELD,attack,252,2,500,0,300000,yes,self,always,0,,,,,,7,
|
||||||
|
2950,Broken Mind@NPC_PETRIFYATTACK,attack,180,3,500,500,5000,yes,target,always,0,,,,,,2,
|
||||||
|
2950,Broken Mind@NPC_PETRIFYATTACK,chase,180,3,500,500,5000,yes,target,always,0,,,,,,2,
|
||||||
|
2951,Floating Word@NPC_BLOODDRAIN,attack,199,1,500,0,5000,no,target,always,0,,,,,,2,
|
||||||
|
2951,Floating Word@NPC_EMOTION,idle,197,1,2000,0,5000,no,self,always,0,29,,,,,,
|
||||||
|
2951,Floating Word@MG_FIREBALL,chase,17,5,1500,500,5000,yes,target,always,0,,,,,,,
|
||||||
|
2951,Floating Word@MO_BODYRELOCATION,chase,264,1,2000,500,5000,yes,target,always,0,,,,,,,
|
||||||
|
2952,Like Love@HT_SHOCKWAVE,idle,118,5,500,0,300000,no,around2,always,0,,,,,,29,
|
||||||
|
2952,Like Love@MG_LIGHTNINGBOLT,attack,20,5,500,1500,5000,no,target,always,0,,,,,,6,
|
||||||
|
2952,Like Love@MG_LIGHTNINGBOLT,chase,20,5,500,1500,5000,no,target,always,0,,,,,,6,
|
||||||
|
2952,Like Love@NPC_EMOTION,idle,197,1,2000,0,5000,no,self,always,0,29,,,,,,
|
||||||
|
2952,Like Love@NPC_MAGICALATTACK,attack,192,1,500,1000,5000,yes,target,always,0,,,,,,9,
|
||||||
|
2952,Like Love@NPC_UNDEADATTACK,attack,347,2,2000,0,5000,no,target,always,0,,,,,,,
|
||||||
|
2952,Like Love@WZ_JUPITEL,attack,84,3,500,1500,5000,no,target,always,0,,,,,,6,
|
||||||
|
2952,Like Love@WZ_JUPITEL,chase,84,3,500,1500,5000,no,target,always,0,,,,,,6,
|
||||||
|
2953,Cursed Memory@NPC_POISON,attack,176,3,500,800,5000,yes,target,always,0,,,,,,,
|
||||||
|
2953,Cursed Memory@NPC_POISONATTACK,attack,188,3,500,800,5000,yes,target,always,0,,,,,,,
|
||||||
|
2953,Cursed Memory@NPC_UNDEADATTACK,attack,347,2,500,500,5000,yes,target,always,0,,,,,,,
|
||||||
|
2954,Colorless Vow@NPC_CRITICALSLASH,attack,170,1,500,500,5000,yes,target,always,0,,,,,,,
|
||||||
|
2954,Colorless Vow@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,no,target,always,0,,,,,,,
|
||||||
|
2955,Old Friendship@NPC_POISON,attack,176,3,500,800,5000,yes,target,always,0,,,,,,,
|
||||||
|
2955,Old Friendship@NPC_POISON,angry,176,3,500,800,5000,yes,target,always,0,,,,,,,
|
||||||
|
2956,Sweet Slaughter@AS_GRIMTOOTH,chase,137,5,2000,0,5000,no,target,always,0,,,,,,,
|
||||||
|
2956,Sweet Slaughter@BS_MAXIMIZE,attack,114,5,500,1000,5000,yes,self,always,0,,,,,,,
|
||||||
|
2956,Sweet Slaughter@BS_MAXIMIZE,chase,114,5,500,1000,5000,yes,self,always,0,,,,,,,
|
||||||
|
2956,Sweet Slaughter@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,no,target,always,0,,,,,,9,
|
||||||
|
2956,Sweet Slaughter@NPC_STUNATTACK,attack,179,3,500,1500,5000,yes,target,always,0,,,,,,,
|
||||||
|
2957,Forgotten Name@NPC_CRITICALSLASH,attack,170,1,1000,500,5000,yes,target,always,0,,,,,,,
|
||||||
|
2957,Forgotten Name@NPC_DARKNESSATTACK,attack,190,3,500,500,5000,yes,target,always,0,,,,,,6,
|
||||||
|
2958,Fatal Days@MG_SOULSTRIKE,chase,13,5,2000,0,3000,no,target,always,0,,,,,,,
|
||||||
|
2958,Fatal Days@AS_GRIMTOOTH,attack,137,5,10000,0,700,no,target,always,0,,,,,,,
|
||||||
|
2959,Torturous Redeemer@SM_MAGNUM,attack,7,5,500,0,10000,no,self,always,0,,,,,,,
|
||||||
|
2959,Torturous Redeemer@NPC_FIREATTACK,attack,186,3,1000,1000,200000,yes,target,always,0,,,,,,,
|
||||||
|
2959,Torturous Redeemer@WZ_FIREPILLAR,attack,80,5,500,0,10000,no,around2,always,0,,,,,,,
|
||||||
|
2959,Torturous Redeemer@SM_BASH,attack,5,5,500,0,5000,no,target,always,0,,,,,,,
|
||||||
|
|
||||||
// Horror Toy Factory
|
// Horror Toy Factory
|
||||||
2987,Decorated Evil Tree@AS_GRIMTOOTH,chase,137,5,2000,0,5000,yes,target,always,0,,,,,,,
|
2987,Decorated Evil Tree@AS_GRIMTOOTH,chase,137,5,2000,0,5000,yes,target,always,0,,,,,,,
|
||||||
2987,Decorated Evil Tree@NPC_CURSEATTACK,attack,181,3,1000,0,5000,yes,target,always,0,,,,,,6,
|
2987,Decorated Evil Tree@NPC_CURSEATTACK,attack,181,3,1000,0,5000,yes,target,always,0,,,,,,6,
|
||||||
|
|||||||
@ -136,6 +136,10 @@
|
|||||||
1239,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Shop guide"
|
1239,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Shop guide"
|
||||||
1240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Shop guide"
|
1240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Shop guide"
|
||||||
|
|
||||||
|
// Ghost Palace memorial
|
||||||
|
1261,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Cursed Swordman"
|
||||||
|
1263,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Cursed Swordman"
|
||||||
|
|
||||||
2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Job Change to Blacksmith"
|
2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Job Change to Blacksmith"
|
||||||
2001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Job Change to Blacksmith"
|
2001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Job Change to Blacksmith"
|
||||||
2002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Job Change to Blacksmith"
|
2002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Job Change to Blacksmith"
|
||||||
|
|||||||
106
db/readme.md
Normal file
106
db/readme.md
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
# Import Directories
|
||||||
|
|
||||||
|
## What is the import directory for?
|
||||||
|
|
||||||
|
The `import/` directory provides a way for you to change your config settings without the need to even touch the main `/conf/` and `/db/` files.
|
||||||
|
|
||||||
|
By placing your custom entries into the `import/` directory within these two locations, your core files will not need to have any conflicts resolved when you update your server. You store your changes, and the rest is updated with rAthena.
|
||||||
|
|
||||||
|
## How does this work?
|
||||||
|
|
||||||
|
Think of "import" as in "override". Place only the settings you have changed in the import files, or settings you are "overriding".
|
||||||
|
|
||||||
|
For example, when setting up a server there are always a few config settings that users would like to change in order for rAthena to suit their needs. The following example will show you how to use the `/db/import/` directory correctly. (for `/conf/import/` examples, see [/conf/readme.md](/conf/readme.md))
|
||||||
|
|
||||||
|
### Achievements
|
||||||
|
---
|
||||||
|
We want to add our own custom achievement that can be given to a player via an NPC Script and another that we can give to our GMs.
|
||||||
|
|
||||||
|
#### /db/import/achievement_db.yml
|
||||||
|
|
||||||
|
|
||||||
|
Achievements:
|
||||||
|
- ID: 280000
|
||||||
|
Group: "AG_GOAL_ACHIEVE"
|
||||||
|
Name: "Emperio"
|
||||||
|
Reward:
|
||||||
|
TitleID: 1035
|
||||||
|
Score: 50
|
||||||
|
- ID: 280001
|
||||||
|
Group: "AG_GOAL_ACHIEVE"
|
||||||
|
Name: "Staff"
|
||||||
|
Reward:
|
||||||
|
TitleID: 1036
|
||||||
|
Score: 50
|
||||||
|
|
||||||
|
|
||||||
|
### Instances
|
||||||
|
---
|
||||||
|
We want to add our own customized Housing Instance.
|
||||||
|
|
||||||
|
#### /db/import/instance_db.txt
|
||||||
|
|
||||||
|
// ID,Name,LimitTime,IdleTimeOut,EnterMap,EnterX,EnterY,Map2,Map3,...,Map255
|
||||||
|
35,Home,3600,900,1@home,24,6,2@home,3@home
|
||||||
|
|
||||||
|
|
||||||
|
### Mob Alias
|
||||||
|
---
|
||||||
|
We want to give a custom mob a Novice player sprite.
|
||||||
|
|
||||||
|
#### /db/import/mob_avail.txt
|
||||||
|
|
||||||
|
// Structure of Database:
|
||||||
|
// MobID,SpriteID{,Equipment}
|
||||||
|
3850,0
|
||||||
|
|
||||||
|
|
||||||
|
### Custom Maps
|
||||||
|
---
|
||||||
|
We want to add our own custom maps. For this we need to add our map names to `import/map_index.txt` and then to the `import/map_cache.dat` file for the Map Server to load.
|
||||||
|
|
||||||
|
#### /db/import/map_index.txt
|
||||||
|
|
||||||
|
1@home 1250
|
||||||
|
2@home
|
||||||
|
3@home
|
||||||
|
ev_has
|
||||||
|
shops
|
||||||
|
prt_pvp
|
||||||
|
|
||||||
|
|
||||||
|
### Item Trade Restrictions
|
||||||
|
---
|
||||||
|
We want to ensure that specific items cannot be traded, sold, dropped, placed in storage, etc.
|
||||||
|
|
||||||
|
#### /db/import/item_trade.txt
|
||||||
|
|
||||||
|
// Legend for 'TradeMask' field (bitmask):
|
||||||
|
// 1 - item can't be dropped
|
||||||
|
// 2 - item can't be traded (nor vended)
|
||||||
|
// 4 - wedded partner can override restriction 2
|
||||||
|
// 8 - item can't be sold to npcs
|
||||||
|
// 16 - item can't be placed in the cart
|
||||||
|
// 32 - item can't be placed in the storage
|
||||||
|
// 64 - item can't be placed in the guild storage
|
||||||
|
// 128 - item can't be attached to mail
|
||||||
|
// 256 - item can't be auctioned
|
||||||
|
// Full outright value = 511
|
||||||
|
34000,511,100 // Old Green Box
|
||||||
|
34001,511,100 // House Keys
|
||||||
|
34002,511,100 // Reputation Journal
|
||||||
|
|
||||||
|
|
||||||
|
### Custom Quests
|
||||||
|
---
|
||||||
|
We want to add our own custom quests to the quest_db.
|
||||||
|
|
||||||
|
#### /db/import/quest_db.txt
|
||||||
|
|
||||||
|
// Quest ID,Time Limit,Target1,Val1,Target2,Val2,Target3,Val3,MobID1,NameID1,Rate1,MobID2,NameID2,Rate2,MobID3,NameID3,Rate3,Quest Title
|
||||||
|
89001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Reputation Quest"
|
||||||
|
89002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Reputation Quest"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
We cannot stress enough how helpful this system is for everyone. The majority of git conflicts will simply go away if users make use of the `import/` system.
|
||||||
102
doc/achievements.txt
Normal file
102
doc/achievements.txt
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
//===== rAthena Documentation ================================
|
||||||
|
//= Achievement Database Structure
|
||||||
|
//===== By: ==================================================
|
||||||
|
//= rAthena Dev Team
|
||||||
|
//===== Last Updated: ========================================
|
||||||
|
//= 20170531
|
||||||
|
//===== Description: =========================================
|
||||||
|
//= Explanation of the achievements_db.yml file and structure.
|
||||||
|
//============================================================
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
ID: Unique achievement ID.
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Group: Achievement group type. Each achievement type calls a specific objective check.
|
||||||
|
Valid groups:
|
||||||
|
AG_ADD_FRIEND - Triggered when a player adds a friend.
|
||||||
|
AG_ADVENTURE - Does not trigger automatically. These are triggered by the achievementcomplete script command.
|
||||||
|
AG_BABY - Triggered when a player becomes a baby job.
|
||||||
|
AG_BATTLE - Triggered when a player kills a monster.
|
||||||
|
AG_CHATTING - Unknown.
|
||||||
|
AG_CHATTING_COUNT - Triggered when a player has a chatroom open and others join.
|
||||||
|
AG_CHATTING_CREATE - Triggered when a player creates a chatroom.
|
||||||
|
AG_CHATTING_DYING - Triggered when a player creates a chatroom and dies with it open.
|
||||||
|
AG_EAT - Unknown.
|
||||||
|
AG_GET_ITEM - Triggered when a player gets an item that has a specific sell value.
|
||||||
|
AG_GET_ZENY - Triggered when a player gets a specific amount of zeny at once.
|
||||||
|
AG_GOAL_ACHIEVE - Triggered when a player's achievement rank levels up.
|
||||||
|
AG_GOAL_LEVEL - Triggered when a player's base level or job level changes.
|
||||||
|
AG_GOAL_STATUS - Triggered when a player's base stats changes.
|
||||||
|
AG_HEAR - Unknown.
|
||||||
|
AG_JOB_CHANGE - Triggered when a player's job changes.
|
||||||
|
AG_MARRY - Triggered when two players get married.
|
||||||
|
AG_PARTY - Triggered when a player creates a party.
|
||||||
|
AG_ENCHANT_FAIL - Triggered when a player fails to refine an equipment.
|
||||||
|
AG_ENCHANT_SUCCESS - Triggered when a player successfully refines an equipment.
|
||||||
|
AG_SEE - Unknown.
|
||||||
|
AG_SPEND_ZENY - Triggered when a player spends any amount of zeny on vendors.
|
||||||
|
AG_TAMING - Triggered when a player tames a monster.
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Name: Achievement name. Not read into source but used for quick look ups.
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Target: A list of monster ID and count values that the achievement requires.
|
||||||
|
The target count can also be used for achievements that keep a counter while not being related to monster kills.
|
||||||
|
Capped at MAX_ACHIEVEMENT_OBJECTIVES.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
// Player must kill 5 Scorpions and 10 Poring.
|
||||||
|
Target:
|
||||||
|
- MobID: 1001
|
||||||
|
Count: 5
|
||||||
|
- MobID: 1002
|
||||||
|
Count: 10
|
||||||
|
|
||||||
|
Example 2:
|
||||||
|
// Player must have 100 or more of ARG0 value. Using the count target value is useful for achievements that are increased in increments
|
||||||
|
// and not checked for a total (UI_Type = 1).
|
||||||
|
// IE: In the achievement_list.lub file, UI_Type 0 is displayed as non-incremental while 1 shows a progress bar of completion for the achievement.
|
||||||
|
Condition: " ARG0 >= 100 "
|
||||||
|
Target:
|
||||||
|
Count: 100
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Condition: A conditional statement that must be met for the achievement to be considered complete. Accepts script constants, player variables, and
|
||||||
|
ARGX (where X is the argument vector value). The ARGX values are sent from the server to the achievement script engine on special events.
|
||||||
|
Below are two examples of how the ARGX feature works.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
// This function will send 1 argument (ARG0) with a value of i + 1 when a friend is added.
|
||||||
|
achievement_update_objective(f_sd, AG_ADD_FRIEND, 1, i + 1);
|
||||||
|
|
||||||
|
Example 2:
|
||||||
|
// This function will send 2 arguments (ARG0 and ARG1) with values of weapon level and refine level, respectively, when an equipment is
|
||||||
|
// successfully refined.
|
||||||
|
achievement_update_objective(sd, AG_REFINE_SUCCESS, 2, sd->inventory_data[i]->wlv, sd->inventory.u.items_inventory[i].refine);
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Map: A map name that is used for the AG_CHATTING type which increments the counter based on the player's map.
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Dependent: A list of achievement IDs that need to be completed before this achievement is considered complete.
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Reward: A list of rewards that are given on completion. All fields are optional.
|
||||||
|
ItemID: Item ID
|
||||||
|
Amount: Amount of Item ID (default 1)
|
||||||
|
Script: Bonus Script
|
||||||
|
TitleID: Title ID
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Score: Achievement points that are given on completion.
|
||||||
@ -1320,12 +1320,12 @@ This will also send a packet to clients causing them to close.
|
|||||||
@reloadmobdb
|
@reloadmobdb
|
||||||
@reloadmotd
|
@reloadmotd
|
||||||
@reloadmsgconf
|
@reloadmsgconf
|
||||||
@reloadpacketdb
|
|
||||||
@reloadpcdb
|
@reloadpcdb
|
||||||
@reloadquestdb
|
@reloadquestdb
|
||||||
@reloadscript
|
@reloadscript
|
||||||
@reloadskilldb
|
@reloadskilldb
|
||||||
@reloadstatusdb
|
@reloadstatusdb
|
||||||
|
@reloadachievementdb
|
||||||
|
|
||||||
Reloads a database or configuration file.
|
Reloads a database or configuration file.
|
||||||
|
|
||||||
@ -1333,10 +1333,10 @@ Databases:
|
|||||||
-- instancedb: Instance Database
|
-- instancedb: Instance Database
|
||||||
-- itemdb: Item Database
|
-- itemdb: Item Database
|
||||||
-- mobdb: Monster Database
|
-- mobdb: Monster Database
|
||||||
-- packetdb: Packet Database
|
|
||||||
-- questdb: Quest Database
|
-- questdb: Quest Database
|
||||||
-- script: NPC Scripts
|
-- script: NPC Scripts
|
||||||
-- skilldb: Skill Database
|
-- skilldb: Skill Database
|
||||||
|
-- achievementdb: Achievement Database
|
||||||
|
|
||||||
Configuration files:
|
Configuration files:
|
||||||
-- atcommand: Atcommand Settings
|
-- atcommand: Atcommand Settings
|
||||||
@ -1354,12 +1354,12 @@ Affected files:
|
|||||||
-- mobdb: mob_db.txt, mob_item_ratio.txt, mob_chat_db.txt, mob_avail.txt, mob_race2_db.txt, mob_branch.txt, mob_poring.txt, mob_boss.txt, mob_pouch.txt, mob_classchange.txt, pet_db.txt, homunculus_db.txt, homun_skill_tree.txt, exp_homun.txt, mercenary_db.txt, mercenary_skill_db.txt, elemental_db.txt, elemental_skill_db.txt
|
-- mobdb: mob_db.txt, mob_item_ratio.txt, mob_chat_db.txt, mob_avail.txt, mob_race2_db.txt, mob_branch.txt, mob_poring.txt, mob_boss.txt, mob_pouch.txt, mob_classchange.txt, pet_db.txt, homunculus_db.txt, homun_skill_tree.txt, exp_homun.txt, mercenary_db.txt, mercenary_skill_db.txt, elemental_db.txt, elemental_skill_db.txt
|
||||||
-- motd: motd.txt
|
-- motd: motd.txt
|
||||||
-- msgconf: atcommand_athena.conf
|
-- msgconf: atcommand_athena.conf
|
||||||
-- packetdb: packet_db.txt
|
|
||||||
-- pcdb: statpoint.txt, job_exp.txt, skill_tree.txt, attr_fix.txt, job_db1.txt, job_db2.txt, job_basehpsp_db.txt, job_maxhpsp_db.txt, job_param_db.txt, level_penalty.txt
|
-- pcdb: statpoint.txt, job_exp.txt, skill_tree.txt, attr_fix.txt, job_db1.txt, job_db2.txt, job_basehpsp_db.txt, job_maxhpsp_db.txt, job_param_db.txt, level_penalty.txt
|
||||||
-- questdb: quest_db.txt
|
-- questdb: quest_db.txt
|
||||||
-- script: /npc/*.txt, /npc/*.conf
|
-- script: /npc/*.txt, /npc/*.conf
|
||||||
-- skilldb: skill_db.txt, const.txt, skill_require_db.txt, skill_cast_db.txt, skill_castnodex_db.txt, skill_nocast_db.txt, skill_copyable_db.txt, skill_improvise_db.txt, skill_changematerial_db.txt, skill_nonearnpc_db.txt, skill_damage_db.txt, skill_unit_db.txt, abra_db.txt, create_arrow_db.txt, produce_db.txt, spellbook_db.txt, magicmushroom_db.txt
|
-- skilldb: skill_db.txt, const.txt, skill_require_db.txt, skill_cast_db.txt, skill_castnodex_db.txt, skill_nocast_db.txt, skill_copyable_db.txt, skill_improvise_db.txt, skill_changematerial_db.txt, skill_nonearnpc_db.txt, skill_damage_db.txt, skill_unit_db.txt, abra_db.txt, create_arrow_db.txt, produce_db.txt, spellbook_db.txt, magicmushroom_db.txt
|
||||||
-- statusdb: attr_fix.txt, size_fix.txt, refine_db.tx
|
-- statusdb: attr_fix.txt, size_fix.txt, refine_db.txt
|
||||||
|
-- achievementdb: achievement_db.conf
|
||||||
|
|
||||||
Restriction:
|
Restriction:
|
||||||
- Used from 'atcommand' or 'useatcmd'. For @reload & @reloadscript
|
- Used from 'atcommand' or 'useatcmd'. For @reload & @reloadscript
|
||||||
|
|||||||
@ -47,9 +47,9 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
|
|||||||
|
|
||||||
0x2713:
|
0x2713:
|
||||||
Type: AH
|
Type: AH
|
||||||
Structure: <cmd>.W <aid>.L <login_id1>.L <login_id2>.L <sex>.B <auth>.B <request_id>.L <version>.L <clienttype>.B
|
Structure: <cmd>.W <aid>.L <login_id1>.L <login_id2>.L <sex>.B <auth>.B <request_id>.L <clienttype>.B
|
||||||
index: 0,2,6,10,14,15,16,20,24
|
index: 0,2,6,10,14,15,16,20
|
||||||
len: 25
|
len: 21
|
||||||
parameter:
|
parameter:
|
||||||
- cmd : packet identification (0x2713)
|
- cmd : packet identification (0x2713)
|
||||||
- aid : account identification
|
- aid : account identification
|
||||||
@ -58,7 +58,6 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
|
|||||||
- sex: the sex of the account
|
- sex: the sex of the account
|
||||||
- ok : 1=auth failed, 1=ok
|
- ok : 1=auth failed, 1=ok
|
||||||
- request_id: unknown @FIXME
|
- request_id: unknown @FIXME
|
||||||
- version: client version, (clientinfo version)
|
|
||||||
- clienttype: unknown @FIXME
|
- clienttype: unknown @FIXME
|
||||||
desc:
|
desc:
|
||||||
- Acknowledge the authentication request from char-serv
|
- Acknowledge the authentication request from char-serv
|
||||||
@ -1190,6 +1189,27 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
|
|||||||
desc:
|
desc:
|
||||||
- Requests to the inter server to save a character's quest log entries.
|
- Requests to the inter server to save a character's quest log entries.
|
||||||
|
|
||||||
|
0x3062
|
||||||
|
Type: ZI
|
||||||
|
Structure: <cmd>.W <cid>.L
|
||||||
|
index: 0,2
|
||||||
|
len: 6
|
||||||
|
parameter:
|
||||||
|
- cmd : packet identification (0x3062)
|
||||||
|
- cid
|
||||||
|
desc:
|
||||||
|
- Requests a character's achievement log entries to the inter server.
|
||||||
|
|
||||||
|
0x3063
|
||||||
|
Type: ZI
|
||||||
|
Structure: <cmd>.W <len>.W <cid>.L <achievement_log>.?B
|
||||||
|
index: 0,2,4,8
|
||||||
|
len: variable: 8+count
|
||||||
|
parameter:
|
||||||
|
- cmd : packet identification (0x3063)
|
||||||
|
desc:
|
||||||
|
- Requests to the inter server to save a character's achievement log entries.
|
||||||
|
|
||||||
0x3070
|
0x3070
|
||||||
Type: ZI
|
Type: ZI
|
||||||
Structure: <cmd>.W <size>.W <merc>.?B
|
Structure: <cmd>.W <size>.W <merc>.?B
|
||||||
@ -2769,16 +2789,15 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
|
|||||||
|
|
||||||
0x2b02
|
0x2b02
|
||||||
Type: ZA
|
Type: ZA
|
||||||
Structure: <cmd>.W <id>.L <login_id1>.L <login_id2>.L <s_ip>.L <packet_ver>.B
|
Structure: <cmd>.W <id>.L <login_id1>.L <login_id2>.L <s_ip>.L
|
||||||
index: 0,2,6,10,14,18
|
index: 0,2,6,10,14
|
||||||
len: 19
|
len: 18
|
||||||
parameter:
|
parameter:
|
||||||
- cmd : packet identification (0x2b02)
|
- cmd : packet identification (0x2b02)
|
||||||
- id
|
- id
|
||||||
- login_id1
|
- login_id1
|
||||||
- login_id2
|
- login_id2
|
||||||
- s_ip
|
- s_ip
|
||||||
- packet_ver
|
|
||||||
desc:
|
desc:
|
||||||
- chrif_charselectreq
|
- chrif_charselectreq
|
||||||
|
|
||||||
|
|||||||
@ -1037,6 +1037,7 @@ From here on, we will have the commands sorted as follow:
|
|||||||
12.- Mercenary commands.
|
12.- Mercenary commands.
|
||||||
13.- Party commands.
|
13.- Party commands.
|
||||||
14.- Channel commands.
|
14.- Channel commands.
|
||||||
|
15.- Achievement commands.
|
||||||
|
|
||||||
=====================
|
=====================
|
||||||
|1.- Basic commands.|
|
|1.- Basic commands.|
|
||||||
@ -3018,10 +3019,10 @@ It will only return numbers. If another type is supplied -1 will be returned.
|
|||||||
|
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
*gettimestr(<format string>,<max length>)
|
*gettimestr(<"time format">,<max length>{,<time_tick>})
|
||||||
|
|
||||||
This function will return a string containing time data as specified by the
|
This function will return a string containing time data as specified by the
|
||||||
format string.
|
time format.
|
||||||
|
|
||||||
This uses the C function 'strfmtime', which obeys special format characters. For
|
This uses the C function 'strfmtime', which obeys special format characters. For
|
||||||
a full description see, for example, the description of 'strfmtime' at
|
a full description see, for example, the description of 'strfmtime' at
|
||||||
@ -3033,7 +3034,11 @@ The example given in rAthena sample scripts works like this:
|
|||||||
|
|
||||||
mes gettimestr("%Y-%m/%d %H:%M:%S",21);
|
mes gettimestr("%Y-%m/%d %H:%M:%S",21);
|
||||||
|
|
||||||
This will print a full date and time like 'YYYY-MM/DD HH:MM:SS'.
|
The example above will print the current date and time like 'YYYY-MM/DD HH:MM:SS'.
|
||||||
|
The following example will print the date and time when the player's VIP status
|
||||||
|
expires by the given <time_tick>:
|
||||||
|
|
||||||
|
mes gettimestr("%Y-%m/%d %H:%M:%S",21,vip_status(VIP_STATUS_EXPIRE));
|
||||||
|
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
@ -3723,18 +3728,6 @@ The renewal feature to check is determined by type.
|
|||||||
4 - RENEWAL_LVDMG (renewal level modifier on damage)
|
4 - RENEWAL_LVDMG (renewal level modifier on damage)
|
||||||
5 - RENEWAL_ASPD (renewal ASPD)
|
5 - RENEWAL_ASPD (renewal ASPD)
|
||||||
|
|
||||||
---------------------------------------
|
|
||||||
|
|
||||||
*is_clientver(<type>,<value>{,<char id>})
|
|
||||||
|
|
||||||
Checks a character's client version against a specified value. If no char id is
|
|
||||||
given, the command will run for the invoking character. The function will return
|
|
||||||
1 if the player's version is greater than or equal to the value, and 0 otherwise.
|
|
||||||
|
|
||||||
Available types are:
|
|
||||||
0 - version number (packet_db_ver)
|
|
||||||
1 - client date (YYYYMMDD)
|
|
||||||
|
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
\\
|
\\
|
||||||
3,1.- Item-related commands
|
3,1.- Item-related commands
|
||||||
@ -5169,7 +5162,7 @@ window, to avoid any disruption when both windows overlap.
|
|||||||
*openstorage2 <storage_id>,<mode>{,<account_id>};
|
*openstorage2 <storage_id>,<mode>{,<account_id>};
|
||||||
|
|
||||||
Just like the 'openstorage' command, except this command can open additional storages
|
Just like the 'openstorage' command, except this command can open additional storages
|
||||||
by the specified <storage_id>. For <storage_id>, please read the conf/inter_server.conf
|
by the specified <storage_id>. For <storage_id>, please read the conf/inter_server.yml
|
||||||
for storage groups.
|
for storage groups.
|
||||||
|
|
||||||
Values for <mode> are:
|
Values for <mode> are:
|
||||||
@ -5327,6 +5320,7 @@ Used in reset NPC's (duh!)
|
|||||||
*sc_start2 <effect type>,<ticks>,<value 1>,<value 2>{,<rate>,<flag>{,<GID>}};
|
*sc_start2 <effect type>,<ticks>,<value 1>,<value 2>{,<rate>,<flag>{,<GID>}};
|
||||||
*sc_start4 <effect type>,<ticks>,<value 1>,<value 2>,<value 3>,<value 4>{,<rate>,<flag>{,<GID>}};
|
*sc_start4 <effect type>,<ticks>,<value 1>,<value 2>,<value 3>,<value 4>{,<rate>,<flag>{,<GID>}};
|
||||||
*sc_end <effect type>{,<GID>};
|
*sc_end <effect type>{,<GID>};
|
||||||
|
*sc_end_class {<char_id>};
|
||||||
|
|
||||||
These commands will bestow a status effect on a character.
|
These commands will bestow a status effect on a character.
|
||||||
|
|
||||||
@ -5364,6 +5358,9 @@ and theirs val1, val2, val3, and val4 usage in source.
|
|||||||
'sc_end' will remove a specified status effect. If SC_ALL (-1) is given, it will
|
'sc_end' will remove a specified status effect. If SC_ALL (-1) is given, it will
|
||||||
perform a complete removal of all statuses (although permanent ones will re-apply).
|
perform a complete removal of all statuses (although permanent ones will re-apply).
|
||||||
|
|
||||||
|
'sc_end_class' works like 'sc_end' but will remove all status effects from any learned
|
||||||
|
skill on the invoking character.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
// This will poison the invoking character for 10 minutes at 50% chance.
|
// This will poison the invoking character for 10 minutes at 50% chance.
|
||||||
sc_start SC_POISON,600000,0,5000;
|
sc_start SC_POISON,600000,0,5000;
|
||||||
@ -6404,9 +6401,22 @@ This command works almost like sleep2, but displays a progress bar
|
|||||||
above the head of the currently attached character (like cast bar).
|
above the head of the currently attached character (like cast bar).
|
||||||
Once the given amount of seconds passes, the script resumes. If the
|
Once the given amount of seconds passes, the script resumes. If the
|
||||||
character moves while the progress bar progresses, it is aborted and
|
character moves while the progress bar progresses, it is aborted and
|
||||||
the script ends. The color format is in RGB (0xRRGGBB). The color is
|
the script ends. The color format is in RGB (RRGGBB). The color is
|
||||||
currently ignored by the client and appears always green.
|
currently ignored by the client and appears always green.
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
*progressbar_npc "<color>",<seconds>{,<"NPC Name">};
|
||||||
|
|
||||||
|
This command works like progressbar, but displays a progress bar
|
||||||
|
above the head of the currently attached (or given) NPC. Once the
|
||||||
|
given amount of seconds passes, the script resumes. The color format
|
||||||
|
is in RGB (RRGGBB). The color is currently ignored by the client and
|
||||||
|
appears always green.
|
||||||
|
|
||||||
|
Note: If a player is attached to the NPC, they are detached from the NPC
|
||||||
|
as soon as the progress bar activates.
|
||||||
|
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
//
|
//
|
||||||
5,1.- End of time-related commands
|
5,1.- End of time-related commands
|
||||||
@ -7350,12 +7360,17 @@ Examples:
|
|||||||
*unitattack <GID>,<Target ID>{,<action type>};
|
*unitattack <GID>,<Target ID>{,<action type>};
|
||||||
*unitattack <GID>,"<Target Name>"{,<action type>};
|
*unitattack <GID>,"<Target Name>"{,<action type>};
|
||||||
|
|
||||||
This command will make a <GID> attack the specified target. It returns 1 upon
|
This command will make a <GID> attack the specified target. It returns true upon
|
||||||
success and 0 for all failures.
|
success and false for all failures.
|
||||||
|
|
||||||
If <GID> is a player and a non-zero <action type> is given, the unit will perform a
|
If <GID> is a player and a non-zero <action type> is given, the unit will perform a
|
||||||
continuous attack instead of a single attack.
|
continuous attack instead of a single attack.
|
||||||
|
|
||||||
|
Note:
|
||||||
|
Using unitattack with <GID> 0 means that it will use the currently attached unit.
|
||||||
|
For players any attack requests will fail, because talking to an NPC prevents attacking a monster.
|
||||||
|
Therefore you need to detach the player from the NPC before using this command.
|
||||||
|
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
*unitkill <GID>;
|
*unitkill <GID>;
|
||||||
@ -7382,7 +7397,7 @@ This command will make a <GID> stop attacking.
|
|||||||
|
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
*unitstopwalk <GID>;
|
*unitstopwalk <GID>{,<flag>};
|
||||||
|
|
||||||
This command will make a <GID> stop moving.
|
This command will make a <GID> stop moving.
|
||||||
|
|
||||||
@ -7390,6 +7405,14 @@ Note: If this is called from OnTouch, then the walktimer attached to the unit is
|
|||||||
removed from OnTouch which causes this command to not stop the unit from walking.
|
removed from OnTouch which causes this command to not stop the unit from walking.
|
||||||
Suggest to use 'unitblockmove' to forcefully stop the unit with OnTouch.
|
Suggest to use 'unitblockmove' to forcefully stop the unit with OnTouch.
|
||||||
|
|
||||||
|
The <flag> value affects how the unit is stopped. The following flags are bitwise
|
||||||
|
values (can be combined using the pipe operator):
|
||||||
|
USW_NONE = Unit will keep walking to their original destination.
|
||||||
|
USW_FIXPOS = Issue a fixpos packet afterwards.
|
||||||
|
USW_MOVE_ONCE = Force the unit to move one cell if it hasn't yet.
|
||||||
|
USW_MOVE_FULL_CELL = Enable moving to the next cell when unit was already half-way there (may cause on-touch/place side-effects, such as a scripted map change).
|
||||||
|
USW_FORCE_STOP = Force stop moving.
|
||||||
|
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
*unittalk <GID>,"<text>"{,flag};
|
*unittalk <GID>,"<text>"{,flag};
|
||||||
@ -9724,3 +9747,83 @@ local map channel.
|
|||||||
Returns 0 on success.
|
Returns 0 on success.
|
||||||
|
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
|
============================
|
||||||
|
|15.- Achievement commands.|
|
||||||
|
============================
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
*achievementadd(<achievement id>{,<char id>})
|
||||||
|
|
||||||
|
This function will add an achievement to the player's log for the attached
|
||||||
|
player or the supplied <char id>. The objective requirements are not ignored
|
||||||
|
when using this function.
|
||||||
|
Returns true on success and false on failure.
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
*achievementremove(<achievement id>{,<char id>})
|
||||||
|
|
||||||
|
This function will remove an achievement from the player's log for the attached
|
||||||
|
player or the supplied <char id>.
|
||||||
|
Returns true on success and false on failure.
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
*achievementinfo(<achievement id>,<type>{,<char id>})
|
||||||
|
|
||||||
|
This function will return the specified <type> value for an achievement of the
|
||||||
|
attached player or the supplied <char id>. If the player doesn't have the
|
||||||
|
achievement active (no progress has been made): if the achievement doesn't
|
||||||
|
exist -1 will be returned, or -2 will be returned on any other error such as
|
||||||
|
an invalid <type>.
|
||||||
|
|
||||||
|
Valid types:
|
||||||
|
- ACHIEVEINFO_COUNT1
|
||||||
|
- ACHIEVEINFO_COUNT2
|
||||||
|
- ACHIEVEINFO_COUNT3
|
||||||
|
- ACHIEVEINFO_COUNT4
|
||||||
|
- ACHIEVEINFO_COUNT5
|
||||||
|
- ACHIEVEINFO_COUNT6
|
||||||
|
- ACHIEVEINFO_COUNT7
|
||||||
|
- ACHIEVEINFO_COUNT8
|
||||||
|
- ACHIEVEINFO_COUNT9
|
||||||
|
- ACHIEVEINFO_COUNT10
|
||||||
|
- ACHIEVEINFO_COMPLETE
|
||||||
|
- ACHIEVEINFO_COMPLETEDATE
|
||||||
|
- ACHIEVEINFO_GOTREWARD
|
||||||
|
- ACHIEVEINFO_LEVEL (<achievement id> is useless for this)
|
||||||
|
- ACHIEVEINFO_SCORE (<achievement id> is useless for this)
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
*achievementcomplete(<achievement id>{,<char id>})
|
||||||
|
|
||||||
|
This function will complete an achievement for the attached player or the supplied
|
||||||
|
<char id>. The objective requirements are ignored when using this function.
|
||||||
|
Returns true on success and false on failure.
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
*achievementexists(<achievement id>{,<char id>});
|
||||||
|
|
||||||
|
This function will return if the achievement exists on the player or the supplied
|
||||||
|
<char id>.
|
||||||
|
Returns true on success and false on failure.
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
*achievementupdate(<achievement id>,<type>,<value>{,<char id>})
|
||||||
|
|
||||||
|
This function will update an achievement's value for an achievement of the attached
|
||||||
|
player or the supplied <char id>. If the player does not have the achievement active
|
||||||
|
(no progress has been made) it will be added to the player's log first before updating
|
||||||
|
the <type> value.
|
||||||
|
Returns true on success and false on failure.
|
||||||
|
|
||||||
|
See 'achievementinfo' for valid <type> values.
|
||||||
|
- ACHIEVEINFO_COMPLETE, ACHIEVEINFO_COMPLETEDATE, and ACHIEVEINFO_GOTREWARD require the
|
||||||
|
specific value returned from 'gettimetick(2)'.
|
||||||
|
- Excludes ACHIEVEINFO_LEVEL and ACHIEVEINFO_SCORE.
|
||||||
|
|
||||||
|
---------------------------------------
|
||||||
|
|||||||
@ -287,7 +287,7 @@ OnNPCKillEvent:
|
|||||||
if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) {
|
if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) {
|
||||||
set .@Mission_Count, getvar(#Mission_Count, $@partymembercid[.@i]);
|
set .@Mission_Count, getvar(#Mission_Count, $@partymembercid[.@i]);
|
||||||
set .@Mission0, getvar(Mission0, $@partymembercid[.@i]);
|
set .@Mission0, getvar(Mission0, $@partymembercid[.@i]);
|
||||||
set .@HP, getvar(HP, $@partymembercid[.@i]);
|
set .@HP, readparam(HP, $@partymembercid[.@i]);
|
||||||
|
|
||||||
if (.@Mission_Count && .@Mission0 && .@HP > 0) {
|
if (.@Mission_Count && .@Mission0 && .@HP > 0) {
|
||||||
getmapxy(.@map2$,.@x2,.@y2,UNITTYPE_PC);
|
getmapxy(.@map2$,.@x2,.@y2,UNITTYPE_PC);
|
||||||
|
|||||||
@ -1,11 +1,5 @@
|
|||||||
//===== rAthena Script =======================================
|
//===== rAthena Script =======================================
|
||||||
//= Reset NPC
|
//= Reset NPC
|
||||||
//===== By: ==================================================
|
|
||||||
//= rAthena Dev Team
|
|
||||||
//===== Current Version: =====================================
|
|
||||||
//= 1.4
|
|
||||||
//===== Compatible With: =====================================
|
|
||||||
//= rAthena Project
|
|
||||||
//===== Description: =========================================
|
//===== Description: =========================================
|
||||||
//= Resets skills, stats, or both.
|
//= Resets skills, stats, or both.
|
||||||
//===== Additional Comments: =================================
|
//===== Additional Comments: =================================
|
||||||
@ -15,6 +9,7 @@
|
|||||||
//= 1.3 All statuses removed upon skill reset. [Euphy]
|
//= 1.3 All statuses removed upon skill reset. [Euphy]
|
||||||
//= 1.4 Compressed Script, Added limit use option [Stolao]
|
//= 1.4 Compressed Script, Added limit use option [Stolao]
|
||||||
//= Changed set -> setarray, Improved text with F_InsertPlural
|
//= Changed set -> setarray, Improved text with F_InsertPlural
|
||||||
|
//= 1.5 Added sc_end_class to reset related status changes [sader1992]
|
||||||
//============================================================
|
//============================================================
|
||||||
prontera,150,193,4 script Reset Girl 124,{
|
prontera,150,193,4 script Reset Girl 124,{
|
||||||
// Skills, Stats, Both, Limit
|
// Skills, Stats, Both, Limit
|
||||||
@ -44,7 +39,7 @@ prontera,150,193,4 script Reset Girl 124,{
|
|||||||
}
|
}
|
||||||
set Zeny, Zeny-.@Reset[.@i-1];
|
set Zeny, Zeny-.@Reset[.@i-1];
|
||||||
if(.@i&1){
|
if(.@i&1){
|
||||||
sc_end SC_ALL;// TODO make a sc_end current classes sc only
|
sc_end_class;
|
||||||
ResetSkill;
|
ResetSkill;
|
||||||
}
|
}
|
||||||
if(.@i&2) ResetStatus;
|
if(.@i&2) ResetStatus;
|
||||||
|
|||||||
@ -36,9 +36,9 @@ alberta_in,16,28,4 script Pharmacist 61,{
|
|||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
mes "Ummmm...";
|
mes "Ummmm...";
|
||||||
mes "What brings you here...?";
|
mes "What brings you here...?";
|
||||||
|
next;
|
||||||
switch(select("Make Potion:Talk.:Mixing Information:Cancel")) {
|
switch(select("Make Potion:Talk.:Mixing Information:Cancel")) {
|
||||||
case 1:
|
case 1:
|
||||||
next;
|
|
||||||
if (MaxWeight - Weight < 5000) {
|
if (MaxWeight - Weight < 5000) {
|
||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
mes "Why are you carrying these so many!";
|
mes "Why are you carrying these so many!";
|
||||||
@ -51,11 +51,11 @@ alberta_in,16,28,4 script Pharmacist 61,{
|
|||||||
} else {
|
} else {
|
||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
mes "You have all the stuff ready, right? Which one would you like?";
|
mes "You have all the stuff ready, right? Which one would you like?";
|
||||||
|
next;
|
||||||
switch(select("Red Potion.:Orange Potion.:Yellow Potion.:White Potion.:Blue Potion.:Green Potion.:Actually, I don't want anything.")) {
|
switch(select("Red Potion.:Orange Potion.:Yellow Potion.:White Potion.:Blue Potion.:Green Potion.:Actually, I don't want anything.")) {
|
||||||
case 1:
|
case 1:
|
||||||
callsub L_Making,507,3,501;
|
callsub L_Making,507,3,501;
|
||||||
case 2:
|
case 2:
|
||||||
next;
|
|
||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
if (countitem(507) < countitem(713)) {
|
if (countitem(507) < countitem(713)) {
|
||||||
set .@max,countitem(507);
|
set .@max,countitem(507);
|
||||||
@ -77,9 +77,9 @@ alberta_in,16,28,4 script Pharmacist 61,{
|
|||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
mes "How many?";
|
mes "How many?";
|
||||||
|
next;
|
||||||
switch(select("Make as many as I can.:I want to choose an amount.:Actually, I don't want anything.")) {
|
switch(select("Make as many as I can.:I want to choose an amount.:Actually, I don't want anything.")) {
|
||||||
case 1:
|
case 1:
|
||||||
next;
|
|
||||||
if ((countitem(507) < .@max) || (countitem(508) < .@max) || (countitem(713) < .@max) || (Zeny < .@max*3)) {
|
if ((countitem(507) < .@max) || (countitem(508) < .@max) || (countitem(713) < .@max) || (Zeny < .@max*3)) {
|
||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
mes "You rascal! You don't even have all the materials and you want me to make you potions?!";
|
mes "You rascal! You don't even have all the materials and you want me to make you potions?!";
|
||||||
@ -92,24 +92,21 @@ alberta_in,16,28,4 script Pharmacist 61,{
|
|||||||
getitem 502,.@max; //Orange_Potion
|
getitem 502,.@max; //Orange_Potion
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
next;
|
|
||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
mes "Then pick a number below 100. If you don't want any, just enter '0'. With the materials you have, you can make about "+.@max+" potions.";
|
mes "Then pick a number below 100. If you don't want any, just enter '0'. With the materials you have, you can make about "+.@max+" potions.";
|
||||||
|
next;
|
||||||
input .@amount,0,101;
|
input .@amount,0,101;
|
||||||
if (.@amount == 0) {
|
if (.@amount == 0) {
|
||||||
next;
|
|
||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
mes "Make up your mind, will you?!";
|
mes "Make up your mind, will you?!";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if (.@amount > 100) {
|
if (.@amount > 100) {
|
||||||
next;
|
|
||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
mes "Are you deaf? I said less than 100!";
|
mes "Are you deaf? I said less than 100!";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if ((countitem(507) < .@amount) || (countitem(508) < .@amount) || (countitem(713) < .@amount) || (Zeny < .@amount*3)) {
|
if ((countitem(507) < .@amount) || (countitem(508) < .@amount) || (countitem(713) < .@amount) || (Zeny < .@amount*3)) {
|
||||||
next;
|
|
||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
mes "You rascal! You don't even have all the materials and you want me to make you potions?!";
|
mes "You rascal! You don't even have all the materials and you want me to make you potions?!";
|
||||||
close;
|
close;
|
||||||
@ -122,7 +119,6 @@ alberta_in,16,28,4 script Pharmacist 61,{
|
|||||||
getitem 502,.@amount; //Orange_Potion
|
getitem 502,.@amount; //Orange_Potion
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
next;
|
|
||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
mes "What?!";
|
mes "What?!";
|
||||||
mes "Grrr...";
|
mes "Grrr...";
|
||||||
@ -188,7 +184,6 @@ L_Making:
|
|||||||
.@item_req = getarg(0);
|
.@item_req = getarg(0);
|
||||||
.@req_amount = getarg(1);
|
.@req_amount = getarg(1);
|
||||||
|
|
||||||
next;
|
|
||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
if ((countitem(.@item_req)/2) < countitem(713)) {
|
if ((countitem(.@item_req)/2) < countitem(713)) {
|
||||||
.@max = countitem(.@item_req) /2;
|
.@max = countitem(.@item_req) /2;
|
||||||
@ -206,9 +201,9 @@ L_Making:
|
|||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
mes "How many?";
|
mes "How many?";
|
||||||
|
next;
|
||||||
switch(select("Make as many as I can.:I want to choose an amount.:Actually, I don't want anything.")) {
|
switch(select("Make as many as I can.:I want to choose an amount.:Actually, I don't want anything.")) {
|
||||||
case 1:
|
case 1:
|
||||||
next;
|
|
||||||
if ((countitem(.@item_req) < .@max*2) || countitem(713) < .@max || (Zeny < .@max*.@req_amount)) {
|
if ((countitem(.@item_req) < .@max*2) || countitem(713) < .@max || (Zeny < .@max*.@req_amount)) {
|
||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
mes "You rascal! You don't even have all the materials and you want me to make you potions?!";
|
mes "You rascal! You don't even have all the materials and you want me to make you potions?!";
|
||||||
@ -220,11 +215,10 @@ L_Making:
|
|||||||
getitem getarg(2),.@max;
|
getitem getarg(2),.@max;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
next;
|
|
||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
mes "Then pick a number below 100. If you don't want any, just enter '0'. With the materials you have, you can make about "+.@max+" potions.";
|
mes "Then pick a number below 100. If you don't want any, just enter '0'. With the materials you have, you can make about "+.@max+" potions.";
|
||||||
input .@amount;
|
|
||||||
next;
|
next;
|
||||||
|
input .@amount;
|
||||||
if (.@amount == 0) {
|
if (.@amount == 0) {
|
||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
mes "Make up your mind, will you?!";
|
mes "Make up your mind, will you?!";
|
||||||
@ -246,7 +240,6 @@ L_Making:
|
|||||||
getitem getarg(2),.@amount;
|
getitem getarg(2),.@amount;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
next;
|
|
||||||
mes "[Old Pharmacist]";
|
mes "[Old Pharmacist]";
|
||||||
mes "What?!";
|
mes "What?!";
|
||||||
mes "Grrr...";
|
mes "Grrr...";
|
||||||
|
|||||||
@ -9075,7 +9075,7 @@ OnTouch_:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
emotion e_what,1;
|
emotion e_what,1;
|
||||||
close;
|
end;
|
||||||
}
|
}
|
||||||
|
|
||||||
mosk_que,45,131,0 script Stone Furnace#rus28 HIDDEN_NPC,{
|
mosk_que,45,131,0 script Stone Furnace#rus28 HIDDEN_NPC,{
|
||||||
@ -9124,7 +9124,7 @@ mosk_que,45,131,0 script Stone Furnace#rus28 HIDDEN_NPC,{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
emotion e_what,1;
|
emotion e_what,1;
|
||||||
close;
|
end;
|
||||||
|
|
||||||
OnMyMobDead:
|
OnMyMobDead:
|
||||||
stopnpctimer;
|
stopnpctimer;
|
||||||
@ -9173,7 +9173,7 @@ mosk_que,56,202,0 script Occult Apple Tree#rus29 HIDDEN_NPC,{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
emotion e_what,1;
|
emotion e_what,1;
|
||||||
close;
|
end;
|
||||||
}
|
}
|
||||||
|
|
||||||
mosk_que,47,217,0 warp Escape#rus30 3,3,mosk_fild02,237,266
|
mosk_que,47,217,0 warp Escape#rus30 3,3,mosk_fild02,237,266
|
||||||
|
|||||||
@ -1628,12 +1628,18 @@ lasagna,208,188,3 script Cat Paw Service#lasagna 4_M_MERCAT1,4,4,{
|
|||||||
savepoint "lasagna",193,183,1,1;
|
savepoint "lasagna",193,183,1,1;
|
||||||
close;
|
close;
|
||||||
case 2:
|
case 2:
|
||||||
if (getskilllv("SU_BASIC_SKILL") < 1) {
|
if (!callfunc("F_CanOpenStorage")) {
|
||||||
mes "[Cat Paw Commerce Group]";
|
mes "[Cat Paw Commerce Group]";
|
||||||
mes "I'm sorry, but...";
|
mes "I'm sorry, but...";
|
||||||
|
if (Class == Job_Summoner) {
|
||||||
|
mes "You should learn the new basic skill first.";
|
||||||
|
mes "Go and learn the skill if you want to use the warehouse.";
|
||||||
|
}
|
||||||
|
else {
|
||||||
mes "You should learn some basic skills first if you want to use the warehouse.";
|
mes "You should learn some basic skills first if you want to use the warehouse.";
|
||||||
mes "Go and learn the skills until you reach the level to use the warehouse.";
|
mes "Go and learn the skills until you reach the level to use the warehouse.";
|
||||||
mes "I believe it should be ^4d4dffbasic level 6^000000 for humans.";
|
mes "I believe it should be ^4d4dffbasic level 6^000000 for humans.";
|
||||||
|
}
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if (countitem(7059) > 0)// Free Ticket for Kafra Storage
|
if (countitem(7059) > 0)// Free Ticket for Kafra Storage
|
||||||
|
|||||||
@ -13,11 +13,12 @@
|
|||||||
//===== Additional Comments: =================================
|
//===== Additional Comments: =================================
|
||||||
//= 1.0 First version.
|
//= 1.0 First version.
|
||||||
//= 1.1 Added 'is_clientver' command. [Euphy]
|
//= 1.1 Added 'is_clientver' command. [Euphy]
|
||||||
|
//= 1.2 Dropped 'is_clientver' command. [Lemongrass]
|
||||||
//============================================================
|
//============================================================
|
||||||
|
|
||||||
function script F_Navi {
|
function script F_Navi {
|
||||||
|
|
||||||
if (!is_clientver(1,20111010))
|
if ( PACKETVER < 20111010 )
|
||||||
set .@disabled,1;
|
set .@disabled,1;
|
||||||
|
|
||||||
// This function takes 0 ~ 3 parameters.
|
// This function takes 0 ~ 3 parameters.
|
||||||
|
|||||||
991
npc/re/instances/GhostPalace.txt
Normal file
991
npc/re/instances/GhostPalace.txt
Normal file
@ -0,0 +1,991 @@
|
|||||||
|
//===== rAthena Script =======================================
|
||||||
|
//= Ghost Palace
|
||||||
|
//===== Description: =========================================
|
||||||
|
//= [Walkthrough Conversion]
|
||||||
|
//= Ghost Palace Instance
|
||||||
|
//===== Changelogs: ==========================================
|
||||||
|
//= 1.0 First version. [Capuche]
|
||||||
|
//============================================================
|
||||||
|
|
||||||
|
dali02,43,129,5 script Unpleasant Royal Guard# 4_M_SAKRAYROYAL,{
|
||||||
|
if (BaseLevel < 120) {
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "Althought I need help with a task, you are not strong enough to assist me, noob~!";
|
||||||
|
next;
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "Come back later when you have done some training and are at least level 120!";
|
||||||
|
close;
|
||||||
|
}
|
||||||
|
.@party_id = getcharid(1);
|
||||||
|
if (getcharid(0) != getpartyleader(.@party_id,2) || .@party_id < 1) {
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "I can only open the secret passage for party leaders. Please have your party leader talk to me.";
|
||||||
|
close;
|
||||||
|
}
|
||||||
|
switch( checkquest(1261,PLAYTIME) ) {
|
||||||
|
case -1:
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
case 1:
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "Have you found the princess yet?! Is she safe?";
|
||||||
|
close;
|
||||||
|
case 2:
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "The monsters around the secret passage have disappeared. Now is our chance to save the princess!";
|
||||||
|
erasequest 1261;// Cursed Swordman
|
||||||
|
close;
|
||||||
|
}
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "I need help, even from the likes of you.";
|
||||||
|
next;
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "In the middle of battle the princess disappeared while I was guarding the palace.";
|
||||||
|
next;
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "You run ahead and I will catch up. We must save her.";
|
||||||
|
next;
|
||||||
|
if (select( "I will help.", "This is not a good time." ) == 2) {
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "Even now all the royal guards are fighting and dying from the monsters.";
|
||||||
|
next;
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "We must, no matter how much fear grips our hearts, save the princess!";
|
||||||
|
close;
|
||||||
|
}
|
||||||
|
instance_create("Ghost Palace");
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "Thank you..";
|
||||||
|
mes "I will open the secret passage to the ^0000ffGhost Palace^000000.";
|
||||||
|
mes "Please be ready!";
|
||||||
|
close;
|
||||||
|
}
|
||||||
|
|
||||||
|
dali02,40,134,5 script Interdimensional Device#dk PORTAL,{
|
||||||
|
if (BaseLevel < 120) {
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "Althought I need help with a task, you are not strong enough to assist me, noob~!";
|
||||||
|
next;
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "Come back later when you have done some training and are at least level 120!";
|
||||||
|
close;
|
||||||
|
}
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "I can see the secret passage into the palace. Are you ready to save the princess?!";
|
||||||
|
next;
|
||||||
|
if (select( "Enter", "Stop" ) == 2) {
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "Even now all the royal guards are fighting and dying from the monsters.";
|
||||||
|
next;
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "We must, no matter how much fear grips our hearts, save the princess!";
|
||||||
|
close;
|
||||||
|
}
|
||||||
|
switch( checkquest(1261,PLAYTIME) ) {
|
||||||
|
case -1:
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
case 1:
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "The monsters that attacked the palace are wandering around the secret entrance. It would be very bad if they spotted us... Please wait.";
|
||||||
|
next;
|
||||||
|
mes "When the time limit for the entrance is up";
|
||||||
|
mes "let's try to re-enter.";
|
||||||
|
close;
|
||||||
|
case 2:
|
||||||
|
mes "^0000ffThe time limit for entering to the Curse of the Swordsman is finished. Please try to talk to the Unpleasent Royal Guard again..^000000";
|
||||||
|
erasequest 1261;// Cursed Swordman
|
||||||
|
close;
|
||||||
|
}
|
||||||
|
.@party_id = getcharid(1);
|
||||||
|
if (getcharid(0) != getpartyleader(.@party_id,2) || .@party_id < 1) {
|
||||||
|
mes "[Unpleasant Royal Guard]";
|
||||||
|
mes "I can only open the secret passage for party leaders. Please have your party leader talk to me.";
|
||||||
|
close;
|
||||||
|
}
|
||||||
|
|
||||||
|
.@md_name$ = "Ghost Palace";
|
||||||
|
switch( instance_enter(.@md_name$) ) {
|
||||||
|
case IE_OTHER:
|
||||||
|
mes "An unknown error occurred.";
|
||||||
|
close;
|
||||||
|
case IE_NOINSTANCE:
|
||||||
|
mes "^ff0000Inside the devices you see a dark hole. If you wish to enter you must to talk to the Unpleasent Royal Guard first.^000000";
|
||||||
|
close;
|
||||||
|
case IE_NOMEMBER:
|
||||||
|
mes "Only registered members can enter the " + .@md_name$ + " instance.";
|
||||||
|
close;
|
||||||
|
case IE_OK:
|
||||||
|
mapannounce "dali", "" + strcharinfo(0) + " of the party, " + getpartyname(.@party_id) + ", is entering the Ghost Palace.", bc_map, 0x00ff99;
|
||||||
|
// warp "1@spa",42,196;
|
||||||
|
setquest 1261;// Cursed Swordman
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1st floor
|
||||||
|
1@spa,41,204,5 script King#dk 4_M_RUSKING,{
|
||||||
|
mes "[King]";
|
||||||
|
mes "You are hereby appointed as the personal guard to Princess Tiara. I trust your loyalty above all else.";
|
||||||
|
npctalk "King: You are hereby appointed as the personal guard to Princess Tiara. I trust your loyalty above all else.";
|
||||||
|
next;
|
||||||
|
mes "[Lurid Royal Guard]";
|
||||||
|
mes "I will protect the princess with my life.";
|
||||||
|
npctalk "Lurid Royal Guard: I will protect the princess with my life.", instance_npcname("Lurid Royal Guard#dk");
|
||||||
|
next;
|
||||||
|
mes "[King]";
|
||||||
|
mes "The marriage arrangements are going as planned. The prince is here to meet with the princess.";
|
||||||
|
npctalk "King: The marriage arrangements are going as planned. The prince is here to meet with the princess.";
|
||||||
|
next;
|
||||||
|
mes "[Lurid Royal Guard]";
|
||||||
|
mes "...Yes, your majesty.";
|
||||||
|
npctalk "Lurid Royal Guard: ...Yes, your majesty.", instance_npcname("Lurid Royal Guard#dk");
|
||||||
|
next;
|
||||||
|
mes "[King]";
|
||||||
|
mes "My gods, there are monsters in the castle! Get rid of them now!";
|
||||||
|
npctalk "King: My gods, there are monsters in the castle! Get rid of them now!";
|
||||||
|
close2;
|
||||||
|
donpcevent instance_npcname("#gp_control_1") + "::OnStart";
|
||||||
|
end;
|
||||||
|
|
||||||
|
OnInstanceInit:
|
||||||
|
// 1: enabled potential double spawn (official), 0: disabled
|
||||||
|
'bool_double_spawn = 1;
|
||||||
|
|
||||||
|
'map_spa$ = instance_mapname("1@spa");
|
||||||
|
|
||||||
|
// warps
|
||||||
|
disablenpc instance_npcname("The second floor of Palace");
|
||||||
|
disablenpc instance_npcname("3rd floor in the palace");
|
||||||
|
disablenpc instance_npcname("4th floor in the palace");
|
||||||
|
disablenpc instance_npcname("5th floor of Palace");
|
||||||
|
disablenpc instance_npcname("Way out of Palace");
|
||||||
|
|
||||||
|
// first floor
|
||||||
|
disablenpc instance_npcname("#gp_control_1");
|
||||||
|
|
||||||
|
// second floor
|
||||||
|
disablenpc instance_npcname("Lurid Royal Guard#dk1");
|
||||||
|
disablenpc instance_npcname("Princess Tiara#dk");
|
||||||
|
disablenpc instance_npcname("#gp_control_2");
|
||||||
|
|
||||||
|
// 3rd floor
|
||||||
|
disablenpc instance_npcname("King#dk1");
|
||||||
|
disablenpc instance_npcname("Lurid Royal Guard#dk2");
|
||||||
|
disablenpc instance_npcname("Captain of the Guard#dk");
|
||||||
|
disablenpc instance_npcname("Soldier#dk1");
|
||||||
|
disablenpc instance_npcname("Soldier#dk2");
|
||||||
|
disablenpc instance_npcname("Soldier#dk3");
|
||||||
|
disablenpc instance_npcname("Lurid Royal Guard#dk3");
|
||||||
|
disablenpc instance_npcname("Thanatos Magic Trace#dk1");
|
||||||
|
disablenpc instance_npcname("#gp_control_3");
|
||||||
|
|
||||||
|
// 4th floor
|
||||||
|
disablenpc instance_npcname("#gp_control_4");
|
||||||
|
disablenpc instance_npcname("#gp_control_5");
|
||||||
|
disablenpc instance_npcname("Thanatos Magic Trace#dk2");
|
||||||
|
disablenpc instance_npcname("Visiting Prince#dk");
|
||||||
|
disablenpc instance_npcname("Lurid Royal Guard#dk4");
|
||||||
|
disablenpc instance_npcname("King's Corpse#dk");
|
||||||
|
disablenpc instance_npcname("Captain's Corpse#dk");
|
||||||
|
disablenpc instance_npcname("Soldier's Corpse#dk");
|
||||||
|
disablenpc instance_npcname("Soldier's Corpse#dk1");
|
||||||
|
disablenpc instance_npcname("Soldier's Corpse#dk2");
|
||||||
|
disablenpc instance_npcname("Soldier's Corpse#dk3");
|
||||||
|
disablenpc instance_npcname("Soldier's Corpse#dk4");
|
||||||
|
|
||||||
|
// 5th floor
|
||||||
|
disablenpc instance_npcname("#gp_control_6");
|
||||||
|
disablenpc instance_npcname("Princess Tiara#dk1");
|
||||||
|
disablenpc instance_npcname("Lurid Royal Guard#dk5");
|
||||||
|
disablenpc instance_npcname("King#dk11");
|
||||||
|
disablenpc instance_npcname("Sakray#dk");
|
||||||
|
disablenpc instance_npcname("Thanatos Magic Trace#dk3");
|
||||||
|
disablenpc instance_npcname("#tb");
|
||||||
|
disablenpc instance_npcname("#sv");
|
||||||
|
disablenpc instance_npcname("#tv");
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
1@spa,42,201,1 script Lurid Royal Guard#dk 4_M_SAKRAYROYAL,{ end; }
|
||||||
|
|
||||||
|
1@spa,1,1,1 script #gp_control_1 HIDDEN_WARP_NPC,{
|
||||||
|
end;
|
||||||
|
OnStart:
|
||||||
|
enablenpc instance_npcname("#gp_control_1");
|
||||||
|
disablenpc instance_npcname("King#dk");
|
||||||
|
disablenpc instance_npcname("Lurid Royal Guard#dk");
|
||||||
|
initnpctimer;
|
||||||
|
end;
|
||||||
|
OnTimer2000:
|
||||||
|
.@label$ = instance_npcname("#gp_control_1") + "::OnMyMobDead1";
|
||||||
|
monster 'map_spa$,50,194,"Cursed Soldier",2948,1, .@label$; // CURSED_SOLDIER
|
||||||
|
monster 'map_spa$,34,208,"Cursed Soldier",2948,1, .@label$; // CURSED_SOLDIER
|
||||||
|
monster 'map_spa$,32,194,"Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
|
||||||
|
monster 'map_spa$,52,209,"Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
|
||||||
|
stopnpctimer;
|
||||||
|
end;
|
||||||
|
OnMyMobDead1:
|
||||||
|
if (mobcount('map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead1") < (1 + 'bool_double_spawn)) {
|
||||||
|
deltimer instance_npcname("#gp_control_1") + "::OnSpawn1"; // stop double spawn if timer is running
|
||||||
|
addtimer 2000, instance_npcname("#gp_control_1") + "::OnSpawn1";
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
OnSpawn1:
|
||||||
|
.@label$ = instance_npcname("#gp_control_1") + "::OnMyMobDead2";
|
||||||
|
monster 'map_spa$,37,182,"Cursed Soldier",2948,1, .@label$; // CURSED_SOLDIER
|
||||||
|
monster 'map_spa$,46,182,"Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
|
||||||
|
end;
|
||||||
|
OnMyMobDead2:
|
||||||
|
if (mobcount('map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead2") < 1) {
|
||||||
|
deltimer instance_npcname("#gp_control_1") + "::OnSpawn1"; // stop double spawn if timer is running
|
||||||
|
deltimer instance_npcname("#gp_control_1") + "::OnSpawn2";
|
||||||
|
addtimer 2000, instance_npcname("#gp_control_1") + "::OnSpawn2";
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
OnSpawn2:
|
||||||
|
.@label$ = instance_npcname("#gp_control_1") + "::OnMyMobDead3";
|
||||||
|
monster 'map_spa$,30,200,"Cursed Soldier",2948,1, .@label$; // CURSED_SOLDIER
|
||||||
|
monster 'map_spa$,51,200,"Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
|
||||||
|
monster 'map_spa$,53,199,"Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
|
||||||
|
end;
|
||||||
|
OnMyMobDead3:
|
||||||
|
if (mobcount('map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead3") < 1) {
|
||||||
|
mapannounce 'map_spa$, "The passage on the 2nd floor in the palace of ghost is open .", bc_map,0xFFFF00;
|
||||||
|
enablenpc instance_npcname("The second floor of Palace");
|
||||||
|
enablenpc instance_npcname("Lurid Royal Guard#dk1");
|
||||||
|
enablenpc instance_npcname("Princess Tiara#dk");
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2nd floor
|
||||||
|
1@spa,132,122,7 script Lurid Royal Guard#dk1 4_M_SAKRAYROYAL,{
|
||||||
|
.@tiara$ = instance_npcname("Princess Tiara#dk");
|
||||||
|
cutin "npc-tiara.bmp",3;
|
||||||
|
mes "[Lurid Royal Guard]";
|
||||||
|
mes "Your highness, the King has invited a prince from a neighboring country to be your betrothed. Be ready to meet him...";
|
||||||
|
npctalk "Lurid Royal Guard: Your highness, the King has invited a prince from a neighboring country to be your betrothed. Be ready to meet him...";
|
||||||
|
next;
|
||||||
|
mes "[Princess Tiara]";
|
||||||
|
mes "If...If a marriage is arranged what should I do?";
|
||||||
|
npctalk "Princess Tiara: If...If a marriage is arranged what should I do?", .@tiara$;
|
||||||
|
next;
|
||||||
|
mes "[Lurid Royal Guard]";
|
||||||
|
mes "The only thing I can do is protect you from physical harm.";
|
||||||
|
npctalk "Lurid Royal Guard: The only thing I can do is protect you from physical harm.";
|
||||||
|
next;
|
||||||
|
mes "[Princess Tiara]";
|
||||||
|
mes "Then, what can I do?";
|
||||||
|
npctalk "Princess Tiara: Then, what can I do?", .@tiara$;
|
||||||
|
next;
|
||||||
|
mes "[Lurid Royal Guard]";
|
||||||
|
mes "You must decide that for yourself your highness...";
|
||||||
|
npctalk "Lurid Royal Guard: You must decide that for yourself your highness...";
|
||||||
|
next;
|
||||||
|
mes "[Princess Tiara]";
|
||||||
|
mes "Would it be easier for you if I were married and sent off to another country?";
|
||||||
|
npctalk "Princess Tiara: Would it be easier for you if I were married and sent off to another country?", .@tiara$;
|
||||||
|
next;
|
||||||
|
mes "[Lurid Royal Guard]";
|
||||||
|
mes "I will always stand by you and protect you forever.";
|
||||||
|
npctalk "Lurid Royal Guard: I will always stand by you and protect you forever.";
|
||||||
|
cutin "npc-tiara.bmp",255;
|
||||||
|
next;
|
||||||
|
mes "[Princess Tiara]";
|
||||||
|
mes "Monsters have gotten inside the castle? Please, protect me!";
|
||||||
|
npctalk "Princess Tiara: Monsters have gotten inside the castle? Please, protect me!", .@tiara$;
|
||||||
|
next;
|
||||||
|
mes "[Lurid Royal Guard]";
|
||||||
|
mes "Stay behind me. Let's go!";
|
||||||
|
npctalk "Lurid Royal Guard: Stay behind me. Let's go!";
|
||||||
|
close2;
|
||||||
|
donpcevent instance_npcname("#gp_control_2") + "::OnStart";
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
1@spa,135,125,3 duplicate(Lurid Royal Guard#dk) Princess Tiara#dk 4_F_MAYSEL
|
||||||
|
|
||||||
|
1@spa,1,1,1 script #gp_control_2 HIDDEN_WARP_NPC,{
|
||||||
|
end;
|
||||||
|
OnStart:
|
||||||
|
enablenpc instance_npcname("#gp_control_2");
|
||||||
|
disablenpc instance_npcname("Lurid Royal Guard#dk1");
|
||||||
|
disablenpc instance_npcname("Princess Tiara#dk");
|
||||||
|
disablenpc instance_npcname("The second floor of Palace");
|
||||||
|
|
||||||
|
killmonster 'map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead1";
|
||||||
|
killmonster 'map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead2";
|
||||||
|
killmonster 'map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead3";
|
||||||
|
disablenpc instance_npcname("#gp_control_1");
|
||||||
|
initnpctimer;
|
||||||
|
end;
|
||||||
|
OnTimer2000:
|
||||||
|
.@label$ = instance_npcname("#gp_control_2") + "::OnMyMobDead1";
|
||||||
|
monster 'map_spa$,135,116,"Broken Promise",2950,1, .@label$; // BROKEN_MIND
|
||||||
|
monster 'map_spa$,110,120,"Broken Promise",2950,1, .@label$; // BROKEN_MIND
|
||||||
|
monster 'map_spa$,122,112,"Floating Sorrow",2951,1, .@label$; // FLOATING_WORD
|
||||||
|
monster 'map_spa$,121,129,"Unfulfilled Love",2952,1, .@label$; // LIKE_LOVE
|
||||||
|
stopnpctimer;
|
||||||
|
end;
|
||||||
|
OnMyMobDead1:
|
||||||
|
if (mobcount('map_spa$, instance_npcname("#gp_control_2") + "::OnMyMobDead1") < 1) {
|
||||||
|
sleep 2000;
|
||||||
|
.@label$ = instance_npcname("#gp_control_2") + "::OnMyMobDead2";
|
||||||
|
monster 'map_spa$,120,103,"Broken Promise",2950,1, .@label$; // BROKEN_MIND
|
||||||
|
monster 'map_spa$,115,137,"Floating Sorrow",2951,1, .@label$; // FLOATING_WORD
|
||||||
|
monster 'map_spa$,103,130,"Unfulfilled Love",2952,1, .@label$; // LIKE_LOVE
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
OnMyMobDead2:
|
||||||
|
if (mobcount('map_spa$, instance_npcname("#gp_control_2") + "::OnMyMobDead2") < 1) {
|
||||||
|
sleep 2000;
|
||||||
|
.@label$ = instance_npcname("#gp_control_2") + "::OnMyMobDead3";
|
||||||
|
monster 'map_spa$,98,119,"Floating Sorrow",2951,1, .@label$; // FLOATING_WORD
|
||||||
|
monster 'map_spa$,98,120,"Floating Sorrow",2951,1, .@label$; // FLOATING_WORD
|
||||||
|
monster 'map_spa$,103,109,"Unfulfilled Love",2952,1, .@label$; // LIKE_LOVE
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
OnMyMobDead3:
|
||||||
|
if (mobcount('map_spa$, instance_npcname("#gp_control_2") + "::OnMyMobDead3") < 1) {
|
||||||
|
mapannounce 'map_spa$, "The passage on the 3rd floor of the palace is open.", bc_map,0xFFFF00;
|
||||||
|
enablenpc instance_npcname("3rd floor in the palace");
|
||||||
|
enablenpc instance_npcname("King#dk1");
|
||||||
|
enablenpc instance_npcname("Lurid Royal Guard#dk2");
|
||||||
|
enablenpc instance_npcname("Captain of the Guard#dk");
|
||||||
|
enablenpc instance_npcname("Soldier#dk1");
|
||||||
|
enablenpc instance_npcname("Soldier#dk2");
|
||||||
|
enablenpc instance_npcname("Soldier#dk3");
|
||||||
|
disablenpc instance_npcname("#gp_control_2");
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3rd floor
|
||||||
|
1@spa,32,54,1 script King#dk1 4_M_RUSKING,{
|
||||||
|
mes "[King]";
|
||||||
|
mes "It was you who brought the monsters here! You want to get rid of me and have the princess for yourself?";
|
||||||
|
npctalk "King: It was you who brought the monsters here! You want to get rid of me and have the princess for yourself?";
|
||||||
|
next;
|
||||||
|
mes "[Lurid Royal Guard]";
|
||||||
|
mes "It is a trap your majesty! You must trust me!";
|
||||||
|
npctalk "Lurid Royal Guard: It is a trap your majesty! You must trust me!", instance_npcname("Lurid Royal Guard#dk2");
|
||||||
|
next;
|
||||||
|
mes "[King]";
|
||||||
|
mes "Shut up! You've betrayed me! I trusted you... you must pay for your disgrace.";
|
||||||
|
npctalk "King: Shut up! You've betrayed me! I trusted you... you must pay for your disgrace.";
|
||||||
|
next;
|
||||||
|
mes "[King]";
|
||||||
|
mes "You will suffer for the rest of your life.";
|
||||||
|
npctalk "King: You will suffer for the rest of your life.";
|
||||||
|
close2;
|
||||||
|
disablenpc instance_npcname("3rd floor in the palace");
|
||||||
|
disablenpc instance_npcname("King#dk1");
|
||||||
|
disablenpc instance_npcname("Captain of the Guard#dk");
|
||||||
|
disablenpc instance_npcname("Soldier#dk1");
|
||||||
|
disablenpc instance_npcname("Soldier#dk2");
|
||||||
|
disablenpc instance_npcname("Soldier#dk3");
|
||||||
|
disablenpc instance_npcname("Lurid Royal Guard#dk2");
|
||||||
|
donpcevent instance_npcname("Thanatos Magic Trace#dk1") + "::OnStart";
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
1@spa,35,56,5 script Thanatos Magic Trace#dk1 4_TRACE,{
|
||||||
|
end;
|
||||||
|
OnStart:
|
||||||
|
enablenpc instance_npcname("Thanatos Magic Trace#dk1");
|
||||||
|
enablenpc instance_npcname("Lurid Royal Guard#dk3");
|
||||||
|
initnpctimer;
|
||||||
|
end;
|
||||||
|
OnTimer5000:
|
||||||
|
npctalk "Ominous Voice: Oh, faithful royal guard, you are trapped.";
|
||||||
|
end;
|
||||||
|
OnTimer8000:
|
||||||
|
npctalk "Ominous Voice: The conspiracy in the palace has your princess in grave danger...";
|
||||||
|
end;
|
||||||
|
OnTimer12000:
|
||||||
|
npctalk "Lurid Royal Guard: Who are you? Show yourself!", instance_npcname("Lurid Royal Guard#dk3");
|
||||||
|
end;
|
||||||
|
OnTimer15000:
|
||||||
|
npctalk "Ominous Voice: Ah... so you do you hear me?";
|
||||||
|
end;
|
||||||
|
OnTimer20000:
|
||||||
|
npctalk "Lurid Royal Guard: ...?", instance_npcname("Lurid Royal Guard#dk3");
|
||||||
|
end;
|
||||||
|
OnTimer23000:
|
||||||
|
npctalk "Ominous Voice: I can give you unlimited power. If you make a pact with me.";
|
||||||
|
end;
|
||||||
|
OnTimer28000:
|
||||||
|
npctalk "Lurid Royal Guard: I..I...", instance_npcname("Lurid Royal Guard#dk3");
|
||||||
|
end;
|
||||||
|
OnTimer33000:
|
||||||
|
npctalk "Thanatos Magic Trace: Kukuku... What do you want boy?";
|
||||||
|
end;
|
||||||
|
OnTimer34000:
|
||||||
|
stopnpctimer;
|
||||||
|
disablenpc instance_npcname("Thanatos Magic Trace#dk1");
|
||||||
|
disablenpc instance_npcname("Lurid Royal Guard#dk3");
|
||||||
|
donpcevent instance_npcname("#gp_control_3") + "::OnStart";
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
1@spa,28,52,7 duplicate(Lurid Royal Guard#dk) Captain of the Guard#dk 4_M_KY_KNT
|
||||||
|
1@spa,25,53,7 duplicate(Lurid Royal Guard#dk) Soldier#dk1 4_M_CRU_SOLD
|
||||||
|
1@spa,34,53,1 duplicate(Lurid Royal Guard#dk) Soldier#dk2 4_M_CRU_SOLD
|
||||||
|
1@spa,30,52,7 duplicate(Lurid Royal Guard#dk) Soldier#dk3 4_M_KY_SOLD
|
||||||
|
1@spa,30,58,5 duplicate(Lurid Royal Guard#dk) Lurid Royal Guard#dk2 4_M_SAKRAY_TIED
|
||||||
|
1@spa,31,57,5 duplicate(Lurid Royal Guard#dk) Lurid Royal Guard#dk3 4_M_SAKRAY_TIED
|
||||||
|
|
||||||
|
1@spa,1,1,1 script #gp_control_3 HIDDEN_WARP_NPC,{
|
||||||
|
end;
|
||||||
|
OnStart:
|
||||||
|
enablenpc instance_npcname("#gp_control_3");
|
||||||
|
initnpctimer;
|
||||||
|
end;
|
||||||
|
OnTimer2000:
|
||||||
|
.@label$ = instance_npcname("#gp_control_3") + "::OnMyMobDead1";
|
||||||
|
monster 'map_spa$,31,57, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
monster 'map_spa$,59,24, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
monster 'map_spa$,23,40, "Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
|
||||||
|
monster 'map_spa$,54,45, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
monster 'map_spa$,26,20, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
stopnpctimer;
|
||||||
|
end;
|
||||||
|
OnMyMobDead1:
|
||||||
|
if (mobcount('map_spa$, instance_npcname("#gp_control_3") + "::OnMyMobDead1") < 1)
|
||||||
|
addtimer 2000, instance_npcname("#gp_control_3") + "::OnSpawn1";
|
||||||
|
end;
|
||||||
|
OnSpawn1:
|
||||||
|
.@label$ = instance_npcname("#gp_control_3") + "::OnMyMobDead2";
|
||||||
|
monster 'map_spa$,30,52, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
monster 'map_spa$,58,58, "Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
|
||||||
|
monster 'map_spa$,54,24, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
end;
|
||||||
|
OnMyMobDead2:
|
||||||
|
if (mobcount('map_spa$, instance_npcname("#gp_control_3") + "::OnMyMobDead2") < (1 + 'bool_double_spawn)) {
|
||||||
|
deltimer instance_npcname("#gp_control_3") + "::OnAnnounce";
|
||||||
|
addtimer 500, instance_npcname("#gp_control_3") + "::OnAnnounce";
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
OnAnnounce:
|
||||||
|
mapannounce 'map_spa$, "The passage on the 4th floor of the palace is open.", bc_map,0xFFFF00;
|
||||||
|
enablenpc instance_npcname("4th floor in the palace");
|
||||||
|
deltimer instance_npcname("#gp_control_3") + "::OnSpawn2"; // stop double spawn if timer is running
|
||||||
|
addtimer 2000, instance_npcname("#gp_control_3") + "::OnSpawn2";
|
||||||
|
end;
|
||||||
|
OnSpawn2:
|
||||||
|
donpcevent instance_npcname("#gp_control_4") + "::OnStart";
|
||||||
|
// 35 mobs
|
||||||
|
.@label$ = instance_npcname("#gp_control_3") + "::OnMyMobDead3";
|
||||||
|
monster 'map_spa$,67,46, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
unittalk $@mobid[0], "You are trapped...";
|
||||||
|
monster 'map_spa$,62,48, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "Run away!";
|
||||||
|
monster 'map_spa$,57,46, "Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
|
||||||
|
unittalk $@mobid[0], "Run away quickly!";
|
||||||
|
monster 'map_spa$,51,48, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
unittalk $@mobid[0], "Faithful royal guard...";
|
||||||
|
monster 'map_spa$,56,55, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "Run away!";
|
||||||
|
monster 'map_spa$,62,56, "Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
|
||||||
|
unittalk $@mobid[0], "You are trapped...";
|
||||||
|
monster 'map_spa$,66,58, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
unittalk $@mobid[0], "You put your princess in grave danger...";
|
||||||
|
monster 'map_spa$,66,64, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "Faithful royal guard...";
|
||||||
|
monster 'map_spa$,62,65, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
unittalk $@mobid[0], "Run away quickly!";
|
||||||
|
monster 'map_spa$,57,67, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "You are trapped...";
|
||||||
|
monster 'map_spa$,49,66, "Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
|
||||||
|
unittalk $@mobid[0], "Run away!";
|
||||||
|
monster 'map_spa$,44,66, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
unittalk $@mobid[0], "Run away quickly!";
|
||||||
|
monster 'map_spa$,45,20, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "Run away!";
|
||||||
|
monster 'map_spa$,38,20, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
unittalk $@mobid[0], "You are trapped...";
|
||||||
|
monster 'map_spa$,32,20, "Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
|
||||||
|
unittalk $@mobid[0], "Run away quickly!";
|
||||||
|
monster 'map_spa$,51,22, "Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
|
||||||
|
unittalk $@mobid[0], "Run away quickly!";
|
||||||
|
monster 'map_spa$,26,34,"Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
|
||||||
|
unittalk $@mobid[0], "Run away!";
|
||||||
|
monster 'map_spa$,21,37,"Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "Faithful royal guard...";
|
||||||
|
monster 'map_spa$,18,39,"Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
unittalk $@mobid[0], "Run away quickly!";
|
||||||
|
monster 'map_spa$,21,45,"Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "Run away!";
|
||||||
|
monster 'map_spa$,23,49,"Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
unittalk $@mobid[0], "You are trapped...";
|
||||||
|
monster 'map_spa$,25,54,"Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
|
||||||
|
unittalk $@mobid[0], "Run away quickly!";
|
||||||
|
monster 'map_spa$,29,54,"Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "You put your princess in grave danger...";
|
||||||
|
monster 'map_spa$,56,39,"Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
unittalk $@mobid[0], "Run away!";
|
||||||
|
monster 'map_spa$,61,36,"Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "Faithful royal guard...";
|
||||||
|
monster 'map_spa$,66,38,"Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
|
||||||
|
unittalk $@mobid[0], "Run away quickly!";
|
||||||
|
monster 'map_spa$,42,54,"Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
|
||||||
|
unittalk $@mobid[0], "Run away!";
|
||||||
|
monster 'map_spa$,35,54,"Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
unittalk $@mobid[0], "You are trapped...";
|
||||||
|
monster 'map_spa$,43,60,"Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "Faithful royal guard...";
|
||||||
|
monster 'map_spa$,30,25,"Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "You put your princess in grave danger...";
|
||||||
|
monster 'map_spa$,30,31,"Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
unittalk $@mobid[0], "You are trapped...";
|
||||||
|
monster 'map_spa$,65,64, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
monster 'map_spa$,65,67, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
monster 'map_spa$,18,43,"Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
monster 'map_spa$,21,43,"Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
|
||||||
|
end;
|
||||||
|
OnMyMobDead3:
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4th floor
|
||||||
|
1@spa,1,1,1 script #gp_control_4 HIDDEN_WARP_NPC,{
|
||||||
|
end;
|
||||||
|
OnStart:
|
||||||
|
enablenpc instance_npcname("#gp_control_4");
|
||||||
|
.@label$ = instance_npcname("#gp_control_4") + "::OnMyMobDead1";
|
||||||
|
monster 'map_spa$,215,194, "Sweet Slaughter",2956,1, .@label$; // SWEET_SLAUGHTER
|
||||||
|
monster 'map_spa$,194,178, "Sweet Slaughter",2956,1, .@label$; // SWEET_SLAUGHTER
|
||||||
|
monster 'map_spa$,191,211, "Sweet Slaughter",2956,1, .@label$; // SWEET_SLAUGHTER
|
||||||
|
monster 'map_spa$,185,203, "Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
|
||||||
|
monster 'map_spa$,209,218, "Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
|
||||||
|
end;
|
||||||
|
OnMyMobDead1:
|
||||||
|
if (mobcount('map_spa$, instance_npcname("#gp_control_4") + "::OnMyMobDead1") < (1 + 'bool_double_spawn)) {
|
||||||
|
deltimer instance_npcname("#gp_control_4") + "::OnSpawn1";
|
||||||
|
addtimer 2000, instance_npcname("#gp_control_4") + "::OnSpawn1";
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
OnSpawn1:
|
||||||
|
.@label$ = instance_npcname("#gp_control_4") + "::OnMyMobDead2";
|
||||||
|
monster 'map_spa$,189,192, "Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
|
||||||
|
monster 'map_spa$,211,209, "Sweet Slaughter",2956,1, .@label$; // SWEET_SLAUGHTER
|
||||||
|
end;
|
||||||
|
OnMyMobDead2:
|
||||||
|
if (mobcount('map_spa$, instance_npcname("#gp_control_4") + "::OnMyMobDead2") < 1) {
|
||||||
|
enablenpc instance_npcname("Thanatos Magic Trace#dk2");
|
||||||
|
enablenpc instance_npcname("Visiting Prince#dk");
|
||||||
|
enablenpc instance_npcname("Lurid Royal Guard#dk4");
|
||||||
|
enablenpc instance_npcname("King's Corpse#dk");
|
||||||
|
enablenpc instance_npcname("Captain's Corpse#dk");
|
||||||
|
enablenpc instance_npcname("Soldier's Corpse#dk");
|
||||||
|
enablenpc instance_npcname("Soldier's Corpse#dk1");
|
||||||
|
enablenpc instance_npcname("Soldier's Corpse#dk2");
|
||||||
|
enablenpc instance_npcname("Soldier's Corpse#dk3");
|
||||||
|
enablenpc instance_npcname("Soldier's Corpse#dk4");
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
1@spa,199,214,1 script Lurid Royal Guard#dk4 4_M_SAKRAYROYAL,{
|
||||||
|
.@prince$ = instance_npcname("Visiting Prince#dk");
|
||||||
|
mes "[Lurid Royal Guard]";
|
||||||
|
mes "Where is Princess Tiara?";
|
||||||
|
npctalk "Lurid Royal Guard: Where is Princess Tiara?";
|
||||||
|
next;
|
||||||
|
mes "[Visiting Prince]";
|
||||||
|
mes "You are too late... but you brought what I was looking for. Thanks for your help.";
|
||||||
|
npctalk "Visiting Prince: You are too late... but you brought what I was looking for. Thanks for your help.", .@prince$;
|
||||||
|
next;
|
||||||
|
mes "[Visiting Prince]";
|
||||||
|
mes "Cursed Thanatos Magic Trace! Are you ready to have a new master?";
|
||||||
|
npctalk "Visiting Prince: Cursed Thanatos Magic Trace! Are you ready to have a new master?", .@prince$;
|
||||||
|
next;
|
||||||
|
cutin "tartanos.bmp",3;
|
||||||
|
mes "[Thanatos Magic Trace]";
|
||||||
|
mes "How dare you!";
|
||||||
|
npctalk "Thanatos Magic Trace: How dare you!", instance_npcname("Thanatos Magic Trace#dk2");
|
||||||
|
next;
|
||||||
|
mes "[Visiting Prince]";
|
||||||
|
mes "aah, aah !!!";
|
||||||
|
npctalk "Visiting Prince: Aah, aah!!!", .@prince$;
|
||||||
|
donpcevent instance_npcname("#gp_control_5") + "::OnStart";
|
||||||
|
close2;
|
||||||
|
cutin "",255;
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
1@spa,201,214,1 duplicate(Lurid Royal Guard#dk) Thanatos Magic Trace#dk2 CLEAR_NPC
|
||||||
|
1@spa,197,218,5 duplicate(Lurid Royal Guard#dk) Visiting Prince#dk 4_M_KNIGHT_SILVER
|
||||||
|
1@spa,194,214,5 duplicate(Lurid Royal Guard#dk) King's Corpse#dk 4_M_TRISTAN
|
||||||
|
1@spa,211,194,3 duplicate(Lurid Royal Guard#dk) Captain's Corpse#dk 4_M_LIEMAN
|
||||||
|
1@spa,201,198,1 duplicate(Lurid Royal Guard#dk) Soldier's Corpse#dk 4_M_DIEMAN
|
||||||
|
1@spa,197,190,1 duplicate(Lurid Royal Guard#dk) Soldier's Corpse#dk1 4_M_DIEMAN
|
||||||
|
1@spa,191,207,7 duplicate(Lurid Royal Guard#dk) Soldier's Corpse#dk2 4_M_DIEMAN
|
||||||
|
1@spa,206,209,7 duplicate(Lurid Royal Guard#dk) Soldier's Corpse#dk3 4_M_DIEMAN
|
||||||
|
1@spa,189,195,1 duplicate(Lurid Royal Guard#dk) Soldier's Corpse#dk4 4_M_DIEMAN
|
||||||
|
|
||||||
|
1@spa,1,1,1 script #gp_control_5 HIDDEN_WARP_NPC,{
|
||||||
|
end;
|
||||||
|
OnStart:
|
||||||
|
enablenpc instance_npcname("#gp_control_5");
|
||||||
|
disablenpc instance_npcname("Thanatos Magic Trace#dk2");
|
||||||
|
disablenpc instance_npcname("Visiting Prince#dk");
|
||||||
|
disablenpc instance_npcname("Lurid Royal Guard#dk4");
|
||||||
|
disablenpc instance_npcname("King's Corpse#dk");
|
||||||
|
disablenpc instance_npcname("Captain's Corpse#dk");
|
||||||
|
disablenpc instance_npcname("Soldier's Corpse#dk");
|
||||||
|
disablenpc instance_npcname("Soldier's Corpse#dk1");
|
||||||
|
disablenpc instance_npcname("Soldier's Corpse#dk2");
|
||||||
|
disablenpc instance_npcname("Soldier's Corpse#dk3");
|
||||||
|
disablenpc instance_npcname("Soldier's Corpse#dk4");
|
||||||
|
sleep 1000;
|
||||||
|
.@label$ = instance_npcname("#gp_control_5") + "::OnMyMobDead";
|
||||||
|
monster 'map_spa$,198,218, "Torturous Redeemer",2959,1, .@label$; // TORTUROUS_REDEEMER
|
||||||
|
monster 'map_spa$,198,182, "Sweet Slaughter",2956,1, .@label$; // SWEET_SLAUGHTER
|
||||||
|
end;
|
||||||
|
OnMyMobDead:
|
||||||
|
if (mobcount('map_spa$, instance_npcname("#gp_control_5") + "::OnMyMobDead") < 1) {
|
||||||
|
deltimer instance_npcname("#gp_control_4") + "::OnSpawn1"; // stop double spawn if timer is running
|
||||||
|
mapannounce 'map_spa$, "The passage on the 5th floor of the palace is open.", bc_map,0xFFFF00;
|
||||||
|
disablenpc instance_npcname("4th floor in the palace");
|
||||||
|
enablenpc instance_npcname("5th floor of Palace");
|
||||||
|
enablenpc instance_npcname("Princess Tiara#dk1");
|
||||||
|
enablenpc instance_npcname("Lurid Royal Guard#dk5");
|
||||||
|
|
||||||
|
killmonster 'map_spa$, instance_npcname("#gp_control_3") + "::OnMyMobDead2";
|
||||||
|
killmonster 'map_spa$, instance_npcname("#gp_control_3") + "::OnMyMobDead3";
|
||||||
|
disablenpc instance_npcname("#gp_control_3");
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 5th floor
|
||||||
|
1@spa,216,43,3 script Princess Tiara#dk1 4_F_MAYSEL,{
|
||||||
|
.@guard$ = instance_npcname("Lurid Royal Guard#dk5");
|
||||||
|
mes "[Princess Tiara]";
|
||||||
|
mes "You kept your promise.";
|
||||||
|
npctalk "Princess Tiara: You kept your promise.";
|
||||||
|
next;
|
||||||
|
mes "[Lurid Royal Guard]";
|
||||||
|
mes "princess!";
|
||||||
|
npctalk "Lurid Royal Guard: Princess!", .@guard$;
|
||||||
|
next;
|
||||||
|
cutin "npc-tiara.bmp",3;
|
||||||
|
mes "[Princess Tiara]";
|
||||||
|
mes "Thank you... now I can rest beside you...";
|
||||||
|
npctalk "Princess Tiara: Thank you... now I can rest beside you...";
|
||||||
|
next;
|
||||||
|
mes "[Lurid Royal Guard]";
|
||||||
|
mes "No..No!!!!!";
|
||||||
|
npctalk "Lurid Royal Guard: No..No!!!!!", .@guard$;
|
||||||
|
next;
|
||||||
|
mes "[The voice of Princess Tiara]";
|
||||||
|
mes "I want to be with you forever in peace...forever...";
|
||||||
|
npctalk "Princess Tiara: I want to be with you forever in peace...forever...";
|
||||||
|
next;
|
||||||
|
cutin "b-tiara.BMP",3;
|
||||||
|
mes "[Lurid Royal Guard]";
|
||||||
|
mes "no.....Ahh ahh ahh!!!!~!";
|
||||||
|
npctalk "Lurid Royal Guard: no.....Ahh ahh ahh!!!!~!", .@guard$;
|
||||||
|
next;
|
||||||
|
mes "[The voice of Princess Tiara]";
|
||||||
|
mes "I love you...";
|
||||||
|
npctalk "Princess Tiara: I love you...";
|
||||||
|
cutin "",255;
|
||||||
|
close2;
|
||||||
|
donpcevent instance_npcname("#gp_control_6") + "::OnStart";
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
1@spa,213,42,7 duplicate(Lurid Royal Guard#dk) Lurid Royal Guard#dk5 4_M_SAKRAYROYAL
|
||||||
|
|
||||||
|
1@spa,1,1,1 script #gp_control_6 HIDDEN_WARP_NPC,{
|
||||||
|
end;
|
||||||
|
OnStart:
|
||||||
|
enablenpc instance_npcname("#gp_control_6");
|
||||||
|
disablenpc instance_npcname("Princess Tiara#dk1");
|
||||||
|
disablenpc instance_npcname("Lurid Royal Guard#dk5");
|
||||||
|
|
||||||
|
killmonster 'map_spa$, instance_npcname("#gp_control_4") + "::OnMyMobDead1";
|
||||||
|
killmonster 'map_spa$, instance_npcname("#gp_control_4") + "::OnMyMobDead2";
|
||||||
|
killmonster 'map_spa$, instance_npcname("#gp_control_5") + "::OnMyMobDead";
|
||||||
|
disablenpc instance_npcname("#gp_control_4");
|
||||||
|
disablenpc instance_npcname("#gp_control_5");
|
||||||
|
disablenpc instance_npcname("5th floor of Palace");
|
||||||
|
sleep 2000;
|
||||||
|
.@label$ = instance_npcname("#gp_control_6") + "::OnMyMobDead1";
|
||||||
|
monster 'map_spa$,217,52, "Forgotten Name" ,2957,1, .@label$; // FORGOTTEN_NAME
|
||||||
|
unittalk $@mobid[0], "Wake up! look at us... We are monsters?";
|
||||||
|
monster 'map_spa$,190,21, "Tarnished Oath" ,2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "Sakray killed the King and tried to kill us!";
|
||||||
|
monster 'map_spa$,198,49, "Tarnished Oath" ,2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "What is this..??";
|
||||||
|
monster 'map_spa$,212,28, "Fatal Days" ,2958,1, .@label$; // FATAL_DAYS
|
||||||
|
unittalk $@mobid[0], "Sakray killed a princess!";
|
||||||
|
end;
|
||||||
|
OnMyMobDead1:
|
||||||
|
if (mobcount('map_spa$, instance_npcname("#gp_control_6") + "::OnMyMobDead1") < 1) {
|
||||||
|
sleep 2000;
|
||||||
|
.@label$ = instance_npcname("#gp_control_6") + "::OnMyMobDead2";
|
||||||
|
monster 'map_spa$,217,43, "Forgotten Name" ,2957,1, .@label$; // FORGOTTEN_NAME
|
||||||
|
unittalk $@mobid[0], "Wake up! look at us... We are monsters?";
|
||||||
|
monster 'map_spa$,193,24, "Forgotten Name" ,2957,1, .@label$; // FORGOTTEN_NAME
|
||||||
|
unittalk $@mobid[0], "Sakray..?? why.....Sakray!";
|
||||||
|
monster 'map_spa$,216,59, "Tarnished Oath" ,2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "Sakray killed the King and tried to kill us!";
|
||||||
|
monster 'map_spa$,197,57, "Fatal Days" ,2958,1, .@label$; // FATAL_DAYS
|
||||||
|
unittalk $@mobid[0], "Sakray killed a princess!";
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
OnMyMobDead2:
|
||||||
|
if (mobcount('map_spa$, instance_npcname("#gp_control_6") + "::OnMyMobDead2") < 1) {
|
||||||
|
sleep 2000;
|
||||||
|
.@label$ = instance_npcname("#gp_control_6") + "::OnMyMobDead3";
|
||||||
|
monster 'map_spa$,193,39, "Forgotten Name" ,2957,1, .@label$; // FORGOTTEN_NAME
|
||||||
|
unittalk $@mobid[0], "Wake up! look at us... We are monsters?";
|
||||||
|
monster 'map_spa$,212,34, "Forgotten Name" ,2957,1, .@label$; // FORGOTTEN_NAME
|
||||||
|
unittalk $@mobid[0], "Sakray..?? why.....Sakray!";
|
||||||
|
monster 'map_spa$,201,64, "Tarnished Oath" ,2954,1, .@label$; // COLORLESS_VOW
|
||||||
|
unittalk $@mobid[0], "Sakray killed the King and tried to kill us!";
|
||||||
|
monster 'map_spa$,175,44, "Fatal Days" ,2958,1, .@label$; // FATAL_DAYS
|
||||||
|
unittalk $@mobid[0], "Sakray killed a princess!";
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
OnMyMobDead3:
|
||||||
|
if (mobcount('map_spa$, instance_npcname("#gp_control_6") + "::OnMyMobDead3") < 1) {
|
||||||
|
sleep 2000;
|
||||||
|
monster 'map_spa$,200,45, "Torturous Redeemer" ,2961,1, instance_npcname("#gp_control_6") + "::OnMyMobDead4"; // E_TORTUROUS_REDEEMER
|
||||||
|
unittalk $@mobid[0], "Thanatos Magic Trace! I will destroy you if I can't have you... Oh no! How could this be?";
|
||||||
|
sleep 5000;
|
||||||
|
killmonster 'map_spa$, instance_npcname("#gp_control_6") + "::OnMyMobDead4";
|
||||||
|
enablenpc instance_npcname("Sakray#dk");
|
||||||
|
enablenpc instance_npcname("Thanatos Magic Trace#dk3");
|
||||||
|
disablenpc instance_npcname("#gp_control_6");
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
OnMyMobDead4:
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
1@spa,196,44,5 script Sakray#dk 4_M_SAKRAY,{
|
||||||
|
mes "[Lurid Royal Guard]";
|
||||||
|
mes "Are you satisfied..? Thanatos Magic Trace?";
|
||||||
|
npctalk "Lurid Royal Guard: Are you satisfied..? Thanatos Magic Trace?";
|
||||||
|
next;
|
||||||
|
mes "[Thanatos Magic Trace]";
|
||||||
|
mes "I need more blood..Sakray, offer me his blood.";
|
||||||
|
npctalk "Thanatos Magic Trace: I need more blood..Sakray, offer me his blood.", instance_npcname("Thanatos Magic Trace#dk3");
|
||||||
|
next;
|
||||||
|
mes "[Sakray]";
|
||||||
|
mes "Okay, that is good. A traveller. Did you see?";
|
||||||
|
npctalk "Sakray: Okay, that is good. A traveller. Did you see?";
|
||||||
|
next;
|
||||||
|
mes "[" + strcharinfo(0) + "]";
|
||||||
|
mes "Sakray, what do you want? Sympathy? Or is it a trap?";
|
||||||
|
unittalk getcharid(3), "" + strcharinfo(0) + " : Sakray, what do you want? Sympathy? Or is it a trap?";
|
||||||
|
next;
|
||||||
|
mes "[Sakray]";
|
||||||
|
mes "No... I do not need to make any effort to catch a novice.";
|
||||||
|
npctalk "Sakray: No... I do not need to make any effort to catch a novice.";
|
||||||
|
next;
|
||||||
|
mes "[" + strcharinfo(0) + "]";
|
||||||
|
mes "If so... then why...?";
|
||||||
|
unittalk getcharid(3), "" + strcharinfo(0) + " : If so... then why...?";
|
||||||
|
next;
|
||||||
|
cutin "cry-b.bmp",2;
|
||||||
|
mes "[Sakray]";
|
||||||
|
mes "I wanted to get rid of a piece of humanity inside of me through you.";
|
||||||
|
npctalk "Sakray: I wanted to get rid of a piece of humanity inside of me through you.";
|
||||||
|
next;
|
||||||
|
mes "[Sakray]";
|
||||||
|
mes "I am quite satisfied with the result.";
|
||||||
|
npctalk "Sakray: I am quite satisfied with the result.";
|
||||||
|
next;
|
||||||
|
mes "[Thanatos Magic Trace]";
|
||||||
|
mes "Sakray, offer the blood to me now!";
|
||||||
|
npctalk "Thanatos Magic Trace: Sakray, offer the blood to me now!", instance_npcname("Thanatos Magic Trace#dk3");
|
||||||
|
next;
|
||||||
|
mes "[Sakray]";
|
||||||
|
mes "If you were me, what would you do?";
|
||||||
|
npctalk "Sakray: If you were me, what would you do?";
|
||||||
|
next;
|
||||||
|
mes "[Sakray]";
|
||||||
|
mes "Can you set yourself free from this curse?";
|
||||||
|
npctalk "Sakray: Can you set yourself free from this curse?";
|
||||||
|
next;
|
||||||
|
mes "[" + strcharinfo(0) + "]";
|
||||||
|
mes "...";
|
||||||
|
unittalk getcharid(3), "" + strcharinfo(0) + " : ...";
|
||||||
|
next;
|
||||||
|
mes "[Sakray]";
|
||||||
|
mes "Heh heh... I will keep watching you until the day comes when you are old enough.";
|
||||||
|
npctalk "Sakray: Heh heh... I will keep watching you until the day comes when you are old enough.";
|
||||||
|
next;
|
||||||
|
mes "[Sakray]";
|
||||||
|
mes "I am willing to hunt you later for Thanatos.";
|
||||||
|
npctalk "Sakray: I am willing to hunt you later for Thanatos.";
|
||||||
|
cutin "",255;
|
||||||
|
next;
|
||||||
|
mes "[Sakray]";
|
||||||
|
mes "Farewell then.";
|
||||||
|
npctalk "Sakray: Farewell then.";
|
||||||
|
close2;
|
||||||
|
donpcevent instance_npcname("#tb") + "::OnStart";
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
1@spa,196,46,1 script #tb CLEAR_NPC,{
|
||||||
|
end;
|
||||||
|
OnStart:
|
||||||
|
disablenpc instance_npcname("Sakray#dk");
|
||||||
|
disablenpc instance_npcname("Thanatos Magic Trace#dk3");
|
||||||
|
enablenpc instance_npcname("#tb");
|
||||||
|
enablenpc instance_npcname("#sv");
|
||||||
|
enablenpc instance_npcname("#tv");
|
||||||
|
initnpctimer;
|
||||||
|
end;
|
||||||
|
OnTimer3000:
|
||||||
|
npctalk "Voice of Princess Tiara : What can I do for you?";
|
||||||
|
end;
|
||||||
|
OnTimer8000:
|
||||||
|
npctalk "Voice of Sakray : I will always stand by you. Please rest beside me.", instance_npcname("#sv");
|
||||||
|
end;
|
||||||
|
OnTimer13000:
|
||||||
|
npctalk "Thanatos Magic Trace: Sakray, do not forget the covenant of blood between us.", instance_npcname("#tv");
|
||||||
|
end;
|
||||||
|
OnTimer17000:
|
||||||
|
npctalk "Thanatos Magic Trace: Your soul is mine until you find the blood that satisfies me...", instance_npcname("#tv");
|
||||||
|
end;
|
||||||
|
OnTimer22000:
|
||||||
|
npctalk "Voice of Sakray : Rest in the shadow with me.", instance_npcname("#sv");
|
||||||
|
end;
|
||||||
|
OnTimer25000:
|
||||||
|
npctalk "Voice of Sakray : In the dark forever...", instance_npcname("#sv");
|
||||||
|
end;
|
||||||
|
OnTimer28500:
|
||||||
|
disablenpc instance_npcname("#tb");
|
||||||
|
disablenpc instance_npcname("#sv");
|
||||||
|
disablenpc instance_npcname("#tv");
|
||||||
|
mapannounce 'map_spa$, "It is time to leave the Ghost Palace.", bc_map,0xFFFF00;
|
||||||
|
enablenpc instance_npcname("Way out of Palace");
|
||||||
|
enablenpc instance_npcname("King#dk11");
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
1@spa,195,41,1 duplicate(Lurid Royal Guard#dk) Thanatos Magic Trace#dk3 CLEAR_NPC
|
||||||
|
1@spa,198,43,1 duplicate(Lurid Royal Guard#dk) #sv CLEAR_NPC
|
||||||
|
1@spa,196,41,1 duplicate(Lurid Royal Guard#dk) #tv CLEAR_NPC
|
||||||
|
|
||||||
|
1@spa,204,29,1 script King#dk11 4_M_RUSKING,{
|
||||||
|
disable_items;
|
||||||
|
mes "[King]";
|
||||||
|
mes "Hey there, are you alive?";
|
||||||
|
mes "I did not expect to meet someone who is still alive.";
|
||||||
|
next;
|
||||||
|
mes "[King]";
|
||||||
|
mes "Do you possibly have the ^006400Gray Shard^000000?";
|
||||||
|
mes "Can you give it to me?";
|
||||||
|
mes "The memories of the faithful royal guard";
|
||||||
|
mes "and the memories of everyone he loved";
|
||||||
|
mes "are contained inside of these shards.";
|
||||||
|
next;
|
||||||
|
mes "[King]";
|
||||||
|
mes "Will you give the ^006400Gray Shard^000000 to me?";
|
||||||
|
mes "The guilt is eating my soul.";
|
||||||
|
mes "My soul is stuck within the Ghost Palace.";
|
||||||
|
next;
|
||||||
|
mes "[King]";
|
||||||
|
mes "I am collecting Sakray's abandoned memories from these shards.";
|
||||||
|
next;
|
||||||
|
mes "[King]";
|
||||||
|
mes "If you give any ^006400Gray Shard^000000s to me, I can make equipment for you.";
|
||||||
|
next;
|
||||||
|
mes "[King]";
|
||||||
|
mes "The cursed knight...";
|
||||||
|
mes "Please help me save the soul of Sakray.";
|
||||||
|
next;
|
||||||
|
setarray .@item_name$[0],
|
||||||
|
"Thanatos Sword", "Thanatos Great Sword", "Thanatos Spear", "Thanatos Long Spear", "Thanatos Staff",
|
||||||
|
"Thanatos Two-handed Staff", "Thanatos Bow", "Thanatos Dagger", "Thanatos Katar", "Thanatos Knuckle",
|
||||||
|
"Thanatos Hammer", "Thanatos Axe", "Thanatos Violin", "Thanatos Whip",
|
||||||
|
"Gray Shield", "Gray Armor", "Gray Robe", "Gray Cloak", "Gray Shoes", "Gray Helmet";
|
||||||
|
setarray .@items_list[0],13441,21009,1438,1496,1669,2023,18119,13093,28000,1836,16028,28100,1933,1988,2187,15090,15091,20721,22033,18820;
|
||||||
|
|
||||||
|
for ( .@i = 0; .@i < 20; .@i++ )
|
||||||
|
.@menu$ += .@item_name$[.@i] + ":";
|
||||||
|
.@menu$ += "Cancel";
|
||||||
|
|
||||||
|
while(true) {
|
||||||
|
.@s = select(.@menu$) - 1;
|
||||||
|
if (.@s == 20) {
|
||||||
|
mes "[King]";
|
||||||
|
mes "Someday, Sakray will";
|
||||||
|
mes "get out of this curse for sure.";
|
||||||
|
mes "I believe";
|
||||||
|
mes "^006400Gray Shard^000000s are the only method";
|
||||||
|
mes "to save him....";
|
||||||
|
close;
|
||||||
|
}
|
||||||
|
.@cost = ( .@s > 13 ? 100 : 200 );
|
||||||
|
mes "[King]";
|
||||||
|
mes "To make a ^FF0000" + .@item_name$[.@s] + "^000000";
|
||||||
|
mes "I need " + .@cost + " ^006400Gray Shard^000000.";
|
||||||
|
next;
|
||||||
|
if (select( "Cancel", "Hand over " + .@cost + " Gray Shard." ) == 1) {
|
||||||
|
mes "[King]";
|
||||||
|
mes "Someday, Sakray will";
|
||||||
|
mes "get out of this curse for sure.";
|
||||||
|
next;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (countitem(6672) < .@cost) {
|
||||||
|
mes "[King]";
|
||||||
|
mes "You do not have enough ^006400Gray Shard^000000";
|
||||||
|
mes "to make a ^FF0000" + .@item_name$[.@s] + "^000000.";
|
||||||
|
mes "I need " + .@cost + " ^006400Gray Shard^000000.";
|
||||||
|
next;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
mes "[King]";
|
||||||
|
mes "I will make a ^FF0000" + .@item_name$[.@s] + "^000000";
|
||||||
|
mes "with " + .@cost + " ^006400Gray Shard^000000.";
|
||||||
|
next;
|
||||||
|
mes "You see a light through the folded hands of the king and it gradually takes on a shape.";
|
||||||
|
next;
|
||||||
|
mes "[King]";
|
||||||
|
mes "All right, it is done.";
|
||||||
|
mes "Take this ^FF0000" + .@item_name$[.@s] + "^000000";
|
||||||
|
mes "to confront Sakray and Thanatos.";
|
||||||
|
next;
|
||||||
|
mes "[King]";
|
||||||
|
mes "The power requires a sacrifice.";
|
||||||
|
mes "Please be careful...";
|
||||||
|
delitem 6672,.@cost;// Gray Shard
|
||||||
|
getitem .@items_list[.@s],1;
|
||||||
|
close;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
1@spa,210,28,0 script Way out of Palace WARPNPC,2,2,{
|
||||||
|
end;
|
||||||
|
OnTouch_:
|
||||||
|
mes "It is time to leave the Ghost Palace.";
|
||||||
|
mes "Everything is now complete";
|
||||||
|
mes "and will vanish..";
|
||||||
|
close2;
|
||||||
|
if (isbegin_quest(1263) == 2)
|
||||||
|
getitem 6672,1;// Gray Shard
|
||||||
|
else {
|
||||||
|
setquest 1263;// Cursed Swordman
|
||||||
|
completequest 1263;
|
||||||
|
getexp 900000,500000;
|
||||||
|
getitem 6672,2;// Gray Shard
|
||||||
|
}
|
||||||
|
warp "dali02",46,129;
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
1@spa,41,217,0 warp The second floor of Palace 2,2,1@spa,114,120
|
||||||
|
1@spa,117,137,0 warp 3rd floor in the palace 2,2,1@spa,60,43
|
||||||
|
1@spa,54,28,0 warp 4th floor in the palace 2,2,1@spa,218,186
|
||||||
|
1@spa,178,186,0 warp 5th floor of Palace 2,2,1@spa,186,57
|
||||||
278
npc/re/other/achievements.txt
Normal file
278
npc/re/other/achievements.txt
Normal file
@ -0,0 +1,278 @@
|
|||||||
|
//===== rAthena Script =======================================
|
||||||
|
//= Adventure Achievements
|
||||||
|
//===== Description: =========================================
|
||||||
|
//= Spawns Adventure group type treasure chests.
|
||||||
|
//===== Changelogs: ==========================================
|
||||||
|
//= 1.0 Initial release. [Aleos]
|
||||||
|
//============================================================
|
||||||
|
|
||||||
|
- script ach_treasure#core -1,{
|
||||||
|
if (strnpcinfo(3) == "")
|
||||||
|
end;
|
||||||
|
achievementcomplete(atoi(strnpcinfo(3)));
|
||||||
|
classchange HIDDEN_WARP_NPC;
|
||||||
|
initnpctimer;
|
||||||
|
end;
|
||||||
|
|
||||||
|
OnTouch:
|
||||||
|
if (getnpctimer(1)) // Don't trigger touch if the delay timer is active.
|
||||||
|
end;
|
||||||
|
if (achievementexists(atoi(strnpcinfo(3)))) // Don't trigger if the player has already completed.
|
||||||
|
end;
|
||||||
|
classchange 4_TREASURE_BOX,"",bc_self;
|
||||||
|
end;
|
||||||
|
|
||||||
|
OnTimer5000:
|
||||||
|
stopnpctimer;
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-----------------
|
||||||
|
// --- Dungeons ---
|
||||||
|
//-----------------
|
||||||
|
|
||||||
|
// Abbey Underground
|
||||||
|
abbey03,26,72,0 duplicate(ach_treasure#core) #abb_ach1::120110 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Abyss Lake
|
||||||
|
abyss_03,86,55,0 duplicate(ach_treasure#core) #aby_ach1::120111 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Amatsu Dungeon
|
||||||
|
ama_dun03,60,163,0 duplicate(ach_treasure#core) #ama_ach1::120113 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Ant Hell
|
||||||
|
anthell02,253,41,0 duplicate(ach_treasure#core) #ant_ach1::120114 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Ayothaya Dungeon
|
||||||
|
ayo_dun02,150,256,0 duplicate(ach_treasure#core) #ayo_ach1::120115 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Bifrost
|
||||||
|
ecl_tdun04,37,37,0 duplicate(ach_treasure#core) #ecl_ach1::120121 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Brasilis Dungeon
|
||||||
|
bra_dun02,171,121,0 duplicate(ach_treasure#core) #bra_ach1::120117 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Byalan Dungeon
|
||||||
|
iz_dun05,64,223,0 duplicate(ach_treasure#core) #iz_ach2::120141 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Clock Tower
|
||||||
|
c_tower4,37,158,0 duplicate(ach_treasure#core) #ct_ach1::120112 HIDDEN_WARP_NPC,5,5
|
||||||
|
alde_dun04,90,107,0 duplicate(ach_treasure#core) #ct_ach2::120118 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Coal Mine
|
||||||
|
mjo_dun03,76,220,0 duplicate(ach_treasure#core) #mjo_ach1::120136 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Comodo Dungeon
|
||||||
|
beach_dun3,102,71,0 duplicate(ach_treasure#core) #bea_ach1::120116 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Einbech
|
||||||
|
ein_dun02,31,255,0 duplicate(ach_treasure#core) #eind_ach1::120122 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Geffen Dungeon
|
||||||
|
gef_dun02,222,163,0 duplicate(ach_treasure#core) #gefd_ach1::120123 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Glastheim
|
||||||
|
gl_cas02,53,151,0 duplicate(ach_treasure#core) #gl_ach1::120124 HIDDEN_WARP_NPC,5,5
|
||||||
|
gl_sew04,288,6,0 duplicate(ach_treasure#core) #gl_ach2::120125 HIDDEN_WARP_NPC,5,5
|
||||||
|
gl_knt02,126,235,0 duplicate(ach_treasure#core) #gl_ach3::120126 HIDDEN_WARP_NPC,5,5
|
||||||
|
gl_prison1,125,159,0 duplicate(ach_treasure#core) #gl_ach4:120127 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Gonryun Dungeon
|
||||||
|
gon_dun03,167,232,0 duplicate(ach_treasure#core) #gon_ach1::120128 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Istana
|
||||||
|
dew_dun02,87,272,0 duplicate(ach_treasure#core) #dew_ach1::120119 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Labyrinth
|
||||||
|
prt_maze03,11,14,0 duplicate(ach_treasure#core) #maze_ach1::120140 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Louyang Dungeon
|
||||||
|
lou_dun03,29,228,0 duplicate(ach_treasure#core) #lou_ach1::120134 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Nogg Road
|
||||||
|
mag_dun02,192,72,0 duplicate(ach_treasure#core) #mag_ach1::120135 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Orc Dungeon
|
||||||
|
orcsdun02,32,72,0 duplicate(ach_treasure#core) #orc_ach1::120138 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Payon Dungeon
|
||||||
|
pay_dun04,120,124,0 duplicate(ach_treasure#core) #payd_ach1::120139 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Prontera Culvert
|
||||||
|
prt_sewb4,19,183,0 duplicate(ach_treasure#core) #iz_ach1::120131 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Pyramid
|
||||||
|
moc_pryd06,102,121,0 duplicate(ach_treasure#core) #pyr_ach1::120137 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Rachel Dungeon
|
||||||
|
ice_dun03,44,261,0 duplicate(ach_treasure#core) #rad_ach1::120129 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Robot Factory
|
||||||
|
kh_dun02,70,106,0 duplicate(ach_treasure#core) #jup_ach1::120132 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Scaraba Hall
|
||||||
|
dic_dun03,216,211,0 duplicate(ach_treasure#core) #dic_ach1::120120 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Somatology Lab
|
||||||
|
lhz_dun03,240,221,0 duplicate(ach_treasure#core) #lhzd_ach1::120133 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Sphinx
|
||||||
|
in_sphinx5,154,107,0 duplicate(ach_treasure#core) #sph_ach1::120130 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Sunken Ship
|
||||||
|
treasure02,18,142,0 duplicate(ach_treasure#core) #iz_ach3::120144 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Thanatos Tower
|
||||||
|
tha_t06,150,176,0 duplicate(ach_treasure#core) #tha_ach1::120142 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Thors Volcano
|
||||||
|
thor_v03,220,221,0 duplicate(ach_treasure#core) #thor_ach1::120143 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Toy Factory
|
||||||
|
xmas_dun02,120,224,0 duplicate(ach_treasure#core) #xmas_ach1::120146 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Turtle Island Dungeon
|
||||||
|
tur_dun04,134,130,0 duplicate(ach_treasure#core) #tur_ach1::120145 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
//---------------
|
||||||
|
// --- Fields ---
|
||||||
|
//---------------
|
||||||
|
|
||||||
|
// Comodo
|
||||||
|
cmd_fild01,112,200,0 duplicate(ach_treasure#core) #cmd_ach1::120044 HIDDEN_WARP_NPC,5,5
|
||||||
|
cmd_fild02,86,94,0 duplicate(ach_treasure#core) #cmd_ach2::120045 HIDDEN_WARP_NPC,5,5
|
||||||
|
cmd_fild03,144,190,0 duplicate(ach_treasure#core) #cmd_ach3::120046 HIDDEN_WARP_NPC,5,5
|
||||||
|
cmd_fild04,151,191,0 duplicate(ach_treasure#core) #cmd_ach4::120047 HIDDEN_WARP_NPC,5,5
|
||||||
|
cmd_fild06,221,108,0 duplicate(ach_treasure#core) #cmd_ach5::120048 HIDDEN_WARP_NPC,5,5
|
||||||
|
cmd_fild07,269,322,0 duplicate(ach_treasure#core) #cmd_ach6::120049 HIDDEN_WARP_NPC,5,5
|
||||||
|
cmd_fild08,181,136,0 duplicate(ach_treasure#core) #cmd_ach7::120050 HIDDEN_WARP_NPC,5,5
|
||||||
|
cmd_fild09,211,266,0 duplicate(ach_treasure#core) #cmd_ach8::120051 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Einbroch
|
||||||
|
ein_fild01,266,277,0 duplicate(ach_treasure#core) #ein_ach1::120067 HIDDEN_WARP_NPC,5,5
|
||||||
|
ein_fild03,99,332,0 duplicate(ach_treasure#core) #ein_ach2::120068 HIDDEN_WARP_NPC,5,5
|
||||||
|
ein_fild04,334,305,0 duplicate(ach_treasure#core) #ein_ach3::120069 HIDDEN_WARP_NPC,5,5
|
||||||
|
ein_fild05,337,233,0 duplicate(ach_treasure#core) #ein_ach4::120070 HIDDEN_WARP_NPC,5,5
|
||||||
|
ein_fild06,174,245,0 duplicate(ach_treasure#core) #ein_ach5::120071 HIDDEN_WARP_NPC,5,5
|
||||||
|
ein_fild07,188,50,0 duplicate(ach_treasure#core) #ein_ach6::120072 HIDDEN_WARP_NPC,5,5
|
||||||
|
ein_fild08,258,78,0 duplicate(ach_treasure#core) #ein_ach7::120073 HIDDEN_WARP_NPC,5,5
|
||||||
|
ein_fild09,330,76,0 duplicate(ach_treasure#core) #ein_ach8::120074 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Geffen
|
||||||
|
gef_fild00,74,119,0 duplicate(ach_treasure#core) #gef_ach1::120011 HIDDEN_WARP_NPC,5,5
|
||||||
|
gef_fild01,223,223,0 duplicate(ach_treasure#core) #gef_ach2::120012 HIDDEN_WARP_NPC,5,5
|
||||||
|
gef_fild05,202,292,0 duplicate(ach_treasure#core) #gef_ach3::120013 HIDDEN_WARP_NPC,5,5
|
||||||
|
gef_fild06,279,104,0 duplicate(ach_treasure#core) #gef_ach4::120014 HIDDEN_WARP_NPC,5,5
|
||||||
|
gef_fild07,181,250,0 duplicate(ach_treasure#core) #gef_ach5::120015 HIDDEN_WARP_NPC,5,5
|
||||||
|
gef_fild09,170,73,0 duplicate(ach_treasure#core) #gef_ach6::120016 HIDDEN_WARP_NPC,5,5
|
||||||
|
gef_fild11,238,249,0 duplicate(ach_treasure#core) #gef_ach7::120017 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Hugel
|
||||||
|
hu_fild01,347,312,0 duplicate(ach_treasure#core) #hu_ach1::120062 HIDDEN_WARP_NPC,5,5
|
||||||
|
hu_fild02,80,152,0 duplicate(ach_treasure#core) #hu_ach2::120063 HIDDEN_WARP_NPC,5,5
|
||||||
|
hu_fild04,322,313,0 duplicate(ach_treasure#core) #hu_ach3::120064 HIDDEN_WARP_NPC,5,5
|
||||||
|
hu_fild06,204,228,0 duplicate(ach_treasure#core) #hu_ach4::120065 HIDDEN_WARP_NPC,5,5
|
||||||
|
hu_fild05,197,210,0 duplicate(ach_treasure#core) #hu_ach5::120066 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Laphine
|
||||||
|
ecl_fild01,155,322,0 duplicate(ach_treasure#core) #ecl_ach1::120090 HIDDEN_WARP_NPC,5,5
|
||||||
|
bif_fild01,147,64,0 duplicate(ach_treasure#core) #ecl_ach2::120091 HIDDEN_WARP_NPC,5,5
|
||||||
|
bif_fild02,155,322,0 duplicate(ach_treasure#core) #ecl_ach3::120092 HIDDEN_WARP_NPC,5,5
|
||||||
|
spl_fild01,335,315,0 duplicate(ach_treasure#core) #ecl_ach4::120093 HIDDEN_WARP_NPC,5,5
|
||||||
|
spl_fild02,153,358,0 duplicate(ach_treasure#core) #ecl_ach5::120094 HIDDEN_WARP_NPC,5,5
|
||||||
|
spl_fild03,61,286,0 duplicate(ach_treasure#core) #ecl_ach6::120095 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Lighthalzen
|
||||||
|
lhz_fild01,118,73,0 duplicate(ach_treasure#core) #lhz_ach1::120075 HIDDEN_WARP_NPC,5,5
|
||||||
|
lhz_fild02,239,243,0 duplicate(ach_treasure#core) #lhz_ach2::120076 HIDDEN_WARP_NPC,5,5
|
||||||
|
lhz_fild03,313,132,0 duplicate(ach_treasure#core) #lhz_ach3::120077 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Manuk
|
||||||
|
man_fild01,41,172,0 duplicate(ach_treasure#core) #man_ach1::120096 HIDDEN_WARP_NPC,5,5
|
||||||
|
man_fild02,268,355,0 duplicate(ach_treasure#core) #man_ach2::120097 HIDDEN_WARP_NPC,5,5
|
||||||
|
man_fild03,198,91,0 duplicate(ach_treasure#core) #man_ach3::120098 HIDDEN_WARP_NPC,5,5
|
||||||
|
dic_fild01,227,82,0 duplicate(ach_treasure#core) #man_ach4::120099 HIDDEN_WARP_NPC,5,5
|
||||||
|
dic_fild02,147,196,0 duplicate(ach_treasure#core) #man_ach5::120100 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Misc
|
||||||
|
ama_fild01,187,337,0 duplicate(ach_treasure#core) #misc_ach1::120101 HIDDEN_WARP_NPC,5,5
|
||||||
|
gon_fild01,171,332,0 duplicate(ach_treasure#core) #misc_ach2::120102 HIDDEN_WARP_NPC,5,5
|
||||||
|
lou_fild01,104,232,0 duplicate(ach_treasure#core) #misc_ach3::120103 HIDDEN_WARP_NPC,5,5
|
||||||
|
ayo_fild01,289,70,0 duplicate(ach_treasure#core) #misc_ach4::120104 HIDDEN_WARP_NPC,5,5
|
||||||
|
mosk_fild02,176,77,0 duplicate(ach_treasure#core) #misc_ach5::120105 HIDDEN_WARP_NPC,5,5
|
||||||
|
bra_fild01,99,193,0 duplicate(ach_treasure#core) #misc_ach6::120106 HIDDEN_WARP_NPC,5,5
|
||||||
|
dew_fild01,175,287,0 duplicate(ach_treasure#core) #misc_ach7::120107 HIDDEN_WARP_NPC,5,5
|
||||||
|
ma_fild01,308,206,0 duplicate(ach_treasure#core) #misc_ach8::120108 HIDDEN_WARP_NPC,5,5
|
||||||
|
ma_fild02,176,77,0 duplicate(ach_treasure#core) #misc_ach9::120109 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Mjolnir
|
||||||
|
mjolnir_01,47,60,0 duplicate(ach_treasure#core) #nmjo_ach1::120032 HIDDEN_WARP_NPC,5,5
|
||||||
|
mjolnir_02,77,49,0 duplicate(ach_treasure#core) #nmjo_ach2::120033 HIDDEN_WARP_NPC,5,5
|
||||||
|
mjolnir_03,190,200,0 duplicate(ach_treasure#core) #nmjo_ach3::120034 HIDDEN_WARP_NPC,5,5
|
||||||
|
mjolnir_04,201,146,0 duplicate(ach_treasure#core) #nmjo_ach4::120035 HIDDEN_WARP_NPC,5,5
|
||||||
|
mjolnir_05,43,327,0 duplicate(ach_treasure#core) #nmjo_ach5::120036 HIDDEN_WARP_NPC,5,5
|
||||||
|
mjolnir_06,162,290,0 duplicate(ach_treasure#core) #smjo_ach1::120037 HIDDEN_WARP_NPC,5,5
|
||||||
|
mjolnir_07,321,127,0 duplicate(ach_treasure#core) #smjo_ach2::120038 HIDDEN_WARP_NPC,5,5
|
||||||
|
mjolnir_08,175,225,0 duplicate(ach_treasure#core) #smjo_ach3::120039 HIDDEN_WARP_NPC,5,5
|
||||||
|
mjolnir_09,299,123,0 duplicate(ach_treasure#core) #smjo_ach4::120040 HIDDEN_WARP_NPC,5,5
|
||||||
|
mjolnir_10,353,371,0 duplicate(ach_treasure#core) #smjo_ach5::120041 HIDDEN_WARP_NPC,5,5
|
||||||
|
mjolnir_11,329,182,0 duplicate(ach_treasure#core) #smjo_ach6::120042 HIDDEN_WARP_NPC,5,5
|
||||||
|
mjolnir_12,110,298,0 duplicate(ach_treasure#core) #smjo_ach7::120043 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Morocc
|
||||||
|
moc_fild11,188,218,0 duplicate(ach_treasure#core) #moc_ach1::120018 HIDDEN_WARP_NPC,5,5
|
||||||
|
moc_fild12,234,96,0 duplicate(ach_treasure#core) #moc_ach2::120019 HIDDEN_WARP_NPC,5,5
|
||||||
|
moc_fild13,290,207,0 duplicate(ach_treasure#core) #moc_ach3::120020 HIDDEN_WARP_NPC,5,5
|
||||||
|
moc_fild16,196,108,0 duplicate(ach_treasure#core) #moc_ach4::120021 HIDDEN_WARP_NPC,5,5
|
||||||
|
moc_fild17,269,105,0 duplicate(ach_treasure#core) #moc_ach5::120022 HIDDEN_WARP_NPC,5,5
|
||||||
|
moc_fild18,54,284,0 duplicate(ach_treasure#core) #moc_ach6::120023 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Payon
|
||||||
|
pay_fild01,167,243,0 duplicate(ach_treasure#core) #pay_ach1::120024 HIDDEN_WARP_NPC,5,5
|
||||||
|
pay_fild02,105,240,0 duplicate(ach_treasure#core) #pay_ach2::120025 HIDDEN_WARP_NPC,5,5
|
||||||
|
pay_fild03,144,97,0 duplicate(ach_treasure#core) #pay_ach3::120026 HIDDEN_WARP_NPC,5,5
|
||||||
|
pay_fild04,257,95,0 duplicate(ach_treasure#core) #pay_ach4::120027 HIDDEN_WARP_NPC,5,5
|
||||||
|
pay_fild07,365,37,0 duplicate(ach_treasure#core) #pay_ach5::120028 HIDDEN_WARP_NPC,5,5
|
||||||
|
pay_fild08,237,345,0 duplicate(ach_treasure#core) #pay_ach6::120029 HIDDEN_WARP_NPC,5,5
|
||||||
|
pay_fild09,251,42,0 duplicate(ach_treasure#core) #pay_ach7::120030 HIDDEN_WARP_NPC,5,5
|
||||||
|
pay_fild10,196,38,0 duplicate(ach_treasure#core) #pay_ach8::120031 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Prontera
|
||||||
|
prt_fild01,147,126,0 duplicate(ach_treasure#core) #prt_ach1::120001 HIDDEN_WARP_NPC,5,5
|
||||||
|
prt_fild02,140,219,0 duplicate(ach_treasure#core) #prt_ach2::120002 HIDDEN_WARP_NPC,5,5
|
||||||
|
prt_fild03,172,139,0 duplicate(ach_treasure#core) #prt_ach3::120003 HIDDEN_WARP_NPC,5,5
|
||||||
|
prt_fild04,119,291,0 duplicate(ach_treasure#core) #prt_ach4::120004 HIDDEN_WARP_NPC,5,5
|
||||||
|
prt_fild05,190,291,0 duplicate(ach_treasure#core) #prt_ach5::120005 HIDDEN_WARP_NPC,5,5
|
||||||
|
prt_fild06,296,303,0 duplicate(ach_treasure#core) #prt_ach6::120006 HIDDEN_WARP_NPC,5,5
|
||||||
|
prt_fild07,45,104,0 duplicate(ach_treasure#core) #prt_ach7::120007 HIDDEN_WARP_NPC,5,5
|
||||||
|
prt_fild08,203,223,0 duplicate(ach_treasure#core) #prt_ach8::120008 HIDDEN_WARP_NPC,5,5
|
||||||
|
prt_fild09,37,354,0 duplicate(ach_treasure#core) #prt_ach9::120009 HIDDEN_WARP_NPC,5,5
|
||||||
|
prt_fild10,177,206,0 duplicate(ach_treasure#core) #prt_ach10::12010 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Rachel
|
||||||
|
ra_fild01,138,166,0 duplicate(ach_treasure#core) #ra_ach1::120078 HIDDEN_WARP_NPC,5,5
|
||||||
|
ra_fild03,224,275,0 duplicate(ach_treasure#core) #ra_ach2::120079 HIDDEN_WARP_NPC,5,5
|
||||||
|
ra_fild08,326,45,0 duplicate(ach_treasure#core) #ra_ach3::120080 HIDDEN_WARP_NPC,5,5
|
||||||
|
ra_fild12,352,165,0 duplicate(ach_treasure#core) #ra_ach4::120081 HIDDEN_WARP_NPC,5,5
|
||||||
|
ra_fild04,92,302,0 duplicate(ach_treasure#core) #ra_ach5::120082 HIDDEN_WARP_NPC,5,5
|
||||||
|
ra_fild05,59,59,0 duplicate(ach_treasure#core) #ra_ach6::120083 HIDDEN_WARP_NPC,5,5
|
||||||
|
ra_fild06,362,230,0 duplicate(ach_treasure#core) #ra_ach7::120084 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Veins
|
||||||
|
ve_fild01,180,234,0 duplicate(ach_treasure#core) #ve_ach1::120085 HIDDEN_WARP_NPC,5,5
|
||||||
|
ve_fild02,65,194,0 duplicate(ach_treasure#core) #ve_ach2::120086 HIDDEN_WARP_NPC,5,5
|
||||||
|
ve_fild03,197,242,0 duplicate(ach_treasure#core) #ve_ach3::120087 HIDDEN_WARP_NPC,5,5
|
||||||
|
ve_fild04,288,279,0 duplicate(ach_treasure#core) #ve_ach4::120088 HIDDEN_WARP_NPC,5,5
|
||||||
|
ve_fild07,33,113,0 duplicate(ach_treasure#core) #ve_ach5::120089 HIDDEN_WARP_NPC,5,5
|
||||||
|
|
||||||
|
// Yuno
|
||||||
|
yuno_fild01,284,138,0 duplicate(ach_treasure#core) #yuno_ach1::120052 HIDDEN_WARP_NPC,5,5
|
||||||
|
yuno_fild12,76,268,0 duplicate(ach_treasure#core) #yuno_ach2::120053 HIDDEN_WARP_NPC,5,5
|
||||||
|
yuno_fild02,142,191,0 duplicate(ach_treasure#core) #yuno_ach3::120054 HIDDEN_WARP_NPC,5,5
|
||||||
|
yuno_fild03,135,329,0 duplicate(ach_treasure#core) #yuno_ach4::120055 HIDDEN_WARP_NPC,5,5
|
||||||
|
yuno_fild04,35,369,0 duplicate(ach_treasure#core) #yuno_ach5::120056 HIDDEN_WARP_NPC,5,5
|
||||||
|
yuno_fild06,262,220,0 duplicate(ach_treasure#core) #yuno_ach6::120057 HIDDEN_WARP_NPC,5,5
|
||||||
|
yuno_fild07,113,339,0 duplicate(ach_treasure#core) #yuno_ach7::120058 HIDDEN_WARP_NPC,5,5
|
||||||
|
yuno_fild08,179,209,0 duplicate(ach_treasure#core) #yuno_ach8::120059 HIDDEN_WARP_NPC,5,5
|
||||||
|
yuno_fild09,166,228,0 duplicate(ach_treasure#core) #yuno_ach9::120060 HIDDEN_WARP_NPC,5,5
|
||||||
|
yuno_fild11,141,357,0 duplicate(ach_treasure#core) #yuno_ach10::120061 HIDDEN_WARP_NPC,5,5
|
||||||
@ -2105,11 +2105,10 @@ ecl_fild01,97,315,4 script Traveler#ep14_2 4_M_JOB_HUNTER,{
|
|||||||
mes "Oh, you came to ask me about the feather, too?";
|
mes "Oh, you came to ask me about the feather, too?";
|
||||||
mes "It's just a plain old decoration, but everyone really likes to bother me about it.";
|
mes "It's just a plain old decoration, but everyone really likes to bother me about it.";
|
||||||
next;
|
next;
|
||||||
mes "Traveler#ep14_2fl";
|
|
||||||
mes "[Traveler]";
|
mes "[Traveler]";
|
||||||
mes "If you are thinking about selling it, you should just give up.";
|
mes "If you are thinking about selling it, you should just give up.";
|
||||||
next;
|
|
||||||
mes "I have no wishes to sell it no matter how much you beg.";
|
mes "I have no wishes to sell it no matter how much you beg.";
|
||||||
|
next;
|
||||||
mes "[Traveler]";
|
mes "[Traveler]";
|
||||||
mes "This feather..";
|
mes "This feather..";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,6 +55,7 @@ npc: npc/re/instances/BakonawaLake.txt
|
|||||||
npc: npc/re/instances/BangungotHospital.txt
|
npc: npc/re/instances/BangungotHospital.txt
|
||||||
npc: npc/re/instances/BuwayaCave.txt
|
npc: npc/re/instances/BuwayaCave.txt
|
||||||
npc: npc/re/instances/FacewormsNest.txt
|
npc: npc/re/instances/FacewormsNest.txt
|
||||||
|
npc: npc/re/instances/GhostPalace.txt
|
||||||
npc: npc/re/instances/HazyForest.txt
|
npc: npc/re/instances/HazyForest.txt
|
||||||
npc: npc/re/instances/HorrorToyFactory.txt
|
npc: npc/re/instances/HorrorToyFactory.txt
|
||||||
npc: npc/re/instances/MalangdoCulvert.txt
|
npc: npc/re/instances/MalangdoCulvert.txt
|
||||||
@ -99,6 +100,7 @@ npc: npc/re/merchants/shops.txt
|
|||||||
npc: npc/re/merchants/te_merchant.txt
|
npc: npc/re/merchants/te_merchant.txt
|
||||||
|
|
||||||
// --------------------------- Others ---------------------------
|
// --------------------------- Others ---------------------------
|
||||||
|
npc: npc/re/other/achievements.txt
|
||||||
npc: npc/re/other/adven_boards.txt
|
npc: npc/re/other/adven_boards.txt
|
||||||
npc: npc/re/other/bulletin_boards.txt
|
npc: npc/re/other/bulletin_boards.txt
|
||||||
npc: npc/re/other/Global_Functions.txt
|
npc: npc/re/other/Global_Functions.txt
|
||||||
|
|||||||
10
rAthena.sln
10
rAthena.sln
@ -21,6 +21,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Config", "Config", "{60D331
|
|||||||
src\config\const.h = src\config\const.h
|
src\config\const.h = src\config\const.h
|
||||||
src\config\core.h = src\config\core.h
|
src\config\core.h = src\config\core.h
|
||||||
src\config\classes\general.h = src\config\classes\general.h
|
src\config\classes\general.h = src\config\classes\general.h
|
||||||
|
src\config\packets.h = src\config\packets.h
|
||||||
src\config\renewal.h = src\config\renewal.h
|
src\config\renewal.h = src\config\renewal.h
|
||||||
src\config\secure.h = src\config\secure.h
|
src\config\secure.h = src\config\secure.h
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
@ -42,6 +43,7 @@ EndProject
|
|||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "char-server", "src\char\char-server.vcxproj", "{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "char-server", "src\char\char-server.vcxproj", "{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{F8FD7B1E-8E1C-4CC3-9CD1-2E28F77B6559} = {F8FD7B1E-8E1C-4CC3-9CD1-2E28F77B6559}
|
{F8FD7B1E-8E1C-4CC3-9CD1-2E28F77B6559} = {F8FD7B1E-8E1C-4CC3-9CD1-2E28F77B6559}
|
||||||
|
{61D6A599-6BED-4154-A9FC-40553BD972E0} = {61D6A599-6BED-4154-A9FC-40553BD972E0}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "map-server", "src\map\map-server.vcxproj", "{B4114A9C-EEA4-433C-A830-56119A984F24}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "map-server", "src\map\map-server.vcxproj", "{B4114A9C-EEA4-433C-A830-56119A984F24}"
|
||||||
@ -75,6 +77,7 @@ Global
|
|||||||
{F8FD7B1E-8E1C-4CC3-9CD1-2E28F77B6559}.Release|Win32.ActiveCfg = Release|Win32
|
{F8FD7B1E-8E1C-4CC3-9CD1-2E28F77B6559}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{F8FD7B1E-8E1C-4CC3-9CD1-2E28F77B6559}.Release|Win32.Build.0 = Release|Win32
|
{F8FD7B1E-8E1C-4CC3-9CD1-2E28F77B6559}.Release|Win32.Build.0 = Release|Win32
|
||||||
{F8FD7B1E-8E1C-4CC3-9CD1-2E28F77B6559}.Release|x64.ActiveCfg = Release|x64
|
{F8FD7B1E-8E1C-4CC3-9CD1-2E28F77B6559}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{F8FD7B1E-8E1C-4CC3-9CD1-2E28F77B6559}.Release|x64.Build.0 = Release|x64
|
||||||
{F6CC5F60-BD13-41B1-81D3-822A45EC0DBD}.Debug|Win32.ActiveCfg = Debug|Win32
|
{F6CC5F60-BD13-41B1-81D3-822A45EC0DBD}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{F6CC5F60-BD13-41B1-81D3-822A45EC0DBD}.Debug|Win32.Build.0 = Debug|Win32
|
{F6CC5F60-BD13-41B1-81D3-822A45EC0DBD}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{F6CC5F60-BD13-41B1-81D3-822A45EC0DBD}.Debug|x64.ActiveCfg = Debug|x64
|
{F6CC5F60-BD13-41B1-81D3-822A45EC0DBD}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
@ -82,6 +85,7 @@ Global
|
|||||||
{F6CC5F60-BD13-41B1-81D3-822A45EC0DBD}.Release|Win32.ActiveCfg = Release|Win32
|
{F6CC5F60-BD13-41B1-81D3-822A45EC0DBD}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{F6CC5F60-BD13-41B1-81D3-822A45EC0DBD}.Release|Win32.Build.0 = Release|Win32
|
{F6CC5F60-BD13-41B1-81D3-822A45EC0DBD}.Release|Win32.Build.0 = Release|Win32
|
||||||
{F6CC5F60-BD13-41B1-81D3-822A45EC0DBD}.Release|x64.ActiveCfg = Release|x64
|
{F6CC5F60-BD13-41B1-81D3-822A45EC0DBD}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{F6CC5F60-BD13-41B1-81D3-822A45EC0DBD}.Release|x64.Build.0 = Release|x64
|
||||||
{7AE31676-6137-4FB3-AE9C-AD47D8A861CF}.Debug|Win32.ActiveCfg = Debug|Win32
|
{7AE31676-6137-4FB3-AE9C-AD47D8A861CF}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{7AE31676-6137-4FB3-AE9C-AD47D8A861CF}.Debug|Win32.Build.0 = Debug|Win32
|
{7AE31676-6137-4FB3-AE9C-AD47D8A861CF}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{7AE31676-6137-4FB3-AE9C-AD47D8A861CF}.Debug|x64.ActiveCfg = Debug|x64
|
{7AE31676-6137-4FB3-AE9C-AD47D8A861CF}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
@ -89,6 +93,7 @@ Global
|
|||||||
{7AE31676-6137-4FB3-AE9C-AD47D8A861CF}.Release|Win32.ActiveCfg = Release|Win32
|
{7AE31676-6137-4FB3-AE9C-AD47D8A861CF}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{7AE31676-6137-4FB3-AE9C-AD47D8A861CF}.Release|Win32.Build.0 = Release|Win32
|
{7AE31676-6137-4FB3-AE9C-AD47D8A861CF}.Release|Win32.Build.0 = Release|Win32
|
||||||
{7AE31676-6137-4FB3-AE9C-AD47D8A861CF}.Release|x64.ActiveCfg = Release|x64
|
{7AE31676-6137-4FB3-AE9C-AD47D8A861CF}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{7AE31676-6137-4FB3-AE9C-AD47D8A861CF}.Release|x64.Build.0 = Release|x64
|
||||||
{864805EA-FD39-453D-9248-C581951BA058}.Debug|Win32.ActiveCfg = Debug|Win32
|
{864805EA-FD39-453D-9248-C581951BA058}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{864805EA-FD39-453D-9248-C581951BA058}.Debug|Win32.Build.0 = Debug|Win32
|
{864805EA-FD39-453D-9248-C581951BA058}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{864805EA-FD39-453D-9248-C581951BA058}.Debug|x64.ActiveCfg = Debug|x64
|
{864805EA-FD39-453D-9248-C581951BA058}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
@ -96,6 +101,7 @@ Global
|
|||||||
{864805EA-FD39-453D-9248-C581951BA058}.Release|Win32.ActiveCfg = Release|Win32
|
{864805EA-FD39-453D-9248-C581951BA058}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{864805EA-FD39-453D-9248-C581951BA058}.Release|Win32.Build.0 = Release|Win32
|
{864805EA-FD39-453D-9248-C581951BA058}.Release|Win32.Build.0 = Release|Win32
|
||||||
{864805EA-FD39-453D-9248-C581951BA058}.Release|x64.ActiveCfg = Release|x64
|
{864805EA-FD39-453D-9248-C581951BA058}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{864805EA-FD39-453D-9248-C581951BA058}.Release|x64.Build.0 = Release|x64
|
||||||
{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}.Debug|Win32.ActiveCfg = Debug|Win32
|
{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}.Debug|Win32.Build.0 = Debug|Win32
|
{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}.Debug|x64.ActiveCfg = Debug|x64
|
{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
@ -103,6 +109,7 @@ Global
|
|||||||
{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}.Release|Win32.ActiveCfg = Release|Win32
|
{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}.Release|Win32.Build.0 = Release|Win32
|
{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}.Release|Win32.Build.0 = Release|Win32
|
||||||
{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}.Release|x64.ActiveCfg = Release|x64
|
{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{FED3A941-0AF7-49FE-85CF-E1DFDC0EBB23}.Release|x64.Build.0 = Release|x64
|
||||||
{B4114A9C-EEA4-433C-A830-56119A984F24}.Debug|Win32.ActiveCfg = Debug|Win32
|
{B4114A9C-EEA4-433C-A830-56119A984F24}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{B4114A9C-EEA4-433C-A830-56119A984F24}.Debug|Win32.Build.0 = Debug|Win32
|
{B4114A9C-EEA4-433C-A830-56119A984F24}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{B4114A9C-EEA4-433C-A830-56119A984F24}.Debug|x64.ActiveCfg = Debug|x64
|
{B4114A9C-EEA4-433C-A830-56119A984F24}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
@ -110,6 +117,7 @@ Global
|
|||||||
{B4114A9C-EEA4-433C-A830-56119A984F24}.Release|Win32.ActiveCfg = Release|Win32
|
{B4114A9C-EEA4-433C-A830-56119A984F24}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{B4114A9C-EEA4-433C-A830-56119A984F24}.Release|Win32.Build.0 = Release|Win32
|
{B4114A9C-EEA4-433C-A830-56119A984F24}.Release|Win32.Build.0 = Release|Win32
|
||||||
{B4114A9C-EEA4-433C-A830-56119A984F24}.Release|x64.ActiveCfg = Release|x64
|
{B4114A9C-EEA4-433C-A830-56119A984F24}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{B4114A9C-EEA4-433C-A830-56119A984F24}.Release|x64.Build.0 = Release|x64
|
||||||
{352B45B3-FE88-4431-9D89-48CF811446DB}.Debug|Win32.ActiveCfg = Debug|Win32
|
{352B45B3-FE88-4431-9D89-48CF811446DB}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{352B45B3-FE88-4431-9D89-48CF811446DB}.Debug|Win32.Build.0 = Debug|Win32
|
{352B45B3-FE88-4431-9D89-48CF811446DB}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{352B45B3-FE88-4431-9D89-48CF811446DB}.Debug|x64.ActiveCfg = Debug|x64
|
{352B45B3-FE88-4431-9D89-48CF811446DB}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
@ -117,6 +125,7 @@ Global
|
|||||||
{352B45B3-FE88-4431-9D89-48CF811446DB}.Release|Win32.ActiveCfg = Release|Win32
|
{352B45B3-FE88-4431-9D89-48CF811446DB}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{352B45B3-FE88-4431-9D89-48CF811446DB}.Release|Win32.Build.0 = Release|Win32
|
{352B45B3-FE88-4431-9D89-48CF811446DB}.Release|Win32.Build.0 = Release|Win32
|
||||||
{352B45B3-FE88-4431-9D89-48CF811446DB}.Release|x64.ActiveCfg = Release|x64
|
{352B45B3-FE88-4431-9D89-48CF811446DB}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{352B45B3-FE88-4431-9D89-48CF811446DB}.Release|x64.Build.0 = Release|x64
|
||||||
{FC4C071B-2C26-4B03-948A-335C94A88B5E}.Debug|Win32.ActiveCfg = Debug|Win32
|
{FC4C071B-2C26-4B03-948A-335C94A88B5E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{FC4C071B-2C26-4B03-948A-335C94A88B5E}.Debug|Win32.Build.0 = Debug|Win32
|
{FC4C071B-2C26-4B03-948A-335C94A88B5E}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{FC4C071B-2C26-4B03-948A-335C94A88B5E}.Debug|x64.ActiveCfg = Debug|x64
|
{FC4C071B-2C26-4B03-948A-335C94A88B5E}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
@ -124,6 +133,7 @@ Global
|
|||||||
{FC4C071B-2C26-4B03-948A-335C94A88B5E}.Release|Win32.ActiveCfg = Release|Win32
|
{FC4C071B-2C26-4B03-948A-335C94A88B5E}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{FC4C071B-2C26-4B03-948A-335C94A88B5E}.Release|Win32.Build.0 = Release|Win32
|
{FC4C071B-2C26-4B03-948A-335C94A88B5E}.Release|Win32.Build.0 = Release|Win32
|
||||||
{FC4C071B-2C26-4B03-948A-335C94A88B5E}.Release|x64.ActiveCfg = Release|x64
|
{FC4C071B-2C26-4B03-948A-335C94A88B5E}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{FC4C071B-2C26-4B03-948A-335C94A88B5E}.Release|x64.Build.0 = Release|x64
|
||||||
{61D6A599-6BED-4154-A9FC-40553BD972E0}.Debug|Win32.ActiveCfg = Debug|Win32
|
{61D6A599-6BED-4154-A9FC-40553BD972E0}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{61D6A599-6BED-4154-A9FC-40553BD972E0}.Debug|Win32.Build.0 = Debug|Win32
|
{61D6A599-6BED-4154-A9FC-40553BD972E0}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{61D6A599-6BED-4154-A9FC-40553BD972E0}.Debug|x64.ActiveCfg = Debug|x64
|
{61D6A599-6BED-4154-A9FC-40553BD972E0}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
|||||||
@ -816,7 +816,7 @@ REPLACE INTO `item_db_re` VALUES (1439,'Half_BF_Spear1','Half BF Spear1',5,20,NU
|
|||||||
REPLACE INTO `item_db_re` VALUES (1440,'Battle_Hook_','Battle Hook',5,20,NULL,900,'140',NULL,3,3,0x00004082,18,2,2,4,'65',1,4,'bonus2 bAddEff,Eff_Stun,500; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; skill "KN_PIERCE",3;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (1440,'Battle_Hook_','Battle Hook',5,20,NULL,900,'140',NULL,3,3,0x00004082,18,2,2,4,'65',1,4,'bonus2 bAddEff,Eff_Stun,500; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; skill "KN_PIERCE",3;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (1441,'Blue_Spear','Blue Spear',5,10,NULL,1200,'180:170',NULL,3,1,0x00004000,56,2,2,3,'100',1,4,'bonus bDex,5; bonus bInt,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (1441,'Blue_Spear','Blue Spear',5,10,NULL,1200,'180:170',NULL,3,1,0x00004000,56,2,2,3,'100',1,4,'bonus bDex,5; bonus bInt,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (1442,'Ru_Gold_Spear','Ru Gold Spear',5,0,NULL,1200,'180',NULL,3,2,0x00004000,56,2,2,3,'120',1,4,'bonus bStr,8; bonus bAgi,8;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (1442,'Ru_Gold_Spear','Ru Gold Spear',5,0,NULL,1200,'180',NULL,3,2,0x00004000,56,2,2,3,'120',1,4,'bonus bStr,8; bonus bAgi,8;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (1443,'Crimson_Spear','Crimson Spear',5,20,NULL,900,'90',NULL,3,2,0x00004082,56,2,2,3,'70',1,4,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (1443,'Crimson_Spear','Crimson Spear',5,20,NULL,900,'90',NULL,3,2,0x00004082,63,2,2,3,'70',1,4,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (1446,'Requiem_Spear','Requiem Spear',5,20,NULL,1000,'130',NULL,3,NULL,0x00004080,63,2,2,4,'100',1,4,'.@r = getrefine(); .@b = 40; bonus bUnbreakableWeapon,1; if(.@r>=5){ .@b += (.@r-5)*15+20; } bonus2 bAddRace2,RC2_BioLab,.@b;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (1446,'Requiem_Spear','Requiem Spear',5,20,NULL,1000,'130',NULL,3,NULL,0x00004080,63,2,2,4,'100',1,4,'.@r = getrefine(); .@b = 40; bonus bUnbreakableWeapon,1; if(.@r>=5){ .@b += (.@r-5)*15+20; } bonus2 bAddRace2,RC2_BioLab,.@b;',NULL,NULL);
|
||||||
#===================================================================
|
#===================================================================
|
||||||
# 2-Handed Spears
|
# 2-Handed Spears
|
||||||
@ -1411,12 +1411,12 @@ REPLACE INTO `item_db_re` VALUES (2173,'Crescent_Armguard','Crescent Wrist Guard
|
|||||||
REPLACE INTO `item_db_re` VALUES (2174,'Lumiere_Shield','Lumiere Shield',4,20,NULL,1300,NULL,50,NULL,1,0xFFFFFFFF,63,2,32,NULL,'65',1,3,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2174,'Lumiere_Shield','Lumiere Shield',4,20,NULL,1300,NULL,50,NULL,1,0xFFFFFFFF,63,2,32,NULL,'65',1,3,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2175,'Esprit_Shield','Spirit Shield',4,20,NULL,1300,NULL,50,NULL,1,0xFFFFFFFF,63,2,32,NULL,'65',1,3,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2175,'Esprit_Shield','Spirit Shield',4,20,NULL,1300,NULL,50,NULL,1,0xFFFFFFFF,63,2,32,NULL,'65',1,3,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2176,'Dark_Book','Black Book',4,20,NULL,500,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,NULL,'65',1,5,'bonus bMdef,5; .@r = getrefine(); bonus3 bAutoSpellWhenHit,"NPC_DRAGONFEAR",1,(.@r<=6)?(10):((.@r<=8)?(20):(30));',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2176,'Dark_Book','Black Book',4,20,NULL,500,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,NULL,'65',1,5,'bonus bMdef,5; .@r = getrefine(); bonus3 bAutoSpellWhenHit,"NPC_DRAGONFEAR",1,(.@r<=6)?(10):((.@r<=8)?(20):(30));',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2177,'Shield_Of_Death','Shield Of Death',4,20,NULL,2000,NULL,150,NULL,1,0xFFFFFFFF,63,2,32,NULL,'90',1,3,'bonus2 bAddClass,Class_Boss,2; bonus2 bMagicAddClass,Class_Boss,2; bonus2 bAddClass,Class_Normal,10; bonus2 bMagicAddClass,Class_Normal,10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2177,'Shield_Of_Death','Shield Of Death',4,20,NULL,2000,NULL,150,NULL,1,0xFFFFFFFF,63,2,32,NULL,'90',1,3,'bonus2 bAddClass,Class_Boss,2; bonus2 bMagicAddClass,Class_Boss,2; bonus2 bSubClass,Class_Normal,-10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2178,'TE_Woe_Buckler','TE Woe Buckler',4,0,NULL,0,NULL,15,NULL,0,0xFFFFFFFF,63,2,32,1,'40',1,2,'bonus bMdef,15; bonus bMaxHP,100; bonus bMaxSP,100; bonus2 bSubRace,RC_Player,15;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2178,'TE_Woe_Buckler','TE Woe Buckler',4,0,NULL,0,NULL,15,NULL,0,0xFFFFFFFF,63,2,32,NULL,'40',1,2,'bonus bMdef,15; bonus bMaxHP,100; bonus bMaxSP,100; bonus2 bSubRace,RC_Player,15;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2179,'TE_Woe_Shield','TE Woe Shield',4,0,NULL,0,NULL,25,NULL,0,0x000444A2,63,2,32,1,'40',1,3,'bonus bMdef,5; bonus bMaxHP,200; bonus2 bSubRace,RC_Player,20;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2179,'TE_Woe_Shield','TE Woe Shield',4,0,NULL,0,NULL,25,NULL,0,0x000444A2,63,2,32,NULL,'40',1,3,'bonus bMdef,5; bonus bMaxHP,200; bonus2 bSubRace,RC_Player,20;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2180,'TE_Woe_Magic_Guard','TE Woe Magic Guard',4,0,NULL,0,NULL,5,NULL,0,0x00818315,63,2,32,1,'40',1,1,'bonus bMdef,25; bonus bMaxSP,200; bonus2 bSubRace,RC_Player,10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2180,'TE_Woe_Magic_Guard','TE Woe Magic Guard',4,0,NULL,0,NULL,5,NULL,0,0x00818315,63,2,32,NULL,'40',1,1,'bonus bMdef,25; bonus bMaxSP,200; bonus2 bSubRace,RC_Player,10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2181,'Hervor','Hervor',4,10,NULL,1500,NULL,100,NULL,0,0xFFFFFFFF,63,2,32,NULL,'1',NULL,2,'bonus bMdef,5; bonus2 bSubRace,RC_All,30; bonus bUnbreakableArmor,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2181,'Hervor','Hervor',4,10,NULL,1500,NULL,100,NULL,0,0xFFFFFFFF,63,2,32,NULL,'1',NULL,2,'bonus bMdef,5; bonus2 bSubRace,RC_All,30; bonus bUnbreakableArmor,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2182,'Hervor_Alvitr','Hervor Alvitr',4,0,NULL,3000,NULL,150,NULL,0,0x000FDF80,56,2,32,1,'100',0,2,'bonus bMdef,10; bonus bVit,20; bonus2 bSubRace,RC_All,30; bonus bUnbreakableShield,1; autobonus2 "{ sc_end SC_STUN; sc_end SC_SLEEP; sc_end SC_CURSE; sc_end SC_STONE; sc_end SC_POISON; sc_end SC_BLIND; sc_end SC_SILENCE; sc_end SC_BLEEDING; sc_end SC_CONFUSION; sc_end SC_FREEZE; bonus2 bResEff,Eff_Stun,10000; bonus2 bResEff,Eff_Sleep,10000; bonus2 bResEff,Eff_Curse,10000; bonus2 bResEff,Eff_Stone,10000; bonus2 bResEff,Eff_Poison,10000; bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Silence,10000; bonus2 bResEff,Eff_Bleeding,10000; bonus2 bResEff,Eff_Confusion,10000; bonus2 bResEff,Eff_Freeze,10000; }",10,60000,BF_SHORT;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2182,'Hervor_Alvitr','Hervor Alvitr',4,0,NULL,3000,NULL,150,NULL,0,0x000FDF80,56,2,32,NULL,'100',0,2,'bonus bMdef,10; bonus bVit,20; bonus2 bSubRace,RC_All,30; bonus bUnbreakableShield,1; autobonus2 "{ sc_end SC_STUN; sc_end SC_SLEEP; sc_end SC_CURSE; sc_end SC_STONE; sc_end SC_POISON; sc_end SC_BLIND; sc_end SC_SILENCE; sc_end SC_BLEEDING; sc_end SC_CONFUSION; sc_end SC_FREEZE; bonus2 bResEff,Eff_Stun,10000; bonus2 bResEff,Eff_Sleep,10000; bonus2 bResEff,Eff_Curse,10000; bonus2 bResEff,Eff_Stone,10000; bonus2 bResEff,Eff_Poison,10000; bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Silence,10000; bonus2 bResEff,Eff_Bleeding,10000; bonus2 bResEff,Eff_Confusion,10000; bonus2 bResEff,Eff_Freeze,10000; }",10,60000,BF_SHORT;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2183,'Impr_Angel\'s_Safeguard','Advanced Angelic Guard',4,10000,NULL,400,NULL,30,NULL,1,0x00000001,63,2,32,NULL,'99',1,1,'bonus2 bSubRace,RC_Demon,5; bonus2 bSubEle,Ele_All,5; bonus2 bSubEle,Ele_Neutral,-5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2183,'Impr_Angel\'s_Safeguard','Advanced Angelic Guard',4,10000,NULL,400,NULL,30,NULL,1,0x00000001,63,2,32,NULL,'99',1,1,'bonus2 bSubRace,RC_Demon,5; bonus2 bSubEle,Ele_All,5; bonus2 bSubEle,Ele_Neutral,-5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2185,'Magic_Reflect','Magic Reflect',4,10,NULL,1000,NULL,50,NULL,1,0xFFFFFFFF,63,2,32,NULL,'99',1,3,'bonus bMdef,10; bonus bMagicDamageReturn,3+((getrefine()>=9) ? 3 : 0);',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2185,'Magic_Reflect','Magic Reflect',4,10,NULL,1000,NULL,50,NULL,1,0xFFFFFFFF,63,2,32,NULL,'99',1,3,'bonus bMdef,10; bonus bMagicDamageReturn,3+((getrefine()>=9) ? 3 : 0);',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2186,'Great_Encyclopedia_Revision','Great Encyclopedia Revision',4,10,NULL,200,'0:5',50,NULL,1,0x00810100,63,2,32,NULL,'99',1,4,'bonus bInt,3; bonus bDex,2; .@r = getrefine(); bonus bCritical,3+((.@r >= 7) ? 2 : 0); if(.@r >= 9) bonus bMatk,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2186,'Great_Encyclopedia_Revision','Great Encyclopedia Revision',4,10,NULL,200,'0:5',50,NULL,1,0x00810100,63,2,32,NULL,'99',1,4,'bonus bInt,3; bonus bDex,2; .@r = getrefine(); bonus bCritical,3+((.@r >= 7) ? 2 : 0); if(.@r >= 9) bonus bMatk,5;',NULL,NULL);
|
||||||
@ -1424,7 +1424,7 @@ REPLACE INTO `item_db_re` VALUES (2187,'Shield_of_Gray','Shield of Gray',4,10,NU
|
|||||||
REPLACE INTO `item_db_re` VALUES (2188,'Svalinn_J','Svalinn',4,10,NULL,500,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,NULL,'65',1,3,'.@r = getrefine(); bonus bMaxHP,9+.@r/3; bonus2 bAddEle,Ele_Water,4+.@r/3*5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2188,'Svalinn_J','Svalinn',4,10,NULL,500,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,NULL,'65',1,3,'.@r = getrefine(); bonus bMaxHP,9+.@r/3; bonus2 bAddEle,Ele_Water,4+.@r/3*5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2189,'Mad_Bunny','Mad Bunny Shield',4,10,NULL,100,NULL,40,NULL,1,0xFFFFFFFF,63,2,32,NULL,'30',1,6,'bonus2 bSubEle,Ele_All,5; bonus bMdef,6; bonus bDex,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2189,'Mad_Bunny','Mad Bunny Shield',4,10,NULL,100,NULL,40,NULL,1,0xFFFFFFFF,63,2,32,NULL,'30',1,6,'bonus2 bSubEle,Ele_All,5; bonus bMdef,6; bonus bDex,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2190,'Ancient_Shield_Of_Aeon','Ancient Shield Of Aeon',4,0,NULL,200,NULL,5,NULL,0,0x000FDF80,63,2,32,NULL,'130',1,2,'bonus2 bSubEle,Ele_Neutral,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubEle,Ele_Holy,10; bonus2 bSubEle,Ele_Ghost,10; bonus bMaxHP,500; bonus bMaxSP,50; if(getrefine()>=14) skill "MG_STONECURSE",5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2190,'Ancient_Shield_Of_Aeon','Ancient Shield Of Aeon',4,0,NULL,200,NULL,5,NULL,0,0x000FDF80,63,2,32,NULL,'130',1,2,'bonus2 bSubEle,Ele_Neutral,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubEle,Ele_Holy,10; bonus2 bSubEle,Ele_Ghost,10; bonus bMaxHP,500; bonus bMaxSP,50; if(getrefine()>=14) skill "MG_STONECURSE",5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2195,'Lian_Shield','Lian Shield',4,0,NULL,1300,NULL,50,NULL,1,0xFFFFFFFF,63,2,32,1,'65',1,NULL,'bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubRace,RC_Formless,-5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2195,'Lian_Shield','Lian Shield',4,0,NULL,1300,NULL,50,NULL,1,0xFFFFFFFF,63,2,32,NULL,'65',1,NULL,'bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubRace,RC_Formless,-5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2196,'White_Gold_Shield','White Gold Shield',4,0,NULL,1800,NULL,140,NULL,1,0xFFFFFFFF,63,2,32,NULL,NULL,1,NULL,'autobonus2 "{ bonus bMagicDamageReturn,20; }",100,2000,BF_MAGIC; /* Confirm: Success rate? */',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2196,'White_Gold_Shield','White Gold Shield',4,0,NULL,1800,NULL,140,NULL,1,0xFFFFFFFF,63,2,32,NULL,NULL,1,NULL,'autobonus2 "{ bonus bMagicDamageReturn,20; }",100,2000,BF_MAGIC; /* Confirm: Success rate? */',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2198,'Lapine_Shield','Lapine Shield',4,0,NULL,1000,NULL,25,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,NULL,'bonus bMdef,10; if (getrefine() > 7) { bonus bMatk,20; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2198,'Lapine_Shield','Lapine Shield',4,0,NULL,1000,NULL,25,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,NULL,'bonus bMdef,10; if (getrefine() > 7) { bonus bMatk,20; }',NULL,NULL);
|
||||||
# GM Shield
|
# GM Shield
|
||||||
@ -1730,9 +1730,9 @@ REPLACE INTO `item_db_re` VALUES (2492,'Bayani_Bangungot_Boots','Bayani Bangungo
|
|||||||
REPLACE INTO `item_db_re` VALUES (2493,'Goibne\'s_Combat_Boots_','Goibne\'s Greaves',4,30000,NULL,700,NULL,13,NULL,1,0xFFFFFFFE,63,2,64,NULL,'54',1,0,'bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2493,'Goibne\'s_Combat_Boots_','Goibne\'s Greaves',4,30000,NULL,700,NULL,13,NULL,1,0xFFFFFFFE,63,2,64,NULL,'54',1,0,'bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2494,'Chrystal_Pumps_','Crystal Pumps',4,20,NULL,100,NULL,5,NULL,1,0xFFFFFFFE,63,0,64,NULL,'0',1,0,'bonus bMdef,10; bonus bLuk,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2494,'Chrystal_Pumps_','Crystal Pumps',4,20,NULL,100,NULL,5,NULL,1,0xFFFFFFFE,63,0,64,NULL,'0',1,0,'bonus bMdef,10; bonus bLuk,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2495,'Egir_Shoes','Egir Shoes',4,200000,NULL,300,NULL,13,NULL,1,0xFFFFFFFF,63,2,64,NULL,'110',1,0,'if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bMaxHP,BaseLevel*5; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bMaxSP,JobLevel*2;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2495,'Egir_Shoes','Egir Shoes',4,200000,NULL,300,NULL,13,NULL,1,0xFFFFFFFF,63,2,64,NULL,'110',1,0,'if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bMaxHP,BaseLevel*5; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bMaxSP,JobLevel*2;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2496,'TE_Woe_Shoes','TE Woe Shoes',4,0,NULL,0,NULL,5,NULL,0,0xFFFFFFFF,63,2,64,0,'40',1,NULL,'bonus bMdef,5; bonus bMaxHP,150; bonus bMaxSP,150; bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2496,'TE_Woe_Shoes','TE Woe Shoes',4,0,NULL,0,NULL,5,NULL,0,0xFFFFFFFF,63,2,64,NULL,'40',1,NULL,'bonus bMdef,5; bonus bMaxHP,150; bonus bMaxSP,150; bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2497,'TE_Woe_Boots','TE Woe Boots',4,0,NULL,0,NULL,10,NULL,0,0x000444A2,63,2,64,0,'40',1,NULL,'bonus bMaxHP,200; bonus bMaxSP,100; bonus2 bAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2497,'TE_Woe_Boots','TE Woe Boots',4,0,NULL,0,NULL,10,NULL,0,0x000444A2,63,2,64,NULL,'40',1,NULL,'bonus bMaxHP,200; bonus bMaxSP,100; bonus2 bAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2498,'TE_Woe_Magic_Sandal','TE Woe Magic Sandal',4,0,NULL,0,NULL,5,NULL,0,0x00818315,63,2,64,1,'40',1,NULL,'bonus bMdef,5; bonus bMaxHP,100; bonus bMaxSP,200; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2498,'TE_Woe_Magic_Sandal','TE Woe Magic Sandal',4,0,NULL,0,NULL,5,NULL,0,0x00818315,63,2,64,NULL,'40',1,NULL,'bonus bMdef,5; bonus bMaxHP,100; bonus bMaxSP,200; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2499,'Temporal_Boots','Temporal Boots',4,400,NULL,600,NULL,20,NULL,0,0xFFFFFFFF,63,2,64,NULL,'10',1,NULL,'.@r = getrefine(); bonus bMaxHP,300; bonus bMaxSP,30; bonus bMaxHP,100*(.@r/3); bonus bMaxSP,10*(.@r/3);',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2499,'Temporal_Boots','Temporal Boots',4,400,NULL,600,NULL,20,NULL,0,0xFFFFFFFF,63,2,64,NULL,'10',1,NULL,'.@r = getrefine(); bonus bMaxHP,300; bonus bMaxSP,30; bonus bMaxHP,100*(.@r/3); bonus bMaxSP,10*(.@r/3);',NULL,NULL);
|
||||||
#===================================================================
|
#===================================================================
|
||||||
# Garments
|
# Garments
|
||||||
@ -2169,15 +2169,15 @@ REPLACE INTO `item_db_re` VALUES (2940,'Ninja_Manual','Ninja Manual',4,0,NULL,10
|
|||||||
REPLACE INTO `item_db_re` VALUES (2941,'Gunslinger_Manual','Gunslinger Manual',4,0,NULL,100,NULL,0,NULL,0,0x00000001,63,2,136,NULL,'0',0,0,'bonus bMaxSP,100; skill "GS_GLITTERING",1; skill "GS_ADJUSTMENT",1; skill "GS_MADNESSCANCEL",1; skill "GS_INCREASING",1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2941,'Gunslinger_Manual','Gunslinger Manual',4,0,NULL,100,NULL,0,NULL,0,0x00000001,63,2,136,NULL,'0',0,0,'bonus bMaxSP,100; skill "GS_GLITTERING",1; skill "GS_ADJUSTMENT",1; skill "GS_MADNESSCANCEL",1; skill "GS_INCREASING",1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2942,'Taekwon_Manual','Taekwon Manual',4,0,NULL,100,NULL,0,NULL,0,0x00000001,63,2,136,NULL,'0',0,0,'bonus bMaxSP,100; skill "TK_SEVENWIND",4; skill "TK_JUMPKICK",5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2942,'Taekwon_Manual','Taekwon Manual',4,0,NULL,100,NULL,0,NULL,0,0x00000001,63,2,136,NULL,'0',0,0,'bonus bMaxSP,100; skill "TK_SEVENWIND",4; skill "TK_JUMPKICK",5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2943,'Critical_Ring_','Critical Ring',4,0,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,NULL,0,NULL,'bonus bCritical,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2943,'Critical_Ring_','Critical Ring',4,0,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,NULL,0,NULL,'bonus bCritical,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2944,'TE_Ring_Of_Protection','TE Ring Of Protection',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,1,'40',0,NULL,'bonus bMaxHP,100; bonus2 bSubRace,RC_Player,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2944,'TE_Ring_Of_Protection','TE Ring Of Protection',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,NULL,'40',0,NULL,'bonus bMaxHP,100; bonus2 bSubRace,RC_Player,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2945,'TE_Ring_Of_Rage','TE Ring Of Rage',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,1,'40',0,NULL,'bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2945,'TE_Ring_Of_Rage','TE Ring Of Rage',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,NULL,'40',0,NULL,'bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2946,'TE_Ring_Of_Defiance','TE Ring Of Defiance',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,1,'40',0,NULL,'bonus bMdef,5; bonus2 bSubRace,RC_Player,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2946,'TE_Ring_Of_Defiance','TE Ring Of Defiance',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,NULL,'40',0,NULL,'bonus bMdef,5; bonus2 bSubRace,RC_Player,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2948,'Demon_Wing','Demon Wing',4,10,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'70',NULL,NULL,'bonus bFlee,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2948,'Demon_Wing','Demon Wing',4,10,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'70',NULL,NULL,'bonus bFlee,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2949,'Silversmith_Bracelet','Silversmith Bracelet',4,10,NULL,100,NULL,3,NULL,1,0xFFFFFFFF,63,2,136,NULL,'60',NULL,NULL,'bonus bAllStats,1; bonus bMdef,3; skill "SA_SPELLBREAKER",5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2949,'Silversmith_Bracelet','Silversmith Bracelet',4,10,NULL,100,NULL,3,NULL,1,0xFFFFFFFF,63,2,136,NULL,'60',NULL,NULL,'bonus bAllStats,1; bonus bMdef,3; skill "SA_SPELLBREAKER",5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2950,'Rune_Ring','Rune Ring',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,1,'1',0,NULL,'bonus2 bExpAddClass,Class_Normal,10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2950,'Rune_Ring','Rune Ring',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,NULL,'1',0,NULL,'bonus2 bExpAddClass,Class_Normal,10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2951,'Kvasir_Ring_Blue','Kvasir Ring Blue',4,0,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,1,'1',0,NULL,'bonus bMaxSP,30; skill "ECL_SNOWFLIP",1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2951,'Kvasir_Ring_Blue','Kvasir Ring Blue',4,0,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,NULL,'1',0,NULL,'bonus bMaxSP,30; skill "ECL_SNOWFLIP",1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2952,'Kvasir_Ring_Red','Kvasir Ring Red',4,0,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,1,'1',0,NULL,'bonus bMaxSP,30; skill "ECL_PEONYMAMY",1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2952,'Kvasir_Ring_Red','Kvasir Ring Red',4,0,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,NULL,'1',0,NULL,'bonus bMaxSP,30; skill "ECL_PEONYMAMY",1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2953,'Kvasir_Ring_Green','Kvasir Ring Green',4,0,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,1,'1',0,NULL,'bonus bMaxHP,100; skill "ECL_SADAGUI",1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2953,'Kvasir_Ring_Green','Kvasir Ring Green',4,0,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,NULL,'1',0,NULL,'bonus bMaxHP,100; skill "ECL_SADAGUI",1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2954,'Kvasir_Ring_Brown','Kvasir Ring Brown',4,10,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,NULL,'1',NULL,NULL,'bonus bMaxHP,100;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2954,'Kvasir_Ring_Brown','Kvasir Ring Brown',4,10,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,NULL,'1',NULL,NULL,'bonus bMaxHP,100;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2956,'Safety_Ring_','Advanced Safety Ring',4,75000,NULL,100,NULL,10,NULL,1,0xFFFFFFFE,63,2,136,NULL,'50',0,0,'bonus bMdef,5; bonus bAllStats,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2956,'Safety_Ring_','Advanced Safety Ring',4,75000,NULL,100,NULL,10,NULL,1,0xFFFFFFFE,63,2,136,NULL,'50',0,0,'bonus bMdef,5; bonus bAllStats,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2957,'Good_Ring_Of_Flame_Lord','Advanced Ring Of Flame Lord',4,20,NULL,100,NULL,0,NULL,0,0x7CCFDF80,63,2,136,NULL,'85',0,0,'bonus bStr,3; bonus bVit,2; bonus bBaseAtk,20; bonus2 bSubEle,Ele_Fire,10; bonus3 bAutoSpell,"CH_SOULCOLLECT",1,30; bonus3 bAutoSpell,"MO_EXPLOSIONSPIRITS",1,10; bonus3 bAutoSpell,"PA_PRESSURE",2,30; bonus3 bAutoSpell,"MG_FIREBALL",1,150; bonus3 bAutoSpell,"KN_BOWLINGBASH",5,20;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2957,'Good_Ring_Of_Flame_Lord','Advanced Ring Of Flame Lord',4,20,NULL,100,NULL,0,NULL,0,0x7CCFDF80,63,2,136,NULL,'85',0,0,'bonus bStr,3; bonus bVit,2; bonus bBaseAtk,20; bonus2 bSubEle,Ele_Fire,10; bonus3 bAutoSpell,"CH_SOULCOLLECT",1,30; bonus3 bAutoSpell,"MO_EXPLOSIONSPIRITS",1,10; bonus3 bAutoSpell,"PA_PRESSURE",2,30; bonus3 bAutoSpell,"MG_FIREBALL",1,150; bonus3 bAutoSpell,"KN_BOWLINGBASH",5,20;',NULL,NULL);
|
||||||
@ -2210,7 +2210,7 @@ REPLACE INTO `item_db_re` VALUES (2992,'Pendant_of_Maelstrom','Pendant of Maelst
|
|||||||
REPLACE INTO `item_db_re` VALUES (2995,'Supplement_Part_Dex','Supplement Part Dex',4,25000,NULL,100,NULL,0,NULL,1,0x00000400,56,2,136,NULL,'100',0,0,'bonus bUseSPrate,-10; bonus bDelayrate,-10; bonus bVariableCastrate,-10; bonus2 bSkillVariableCast,"NC_AXEBOOMERANG",-2000;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2995,'Supplement_Part_Dex','Supplement Part Dex',4,25000,NULL,100,NULL,0,NULL,1,0x00000400,56,2,136,NULL,'100',0,0,'bonus bUseSPrate,-10; bonus bDelayrate,-10; bonus bVariableCastrate,-10; bonus2 bSkillVariableCast,"NC_AXEBOOMERANG",-2000;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2996,'Reinforced_Parts_Gun_Barrel','Reinforced Parts - Gun Barrel',4,10,NULL,500,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'100',NULL,NULL,'bonus2 bAddClass,Class_All,4; bonus bHit,10; bonus2 bSkillAtk,"NC_BOOSTKNUCKLE",25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2996,'Reinforced_Parts_Gun_Barrel','Reinforced Parts - Gun Barrel',4,10,NULL,500,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'100',NULL,NULL,'bonus2 bAddClass,Class_All,4; bonus bHit,10; bonus2 bSkillAtk,"NC_BOOSTKNUCKLE",25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2997,'RWC_Gold_Brooch','RWC Gold Brooch',4,10,NULL,200,NULL,0,NULL,1,0xFFFFFFFF,63,2,136,NULL,'0',0,NULL,'bonus bBaseAtk,25; bonus bMatk,20;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2997,'RWC_Gold_Brooch','RWC Gold Brooch',4,10,NULL,200,NULL,0,NULL,1,0xFFFFFFFF,63,2,136,NULL,'0',0,NULL,'bonus bBaseAtk,25; bonus bMatk,20;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2998,'Shining_Trapezohedron','Shining Trapezohedron',4,0,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,1,'90',1,NULL,'bonus2 bSubEle,Ele_Holy,10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2998,'Shining_Trapezohedron','Shining Trapezohedron',4,0,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'90',1,NULL,'bonus2 bSubEle,Ele_Holy,10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (2999,'RWC_Brooch','RWC Brooch',4,10,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,63,2,136,NULL,'0',0,NULL,'bonus bMaxHP,300; bonus bMaxSP,30;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (2999,'RWC_Brooch','RWC Brooch',4,10,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,63,2,136,NULL,'0',0,NULL,'bonus bMaxHP,300; bonus bMaxSP,30;',NULL,NULL);
|
||||||
#===================================================================
|
#===================================================================
|
||||||
# Cards
|
# Cards
|
||||||
@ -3150,6 +3150,12 @@ REPLACE INTO `item_db_re` VALUES (4947,'Thrift3','Economy Lv3',6,10,NULL,0,NULL,
|
|||||||
REPLACE INTO `item_db_re` VALUES (4948,'Skill_Delay1','After Skill Delay Lv1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDelayrate,-2;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (4948,'Skill_Delay1','After Skill Delay Lv1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDelayrate,-2;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (4949,'Skill_Delay2','After Skill Delay Lv2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDelayrate,-4;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (4949,'Skill_Delay2','After Skill Delay Lv2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDelayrate,-4;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (4950,'Skill_Delay3','After Skill Delay Lv3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDelayrate,-6;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (4950,'Skill_Delay3','After Skill Delay Lv3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDelayrate,-6;',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (4994,'Rune_of_Strength_Lv_1','Rune of Strength Lv 1',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bStr,5; } if (.@r>=10) { bonus bAtkRate,5; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (4995,'Rune_of_Strength_Lv_2','Rune of Strength Lv 2',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bStr,6; } if (.@r>=11) { bonus bStr,1; bonus bAtkRate,7; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (4996,'Rune_of_Strength_Lv_3','Rune of Strength_Lv 3',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bStr,7; } if (.@r>=12) { bonus bStr,1; bonus bAtkRate,8; } if (.@r>=13) { bonus bStr,1; bonus bAtkRate,2; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (4997,'Rune_of_Agility_Lv_1','Rune of Agility Lv 1',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bAgi,5; } if (.@r>=10) { bonus bFlee2,5; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (4998,'Rune_of_Agility_Lv_2','Rune of Agility Lv 2',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bAgi,6; } if (.@r>=11) { bonus bAgi,1; bonus bFlee2,7; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (4999,'Rune_of_Agility_Lv_3','Rune of Agility Lv 3',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bAgi,7; } if (.@r>=12) { bonus bAgi,1; bonus bFlee2,5; } if (.@r>=13) { bonus bAgi,1; bonus bFlee2,5; }',NULL,NULL);
|
||||||
#===================================================================
|
#===================================================================
|
||||||
# More Headgears
|
# More Headgears
|
||||||
#===================================================================
|
#===================================================================
|
||||||
@ -4032,23 +4038,23 @@ REPLACE INTO `item_db_re` VALUES (5893,'RCC2013_2ND_CROWN','RCC2013 2ND CROWN',4
|
|||||||
REPLACE INTO `item_db_re` VALUES (5894,'RCC2013_3RD_CROWN','RCC2013 3RD CROWN',4,20,NULL,2500,NULL,7,NULL,1,0xFFFFFFFF,63,2,256,NULL,'1',0,1108,'bonus bAllStats,3; skill "AL_TELEPORT",1;','sc_start SC_SPEEDUP0,-1,25;','sc_end SC_SPEEDUP0;');
|
REPLACE INTO `item_db_re` VALUES (5894,'RCC2013_3RD_CROWN','RCC2013 3RD CROWN',4,20,NULL,2500,NULL,7,NULL,1,0xFFFFFFFF,63,2,256,NULL,'1',0,1108,'bonus bAllStats,3; skill "AL_TELEPORT",1;','sc_start SC_SPEEDUP0,-1,25;','sc_end SC_SPEEDUP0;');
|
||||||
REPLACE INTO `item_db_re` VALUES (5895,'RCC2013_ANV_Hat','RCC2013 ANV Hat',4,20,NULL,2500,NULL,7,NULL,1,0xFFFFFFFF,63,2,256,NULL,'1',0,1109,'bonus bAllStats,1; bonus2 bAddClass,Class_All,2; bonus bMatkRate,2;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5895,'RCC2013_ANV_Hat','RCC2013 ANV Hat',4,20,NULL,2500,NULL,7,NULL,1,0xFFFFFFFF,63,2,256,NULL,'1',0,1109,'bonus bAllStats,1; bonus2 bAddClass,Class_All,2; bonus bMatkRate,2;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5906,'Oni_Horns_','Oni Horns',4,0,NULL,20,NULL,10,NULL,1,0x00001000,63,2,256,NULL,'100',1,1127,'bonus2 bSkillAtk,"GC_COUNTERSLASH",(10*getskilllv("GC_WEAPONBLOCKING")); .@r = getrefine(); if(.@r > 6){ bonus bAtk,20; bonus bHit,5; } if(.@r > 9){ bonus3 bAutoSpell,"GC_CROSSIMPACT",1,10; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5906,'Oni_Horns_','Oni Horns',4,0,NULL,20,NULL,10,NULL,1,0x00001000,63,2,256,NULL,'100',1,1127,'bonus2 bSkillAtk,"GC_COUNTERSLASH",(10*getskilllv("GC_WEAPONBLOCKING")); .@r = getrefine(); if(.@r > 6){ bonus bAtk,20; bonus bHit,5; } if(.@r > 9){ bonus3 bAutoSpell,"GC_CROSSIMPACT",1,10; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5914,'C_Flutter_Butterfly','C Flutter Butterfly',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,1,'1',0,1378,'hateffect HAT_EF_FLUTTER_BUTTERFLY,true;',NULL,'hateffect HAT_EF_FLUTTER_BUTTERFLY,false;');
|
REPLACE INTO `item_db_re` VALUES (5914,'C_Flutter_Butterfly','C Flutter Butterfly',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',0,1378,'hateffect HAT_EF_FLUTTER_BUTTERFLY,true;',NULL,'hateffect HAT_EF_FLUTTER_BUTTERFLY,false;');
|
||||||
REPLACE INTO `item_db_re` VALUES (5917,'Yellow_Scarf','Yellow Scarf',4,0,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1,0,'90',0,1170,'bonus bLongAtkDef,3;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5917,'Yellow_Scarf','Yellow Scarf',4,0,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1,NULL,'90',0,1170,'bonus bLongAtkDef,3;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5918,'Gambler_Seal','Gambler Seal',4,0,NULL,500,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,512,NULL,NULL,0,1202,'bonus bCritical,3; bonus bCritAtkRate,3; bonus2 bSubSkill,"RA_ARROWSTORM",10; bonus2 bSubSkill,"SR_GATEOFHELL",10; .@dex = readparam(bDex); .@luk = readparam(bLuk); bonus bCritAtkRate,-(.@dex/10)*2; bonus bCritical,.@luk/10; bonus bBaseAtk,(.@luk/10)*2; bonus bMatk,(.@luk/10)*2; if (.@luk > 120) { bonus bCritical,10; bonus bCritAtkRate,10; bonus2 bSubSkill,"RA_ARROWSTORM",30; bonus2 bSubSkill,"SR_GATEOFHELL",30; } else if (.@luk > 108) { bonus bCritical,5; bonus bCritAtkRate,10; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5918,'Gambler_Seal','Gambler Seal',4,0,NULL,500,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,512,NULL,NULL,0,1202,'bonus bCritical,3; bonus bCritAtkRate,3; bonus2 bSubSkill,"RA_ARROWSTORM",10; bonus2 bSubSkill,"SR_GATEOFHELL",10; .@dex = readparam(bDex); .@luk = readparam(bLuk); bonus bCritAtkRate,-(.@dex/10)*2; bonus bCritical,.@luk/10; bonus bBaseAtk,(.@luk/10)*2; bonus bMatk,(.@luk/10)*2; if (.@luk > 120) { bonus bCritical,10; bonus bCritAtkRate,10; bonus2 bSubSkill,"RA_ARROWSTORM",30; bonus2 bSubSkill,"SR_GATEOFHELL",30; } else if (.@luk > 108) { bonus bCritical,5; bonus bCritAtkRate,10; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5919,'Camellia_Hair_Pin','Camellia Hair Pin',4,0,NULL,1000,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,256,0,'50',1,1203,'bonus bMdef,20; bonus3 bAutoSpell,"AL_PNEUMA",1,30+getrefine()*5; /* CONFIRM The Rate*/',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5919,'Camellia_Hair_Pin','Camellia Hair Pin',4,0,NULL,1000,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,256,NULL,'50',1,1203,'bonus bMdef,20; bonus3 bAutoSpell,"AL_PNEUMA",1,30+getrefine()*5; /* CONFIRM The Rate*/',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5920,'Medical_Boots','Medical Boots',4,0,NULL,300,NULL,10,NULL,0,0xFFFFFFFF,63,2,64,NULL,'10',1,NULL,'.@r = getrefine(); bonus bHealPower,10+((.@r/2) * 2); bonus2 bSkillUseSP,"AB_CHEAL",(.@r * 5);',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5920,'Medical_Boots','Medical Boots',4,0,NULL,300,NULL,10,NULL,0,0xFFFFFFFF,63,2,64,NULL,'10',1,NULL,'.@r = getrefine(); bonus bHealPower,10+((.@r/2) * 2); bonus2 bSkillUseSP,"AB_CHEAL",(.@r * 5);',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5943,'Owlviscount_Silk_Hat','Owl Viscount Silk Hat',4,0,NULL,500,NULL,15,NULL,1,0xFFFFFFFF,63,2,256,0,'70',1,1323,'bonus bInt,1; bonus bAspdRate,10; .@r = getrefine(); bonus bMatk,7*.@r; autobonus "{ .@r = getrefine(); bonus bAspdRate,(.@r >= 9 ? 40 : ((.@r >= 7) ? 10 : ((.@r >= 5) ? 5 : 1))); }",.@r*20,30000,BF_MAGIC,"{ specialeffect2 EF_SPELLBREAKER }";',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5943,'Owlviscount_Silk_Hat','Owl Viscount Silk Hat',4,0,NULL,500,NULL,15,NULL,1,0xFFFFFFFF,63,2,256,NULL,'70',1,1323,'bonus bInt,1; bonus bAspdRate,10; .@r = getrefine(); bonus bMatk,7*.@r; autobonus "{ .@r = getrefine(); bonus bAspdRate,(.@r >= 9 ? 40 : ((.@r >= 7) ? 10 : ((.@r >= 5) ? 5 : 1))); }",.@r*20,30000,BF_MAGIC,"{ specialeffect2 EF_SPELLBREAKER }";',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5966,'KarduiEar','KarduiEar',4,0,NULL,300,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,512,0,'70',0,1357,'.@dex = readparam(bDex); bonus bMatk,(.@dex > 10) ? .@dex/10*2 : 0; if (.@dex > 107) { bonus bVariableCastrate,-10; bonus bMatk,60; } if (.@dex > 119) { bonus bVariableCastrate,-5; bonus bMatk,100; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5966,'KarduiEar','KarduiEar',4,0,NULL,300,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,512,NULL,'70',0,1357,'.@dex = readparam(bDex); bonus bMatk,(.@dex > 10) ? .@dex/10*2 : 0; if (.@dex > 107) { bonus bVariableCastrate,-10; bonus bMatk,60; } if (.@dex > 119) { bonus bVariableCastrate,-5; bonus bMatk,100; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5967,'Flying Galapago','Flying Galapago',4,0,NULL,500,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1,0,'110',0,1358,'bonus bAgi,1; bonus2 bSkillAtk,"HT_BLITZBEAT",getskilllv("HT_STEELCROW")*40;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5967,'Flying Galapago','Flying Galapago',4,0,NULL,500,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1,NULL,'110',0,1358,'bonus bAgi,1; bonus2 bSkillAtk,"HT_BLITZBEAT",getskilllv("HT_STEELCROW")*40;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5968,'DVAngelNurseCap','DVAngelNurseCap',4,0,NULL,500,NULL,10,NULL,1,0xFFFFFFFF,63,2,256,0,'50',1,1359,'if (BaseClass == Job_Acolyte) bonus bHealPower,3; bonus bNoCastCancel,1; .@r = getrefine(); bonus bHealPower,(.@r > 8) ? 12 : ((.@r > 6) ? 9 : ((.@r > 4) ? 6 : 0));',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5968,'DVAngelNurseCap','DVAngelNurseCap',4,0,NULL,500,NULL,10,NULL,1,0xFFFFFFFF,63,2,256,NULL,'50',1,1359,'if (BaseClass == Job_Acolyte) bonus bHealPower,3; bonus bNoCastCancel,1; .@r = getrefine(); bonus bHealPower,(.@r > 8) ? 12 : ((.@r > 6) ? 9 : ((.@r > 4) ? 6 : 0));',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5969,'QueenAnzRevenge','QueenAnzRevenge',4,0,NULL,400,NULL,7,NULL,1,0xFFFFFFFF,63,2,256,0,'100',1,1360,'bonus bStr,5; .@r = getrefine(); bonus2 bAddClass,Class_All,7+(.@r > 8 ? 4 : (.@r > 6 ? 3 : (.@r > 4 ? 2 : 0))); bonus bNoSizeFix,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5969,'QueenAnzRevenge','QueenAnzRevenge',4,0,NULL,400,NULL,7,NULL,1,0xFFFFFFFF,63,2,256,NULL,'100',1,1360,'bonus bStr,5; .@r = getrefine(); bonus2 bAddClass,Class_All,7+(.@r > 8 ? 4 : (.@r > 6 ? 3 : (.@r > 4 ? 2 : 0))); bonus bNoSizeFix,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5971,'Moon_Eyepatch','Moon Eyepatch',4,0,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,512,0,'10',0,1370,'bonus2 bSubEle,Ele_Water,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5971,'Moon_Eyepatch','Moon Eyepatch',4,0,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,512,NULL,'10',0,1370,'bonus2 bSubEle,Ele_Water,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5972,'Chatty_Parrot','Chatty Parrot',4,0,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1,0,'80',0,1116,'bonus bMatkRate,BaseLevel/50; bonus bVariableCast,-readparam(bInt)/30;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5972,'Chatty_Parrot','Chatty Parrot',4,0,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1,NULL,'80',0,1116,'bonus bMatkRate,BaseLevel/50; bonus bVariableCast,-readparam(bInt)/30;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5973,'Ancient_Elven_Ear_J','Ancient Elven Ear J',4,0,NULL,200,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,512,0,'70',0,665,'bonus bLuk,10; bonus bMdef,10; bonus bFlee2,2;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5973,'Ancient_Elven_Ear_J','Ancient Elven Ear J',4,0,NULL,200,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,512,NULL,'70',0,665,'bonus bLuk,10; bonus bMdef,10; bonus bFlee2,2;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5978,'Syringe_Toy','Toy Syringe',4,0,NULL,100,NULL,3,NULL,0,0xFFFFFFFF,63,2,1,1,'70',0,842,'bonus bMdef,3; bonus2 bAddItemHealRate,545,150; bonus2 bAddItemHealRate,546,150; bonus2 bAddItemHealRate,547,150;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5978,'Syringe_Toy','Toy Syringe',4,0,NULL,100,NULL,3,NULL,0,0xFFFFFFFF,63,2,1,NULL,'70',0,842,'bonus bMdef,3; bonus2 bAddItemHealRate,545,150; bonus2 bAddItemHealRate,546,150; bonus2 bAddItemHealRate,547,150;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5979,'C_Angel_Fluttering','C Angel Fluttering',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,0,'1',0,1380,'hateffect HAT_EF_ANGEL_FLUTTERING,true;',NULL,'hateffect HAT_EF_ANGEL_FLUTTERING,false;');
|
REPLACE INTO `item_db_re` VALUES (5979,'C_Angel_Fluttering','C Angel Fluttering',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',0,1380,'hateffect HAT_EF_ANGEL_FLUTTERING,true;',NULL,'hateffect HAT_EF_ANGEL_FLUTTERING,false;');
|
||||||
REPLACE INTO `item_db_re` VALUES (5980,'C_Classical_Fhat','C Classical Fhat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,0,'1',0,1381,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5980,'C_Classical_Fhat','C Classical Fhat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',0,1381,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (5985,'Noble_Mask','Noble Mask',4,0,NULL,200,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,256,0,'30',0,1409,'bonus2 bSkillAtk,"PA_SACRIFICE",BaseLevel*2; bonus2 bSkillVariableCast,"PA_PRESSURE",-2000; bonus2 bSkillVariableCast,"CR_DEVOTION",-2000; if (BaseLevel > 149) { bonus bMaxHPrate,3; bonus bAspdRate,3; } else if (BaseLevel > 99) { bonus bMaxHPrate,2; bonus bAspdRate,2; } else { bonus bMaxHPrate,1; bonus bAspdRate,1; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (5985,'Noble_Mask','Noble Mask',4,0,NULL,200,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,256,NULL,'30',0,1409,'bonus2 bSkillAtk,"PA_SACRIFICE",BaseLevel*2; bonus2 bSkillVariableCast,"PA_PRESSURE",-2000; bonus2 bSkillVariableCast,"CR_DEVOTION",-2000; if (BaseLevel > 149) { bonus bMaxHPrate,3; bonus bAspdRate,3; } else if (BaseLevel > 99) { bonus bMaxHPrate,2; bonus bAspdRate,2; } else { bonus bMaxHPrate,1; bonus bAspdRate,1; }',NULL,NULL);
|
||||||
#===================================================================
|
#===================================================================
|
||||||
# More Etc Items
|
# More Etc Items
|
||||||
#===================================================================
|
#===================================================================
|
||||||
@ -4871,7 +4877,8 @@ REPLACE INTO `item_db_re` VALUES (6914,'Black_Horn','Black Horn',3,10,NULL,0,NUL
|
|||||||
REPLACE INTO `item_db_re` VALUES (6915,'Captured_Soul','Captured Soul',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (6915,'Captured_Soul','Captured Soul',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (6916,'Piece_Of_Soul_Monkey','Piece Of Soul Monkey',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (6916,'Piece_Of_Soul_Monkey','Piece Of Soul Monkey',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (6917,'Piece_Of_Soul_Chicken','Piece Of Soul Chicken',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (6917,'Piece_Of_Soul_Chicken','Piece Of Soul Chicken',3,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (6919,'Honor_Proof','Honor Proof',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (6919,'Honor_Proof','Honor Token',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (6920,'Rune_Magic_Powder','Rune Magic Powder',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (6921,'Dehumidifiers','Dehumidifiers',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (6921,'Dehumidifiers','Dehumidifiers',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (6922,'Sandpaper','Sandpaper',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (6922,'Sandpaper','Sandpaper',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (6923,'Bright_Fire_Lights','Bright Fire Lights',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (6923,'Bright_Fire_Lights','Bright Fire Lights',3,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
@ -6784,7 +6791,7 @@ REPLACE INTO `item_db_re` VALUES (12618,'Bgrade_Pocket','B Grade Coin Bag',2,20,
|
|||||||
REPLACE INTO `item_db_re` VALUES (12619,'Cgrade_Pocket','C Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Cgrade_Pocket);',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12619,'Cgrade_Pocket','C Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Cgrade_Pocket);',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12620,'Dgrade_Pocket','D Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Dgrade_Pocket);',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12620,'Dgrade_Pocket','D Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Dgrade_Pocket);',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12621,'Egrade_Pocket','E Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Egrade_Pocket);',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12621,'Egrade_Pocket','E Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Egrade_Pocket);',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12622,'Boarding_Halter','Reins Of Mount',11,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'setmounting();',NULL,'if (ismounting()) setmounting();');
|
REPLACE INTO `item_db_re` VALUES (12622,'Boarding_Halter','Reins Of Mount',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'setmounting();',NULL,'if (ismounting()) setmounting();');
|
||||||
REPLACE INTO `item_db_re` VALUES (12623,'High_Weapon_Box','Advanced Weapons Box',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_Advanced_Weapons_Box,1);',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12623,'High_Weapon_Box','Advanced Weapons Box',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_Advanced_Weapons_Box,1);',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12624,'Delicious_Jelly','Delicious Jelly',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'percentheal 3,3;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12624,'Delicious_Jelly','Delicious Jelly',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'percentheal 3,3;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12625,'Sapa_Feat_Cert_Pack','Sapa Feat Cert Pack',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12625,'Sapa_Feat_Cert_Pack','Sapa Feat Cert Pack',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
@ -6795,7 +6802,7 @@ REPLACE INTO `item_db_re` VALUES (12629,'Salamander_Scroll','Salamander Scroll',
|
|||||||
REPLACE INTO `item_db_re` VALUES (12630,'Teddy_Bear_Scroll','Teddy Bear Scroll',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'mercenary_create 2217,1800000;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12630,'Teddy_Bear_Scroll','Teddy Bear Scroll',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'mercenary_create 2217,1800000;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12631,'Macro_Stone_A','Macro Stone A',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12631,'Macro_Stone_A','Macro Stone A',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12632,'Macro_Stone_B','Macro Stone B',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12632,'Macro_Stone_B','Macro Stone B',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12633,'Malang_Cat_Can','Malangdo Cat Can',2,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'specialeffect2 EF_MAGICALATTHIT; bonus_script "{ bonus2 bExpAddRace,RC_All,10; }",1200; sc_start SC_ITEMBOOST,1200000,20;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12633,'Malang_Cat_Can','Malangdo Cat Can',2,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'specialeffect2 EF_MAGICALATTHIT; bonus_script "{ bonus2 bExpAddRace,RC_All,10; bonus2 bDropAddRace,RC_All,20; }",1200,1,0,SI_OVERLAPEXPUP;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12634,'Macro_Stone_A1','Macro Stone A1',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12634,'Macro_Stone_A1','Macro Stone A1',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12635,'Macro_Stone_A2','Macro Stone A2',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12635,'Macro_Stone_A2','Macro Stone A2',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12636,'Malang_Sp_Can','Malangdo Canned Specialties',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'warp "malangdo",140,114;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12636,'Malang_Sp_Can','Malangdo Canned Specialties',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'warp "malangdo",140,114;',NULL,NULL);
|
||||||
@ -6839,8 +6846,8 @@ REPLACE INTO `item_db_re` VALUES (12673,'Lucky_Egg_C10','Lucky Egg C10',2,20,NUL
|
|||||||
REPLACE INTO `item_db_re` VALUES (12674,'God_Material_Box','God Material Box',2,20,NULL,500,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_God_Material_Box);',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12674,'God_Material_Box','God Material Box',2,20,NULL,500,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_God_Material_Box);',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12675,'Sg_Weapon_Supply_Box','WoE Weapon Supply Box',2,20,NULL,500,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Sg_Weapon_Supply_Box);',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12675,'Sg_Weapon_Supply_Box','WoE Weapon Supply Box',2,20,NULL,500,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getgroupitem(IG_Sg_Weapon_Supply_Box);',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12676,'Sg_Violet_Potion_Box','Siege Violet Potion Box',2,20,NULL,500,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 11547,50;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12676,'Sg_Violet_Potion_Box','Siege Violet Potion Box',2,20,NULL,500,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 11547,50;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12677,'Siege_Arrow_Quiver_S','Siege Arrow Quiver S',2,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,'130',NULL,NULL,'getitem 1776,200;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12677,'Siege_Arrow_Quiver_S','Siege Arrow Quiver S',2,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,'130',NULL,NULL,'getitem 1775,200;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12678,'Siege_Arrow_Quiver_A','Siege Arrow Quiver A',2,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,'95',NULL,NULL,'getitem 1775,200;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12678,'Siege_Arrow_Quiver_A','Siege Arrow Quiver A',2,2,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,'95',NULL,NULL,'getitem 1776,200;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12679,'Sg_White_Potion_Box','Siege White Potion Box',2,20,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 11548,30;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12679,'Sg_White_Potion_Box','Siege White Potion Box',2,20,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 11548,30;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12680,'Sg_Blue_Potion_Box','Siege Blue Potion Box',2,20,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 11549,10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12680,'Sg_Blue_Potion_Box','Siege Blue Potion Box',2,20,NULL,200,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 11549,10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12681,'Nestea_Lemon','Nestea Lemon',2,0,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12681,'Nestea_Lemon','Nestea Lemon',2,0,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
@ -7039,7 +7046,7 @@ REPLACE INTO `item_db_re` VALUES (12883,'Almighty','Almighty',2,20,NULL,10,NULL,
|
|||||||
REPLACE INTO `item_db_re` VALUES (12884,'Infinite_Concentration_Potion','Infinite Concentration Potion',11,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_ASPDPOTION0,1800000,4;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12884,'Infinite_Concentration_Potion','Infinite Concentration Potion',11,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_ASPDPOTION0,1800000,4;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12885,'Infinite_Awakening_Potion','Infinite Awakening Potion',11,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_ASPDPOTION1,1800000,6;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12885,'Infinite_Awakening_Potion','Infinite Awakening Potion',11,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_ASPDPOTION1,1800000,6;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12886,'Infinite_Berserk_Potion','Infinite Berserk Potion',11,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_ASPDPOTION2,1800000,9;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12886,'Infinite_Berserk_Potion','Infinite Berserk Potion',11,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_ASPDPOTION2,1800000,9;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12887,'C_Wing_Of_Fly','Infinite Flywing',11,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'unitskilluseid getcharid(3),"AL_TELEPORT",1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12887,'C_Wing_Of_Fly','Infinite Flywing',2,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'itemskill "AL_TELEPORT",1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12888,'Siege_Kit_Box','Siege Kit Box',18,0,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12888,'Siege_Kit_Box','Siege Kit Box',18,0,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12889,'Weapon_Box_Spear','Weapon Box(Spear)',2,10,NULL,200,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12889,'Weapon_Box_Spear','Weapon Box(Spear)',2,10,NULL,200,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (12890,'Weapon_Box_Mace','Weapon Box(Mace)',2,10,NULL,200,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (12890,'Weapon_Box_Mace','Weapon Box(Mace)',2,10,NULL,200,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
@ -7328,8 +7335,8 @@ REPLACE INTO `item_db_re` VALUES (13194,'Peace_Breaker','Peace Breaker',5,195000
|
|||||||
REPLACE INTO `item_db_re` VALUES (13195,'RAG203_','RAG203',5,1800000,NULL,1300,'260',NULL,9,0,0x40000000,63,2,34,3,'140',1,18,'bonus bHit,10; bonus bCriticalRate,15; bonus4 bAutoSpell,"AL_DECAGI",1,10,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (13195,'RAG203_','RAG203',5,1800000,NULL,1300,'260',NULL,9,0,0x40000000,63,2,34,3,'140',1,18,'bonus bHit,10; bonus bCriticalRate,15; bonus4 bAutoSpell,"AL_DECAGI",1,10,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (13196,'Peace_Breaker_','Peace Breaker',5,1950000,NULL,1400,'250',NULL,9,1,0x41000000,63,2,34,3,'140',1,20,'bonus bHit,-25; bonus bAspdRate,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (13196,'Peace_Breaker_','Peace Breaker',5,1950000,NULL,1400,'250',NULL,9,1,0x41000000,63,2,34,3,'140',1,20,'bonus bHit,-25; bonus bAspdRate,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (13197,'Mini_Mei','Mini Mei',5,1600000,NULL,2500,'220',NULL,9,2,0x41000000,63,2,34,2,'106',1,19,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (13197,'Mini_Mei','Mini Mei',5,1600000,NULL,2500,'220',NULL,9,2,0x41000000,63,2,34,2,'106',1,19,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (13198,'Tempest_','Tempest',5,2200000,NULL,2500,'250',NULL,9,0,0x41000000,63,2,34,2,'140',1,19,'bonus bHit,-25; bonus bCritical,10; bonus bLongAtkRate,20;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (13198,'Tempest_','Tempest',5,2200000,NULL,2500,'250',NULL,9,0,0x41000000,63,2,34,4,'140',1,19,'bonus bHit,-25; bonus bCritical,10; bonus bLongAtkRate,20;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (13199,'Tempest','Tempest',5,2200000,NULL,2500,'250',NULL,9,1,0x41000000,63,2,34,2,'140',1,19,'bonus bHit,-25; bonus bCritical,10; bonus bLongAtkRate,20;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (13199,'Tempest','Tempest',5,2200000,NULL,2500,'250',NULL,9,1,0x41000000,63,2,34,4,'140',1,19,'bonus bHit,-25; bonus bCritical,10; bonus bLongAtkRate,20;',NULL,NULL);
|
||||||
#===================================================================
|
#===================================================================
|
||||||
# Bullets
|
# Bullets
|
||||||
#===================================================================
|
#===================================================================
|
||||||
@ -8630,11 +8637,11 @@ REPLACE INTO `item_db_re` VALUES (15058,'Rider_Suit','Rider Suit',4,20,NULL,1000
|
|||||||
REPLACE INTO `item_db_re` VALUES (15059,'2011Love_Daddy','2011Love Daddy',4,20,NULL,100,'0',80,0,1,0xFFFFFFFF,63,2,16,NULL,'0',1,0,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (15059,'2011Love_Daddy','2011Love Daddy',4,20,NULL,100,'0',80,0,1,0xFFFFFFFF,63,2,16,NULL,'0',1,0,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (15060,'Sky_Blue_Smock','Sky Blue Smock',4,20,NULL,300,'0',1,0,1,0xFFFFFFFF,63,2,16,NULL,'0',1,0,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (15060,'Sky_Blue_Smock','Sky Blue Smock',4,20,NULL,300,'0',1,0,1,0xFFFFFFFF,63,2,16,NULL,'0',1,0,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (15061,'Egir_Armor','Egir Armor',4,200000,NULL,2600,NULL,55,NULL,1,0xFFFFFFFF,63,2,16,NULL,'110',1,0,'bonus bAllStats,1; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus2 bResEff,Eff_Silence,5000; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus2 bResEff,Eff_Stun,5000;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (15061,'Egir_Armor','Egir Armor',4,200000,NULL,2600,NULL,55,NULL,1,0xFFFFFFFF,63,2,16,NULL,'110',1,0,'bonus bAllStats,1; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus2 bResEff,Eff_Silence,5000; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus2 bResEff,Eff_Stun,5000;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (15062,'TE_Woe_Coat','TE Woe Coat',4,0,NULL,0,NULL,15,NULL,0,0xFFFFFFFF,63,2,16,0,'40',1,NULL,'bonus bMdef,15; bonus bMaxHP,250; bonus bMaxSP,250; bonus2 bSubRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (15062,'TE_Woe_Coat','TE Woe Coat',4,0,NULL,0,NULL,15,NULL,0,0xFFFFFFFF,63,2,16,NULL,'40',1,NULL,'bonus bMdef,15; bonus bMaxHP,250; bonus bMaxSP,250; bonus2 bSubRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (15063,'TE_Woe_Chain_Mail','TE Woe Chain Mail',4,0,NULL,0,NULL,25,NULL,0,0x000444A2,63,2,16,0,'40',1,NULL,'bonus bMdef,5; bonus bMaxHP,450; bonus bMaxSP,50; bonus2 bSubRace,RC_Player,15; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (15063,'TE_Woe_Chain_Mail','TE Woe Chain Mail',4,0,NULL,0,NULL,25,NULL,0,0x000444A2,63,2,16,NULL,'40',1,NULL,'bonus bMdef,5; bonus bMaxHP,450; bonus bMaxSP,50; bonus2 bSubRace,RC_Player,15; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (15064,'TE_Woe_Mage_Coat','TE Woe Mage Coat',4,0,NULL,0,NULL,5,NULL,0,0x00818315,63,2,16,0,'40',1,NULL,'bonus bMdef,25; bonus bMaxHP,200; bonus bMaxSP,200; bonus2 bSubRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (15064,'TE_Woe_Mage_Coat','TE Woe Mage Coat',4,0,NULL,0,NULL,5,NULL,0,0x00818315,63,2,16,NULL,'40',1,NULL,'bonus bMdef,25; bonus bMaxHP,200; bonus bMaxSP,200; bonus2 bSubRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (15066,'Engraved_Plate_Armor','Engraved Plate Armor',4,100000,NULL,3000,NULL,120,NULL,1,0x00004082,63,2,16,NULL,'150',1,NULL,'bonus bMdef,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (15066,'Engraved_Plate_Armor','Engraved Plate Armor',4,100000,NULL,3000,NULL,120,NULL,1,0x00004082,63,2,16,NULL,'150',1,NULL,'bonus bMdef,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (15067,'Rune_Suit','Rune Suit',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,16,0,'1',1,NULL,'bonus2 bExpAddRace,RC_All,10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (15067,'Rune_Suit','Rune Suit',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,16,NULL,'1',1,NULL,'bonus2 bExpAddRace,RC_All,10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (15068,'Im_Angel\'s_Protection','Advanced Angelic Protection',4,10000,NULL,600,NULL,40,NULL,1,0x00000001,63,2,16,NULL,'99',1,0,'bonus bMdef,30;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (15068,'Im_Angel\'s_Protection','Advanced Angelic Protection',4,10000,NULL,600,NULL,40,NULL,1,0x00000001,63,2,16,NULL,'99',1,0,'bonus bMdef,30;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (15069,'Suit_Of_Sid','Suit Of Sid',4,20,NULL,1000,NULL,30,NULL,0,0xFFFFFFFF,63,2,16,NULL,'0',1,0,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (15069,'Suit_Of_Sid','Suit Of Sid',4,20,NULL,1000,NULL,30,NULL,0,0xFFFFFFFF,63,2,16,NULL,'0',1,0,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (15070,'Clothes_of_Happiness','Clothes of Happiness',4,10,NULL,1000,NULL,5,NULL,1,0xFFFFFFFF,63,2,16,NULL,'1',1,NULL,'bonus bMdef,5; bonus bLuk,getrefine();',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (15070,'Clothes_of_Happiness','Clothes of Happiness',4,10,NULL,1000,NULL,5,NULL,1,0xFFFFFFFF,63,2,16,NULL,'1',1,NULL,'bonus bMdef,5; bonus bLuk,getrefine();',NULL,NULL);
|
||||||
@ -9691,10 +9698,10 @@ REPLACE INTO `item_db_re` VALUES (18727,'Sedora_Hat','Sedora Hat',4,20,NULL,300,
|
|||||||
REPLACE INTO `item_db_re` VALUES (18728,'Egir_Helm','Egir Helm',4,200000,NULL,800,NULL,10,NULL,1,0xFFFFFFFF,63,2,256,NULL,'110',1,870,'bonus bMdef,5; bonus bUnbreakableHelm,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18728,'Egir_Helm','Egir Helm',4,200000,NULL,800,NULL,10,NULL,1,0xFFFFFFFF,63,2,256,NULL,'110',1,870,'bonus bMdef,5; bonus bUnbreakableHelm,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18729,'MVP_Basketball','MVP Basketball',4,20,NULL,150,NULL,6,NULL,1,0xFFFFFFFF,63,2,256,NULL,'1',1,871,'bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bAddItemHealRate,522,30; .@r = getrefine(); bonus bVariableCastrate,(.@r>=12)?(-5):((.@r>=10)?(-4):(-3));',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18729,'MVP_Basketball','MVP Basketball',4,20,NULL,150,NULL,6,NULL,1,0xFFFFFFFF,63,2,256,NULL,'1',1,871,'bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bAddItemHealRate,522,30; .@r = getrefine(); bonus bVariableCastrate,(.@r>=12)?(-5):((.@r>=10)?(-4):(-3));',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18730,'Cryptura_Academy_Hat','Cryptura Academy Hat',4,0,NULL,200,NULL,2,NULL,1,0xFFFFFFFF,63,2,256,NULL,'0',1,872,'bonus bMaxHP,15; bonus bMaxSP,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18730,'Cryptura_Academy_Hat','Cryptura Academy Hat',4,0,NULL,200,NULL,2,NULL,1,0xFFFFFFFF,63,2,256,NULL,'0',1,872,'bonus bMaxHP,15; bonus bMaxSP,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18732,'TE_Woe_Cap','TE Woe Cap',4,0,NULL,0,NULL,5,NULL,0,0xFFFFFFFF,63,2,256,0,'40',1,14,'bonus bMdef,5; bonus bBaseAtk,5; bonus bMatk,5; bonus2 bAddRace,RC_Player,10; bonus2 bMagicAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18732,'TE_Woe_Cap','TE Woe Cap',4,0,NULL,0,NULL,5,NULL,0,0xFFFFFFFF,63,2,256,NULL,'40',1,14,'bonus bMdef,5; bonus bBaseAtk,5; bonus bMatk,5; bonus2 bAddRace,RC_Player,10; bonus2 bMagicAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18733,'TE_Woe_Bone_Helm','TE Woe Bone Helm',4,0,NULL,0,NULL,10,NULL,0,0x000444A2,63,2,256,0,'40',1,103,'bonus bBaseAtk,10; bonus2 bAddRace,RC_Player,20; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18733,'TE_Woe_Bone_Helm','TE Woe Bone Helm',4,0,NULL,0,NULL,10,NULL,0,0x000444A2,63,2,256,NULL,'40',1,103,'bonus bBaseAtk,10; bonus2 bAddRace,RC_Player,20; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18734,'TE_Woe_Magic_Eyes','TE Woe Magic Eyes',4,0,NULL,0,NULL,5,NULL,0,0x00818315,63,2,256,0,'40',1,209,'bonus bMdef,5; bonus bMatk,10; bonus2 bMagicAddRace,RC_Player,20; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18734,'TE_Woe_Magic_Eyes','TE Woe Magic Eyes',4,0,NULL,0,NULL,5,NULL,0,0x00818315,63,2,256,NULL,'40',1,209,'bonus bMdef,5; bonus bMatk,10; bonus2 bMagicAddRace,RC_Player,20; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18736,'Censor_Bar_','Censor Bar',4,0,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,512,0,'1',0,229,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18736,'Censor_Bar_','Censor Bar',4,0,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,512,NULL,'1',0,229,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18737,'Fortier_Mask','Fortier Masque',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,63,2,512,NULL,'10',0,876,'bonus bUnbreakableHelm,1; bonus2 bMagicAtkEle,Ele_Fire,4;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18737,'Fortier_Mask','Fortier Masque',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,63,2,512,NULL,'10',0,876,'bonus bUnbreakableHelm,1; bonus2 bMagicAtkEle,Ele_Fire,4;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18739,'Carnation_Hairband','Carnation Hairband',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,63,2,256,NULL,'0',1,878,'bonus bLuk,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18739,'Carnation_Hairband','Carnation Hairband',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,63,2,256,NULL,'0',1,878,'bonus bLuk,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18740,'Hair_Of_The_Strong','RMSC2012 Special Costume',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'0',0,879,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18740,'Hair_Of_The_Strong','RMSC2012 Special Costume',4,20,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'0',0,879,NULL,NULL,NULL);
|
||||||
@ -9711,7 +9718,7 @@ REPLACE INTO `item_db_re` VALUES (18750,'Poker_Card_In_Mouth','Poker Card In Mou
|
|||||||
REPLACE INTO `item_db_re` VALUES (18752,'Cursed_Book','Cursed Book',4,20,NULL,300,NULL,3,NULL,1,0xFFFFFFFE,63,2,256,NULL,'99',1,890,'.@r = getrefine(); bonus2 bHPLossRate,.@r,5000; bonus2 bHPDrainRate,40,4+(.@r/2); bonus2 bSPDrainRate,10,1+(.@r/3);',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18752,'Cursed_Book','Cursed Book',4,20,NULL,300,NULL,3,NULL,1,0xFFFFFFFE,63,2,256,NULL,'99',1,890,'.@r = getrefine(); bonus2 bHPLossRate,.@r,5000; bonus2 bHPDrainRate,40,4+(.@r/2); bonus2 bSPDrainRate,10,1+(.@r/3);',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18753,'Tw_Rice_Ball','Tw Rice Ball',4,20,NULL,100,NULL,6,NULL,0,0xFFFFFFFF,63,2,256,NULL,'0',0,892,'bonus bLuk,1; bonus2 bAddMonsterDropItem,564,100;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18753,'Tw_Rice_Ball','Tw Rice Ball',4,20,NULL,100,NULL,6,NULL,0,0xFFFFFFFF,63,2,256,NULL,'0',0,892,'bonus bLuk,1; bonus2 bAddMonsterDropItem,564,100;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18754,'Blood_Sucker','Blood Sucker',4,20,NULL,300,NULL,0,NULL,0,0xFFFFFFFF,63,2,1,NULL,'40',0,893,'bonus bUnbreakableHelm,1; bonus2 bHPDrainRate,30,5; bonus bHPrecovRate,-100; bonus bSPrecovRate,-100;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18754,'Blood_Sucker','Blood Sucker',4,20,NULL,300,NULL,0,NULL,0,0xFFFFFFFF,63,2,1,NULL,'40',0,893,'bonus bUnbreakableHelm,1; bonus2 bHPDrainRate,30,5; bonus bHPrecovRate,-100; bonus bSPrecovRate,-100;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18755,'Feather_Beret_','Feather Beret',4,0,NULL,600,NULL,1,NULL,1,0xFFFFFFFF,63,2,256,0,'1',1,224,'bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18755,'Feather_Beret_','Feather Beret',4,0,NULL,600,NULL,1,NULL,1,0xFFFFFFFF,63,2,256,NULL,'1',1,224,'bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18756,'Black_Shiba_Inu_Hat','Black Shiba Inu Hat',4,20,NULL,400,NULL,6,NULL,1,0xFFFFFFFF,63,2,256,NULL,'50',1,894,'bonus bBaseAtk,30; bonus2 bAddRace,RC_Brute,10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18756,'Black_Shiba_Inu_Hat','Black Shiba Inu Hat',4,20,NULL,400,NULL,6,NULL,1,0xFFFFFFFF,63,2,256,NULL,'50',1,894,'bonus bBaseAtk,30; bonus2 bAddRace,RC_Brute,10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18758,'Hat_Of_Scrat','Hat Of Scrat',4,20,NULL,200,NULL,3,NULL,1,0xFFFFFFFF,63,2,256,NULL,'0',1,896,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18758,'Hat_Of_Scrat','Hat Of Scrat',4,20,NULL,200,NULL,3,NULL,1,0xFFFFFFFF,63,2,256,NULL,'0',1,896,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18759,'Stretched_Nose_M','Wood Goblin\'s Nose',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,63,2,512,NULL,'50',0,737,'bonus bUnbreakableHelm,1; bonus2 bAddMonsterDropItem,1032,400; bonus2 bAddMonsterDropItem,1033,100; bonus3 bAddMonsterDropItem,576,RC_Plant,40;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18759,'Stretched_Nose_M','Wood Goblin\'s Nose',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,63,2,512,NULL,'50',0,737,'bonus bUnbreakableHelm,1; bonus2 bAddMonsterDropItem,1032,400; bonus2 bAddMonsterDropItem,1033,100; bonus3 bAddMonsterDropItem,576,RC_Plant,40;',NULL,NULL);
|
||||||
@ -9791,7 +9798,7 @@ REPLACE INTO `item_db_re` VALUES (18861,'Zaha_Doll_J_Hat','Zaha Doll J Hat',4,10
|
|||||||
REPLACE INTO `item_db_re` VALUES (18863,'Exorcist_Robe','Exorcist Robe',4,10,NULL,1700,NULL,57,NULL,1,0xFFFFFFFF,63,2,16,NULL,'60',1,NULL,'bonus bMdef,5; .@r = getrefine(); if (.@r >= 3) { bonus2 bAddRace,RC_Undead,.@r/3*5; } if (BaseClass==Job_Acolyte) bonus2 bAddRace,RC_Undead,10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18863,'Exorcist_Robe','Exorcist Robe',4,10,NULL,1700,NULL,57,NULL,1,0xFFFFFFFF,63,2,16,NULL,'60',1,NULL,'bonus bMdef,5; .@r = getrefine(); if (.@r >= 3) { bonus2 bAddRace,RC_Undead,.@r/3*5; } if (BaseClass==Job_Acolyte) bonus2 bAddRace,RC_Undead,10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18864,'Earth_Goddess_Flower','Earth Goddess Flower',4,10,NULL,250,NULL,6,NULL,0,0xFFFFFFFF,63,2,256,NULL,'1',1,864,'bonus2 bAddEle,Ele_Earth,15; skill "WZ_EARTHSPIKE",5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18864,'Earth_Goddess_Flower','Earth Goddess Flower',4,10,NULL,250,NULL,6,NULL,0,0xFFFFFFFF,63,2,256,NULL,'1',1,864,'bonus2 bAddEle,Ele_Earth,15; skill "WZ_EARTHSPIKE",5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18865,'Sword_Master_Crown','Sword Master Crown',4,10,NULL,1000,NULL,30,NULL,1,0xFFFFFFFF,63,2,256,NULL,'50',1,981,'.@i = BaseLevel; bonus bBaseAtk,(.@i>150)?(15):((.@i>100)?(10):((.@i>50)?(5):(0))); if(getskilllv("SM_SWORD")==10) bonus bHit,10; if(getskilllv("SM_TWOHAND")==10) bonus bUseSPrate,-5; if(getskilllv("AM_AXEMASTERY")==10) bonus bVariableCastrate,-5; if(getskilllv("AS_KATAR")==10) bonus bCritAtkRate,20; if(getskilllv("PR_MACEMASTERY")==10) bonus bAspdRate,10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18865,'Sword_Master_Crown','Sword Master Crown',4,10,NULL,1000,NULL,30,NULL,1,0xFFFFFFFF,63,2,256,NULL,'50',1,981,'.@i = BaseLevel; bonus bBaseAtk,(.@i>150)?(15):((.@i>100)?(10):((.@i>50)?(5):(0))); if(getskilllv("SM_SWORD")==10) bonus bHit,10; if(getskilllv("SM_TWOHAND")==10) bonus bUseSPrate,-5; if(getskilllv("AM_AXEMASTERY")==10) bonus bVariableCastrate,-5; if(getskilllv("AS_KATAR")==10) bonus bCritAtkRate,20; if(getskilllv("PR_MACEMASTERY")==10) bonus bAspdRate,10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18867,'Vajra','Vajra',4,0,NULL,300,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1,0,'48',0,983,'bonus bDex,1; bonus bLongAtkRate,2;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18867,'Vajra','Vajra',4,0,NULL,300,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1,NULL,'48',0,983,'bonus bDex,1; bonus bLongAtkRate,2;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18868,'Assassin_Skull_Mask','Assassin Skull Mask',4,10,NULL,500,NULL,2,NULL,0,0xFFFFFFFF,63,2,513,NULL,'70',NULL,984,'bonus bCritical,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18868,'Assassin_Skull_Mask','Assassin Skull Mask',4,10,NULL,500,NULL,2,NULL,0,0xFFFFFFFF,63,2,513,NULL,'70',NULL,984,'bonus bCritical,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18870,'Very_Sweet_Candy_Bar','Very Sweet Candy Bar',4,10,NULL,10,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1,NULL,'1',1,446,'bonus bAllStats,2; bonus bBaseAtk,10; bonus bMatk,10; bonus2 bExpAddClass,Class_All,2;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18870,'Very_Sweet_Candy_Bar','Very Sweet Candy Bar',4,10,NULL,10,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1,NULL,'1',1,446,'bonus bAllStats,2; bonus bBaseAtk,10; bonus bMatk,10; bonus2 bExpAddClass,Class_All,2;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (18871,'Very_Sweet_Candy','Very Sweet Candy',4,10,NULL,10,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1,NULL,'1',1,446,'bonus bAllStats,1; bonus bBaseAtk,5; bonus bMatk,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (18871,'Very_Sweet_Candy','Very Sweet Candy',4,10,NULL,10,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1,NULL,'1',1,446,'bonus bAllStats,1; bonus bBaseAtk,5; bonus bMatk,5;',NULL,NULL);
|
||||||
@ -9860,7 +9867,7 @@ REPLACE INTO `item_db_re` VALUES (19019,'Elemental_Crown','Elemental Crown',4,0,
|
|||||||
REPLACE INTO `item_db_re` VALUES (19020,'Survive_Circlet','Survive Circlet',4,0,NULL,500,NULL,10,NULL,0,0xFFFFFFFF,63,2,256,NULL,NULL,1,1220,'.@r = getrefine(); bonus bInt,(3 + (.@r/2)+ (BaseLevel > 130 ? .@r : 0)); bonus bMatkRate,4;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19020,'Survive_Circlet','Survive Circlet',4,0,NULL,500,NULL,10,NULL,0,0xFFFFFFFF,63,2,256,NULL,NULL,1,1220,'.@r = getrefine(); bonus bInt,(3 + (.@r/2)+ (BaseLevel > 130 ? .@r : 0)); bonus bMatkRate,4;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19021,'Gigant_Helm','Gigant Helm',4,0,NULL,500,NULL,10,NULL,0,0xFFFFFFFF,63,2,256,NULL,NULL,1,1221,'bonus bStr,3+((BaseLevel > 130) ? getrefine() : 0); bonus2 bAddClass,Class_All,4;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19021,'Gigant_Helm','Gigant Helm',4,0,NULL,500,NULL,10,NULL,0,0xFFFFFFFF,63,2,256,NULL,NULL,1,1221,'bonus bStr,3+((BaseLevel > 130) ? getrefine() : 0); bonus2 bAddClass,Class_All,4;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19022,'Floating_Stone_Of_Intelligence','Floating Stone Of Intelligence',4,NULL,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,256,NULL,NULL,NULL,1230,NULL,'sc_start SC_FSTONE,-1,0;','sc_end SC_FSTONE;');
|
REPLACE INTO `item_db_re` VALUES (19022,'Floating_Stone_Of_Intelligence','Floating Stone Of Intelligence',4,NULL,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,256,NULL,NULL,NULL,1230,NULL,'sc_start SC_FSTONE,-1,0;','sc_end SC_FSTONE;');
|
||||||
REPLACE INTO `item_db_re` VALUES (19024,'Protect_Feathers','Protect Feathers',4,0,NULL,500,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,512,0,'70',0,1232,'bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; bonus bAspdRate,-5; .@vit = readparam(bVit); if (.@vit >= 108) { bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; bonus bAspdRate,-5; } if (.@vit >= 120) { bonus bMaxHPRate,3; bonus bMdef,3; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19024,'Protect_Feathers','Protect Feathers',4,0,NULL,500,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,512,NULL,'70',0,1232,'bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; bonus bAspdRate,-5; .@vit = readparam(bVit); if (.@vit >= 108) { bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; bonus bAspdRate,-5; } if (.@vit >= 120) { bonus bMaxHPRate,3; bonus bMdef,3; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19026,'Aegir_Helm','Aegir Helm',4,10,NULL,800,NULL,10,NULL,1,0xFFFFFFFF,63,2,256,NULL,'40',1,870,'bonus bVit,3;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19026,'Aegir_Helm','Aegir Helm',4,10,NULL,800,NULL,10,NULL,1,0xFFFFFFFF,63,2,256,NULL,'40',1,870,'bonus bVit,3;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19030,'Pretty_Rabbit_Hood','Pretty Rabbit Hood',4,10,NULL,100,NULL,20,NULL,1,0xFFFFFFFF,63,2,769,NULL,'1',1,1085,'bonus bMaxHP,(15*BaseLevel);',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19030,'Pretty_Rabbit_Hood','Pretty Rabbit Hood',4,10,NULL,100,NULL,20,NULL,1,0xFFFFFFFF,63,2,769,NULL,'1',1,1085,'bonus bMaxHP,(15*BaseLevel);',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19031,'Fallen_Angel_Blessing','Fallen Angel Blessing',4,0,NULL,200,NULL,1,NULL,0,0xFFFFFFFF,63,2,512,NULL,NULL,1,1250,'bonus2 bAddRace,RC_Angel,5; bonus2 bSubRace,RC_Angel,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19031,'Fallen_Angel_Blessing','Fallen Angel Blessing',4,0,NULL,200,NULL,1,NULL,0,0xFFFFFFFF,63,2,512,NULL,NULL,1,1250,'bonus2 bAddRace,RC_Angel,5; bonus2 bSubRace,RC_Angel,5;',NULL,NULL);
|
||||||
@ -9872,7 +9879,7 @@ REPLACE INTO `item_db_re` VALUES (19048,'Elemental_Clothe','Elemental Clothes',4
|
|||||||
REPLACE INTO `item_db_re` VALUES (19051,'Warrior_Moon_Cat','Warrior Moon Cat',4,20,NULL,100,NULL,5,NULL,1,0xFFFFFFFF,63,2,256,NULL,'1',1,1308,'/*Enables use of Level 1 Monster\'s Cry*/ bonus bAllStats,3; bonus2 bHPDrainRate,40,5; bonus2 bSPDrainRate,10,2;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19051,'Warrior_Moon_Cat','Warrior Moon Cat',4,20,NULL,100,NULL,5,NULL,1,0xFFFFFFFF,63,2,256,NULL,'1',1,1308,'/*Enables use of Level 1 Monster\'s Cry*/ bonus bAllStats,3; bonus2 bHPDrainRate,40,5; bonus2 bSPDrainRate,10,2;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19052,'Sigruns_Wing','Rental Sigrun\'s Wing',4,10,NULL,0,NULL,2,NULL,0,0xFFFFFFFF,63,2,512,NULL,'1',0,568,'if (Class == Job_Swordman || Class == Job_Thief || Class == Job_Merchant || Class == Job_Taekwon || Class == Job_Star_Gladiator || Class == Job_Star_Gladiator2) bonus bAspd,1; else if (Class == Job_Mage || Class == Job_Acolyte || Class == Job_Ninja || Class == Job_Soul_Linker) { bonus bMatk,5; bonus bHealPower,2; } else if (Class == Job_Archer || Class == Job_Gunslinger) bonus bLongAtkRate,2; else if (Class == Job_Novice || Class == Job_SuperNovice) { bonus bMaxHP,120; bonus bMaxSP,60; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19052,'Sigruns_Wing','Rental Sigrun\'s Wing',4,10,NULL,0,NULL,2,NULL,0,0xFFFFFFFF,63,2,512,NULL,'1',0,568,'if (Class == Job_Swordman || Class == Job_Thief || Class == Job_Merchant || Class == Job_Taekwon || Class == Job_Star_Gladiator || Class == Job_Star_Gladiator2) bonus bAspd,1; else if (Class == Job_Mage || Class == Job_Acolyte || Class == Job_Ninja || Class == Job_Soul_Linker) { bonus bMatk,5; bonus bHealPower,2; } else if (Class == Job_Archer || Class == Job_Gunslinger) bonus bLongAtkRate,2; else if (Class == Job_Novice || Class == Job_SuperNovice) { bonus bMaxHP,120; bonus bMaxSP,60; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19053,'Fighter_Moon_Cat','Fighter Moon Cat',4,20,NULL,100,NULL,5,NULL,1,0xFFFFFFFF,63,2,256,NULL,'1',1,1308,'/*Enables use of Level 1 Monster\'s Cry*/ .@r = getrefine(); bonus bAllStats,3; bonus2 bAddEff,Eff_Stun,500+(.@r*100);',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19053,'Fighter_Moon_Cat','Fighter Moon Cat',4,20,NULL,100,NULL,5,NULL,1,0xFFFFFFFF,63,2,256,NULL,'1',1,1308,'/*Enables use of Level 1 Monster\'s Cry*/ .@r = getrefine(); bonus bAllStats,3; bonus2 bAddEff,Eff_Stun,500+(.@r*100);',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19082,'Bio_Protector','Bio Protector',4,0,NULL,500,NULL,3,NULL,0,0xFFFFFFFF,63,2,512,1,'50',1,1366,'bonus bHit,10; bonus bVariableCastrate,-5; bonus bPerfectHitRate,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19082,'Bio_Protector','Bio Protector',4,0,NULL,500,NULL,3,NULL,0,0xFFFFFFFF,63,2,512,NULL,'50',1,1366,'bonus bHit,10; bonus bVariableCastrate,-5; bonus bPerfectHitRate,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19083,'Mask_of_Hero','Mask of Hero',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,63,2,512,NULL,'70',0,1367,'bonus bVit,10; bonus bMdef,10; bonus bShortWeaponDamageReturn,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19083,'Mask_of_Hero','Mask of Hero',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,63,2,512,NULL,'70',0,1367,'bonus bVit,10; bonus bMdef,10; bonus bShortWeaponDamageReturn,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19084,'Parfaille_Vigilante_Hat','Parfaille Vigilante Hat',4,0,NULL,100,NULL,2,NULL,0,0x80000000,63,2,256,NULL,'20',1,1368,'bonus bLuk,1; bonus3 bAutoSpell,"AL_BLESSING",3,100;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19084,'Parfaille_Vigilante_Hat','Parfaille Vigilante Hat',4,0,NULL,100,NULL,2,NULL,0,0x80000000,63,2,256,NULL,'20',1,1368,'bonus bLuk,1; bonus3 bAutoSpell,"AL_BLESSING",3,100;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19085,'Sigrun\'s_Wings_','Sigrun\'s Wings',4,20,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,63,2,512,NULL,'1',0,568,'if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief||(BaseJob==Job_Taekwon&&Class!=Job_Soul_Linker)) { bonus bAspd,1; bonus bAgi,-2; } else if(BaseClass==Job_Mage||BaseClass==Job_Acolyte||Class==Job_Ninja||Class==Job_Soul_Linker){ bonus bMatk,3; bonus bHealPower,2; } else if(BaseClass==Job_Archer||BaseClass==Job_Gunslinger) bonus bLongAtkRate,1; else if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) { bonus bMaxHP,60; bonus bMaxSP,30; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19085,'Sigrun\'s_Wings_','Sigrun\'s Wings',4,20,NULL,100,NULL,2,NULL,1,0xFFFFFFFF,63,2,512,NULL,'1',0,568,'if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief||(BaseJob==Job_Taekwon&&Class!=Job_Soul_Linker)) { bonus bAspd,1; bonus bAgi,-2; } else if(BaseClass==Job_Mage||BaseClass==Job_Acolyte||Class==Job_Ninja||Class==Job_Soul_Linker){ bonus bMatk,3; bonus bHealPower,2; } else if(BaseClass==Job_Archer||BaseClass==Job_Gunslinger) bonus bLongAtkRate,1; else if(BaseJob==Job_Novice||BaseJob==Job_SuperNovice) { bonus bMaxHP,60; bonus bMaxSP,30; }',NULL,NULL);
|
||||||
@ -9886,9 +9893,9 @@ REPLACE INTO `item_db_re` VALUES (19092,'Machoman_Glasses_','Machoman\'s Glasses
|
|||||||
REPLACE INTO `item_db_re` VALUES (19093,'Spinning_Eyes_','Geek Glasses',4,20000,NULL,100,NULL,1,NULL,1,0xFFFFFFFF,63,2,512,NULL,'0',0,27,'bonus2 bResEff,Eff_Blind,800;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19093,'Spinning_Eyes_','Geek Glasses',4,20000,NULL,100,NULL,1,NULL,1,0xFFFFFFFF,63,2,512,NULL,'0',0,27,'bonus2 bResEff,Eff_Blind,800;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19094,'Mr_Smile_','Mr. Smile',4,60,NULL,100,NULL,1,NULL,1,0xFFFFFFFF,63,2,513,NULL,'0',0,65,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19094,'Mr_Smile_','Mr. Smile',4,60,NULL,100,NULL,1,NULL,1,0xFFFFFFFF,63,2,513,NULL,'0',0,65,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19095,'Happy_Balloon','Happy Balloon',4,0,NULL,10,NULL,0,NULL,0,0xFFFFFFFF,63,2,1,NULL,'1',0,1289,'bonus2 bDropAddRace,RC_All,5; bonus2 bExpAddRace,RC_All,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19095,'Happy_Balloon','Happy Balloon',4,0,NULL,10,NULL,0,NULL,0,0xFFFFFFFF,63,2,1,NULL,'1',0,1289,'bonus2 bDropAddRace,RC_All,5; bonus2 bExpAddRace,RC_All,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19109,'Valhalla_Idol','Valhalla Idol',4,0,NULL,300,NULL,2,NULL,0,0xFFFFFFFF,63,2,512,0,'70',0,1423,'bonus bMaxSP,50; bonus3 bAutoSpell,"MG_SAFETYWALL",10,50;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19109,'Valhalla_Idol','Valhalla Idol',4,0,NULL,300,NULL,2,NULL,0,0xFFFFFFFF,63,2,512,NULL,'70',0,1423,'bonus bMaxSP,50; bonus3 bAutoSpell,"MG_SAFETYWALL",10,50;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19111,'Laser_Of_Eagle','Laser of Eagle',4,0,NULL,400,NULL,5,NULL,1,0xFFFFFFFF,63,2,256,0,'100',1,1424,'bonus bDex,2; bonus bLongAtkRate,10; bonus4 bAutoSpell,"PR_LEXAETERNA",1,50,BF_LONG; /*TODO: Chance to transform become Shechil while attacking.*/',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19111,'Laser_Of_Eagle','Laser of Eagle',4,0,NULL,400,NULL,5,NULL,1,0xFFFFFFFF,63,2,256,NULL,'100',1,1424,'bonus bDex,2; bonus bLongAtkRate,10; bonus4 bAutoSpell,"PR_LEXAETERNA",1,50,BF_LONG; /*TODO: Chance to transform become Shechil while attacking.*/',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19116,'Red_Baby_Dragon','Red Baby Dragon',4,0,NULL,700,NULL,NULL,1,1,0xFFFFFFFF,63,2,256,0,'90',1,1463,'.@r=getrefine(); bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bSkillAtk,"RK_DRAGONBREATH",15; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",15; if (.@r>=6) { bonus2 bSkillAtk,"RK_DRAGONBREATH",15; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",15; } if (.@r>=8) { bonus2 bSkillAtk,"RK_DRAGONBREATH",15; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",15; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19116,'Red_Baby_Dragon','Red Baby Dragon',4,0,NULL,700,NULL,NULL,1,1,0xFFFFFFFF,63,2,256,NULL,'90',1,1463,'.@r=getrefine(); bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bSkillAtk,"RK_DRAGONBREATH",15; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",15; if (.@r>=6) { bonus2 bSkillAtk,"RK_DRAGONBREATH",15; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",15; } if (.@r>=8) { bonus2 bSkillAtk,"RK_DRAGONBREATH",15; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",15; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19117,'Poring_Sunglasses','Poring Sunglasses',4,0,NULL,10,NULL,0,NULL,0,0xFFFFFFFF,63,2,512,NULL,'1',0,954,'bonus2 bDropAddRace,RC_All,5; bonus2 bExpAddRace,RC_All,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19117,'Poring_Sunglasses','Poring Sunglasses',4,0,NULL,10,NULL,0,NULL,0,0xFFFFFFFF,63,2,512,NULL,'1',0,954,'bonus2 bDropAddRace,RC_All,5; bonus2 bExpAddRace,RC_All,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19118,'Poring_Sunglasses_','Poring Sunglasses',4,0,NULL,10,NULL,0,NULL,1,0xFFFFFFFF,63,2,512,NULL,'1',0,954,'bonus2 bDropAddRace,RC_All,4; bonus2 bExpAddRace,RC_All,4;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19118,'Poring_Sunglasses_','Poring Sunglasses',4,0,NULL,10,NULL,0,NULL,1,0xFFFFFFFF,63,2,512,NULL,'1',0,954,'bonus2 bDropAddRace,RC_All,4; bonus2 bExpAddRace,RC_All,4;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (19126,'Shadow_Booster_','Magical Booster',4,10,NULL,300,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,512,NULL,'1',1,873,'bonus bAspd,1; bonus bDelayrate,-1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (19126,'Shadow_Booster_','Magical Booster',4,10,NULL,300,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,512,NULL,'1',1,873,'bonus bAspd,1; bonus bDelayrate,-1;',NULL,NULL);
|
||||||
@ -10421,7 +10428,7 @@ REPLACE INTO `item_db_re` VALUES (20095,'C_Red_Ribbon','Costume Red Ribbon',4,0,
|
|||||||
REPLACE INTO `item_db_re` VALUES (20096,'C_Blue_Ribbon','Costume Blue Ribbon',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,441,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20096,'C_Blue_Ribbon','Costume Blue Ribbon',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,441,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20097,'C_White_Ribbon','Costume White Ribbon',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,442,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20097,'C_White_Ribbon','Costume White Ribbon',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,442,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20098,'C_Vampire_Hairband','Costume Vampire Hairband',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1238,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20098,'C_Vampire_Hairband','Costume Vampire Hairband',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1238,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20099,'C_Ljosalfar','Flying Ljosalfar',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,1,'1',1,1239,NULL,'sc_start SC_LJOSALFAR,-1,0;','sc_end SC_LJOSALFAR;');
|
REPLACE INTO `item_db_re` VALUES (20099,'C_Ljosalfar','Flying Ljosalfar',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1239,NULL,'sc_start SC_LJOSALFAR,-1,0;','sc_end SC_LJOSALFAR;');
|
||||||
REPLACE INTO `item_db_re` VALUES (20100,'C_Volume_Fhat','Costume Volume Fhat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1240,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20100,'C_Volume_Fhat','Costume Volume Fhat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1240,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20101,'C_Bragi_Wing_Ears','Costume Bragi Wing Ears',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1241,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20101,'C_Bragi_Wing_Ears','Costume Bragi Wing Ears',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1241,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20102,'C_Horse_King_J','Costume Horse King J',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,7168,NULL,'1',1,1189,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20102,'C_Horse_King_J','Costume Horse King J',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,7168,NULL,'1',1,1189,NULL,NULL,NULL);
|
||||||
@ -10437,9 +10444,9 @@ REPLACE INTO `item_db_re` VALUES (20111,'C_Coiledup_Snake_Hat2','Costume Coiledu
|
|||||||
REPLACE INTO `item_db_re` VALUES (20112,'C_Aqua_Ten_Gallon_Hat','Costume Aqua Ten Gallon Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1256,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20112,'C_Aqua_Ten_Gallon_Hat','Costume Aqua Ten Gallon Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1256,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20113,'C_Star_Reading_Hat','Costume Star Reading Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1253,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20113,'C_Star_Reading_Hat','Costume Star Reading Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1253,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20114,'C_Funeral_Hat','Costume Funeral Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,77,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20114,'C_Funeral_Hat','Costume Funeral Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,77,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20115,'C_Under_Rim_Glasses','Under Rim Glasses',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,1,'1',1,1255,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20115,'C_Under_Rim_Glasses','Under Rim Glasses',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,1255,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20116,'C_Mermaid_Headphone','Mermaid Headphone',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,1,'1',1,1254,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20116,'C_Mermaid_Headphone','Mermaid Headphone',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,1254,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20117,'C_Raspberry_Mousse_Hat','Raspberry Mousse Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,1,'1',1,1257,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20117,'C_Raspberry_Mousse_Hat','Raspberry Mousse Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1257,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20118,'C_Cake_Hat','Costume Cake Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,109,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20118,'C_Cake_Hat','Costume Cake Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,109,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20119,'C_Beanie','Costume Beanie',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,160,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20119,'C_Beanie','Costume Beanie',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,160,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20120,'C_Aerial','Costume Aerial',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,97,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20120,'C_Aerial','Costume Aerial',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,97,NULL,NULL,NULL);
|
||||||
@ -10540,9 +10547,9 @@ REPLACE INTO `item_db_re` VALUES (20214,'C_Evil_Marcher_Hat_J','Costume Evil Mar
|
|||||||
REPLACE INTO `item_db_re` VALUES (20215,'C_Black_Devil_Mask','Costume Black Devil Mask',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,760,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20215,'C_Black_Devil_Mask','Costume Black Devil Mask',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,760,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20216,'C_Rideword_Hat','Costume Rideword Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,890,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20216,'C_Rideword_Hat','Costume Rideword Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,890,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20217,'C_Arabian_Veil','Costume Arabian Veil',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1300,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20217,'C_Arabian_Veil','Costume Arabian Veil',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1300,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20218,'C_Spell_Circuit','Costume Spell Circuit',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,1,'1',1,1301,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20218,'C_Spell_Circuit','Costume Spell Circuit',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1301,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20219,'C_Angel_Marcher_Hat','Costume Angel Marcher Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1302,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20219,'C_Angel_Marcher_Hat','Costume Angel Marcher Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1302,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20220,'C_Dark_Night_Veil','Costume Dark Night Veil',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,3072,1,'1',1,1303,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20220,'C_Dark_Night_Veil','Costume Dark Night Veil',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,3072,NULL,'1',1,1303,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20221,'C_Eyes_Of_Ifrit','C Eyes Of Ifrit',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,886,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20221,'C_Eyes_Of_Ifrit','C Eyes Of Ifrit',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,886,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20222,'C_Blue_Pigtail_Santa_Hat','Costume Blue Pigtail Santa Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,NULL,1,395,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20222,'C_Blue_Pigtail_Santa_Hat','Costume Blue Pigtail Santa Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,NULL,1,395,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20223,'C_Romantic_Leaf','Costume Romantic Leaf',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',1,57,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20223,'C_Romantic_Leaf','Costume Romantic Leaf',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',1,57,NULL,NULL,NULL);
|
||||||
@ -10626,8 +10633,8 @@ REPLACE INTO `item_db_re` VALUES (20311,'C_Magical_Booster','Costume Magical Boo
|
|||||||
REPLACE INTO `item_db_re` VALUES (20312,'C_Barons_Evil_Eye','Costume Baron\'s Evil Eye',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,989,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20312,'C_Barons_Evil_Eye','Costume Baron\'s Evil Eye',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,989,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20313,'C_CD_in_Mouth','Costume CD in Mouth',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',1,815,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20313,'C_CD_in_Mouth','Costume CD in Mouth',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',1,815,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20314,'C_New_Wave_Sunglasses','Costume New Wave Sunglasses',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,856,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20314,'C_New_Wave_Sunglasses','Costume New Wave Sunglasses',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,856,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20315,'C_Analyze_Eye','Costume Analyze Eye',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,1,'1',1,1351,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20315,'C_Analyze_Eye','Costume Analyze Eye',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',1,1351,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20316,'C_Seraph_Wing_Helm','Costume Seraph Wing Helm',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,1,'1',1,1352,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20316,'C_Seraph_Wing_Helm','Costume Seraph Wing Helm',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1352,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20317,'C_Nekomimi_Cyber_Headphone','Costume Nekomimi Cyber Headphone',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1353,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20317,'C_Nekomimi_Cyber_Headphone','Costume Nekomimi Cyber Headphone',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1353,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20318,'C_Charleston_Antenna','Costume Charleston Antenna',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,1354,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20318,'C_Charleston_Antenna','Costume Charleston Antenna',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,1354,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20319,'C_Crimson_Booster','Costume Crimson Booster',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,1355,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20319,'C_Crimson_Booster','Costume Crimson Booster',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,1355,NULL,NULL,NULL);
|
||||||
@ -10635,8 +10642,8 @@ REPLACE INTO `item_db_re` VALUES (20320,'C_Red_Bandana','Costume Red Bandana',4,
|
|||||||
REPLACE INTO `item_db_re` VALUES (20321,'C_Pterios_Fins','Costume Pterios Fins',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,1009,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20321,'C_Pterios_Fins','Costume Pterios Fins',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,1009,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20322,'C_Seal_Hat','Costume Seal Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,540,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20322,'C_Seal_Hat','Costume Seal Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,540,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20323,'C_Sparkling_Sound','Costume Sparkling Sound',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',1,1074,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20323,'C_Sparkling_Sound','Costume Sparkling Sound',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',1,1074,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20324,'C_Pigeon_Hat','Costume Pigeon Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,1,'1',1,1362,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20324,'C_Pigeon_Hat','Costume Pigeon Hat',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1362,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20325,'C_Little_Aquarium','Costume Little Aquarium',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,1,'1',1,1363,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20325,'C_Little_Aquarium','Costume Little Aquarium',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2048,NULL,'1',1,1363,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20326,'C_Sailor_Collar','Costume Sailor Collar',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',1,1364,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20326,'C_Sailor_Collar','Costume Sailor Collar',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',1,1364,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20327,'C_Marine_Cap','Costume Marine Cap',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1365,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20327,'C_Marine_Cap','Costume Marine Cap',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1024,NULL,'1',1,1365,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20328,'C_Mackerel_Pike','Costume Mackerel Pike',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',1,1081,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20328,'C_Mackerel_Pike','Costume Mackerel Pike',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',1,1081,NULL,NULL,NULL);
|
||||||
@ -10778,12 +10785,12 @@ REPLACE INTO `item_db_re` VALUES (20509,'C_Wings_of_Uriel','Costume Wings of Uri
|
|||||||
REPLACE INTO `item_db_re` VALUES (20510,'C_SwordWing','Costume Sword Wing',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,8192,NULL,'1',0,19,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20510,'C_SwordWing','Costume Sword Wing',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,8192,NULL,'1',0,19,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20600,'Fantastic_Aura','Fantastic Aura',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,8192,NULL,'1',0,0,'/*TODO: View ID*/ bonus bUnbreakableHelm,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20600,'Fantastic_Aura','Fantastic Aura',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,8192,NULL,'1',0,0,'/*TODO: View ID*/ bonus bUnbreakableHelm,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20700,'Egir_Manteau','Egir Manteau',4,200000,NULL,300,NULL,10,NULL,1,0xFFFFFFFF,63,2,4,NULL,'110',1,0,'bonus bUnbreakableGarment,1; .@r = getrefine(); if (.@r > 10) .@r = 10; if (BaseClass == Job_Mage || BaseClass == Job_Archer || BaseClass == Job_Acolyte) { bonus bFlee2,5+(.@r*2); } else if (BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief) { bonus bShortWeaponDamageReturn,5+(.@r*2); }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20700,'Egir_Manteau','Egir Manteau',4,200000,NULL,300,NULL,10,NULL,1,0xFFFFFFFF,63,2,4,NULL,'110',1,0,'bonus bUnbreakableGarment,1; .@r = getrefine(); if (.@r > 10) .@r = 10; if (BaseClass == Job_Mage || BaseClass == Job_Archer || BaseClass == Job_Acolyte) { bonus bFlee2,5+(.@r*2); } else if (BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief) { bonus bShortWeaponDamageReturn,5+(.@r*2); }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20702,'TE_Woe_Muffler','TE Woe Muffler',4,0,NULL,0,NULL,5,NULL,0,0xFFFFFFFF,63,2,4,1,'40',1,NULL,'bonus bMdef,5; bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20702,'TE_Woe_Muffler','TE Woe Muffler',4,0,NULL,0,NULL,5,NULL,0,0xFFFFFFFF,63,2,4,NULL,'40',1,NULL,'bonus bMdef,5; bonus2 bAddRace,RC_Player,5; bonus2 bMagicAddRace,RC_Player,5; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20703,'TE_Woe_Manteau','TE Woe Manteau',4,0,NULL,0,NULL,10,NULL,0,0x000444A2,63,2,4,1,'40',1,NULL,'bonus2 bAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20703,'TE_Woe_Manteau','TE Woe Manteau',4,0,NULL,0,NULL,10,NULL,0,0x000444A2,63,2,4,NULL,'40',1,NULL,'bonus2 bAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20704,'TE_Woe_Magic_Manteau','TE Woe Magic Manteau',4,0,NULL,0,NULL,5,NULL,0,0x00818315,63,2,4,1,'40',1,NULL,'bonus2 bMagicAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20704,'TE_Woe_Magic_Manteau','TE Woe Magic Manteau',4,0,NULL,0,NULL,5,NULL,0,0x00818315,63,2,4,NULL,'40',1,NULL,'bonus2 bMagicAddRace,RC_Player,10; bonus2 bResEff,Eff_Freeze,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20706,'Amistr_Bag','Amistr Bag',4,10,NULL,500,NULL,18,NULL,0,0xFFFFFFFF,63,2,4,NULL,'1',NULL,4,'bonus bAllStats,1; bonus2 bSubEle,Ele_All,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20706,'Amistr_Bag','Amistr Bag',4,10,NULL,500,NULL,18,NULL,0,0xFFFFFFFF,63,2,4,NULL,'1',NULL,4,'bonus bAllStats,1; bonus2 bSubEle,Ele_All,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20707,'Kirin_Wing','Kirin Wing',4,20,NULL,0,NULL,18,NULL,0,0xFFFFFFFF,63,2,4,NULL,'0',1,6,'bonus bAllStats,1; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20707,'Kirin_Wing','Kirin Wing',4,20,NULL,0,NULL,18,NULL,0,0xFFFFFFFF,63,2,4,NULL,'0',1,6,'bonus bAllStats,1; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20709,'Mana_Manteau','Mana Manteau',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4,0,'1',1,NULL,'bonus2 bExpAddRace,RC_All,10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20709,'Mana_Manteau','Mana Manteau',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4,NULL,'1',1,NULL,'bonus2 bExpAddRace,RC_All,10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20710,'Impr_Angel\'s_Warmth','Advanced Angelic Cardigan',4,10000,NULL,400,NULL,6,NULL,1,0x00000001,63,2,4,NULL,'99',1,0,'bonus bHPrecovRate,50;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20710,'Impr_Angel\'s_Warmth','Advanced Angelic Cardigan',4,10000,NULL,400,NULL,6,NULL,1,0x00000001,63,2,4,NULL,'99',1,0,'bonus bHPrecovRate,50;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20711,'Manteau_Of_Diego','Manteau Of Diego',4,20,NULL,600,NULL,15,NULL,1,0xFFFFFFFF,63,2,4,NULL,'0',1,0,'bonus bInt,1; bonus bDex,1; bonus bMdef,3;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20711,'Manteau_Of_Diego','Manteau Of Diego',4,20,NULL,600,NULL,15,NULL,1,0xFFFFFFFF,63,2,4,NULL,'0',1,0,'bonus bInt,1; bonus bDex,1; bonus bMdef,3;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20717,'Gigant_Snake_Skin','Gigant Snake Skin',4,10,NULL,400,NULL,38,NULL,0,0xFFFFFFFF,63,2,4,NULL,'1',1,0,'bonus bMdef,10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20717,'Gigant_Snake_Skin','Gigant Snake Skin',4,10,NULL,400,NULL,38,NULL,0,0xFFFFFFFF,63,2,4,NULL,'1',1,0,'bonus bMdef,10;',NULL,NULL);
|
||||||
@ -10801,7 +10808,7 @@ REPLACE INTO `item_db_re` VALUES (20744,'Tarlock\'s_Cloak','Tarlock\'s Cloak',4,
|
|||||||
REPLACE INTO `item_db_re` VALUES (20746,'C_Rudra_Wings','Costume Rudra Wings',4,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,8192,NULL,'1',0,8,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20746,'C_Rudra_Wings','Costume Rudra Wings',4,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,8192,NULL,'1',0,8,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20748,'Cloak_Of_Casualties','Cloak Of Casualties',4,10,NULL,600,NULL,20,NULL,0,0xFFFFFFFF,63,2,4,NULL,'120',1,NULL,'.@r = getrefine(); bonus bAgi,5; bonus bFlee,10; if(readparam(bStr)>=90) bonus bBaseAtk,10+(.@r*2); if(readparam(bInt)>=90) bonus bMatk,20+(.@r*3); if(readparam(bVit)>=90) bonus2 bSubEle,Ele_Neutral,3+((.@r>=8)?3:0)+((.@r>=10)?4:0); if(readparam(bAgi)>=90){ bonus bAspdRate,3+(.@r/2); bonus bAspd,((.@r>=10)?1:0); } if(readparam(bDex)>=90) bonus bLongAtkRate,3+(.@r/2); if(readparam(bLuk)>=90) bonus bCriticalRate,5+.@r;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20748,'Cloak_Of_Casualties','Cloak Of Casualties',4,10,NULL,600,NULL,20,NULL,0,0xFFFFFFFF,63,2,4,NULL,'120',1,NULL,'.@r = getrefine(); bonus bAgi,5; bonus bFlee,10; if(readparam(bStr)>=90) bonus bBaseAtk,10+(.@r*2); if(readparam(bInt)>=90) bonus bMatk,20+(.@r*3); if(readparam(bVit)>=90) bonus2 bSubEle,Ele_Neutral,3+((.@r>=8)?3:0)+((.@r>=10)?4:0); if(readparam(bAgi)>=90){ bonus bAspdRate,3+(.@r/2); bonus bAspd,((.@r>=10)?1:0); } if(readparam(bDex)>=90) bonus bLongAtkRate,3+(.@r/2); if(readparam(bLuk)>=90) bonus bCriticalRate,5+.@r;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20749,'Cloak_Of_Casualties_','Cloak Of Casualties',4,10,NULL,600,NULL,30,NULL,1,0xFFFFFFFF,63,2,4,NULL,'170',1,NULL,'.@r = getrefine(); bonus bMaxHPrate,.@r/2; bonus bMaxSPrate,.@r/2; bonus bAgi,5; bonus bFlee,10; if(readparam(bStr)>=90) bonus bBaseAtk,10+(.@r*2); if(readparam(bInt)>=90) bonus bMatk,20+(.@r*3); if(readparam(bVit)>=90) bonus2 bSubEle,Ele_Neutral,3+((.@r>=8)?3:0)+((.@r>=10)?4:0); if(readparam(bAgi)>=90){ bonus bAspdRate,3+(.@r/2); bonus bAspd,((.@r>=10)?1:0); } if(readparam(bDex)>=90) bonus bLongAtkRate,3+(.@r/2); if(readparam(bLuk)>=90) bonus bCriticalRate,5+.@r;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20749,'Cloak_Of_Casualties_','Cloak Of Casualties',4,10,NULL,600,NULL,30,NULL,1,0xFFFFFFFF,63,2,4,NULL,'170',1,NULL,'.@r = getrefine(); bonus bMaxHPrate,.@r/2; bonus bMaxSPrate,.@r/2; bonus bAgi,5; bonus bFlee,10; if(readparam(bStr)>=90) bonus bBaseAtk,10+(.@r*2); if(readparam(bInt)>=90) bonus bMatk,20+(.@r*3); if(readparam(bVit)>=90) bonus2 bSubEle,Ele_Neutral,3+((.@r>=8)?3:0)+((.@r>=10)?4:0); if(readparam(bAgi)>=90){ bonus bAspdRate,3+(.@r/2); bonus bAspd,((.@r>=10)?1:0); } if(readparam(bDex)>=90) bonus bLongAtkRate,3+(.@r/2); if(readparam(bLuk)>=90) bonus bCriticalRate,5+.@r;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20753,'Lian_Robe','Lian Robe',4,0,NULL,700,NULL,20,1,1,0xFFFFFFFF,63,2,4,0,'65',1,NULL,'bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubRace,RC_Formless,-5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20753,'Lian_Robe','Lian Robe',4,0,NULL,700,NULL,20,1,1,0xFFFFFFFF,63,2,4,NULL,'65',1,NULL,'bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubRace,RC_Formless,-5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20756,'Aegir_Cloak','Aegir Cloak',4,10,NULL,300,NULL,10,NULL,1,0xFFFFFFFF,63,2,4,NULL,'40',1,NULL,'bonus bUnbreakableGarment,1; bonus bMaxHP,500; bonus bMaxSP,50;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20756,'Aegir_Cloak','Aegir Cloak',4,10,NULL,300,NULL,10,NULL,1,0xFFFFFFFF,63,2,4,NULL,'40',1,NULL,'bonus bUnbreakableGarment,1; bonus bMaxHP,500; bonus bMaxSP,50;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20761,'C_Happiness_Wings','Costume Happiness Wings',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,8192,NULL,'1',0,9,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20761,'C_Happiness_Wings','Costume Happiness Wings',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,8192,NULL,'1',0,9,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20762,'C_Great_Devil_Wings','Costume Great Devil Wings',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,8192,NULL,'1',0,10,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20762,'C_Great_Devil_Wings','Costume Great Devil Wings',4,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,8192,NULL,'1',0,10,NULL,NULL,NULL);
|
||||||
@ -10811,12 +10818,12 @@ REPLACE INTO `item_db_re` VALUES (20779,'Rift_Manteau','Rift Manteau',4,20,NULL,
|
|||||||
REPLACE INTO `item_db_re` VALUES (20780,'Unity_STR_Manteau','Unity STR Manteau',4,32000,NULL,300,NULL,20,NULL,1,0xFFFFFFFF,63,2,4,NULL,'1',1,0,'.@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bMaxHPrate,2*(.@r/2); }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20780,'Unity_STR_Manteau','Unity STR Manteau',4,32000,NULL,300,NULL,20,NULL,1,0xFFFFFFFF,63,2,4,NULL,'1',1,0,'.@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bMaxHPrate,2*(.@r/2); }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20781,'Unity_AGI_Manteau','Unity AGI Manteau',4,32000,NULL,300,NULL,20,NULL,1,0xFFFFFFFF,63,2,4,NULL,'1',1,0,'.@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bFlee,3*(.@r/2); }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20781,'Unity_AGI_Manteau','Unity AGI Manteau',4,32000,NULL,300,NULL,20,NULL,1,0xFFFFFFFF,63,2,4,NULL,'1',1,0,'.@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bFlee,3*(.@r/2); }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20782,'Unity_INT_Muffler','Unity INT Muffler',4,32000,NULL,300,NULL,20,NULL,1,0xFFFFFFFF,63,2,4,NULL,'1',1,0,'.@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bUseSPrate,-(.@r/2); }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20782,'Unity_INT_Muffler','Unity INT Muffler',4,32000,NULL,300,NULL,20,NULL,1,0xFFFFFFFF,63,2,4,NULL,'1',1,0,'.@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bUseSPrate,-(.@r/2); }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20783,'Hero_Cape','Hero Cape',4,0,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,4,1,'10',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Neutral,1+(.@r/3); bonus bFlee,1+(.@r/3); if (.@r > 9) { bonus2 bSubEle,Ele_Neutral,20; bonus bFlee,20; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20783,'Hero_Cape','Hero Cape',4,0,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,4,NULL,'10',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Neutral,1+(.@r/3); bonus bFlee,1+(.@r/3); if (.@r > 9) { bonus2 bSubEle,Ele_Neutral,20; bonus bFlee,20; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20787,'Unity_Exquisite_Muffler','Unity Exquisite Muffler',4,32000,NULL,300,NULL,20,NULL,1,0xFFFFFFFF,63,2,4,NULL,'1',1,0,'.@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bCritical,2*(.@r/2); }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20787,'Unity_Exquisite_Muffler','Unity Exquisite Muffler',4,32000,NULL,300,NULL,20,NULL,1,0xFFFFFFFF,63,2,4,NULL,'1',1,0,'.@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bCritical,2*(.@r/2); }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20788,'Private_Doram_Manteau','Private Doram Manteau',4,20,NULL,300,NULL,20,NULL,1,0x80000000,7,2,4,NULL,'100',1,NULL,'bonus bFlee,5; bonus2 bSubEle,Ele_Neutral,2; bonus bFlee2,getrefine()/3;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20788,'Private_Doram_Manteau','Private Doram Manteau',4,20,NULL,300,NULL,20,NULL,1,0x80000000,7,2,4,NULL,'100',1,NULL,'bonus bFlee,5; bonus2 bSubEle,Ele_Neutral,2; bonus bFlee2,getrefine()/3;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20789,'Luxury_Doram_Manteau','Luxury Doram Manteau',4,20,NULL,400,NULL,25,NULL,1,0x80000000,7,2,4,NULL,'140',1,NULL,'bonus bFlee,7; bonus2 bSubEle,Ele_Neutral,3; .@r = getrefine()/3; bonus bFlee2,.@r; bonus bLuk,.@r;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20789,'Luxury_Doram_Manteau','Luxury Doram Manteau',4,20,NULL,400,NULL,25,NULL,1,0x80000000,7,2,4,NULL,'140',1,NULL,'bonus bFlee,7; bonus2 bSubEle,Ele_Neutral,3; .@r = getrefine()/3; bonus bFlee2,.@r; bonus bLuk,.@r;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20790,'Elegant_Doram_Manteau','Elegant Doram Manteau',4,20,NULL,500,NULL,30,NULL,1,0x80000000,7,2,4,NULL,'175',1,NULL,'bonus bFlee,10; bonus2 bSubEle,Ele_Neutral,5; .@r = getrefine()/2; bonus bFlee2,.@r; bonus bInt,.@r; bonus bDex,.@r; bonus bLuk,.@r;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20790,'Elegant_Doram_Manteau','Elegant Doram Manteau',4,20,NULL,500,NULL,30,NULL,1,0x80000000,7,2,4,NULL,'175',1,NULL,'bonus bFlee,10; bonus2 bSubEle,Ele_Neutral,5; .@r = getrefine()/2; bonus bFlee2,.@r; bonus bInt,.@r; bonus bDex,.@r; bonus bLuk,.@r;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20797,'Etran_Shirt','Etran Shirt',4,0,NULL,150,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,4,1,'1',1,NULL,'bonus bMdef,10; bonus bMaxHPrate,2; .@r = getrefine(); if (.@r >= 6) bonus bMaxHPrate,4; if (.@r >= 7) bonus bMaxHPrate,6; if (.@r >= 8) bonus bMaxHPrate,8; if (.@r >= 9) bonus bNoKnockback,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20797,'Etran_Shirt','Etran Shirt',4,0,NULL,150,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,4,NULL,'1',1,NULL,'bonus bMdef,10; bonus bMaxHPrate,2; .@r = getrefine(); if (.@r >= 6) bonus bMaxHPrate,4; if (.@r >= 7) bonus bMaxHPrate,6; if (.@r >= 8) bonus bMaxHPrate,8; if (.@r >= 9) bonus bNoKnockback,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20798,'C_Grim_Reaper_Protection','Costume Grim Reaper Protection',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',0,1450,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20798,'C_Grim_Reaper_Protection','Costume Grim Reaper Protection',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,4096,NULL,'1',0,1450,NULL,NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20815,'SeraphimRobe','Seraphim Robe',4,0,NULL,300,NULL,18,NULL,1,0xFFFFFFFF,63,2,4,NULL,'1',1,NULL,'bonus bMaxHPrate,10; bonus2 bMagicAtkEle,Ele_Neutral,5; .@r = getrefine(); if (.@r > 6) { bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Holy,20; bonus bMatkRate,10; } if (.@r > 8) { bonus2 bSubEle,Ele_Dark,10; bonus2 bSubEle,Ele_Holy,10; bonus bVariableCastrate,-5; } if (getskilllv("CR_TRUST") > 0) { bonus2 bSubEle,Ele_Holy,.@r*3; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20815,'SeraphimRobe','Seraphim Robe',4,0,NULL,300,NULL,18,NULL,1,0xFFFFFFFF,63,2,4,NULL,'1',1,NULL,'bonus bMaxHPrate,10; bonus2 bMagicAtkEle,Ele_Neutral,5; .@r = getrefine(); if (.@r > 6) { bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Holy,20; bonus bMatkRate,10; } if (.@r > 8) { bonus2 bSubEle,Ele_Dark,10; bonus2 bSubEle,Ele_Holy,10; bonus bVariableCastrate,-5; } if (getskilllv("CR_TRUST") > 0) { bonus2 bSubEle,Ele_Holy,.@r*3; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (20819,'Oxygen_Bottle','Oxygen Bottle',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,63,2,4,NULL,'40',0,0,'bonus bFlee,12+getrefine(); bonus bHit,getrefine();',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (20819,'Oxygen_Bottle','Oxygen Bottle',4,0,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,63,2,4,NULL,'40',0,0,'bonus bFlee,12+getrefine(); bonus bHit,getrefine();',NULL,NULL);
|
||||||
@ -10862,7 +10869,7 @@ REPLACE INTO `item_db_re` VALUES (22008,'Temporal_DEX_Boots_','Temporal Boots Of
|
|||||||
REPLACE INTO `item_db_re` VALUES (22009,'Temporal_INT_Boots_','Temporal Boots Of Intelligence',4,20,NULL,600,NULL,20,NULL,1,0xFFFFFFFF,56,2,64,NULL,'99',1,NULL,'.@r = getrefine(); bonus bMdef,5; bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bMatk,10*(.@r/3); if(readparam(bInt)>=120) bonus bMatk,60;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22009,'Temporal_INT_Boots_','Temporal Boots Of Intelligence',4,20,NULL,600,NULL,20,NULL,1,0xFFFFFFFF,56,2,64,NULL,'99',1,NULL,'.@r = getrefine(); bonus bMdef,5; bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bMatk,10*(.@r/3); if(readparam(bInt)>=120) bonus bMatk,60;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22010,'Temporal_AGI_Boots_','Temporal Boots Of Agility',4,20,NULL,600,NULL,25,NULL,1,0xFFFFFFFF,56,2,64,NULL,'99',1,NULL,'.@r = getrefine(); bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bAspdRate,3*(.@r/3); if(readparam(bAgi)>=120) bonus bAspd,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22010,'Temporal_AGI_Boots_','Temporal Boots Of Agility',4,20,NULL,600,NULL,25,NULL,1,0xFFFFFFFF,56,2,64,NULL,'99',1,NULL,'.@r = getrefine(); bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bAspdRate,3*(.@r/3); if(readparam(bAgi)>=120) bonus bAspd,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22011,'Temporal_LUK_Boots_','Temporal Boots Of Luck',4,20,NULL,600,NULL,20,NULL,1,0xFFFFFFFF,56,2,64,NULL,'99',1,NULL,'.@r = getrefine(); bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bMdef,5; bonus bCritAtkRate,2*(.@r/3); if(readparam(bLuk)>=120) bonus bCritAtkRate,30;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22011,'Temporal_LUK_Boots_','Temporal Boots Of Luck',4,20,NULL,600,NULL,20,NULL,1,0xFFFFFFFF,56,2,64,NULL,'99',1,NULL,'.@r = getrefine(); bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bMdef,5; bonus bCritAtkRate,2*(.@r/3); if(readparam(bLuk)>=120) bonus bCritAtkRate,30;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22012,'Mana_Boots','Mana Boots',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,64,0,'1',1,NULL,'bonus2 bExpAddRace,RC_All,10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22012,'Mana_Boots','Mana Boots',4,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,64,NULL,'1',1,NULL,'bonus2 bExpAddRace,RC_All,10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22014,'Enhanced_Variant_Shoes','Enhanced Variant Shoes',4,20,NULL,500,NULL,13,NULL,1,0x7CCFDF80,63,2,64,NULL,'85',1,0,'bonus bMaxHPrate,12; bonus bMaxSPrate,12; .@r = getrefine(); bonus bDef,.@r; bonus bMdef,.@r;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22014,'Enhanced_Variant_Shoes','Enhanced Variant Shoes',4,20,NULL,500,NULL,13,NULL,1,0x7CCFDF80,63,2,64,NULL,'85',1,0,'bonus bMaxHPrate,12; bonus bMaxSPrate,12; .@r = getrefine(); bonus bDef,.@r; bonus bMdef,.@r;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22015,'Impr_Angel\'s_Arrival','Advanced Angel\'s Reincarnation',4,10000,NULL,300,NULL,8,NULL,1,0x00000001,63,2,64,NULL,'99',1,0,'bonus bMaxHP,500; bonus bMaxSP,100;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22015,'Impr_Angel\'s_Arrival','Advanced Angel\'s Reincarnation',4,10000,NULL,300,NULL,8,NULL,1,0x00000001,63,2,64,NULL,'99',1,0,'bonus bMaxHP,500; bonus bMaxSP,100;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22018,'Shoes_Of_Wise_Man','Shoes Of Wise Man',4,10,NULL,300,NULL,15,NULL,1,0xFFFFFFFF,63,2,64,NULL,'50',1,NULL,'.@r = getrefine(); if(.@r>5){ bonus bInt,.@r-5; bonus bMaxHPrate,-(.@r-5); }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22018,'Shoes_Of_Wise_Man','Shoes Of Wise Man',4,10,NULL,300,NULL,15,NULL,1,0xFFFFFFFF,63,2,64,NULL,'50',1,NULL,'.@r = getrefine(); if(.@r>5){ bonus bInt,.@r-5; bonus bMaxHPrate,-(.@r-5); }',NULL,NULL);
|
||||||
@ -10880,8 +10887,8 @@ REPLACE INTO `item_db_re` VALUES (22047,'Tarlock\'s_Boots','Tarlock\'s Boots',4,
|
|||||||
REPLACE INTO `item_db_re` VALUES (22059,'Aegir_Shoes','Aegir Shoes',4,10,NULL,300,NULL,13,NULL,1,0xFFFFFFFF,63,2,64,NULL,'40',1,NULL,'bonus bUnbreakableShoes,1; bonus bMaxHP,500; bonus bMaxSP,50;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22059,'Aegir_Shoes','Aegir Shoes',4,10,NULL,300,NULL,13,NULL,1,0xFFFFFFFF,63,2,64,NULL,'40',1,NULL,'bonus bUnbreakableShoes,1; bonus bMaxHP,500; bonus bMaxSP,50;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22064,'Thorny_Shoes','Thorny Shoes',4,0,NULL,1000,NULL,25,NULL,1,0xFFFFFFFF,63,2,64,NULL,NULL,1,NULL,'bonus bShortWeaponDamageReturn,getrefine()/2;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22064,'Thorny_Shoes','Thorny Shoes',4,0,NULL,1000,NULL,25,NULL,1,0xFFFFFFFF,63,2,64,NULL,NULL,1,NULL,'bonus bShortWeaponDamageReturn,getrefine()/2;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22067,'Shoe_of_Witch','Shoe of Witch',4,10,NULL,400,NULL,10,NULL,0,0xFFFFFFFE,63,2,64,NULL,'1',1,NULL,'skill "ALL_CATCRY",1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22067,'Shoe_of_Witch','Shoe of Witch',4,10,NULL,400,NULL,10,NULL,0,0xFFFFFFFE,63,2,64,NULL,'1',1,NULL,'skill "ALL_CATCRY",1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22069,'Lian_Shoes','Lian Shoes',4,0,NULL,250,NULL,12,NULL,1,0xFFFFFFFF,63,2,64,1,'90',1,NULL,'bonus bMdef,3; bonus2 bSubEle,Ele_Neutral,5; .@r = getrefine(); bonus bMaxHPrate,.@r; bonus bMaxSPrate,.@r;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22069,'Lian_Shoes','Lian Shoes',4,0,NULL,250,NULL,12,NULL,1,0xFFFFFFFF,63,2,64,NULL,'90',1,NULL,'bonus bMdef,3; bonus2 bSubEle,Ele_Neutral,5; .@r = getrefine(); bonus bMaxHPrate,.@r; bonus bMaxSPrate,.@r;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22072,'Hikingboots','Hikingboots',4,0,NULL,500,NULL,10,NULL,1,0xFFFFFFFF,63,2,64,0,'100',1,NULL,'.@r = getrefine(); bonus bMaxHPRate,4+(.@r/3); bonus bMaxSPRate,4+(.@r/3); if (.@r > 9) bonus bSpeedRate,25;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22072,'Hikingboots','Hikingboots',4,0,NULL,500,NULL,10,NULL,1,0xFFFFFFFF,63,2,64,NULL,'100',1,NULL,'.@r = getrefine(); bonus bMaxHPRate,4+(.@r/3); bonus bMaxSPRate,4+(.@r/3); if (.@r > 9) bonus bSpeedRate,25;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22075,'Rift_Shoes','Rift Shoes',4,20,NULL,250,NULL,12,NULL,1,0xFFFFFFFF,63,2,64,NULL,'100',1,NULL,'.@r = getrefine(); bonus bMaxHP,(.@r >= 9 ? 1300 : .@r >= 7 ? 700 : 300); bonus bMaxSP,-50;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22075,'Rift_Shoes','Rift Shoes',4,20,NULL,250,NULL,12,NULL,1,0xFFFFFFFF,63,2,64,NULL,'100',1,NULL,'.@r = getrefine(); bonus bMaxHP,(.@r >= 9 ? 1300 : .@r >= 7 ? 700 : 300); bonus bMaxSP,-50;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22076,'Wooden_Slipper','Wooden Slipper',4,20,NULL,50,NULL,10,NULL,1,0x80000000,7,2,64,NULL,'9',1,NULL,'bonus2 bHPRegenRate,2,10000;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22076,'Wooden_Slipper','Wooden Slipper',4,20,NULL,50,NULL,10,NULL,1,0x80000000,7,2,64,NULL,'9',1,NULL,'bonus2 bHPRegenRate,2,10000;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22077,'Red_Eco-Friendly_Shoes','Red Eco-Friendly Shoes',4,20,NULL,100,NULL,20,NULL,1,0x80000000,7,2,64,NULL,'18',1,NULL,'bonus bCritical,5; bonus2 bHPRegenRate,4,10000; bonus2 bSPRegenRate,1,10000;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22077,'Red_Eco-Friendly_Shoes','Red Eco-Friendly Shoes',4,20,NULL,100,NULL,20,NULL,1,0x80000000,7,2,64,NULL,'18',1,NULL,'bonus bCritical,5; bonus2 bHPRegenRate,4,10000; bonus2 bSPRegenRate,1,10000;',NULL,NULL);
|
||||||
@ -10889,13 +10896,13 @@ REPLACE INTO `item_db_re` VALUES (22078,'Unity_STR_Boots','Unity STR Boots',4,10
|
|||||||
REPLACE INTO `item_db_re` VALUES (22079,'Unity_AGI_Boots','Unity AGI Boots',4,10,NULL,300,NULL,20,NULL,1,0xFFFFFFFF,63,2,64,NULL,'1',1,NULL,'.@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bAgi,.@r/2; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22079,'Unity_AGI_Boots','Unity AGI Boots',4,10,NULL,300,NULL,20,NULL,1,0xFFFFFFFF,63,2,64,NULL,'1',1,NULL,'.@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bAgi,.@r/2; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22080,'Unity_DEX_Boots','Unity DEX Boots',4,10,NULL,300,NULL,20,NULL,1,0xFFFFFFFF,63,2,64,NULL,'1',1,NULL,'.@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bDex,.@r/2; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22080,'Unity_DEX_Boots','Unity DEX Boots',4,10,NULL,300,NULL,20,NULL,1,0xFFFFFFFF,63,2,64,NULL,'1',1,NULL,'.@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bDex,.@r/2; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22081,'Unity_INT_Boots','Unity INT Boots',4,10,NULL,300,NULL,20,NULL,1,0xFFFFFFFF,63,2,64,NULL,'1',1,NULL,'.@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bInt,.@r/2; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22081,'Unity_INT_Boots','Unity INT Boots',4,10,NULL,300,NULL,20,NULL,1,0xFFFFFFFF,63,2,64,NULL,'1',1,NULL,'.@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bInt,.@r/2; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22082,'Polyhedron_Shoes','Polyhedron Shoes',4,0,NULL,500,NULL,12,NULL,1,0xFFFFFFFF,63,2,64,0,'90',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Wind,5; if (.@r > 4) { .@b = (.@r > 6) ? 10 : 5; bonus2 bAddEle,Ele_Neutral,.@b; bonus2 bAddEle,Ele_Fire,.@b; bonus2 bAddEle,Ele_Water,.@b; bonus2 bAddEle,Ele_Wind,.@b; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22082,'Polyhedron_Shoes','Polyhedron Shoes',4,0,NULL,500,NULL,12,NULL,1,0xFFFFFFFF,63,2,64,NULL,'90',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Wind,5; if (.@r > 4) { .@b = (.@r > 6) ? 10 : 5; bonus2 bAddEle,Ele_Neutral,.@b; bonus2 bAddEle,Ele_Fire,.@b; bonus2 bAddEle,Ele_Water,.@b; bonus2 bAddEle,Ele_Wind,.@b; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22083,'Private_Doram_Shoes','Private Doram Shoes',4,20,NULL,500,NULL,25,NULL,1,0x80000000,7,2,64,NULL,'100',1,NULL,'bonus bMaxHP,100; bonus bMaxSP,50; .@r = getrefine()/3; bonus bHPrecovRate,.@r*10; bonus bSPrecovRate,.@r*10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22083,'Private_Doram_Shoes','Private Doram Shoes',4,20,NULL,500,NULL,25,NULL,1,0x80000000,7,2,64,NULL,'100',1,NULL,'bonus bMaxHP,100; bonus bMaxSP,50; .@r = getrefine()/3; bonus bHPrecovRate,.@r*10; bonus bSPrecovRate,.@r*10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22084,'Luxury_Doram_Shoes','Luxury Doram Shoes',4,20,NULL,600,NULL,30,NULL,1,0x80000000,7,2,64,NULL,'140',1,NULL,'bonus bMaxHP,300; bonus bMaxSP,100; .@r = getrefine()/3; bonus bHPrecovRate,20*.@r; bonus bSPrecovRate,20*.@r;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22084,'Luxury_Doram_Shoes','Luxury Doram Shoes',4,20,NULL,600,NULL,30,NULL,1,0x80000000,7,2,64,NULL,'140',1,NULL,'bonus bMaxHP,300; bonus bMaxSP,100; .@r = getrefine()/3; bonus bHPrecovRate,20*.@r; bonus bSPrecovRate,20*.@r;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22085,'Elegant_Doram_Shoes','Elegant Doram Shoes',4,20,NULL,700,NULL,35,NULL,1,0x80000000,7,2,64,NULL,'175',1,NULL,'bonus bMaxHPrate,10; bonus bMaxSPrate,5; .@r = getrefine()/2; bonus bMaxHP,100*.@r; bonus bMaxSP,20*.@r; if(.@r >= 4) bonus2 bSkillUseSP,"SU_LOPE",5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22085,'Elegant_Doram_Shoes','Elegant Doram Shoes',4,20,NULL,700,NULL,35,NULL,1,0x80000000,7,2,64,NULL,'175',1,NULL,'bonus bMaxHPrate,10; bonus bMaxSPrate,5; .@r = getrefine()/2; bonus bMaxHP,100*.@r; bonus bMaxSP,20*.@r; if(.@r >= 4) bonus2 bSkillUseSP,"SU_LOPE",5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22089,'Crimson_Gaiter_','Crimson Gaiter',4,0,NULL,500,NULL,10,NULL,1,0xFFFFFFFF,63,2,64,NULL,'50',1,NULL,'bonus bCritical,2; bonus bCritAtkRate,2; if(getrefine()>=7){ bonus bCritical,3; bonus bCritAtkRate,3; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22089,'Crimson_Gaiter_','Crimson Gaiter',4,0,NULL,500,NULL,10,NULL,1,0xFFFFFFFF,63,2,64,NULL,'50',1,NULL,'bonus bCritical,2; bonus bCritAtkRate,2; if(getrefine()>=7){ bonus bCritical,3; bonus bCritAtkRate,3; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22101,'Angel_Poring_Boots','Angel Poring Boots',4,10,NULL,300,NULL,15,NULL,1,0xFFFFFFFF,63,2,64,NULL,'1',1,NULL,'bonus bAllStats,1; skill "AL_HEAL",1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22101,'Angel_Poring_Boots','Angel Poring Boots',4,10,NULL,300,NULL,15,NULL,1,0xFFFFFFFF,63,2,64,NULL,'1',1,NULL,'bonus bAllStats,1; skill "AL_HEAL",1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22103,'Excelion_Leg','Excelion Leg',4,0,NULL,500,NULL,13,NULL,0,0xFFFFFFFF,63,2,64,1,'100',1,NULL,'.@r = getrefine(); bonus bMaxHP,5+((BaseLevel > 129) ? 4 : 0)+(.@r/3)*3; bonus bMaxSP,5+((BaseLevel > 129) ? 4 : 0)+(.@r/3)*3;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22103,'Excelion_Leg','Excelion Leg',4,0,NULL,500,NULL,13,NULL,0,0xFFFFFFFF,63,2,64,NULL,'100',1,NULL,'.@r = getrefine(); bonus bMaxHP,5+((BaseLevel > 129) ? 4 : 0)+(.@r/3)*3; bonus bMaxSP,5+((BaseLevel > 129) ? 4 : 0)+(.@r/3)*3;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22106,'Giant_Boots','Giant Boots',4,0,NULL,500,NULL,13,NULL,1,0xFFFFFFFF,63,2,64,NULL,'1',1,NULL,'bonus2 bSubRace,RC_All,1; bonus bMaxHPrate,2; bonus bMaxSPrate,2; .@r = getrefine(); if (.@r > 4) { bonus bDefRate,2; bonus bMaxHPrate,4; bonus bMaxSPrate,4; } if (.@r > 6) { bonus bDefRate,2; bonus bMaxHPrate,4; bonus bMaxSPrate,4; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22106,'Giant_Boots','Giant Boots',4,0,NULL,500,NULL,13,NULL,1,0xFFFFFFFF,63,2,64,NULL,'1',1,NULL,'bonus2 bSubRace,RC_All,1; bonus bMaxHPrate,2; bonus bMaxSPrate,2; .@r = getrefine(); if (.@r > 4) { bonus bDefRate,2; bonus bMaxHPrate,4; bonus bMaxSPrate,4; } if (.@r > 6) { bonus bDefRate,2; bonus bMaxHPrate,4; bonus bMaxSPrate,4; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22122,'Para_Team_Boots100','Awakened Eden Group Boots I',4,0,NULL,0,NULL,22,NULL,0,0xFFFFFFFF,63,2,64,NULL,'100',1,NULL,'bonus bAllStats,1; bonus bHPrecovRate,30; bonus bSPrecovRate,14;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22122,'Para_Team_Boots100','Awakened Eden Group Boots I',4,0,NULL,0,NULL,22,NULL,0,0xFFFFFFFF,63,2,64,NULL,'100',1,NULL,'bonus bAllStats,1; bonus bHPrecovRate,30; bonus bSPrecovRate,14;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22123,'Para_Team_Boots115','Awakened Eden Group Boots II',4,0,NULL,0,NULL,25,NULL,0,0xFFFFFFFF,63,2,64,NULL,'115',1,NULL,'bonus bAllStats,1; bonus bHPrecovRate,36; bonus bSPrecovRate,18;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22123,'Para_Team_Boots115','Awakened Eden Group Boots II',4,0,NULL,0,NULL,25,NULL,0,0xFFFFFFFF,63,2,64,NULL,'115',1,NULL,'bonus bAllStats,1; bonus bHPrecovRate,36; bonus bSPrecovRate,18;',NULL,NULL);
|
||||||
@ -10905,7 +10912,7 @@ REPLACE INTO `item_db_re` VALUES (22126,'Para_Team_Boots160','Awakened Eden Grou
|
|||||||
#===================================================================
|
#===================================================================
|
||||||
# New Usable items
|
# New Usable items
|
||||||
#===================================================================
|
#===================================================================
|
||||||
REPLACE INTO `item_db_re` VALUES (22508,'Para_Team_Mark_','Eden Group Mark',11,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'warp "moc_para01",171,115;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22508,'Para_Team_Mark_','Eden Group Mark',2,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'warp "moc_para01",171,115;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22507,'ShabbyOldScroll','Old Scroll',2,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'callfunc "F_22507";',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22507,'ShabbyOldScroll','Old Scroll',2,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'callfunc "F_22507";',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22510,'King_Wolf_Scroll','King Wolf Scroll',2,10,NULL,10,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*TODO, confirm the rates*/ getitem callfunc("F_Rand",6635,19598,5658,6238,6239),1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22510,'King_Wolf_Scroll','King Wolf Scroll',2,10,NULL,10,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*TODO, confirm the rates*/ getitem callfunc("F_Rand",6635,19598,5658,6238,6239),1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22511,'Fenrirs_Power_Scroll','Fenrir\'s Power Scroll',2,10,NULL,10,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'bonus_script "bonus bMatk,25; bonus bFixedCastRate,-50;",300,1025;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22511,'Fenrirs_Power_Scroll','Fenrir\'s Power Scroll',2,10,NULL,10,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'bonus_script "bonus bMatk,25; bonus bFixedCastRate,-50;",300,1025;',NULL,NULL);
|
||||||
@ -11089,9 +11096,9 @@ REPLACE INTO `item_db_re` VALUES (22843,'Superstar_Snack','Superstar Snack',2,10
|
|||||||
REPLACE INTO `item_db_re` VALUES (22844,'Sealed_Dracula_Card_Album','Sealed Dracula Card Album',2,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'/*No Info*/',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22844,'Sealed_Dracula_Card_Album','Sealed Dracula Card Album',2,10,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'/*No Info*/',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22845,'Sealed_Fortune_Egg','Sealed Fortune Egg',2,10,NULL,10,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,'1',NULL,NULL,'getitem callfunc("F_Rand",4488,4497,4486,4480,4485,4539,4487,4494,4538,4489,4490,4482,4503,22846),1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22845,'Sealed_Fortune_Egg','Sealed Fortune Egg',2,10,NULL,10,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,NULL,NULL,'1',NULL,NULL,'getitem callfunc("F_Rand",4488,4497,4486,4480,4485,4539,4487,4494,4538,4489,4490,4482,4503,22846),1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22846,'Sealed_Dracula_Card_','Sealed Dracula Card',2,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'bonus_script "{ bonus2 bSPDrainRate,50,5; }",300;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22846,'Sealed_Dracula_Card_','Sealed Dracula Card',2,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'bonus_script "{ bonus2 bSPDrainRate,50,5; }",300;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22847,'Prontera_Medal','Prontera Medal',2,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'warp "prontera",0,0; /*No coord info*/',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22847,'Prontera_Medal','Prontera Medal',2,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'warp "prontera",159,192; /*No coord info*/',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22848,'Prison_Key','Prison Key',2,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'warp "prt_prison",0,0; /*No coord info*/',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22848,'Prison_Key','Prison Key',2,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'warp "prt_prison",0,0; /*No coord info*/',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22849,'Prontera_Time_Crystal','Prontera Time Crystal',2,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'warp "prt_lib_q",0,0; /*No map+coord info*/',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22849,'Prontera_Time_Crystal','Prontera Time Crystal',2,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'warp "prt_q",155,27;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22850,'January_Gift_Box_','January Gift Box',2,10,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'rentitem 19052,604800;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22850,'January_Gift_Box_','January Gift Box',2,10,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'rentitem 19052,604800;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22851,'February_Gift_Box_','February Gift Box',2,10,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 12105,2;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22851,'February_Gift_Box_','February Gift Box',2,10,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem 12105,2;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22852,'March_Gift_Box_','March Gift Box',2,10,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*2 Lucky Eggs*/',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22852,'March_Gift_Box_','March Gift Box',2,10,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*2 Lucky Eggs*/',NULL,NULL);
|
||||||
@ -11110,7 +11117,7 @@ REPLACE INTO `item_db_re` VALUES (22870,'Christmas_Package','Christmas Package',
|
|||||||
REPLACE INTO `item_db_re` VALUES (22873,'Sealed_Beelzebub_Scroll_II','Sealed Beelzebub Scroll II',2,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem callfunc("F_Rand",22875,6238,6239,6228,6232,24231,24232,17474,6635),1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22873,'Sealed_Beelzebub_Scroll_II','Sealed Beelzebub Scroll II',2,10,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'getitem callfunc("F_Rand",22875,6238,6239,6228,6232,24231,24232,17474,6635),1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22874,'Sealed_Beelzebub_Card_Album','Sealed Beelzebub Card Album',2,10,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*No Info*/',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22874,'Sealed_Beelzebub_Card_Album','Sealed Beelzebub Card Album',2,10,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*No Info*/',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22875,'Sealed_Beelzebub_Card','Sealed Beelzebub Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bVariableCastrate,-15; /*Item removed on 2014-12-17*/',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22875,'Sealed_Beelzebub_Card','Sealed Beelzebub Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bVariableCastrate,-15; /*Item removed on 2014-12-17*/',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22876,'Old_Money_Pocket','Old Money Pocket',3,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22876,'Old_Money_Pocket','Old Money Pocket',3,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Zeny += rand(500,550);',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22881,'Rope_Gallows','Rope Gallows',2,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*Used to catch a Lost Sheep*/',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22881,'Rope_Gallows','Rope Gallows',2,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*Used to catch a Lost Sheep*/',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22882,'Chocolate_Rice_Cake_Soup','Chocolate Rice Cake Soup',2,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'percentheal 10,10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22882,'Chocolate_Rice_Cake_Soup','Chocolate Rice Cake Soup',2,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'percentheal 10,10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (22883,'September_Gift_Box_','September Gift Box',2,10,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*2 Lucky Eggs*/',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (22883,'September_Gift_Box_','September Gift Box',2,10,NULL,100,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,NULL,NULL,NULL,NULL,NULL,'/*2 Lucky Eggs*/',NULL,NULL);
|
||||||
@ -11487,27 +11494,30 @@ REPLACE INTO `item_db_re` VALUES (28315,'RCC2013_ARMLET','RCC2013_ARMLET',4,200,
|
|||||||
REPLACE INTO `item_db_re` VALUES (28316,'RCC2013_ARMLET_','RCC2013_ARMLET_',4,200,NULL,200,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'1',0,NULL,'bonus2 bAddClass,Class_All,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28316,'RCC2013_ARMLET_','RCC2013_ARMLET_',4,200,NULL,200,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'1',0,NULL,'bonus2 bAddClass,Class_All,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28317,'RCC2013_RING','RCC2013_RING',4,200,NULL,200,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,NULL,'1',0,NULL,'bonus2 bAddClass,Class_All,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28317,'RCC2013_RING','RCC2013_RING',4,200,NULL,200,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,NULL,'1',0,NULL,'bonus2 bAddClass,Class_All,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28318,'RCC2013_RING_','RCC2013_RING_',4,200,NULL,200,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'1',0,NULL,'bonus2 bAddClass,Class_All,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28318,'RCC2013_RING_','RCC2013_RING_',4,200,NULL,200,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'1',0,NULL,'bonus2 bAddClass,Class_All,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28310,'Sarah\'s_Left_Earring','Sarah\'s Left Earring',4,10,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,128,NULL,'145',0,NULL,'skill "AL_HEAL",1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28310,'Sarah\'s_Left_Earring','Sarah\'s Left Earring',4,10,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,8,NULL,'145',0,NULL,'skill "AL_HEAL",1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28311,'Sarah\'s_Right_Earring','Sarah\'s Right Earring',4,10,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,8,NULL,'145',0,NULL,'skill "AL_TELEPORT",1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28311,'Sarah\'s_Right_Earring','Sarah\'s Right Earring',4,10,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,128,NULL,'145',0,NULL,'skill "AL_TELEPORT",1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28321,'Falconer_Claw','Falconer Claw',4,0,NULL,100,NULL,5,NULL,1,0x00000800,63,2,136,0,'80',0,NULL,'bonus bDex,1; bonus2 bSkillAtk,"HT_BLITZBEAT",getskilllv("HT_STEELCROW")*10;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28321,'Falconer_Claw','Falconer Claw',4,0,NULL,100,NULL,5,NULL,1,0x00000800,63,2,136,NULL,'80',0,NULL,'bonus bDex,1; bonus2 bSkillAtk,"HT_BLITZBEAT",getskilllv("HT_STEELCROW")*10;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28322,'Falconer_Glove','Falconer Glove',4,0,NULL,100,NULL,5,NULL,1,0x00000800,63,2,136,0,'80',0,NULL,'bonus bDex,1; bonus bUseSPrate,-5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28322,'Falconer_Glove','Falconer Glove',4,0,NULL,100,NULL,5,NULL,1,0x00000800,63,2,136,NULL,'80',0,NULL,'bonus bDex,1; bonus bUseSPrate,-5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28326,'Broken_Chips_01','Broken Chips 01',4,10,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'100',0,NULL,'bonus bStr,4;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28326,'Broken_Chips_01','Broken Chips 01',4,10,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'100',0,NULL,'bonus bStr,4;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28327,'Broken_Chips_02','Broken Chips 02',4,10,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'100',0,NULL,'bonus bInt,4;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28327,'Broken_Chips_02','Broken Chips 02',4,10,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'100',0,NULL,'bonus bInt,4;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28332,'Jewerly_Ring','Jewerly Ring',4,10,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,NULL,'1',0,NULL,'bonus bLuk,20; autobonus "{ bonus bAspd,2; }",50,2000,BF_WEAPON|BF_MAGIC;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28332,'Jewerly_Ring','Jewerly Ring',4,10,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,136,NULL,'1',0,NULL,'bonus bLuk,20; autobonus "{ bonus bAspd,2; }",50,2000,BF_WEAPON|BF_MAGIC;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28333,'Gold_PC_Room_Ring','Gold PC Room Ring',4,10,NULL,0,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'1',0,NULL,'bonus bMaxHPrate,3; bonus bMaxSPrate,3;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28333,'Gold_PC_Room_Ring','Gold PC Room Ring',4,10,NULL,0,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'1',0,NULL,'bonus bMaxHPrate,3; bonus bMaxSPrate,3;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28342,'Critical_Anklet','Critical Anklet',4,0,NULL,200,NULL,3,NULL,1,0xFFFFFFFF,63,2,136,NULL,NULL,0,NULL,'bonus bCritical,5;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28342,'Critical_Anklet','Critical Anklet',4,0,NULL,200,NULL,3,NULL,1,0xFFFFFFFF,63,2,136,NULL,NULL,0,NULL,'bonus bCritical,5;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28358,'Cursed_Lucky_Clover','Cursed Lucky Clover',4,0,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,0,'100',0,NULL,'bonus bLuk,2; bonus bFlee,3; bonus2 bAddEff2,Eff_Curse,5;',NULL,'sc_end SC_CLOAKING; /*FIXME: Because the combo has Cloaking skill*/');
|
REPLACE INTO `item_db_re` VALUES (28354,'City_Map','City Map',4,0,NULL,100,NULL,0,NULL,1,0xFFFFFFFF,63,2,136,NULL,'1',0,0,'/* todo */',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28372,'Imperial_Ring','Imperial Ring',4,0,NULL,500,NULL,3,NULL,1,0xFFFFFFFF,63,2,136,0,'50',0,NULL,'bonus bStr,1; bonus bInt,1; bonus bMaxHPRate,3; bonus bMaxSPRate,3;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28355,'Shining_Holy_Water','Shining Holy Water',4,0,NULL,100,NULL,0,NULL,1,0xFFFFFFFF,63,2,136,NULL,'1',0,0,'/* todo */',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (28356,'Prontera_Badge','Prontera Badge',4,0,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,63,2,136,NULL,'1',0,0,'/*warp "prontera",159,192; 15 mins cooldown */',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (28358,'Cursed_Lucky_Clover','Cursed Lucky Clover',4,0,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'100',0,NULL,'bonus bLuk,2; bonus bFlee,3; bonus2 bAddEff2,Eff_Curse,5;',NULL,'sc_end SC_CLOAKING; /*FIXME: Because the combo has Cloaking skill*/');
|
||||||
|
REPLACE INTO `item_db_re` VALUES (28372,'Imperial_Ring','Imperial Ring',4,0,NULL,500,NULL,3,NULL,1,0xFFFFFFFF,63,2,136,NULL,'50',0,NULL,'bonus bStr,1; bonus bInt,1; bonus bMaxHPRate,3; bonus bMaxSPRate,3;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28374,'Foxtail_Ring','Foxtail Ring',4,20,NULL,100,NULL,0,NULL,0,0x80000000,7,2,136,NULL,'1',0,NULL,'bonus2 bExpAddRace,RC_All,5; .@lvl = min(BaseLevel/5,10); bonus bAtk,2*.@lvl; bonus bMatk,2*.@lvl; bonus bMaxHP,10*.@lvl; bonus bMaxSP,5*.@lvl;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28374,'Foxtail_Ring','Foxtail Ring',4,20,NULL,100,NULL,0,NULL,0,0x80000000,7,2,136,NULL,'1',0,NULL,'bonus2 bExpAddRace,RC_All,5; .@lvl = min(BaseLevel/5,10); bonus bAtk,2*.@lvl; bonus bMatk,2*.@lvl; bonus bMaxHP,10*.@lvl; bonus bMaxSP,5*.@lvl;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28377,'Magical_Ring','Magical Ring',4,0,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,0,'20',0,NULL,'bonus2 bMagicAddEle,Ele_Fire,5; bonus2 bMagicAddEle,Ele_Water,5; bonus2 bMagicAddEle,Ele_Earth,5; bonus2 bMagicAddEle,Ele_Wind,5; if (BaseLevel > 4) { bonus2 bSkillAtk,"MG_FIREBOLT",BaseLevel/5; bonus2 bSkillAtk,"MG_COLDBOLT",BaseLevel/5; bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",BaseLevel/5; bonus2 bSkillAtk,"WZ_EARTHSPIKE",BaseLevel/5; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28377,'Magical_Ring','Magical Ring',4,0,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'20',0,NULL,'bonus2 bMagicAddEle,Ele_Fire,5; bonus2 bMagicAddEle,Ele_Water,5; bonus2 bMagicAddEle,Ele_Earth,5; bonus2 bMagicAddEle,Ele_Wind,5; if (BaseLevel > 4) { bonus2 bSkillAtk,"MG_FIREBOLT",BaseLevel/5; bonus2 bSkillAtk,"MG_COLDBOLT",BaseLevel/5; bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",BaseLevel/5; bonus2 bSkillAtk,"WZ_EARTHSPIKE",BaseLevel/5; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28380,'Fresh_Grass_Necklace','Fresh Grass Necklace',4,20,NULL,100,NULL,0,NULL,1,0x80000000,7,2,136,NULL,'100',0,NULL,'bonus bFlee2,5; bonus2 bSkillCooldown,"SU_SCAROFTAROU",-5000;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28380,'Fresh_Grass_Necklace','Fresh Grass Necklace',4,20,NULL,100,NULL,0,NULL,1,0x80000000,7,2,136,NULL,'100',0,NULL,'bonus bFlee2,5; bonus2 bSkillCooldown,"SU_SCAROFTAROU",-5000;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28381,'Cute_Grass_Necklace','Cute Grass Necklace',4,20,NULL,10,NULL,0,NULL,1,0x80000000,7,2,136,NULL,'100',0,NULL,'bonus bHealPower,5; bonus2 bSkillCooldown,"SU_TUNAPARTY",-7000;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28381,'Cute_Grass_Necklace','Cute Grass Necklace',4,20,NULL,10,NULL,0,NULL,1,0x80000000,7,2,136,NULL,'100',0,NULL,'bonus bHealPower,5; bonus2 bSkillCooldown,"SU_TUNAPARTY",-7000;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28382,'Charm_Grass_Necklace','Charm Grass Necklace',4,20,NULL,10,NULL,0,NULL,1,0x80000000,7,2,136,NULL,'100',0,NULL,'bonus bMdef,5; bonus2 bVariableCastrate,"SU_CN_METEOR",-1000;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28382,'Charm_Grass_Necklace','Charm Grass Necklace',4,20,NULL,10,NULL,0,NULL,1,0x80000000,7,2,136,NULL,'100',0,NULL,'bonus bMdef,5; bonus2 bVariableCastrate,"SU_CN_METEOR",-1000;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28386,'Fallen_Monk_Rosary','Fallen Monk Rosary',4,0,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,0,'20',0,NULL,'bonus bAspdRate,5; bonus bCritical,5; bonus2 bSkillUseSP,"CH_SOULCOLLECT",-5; if (BaseLevel > 14) bonus2 bSkillAtk,"SR_DRAGONCOMBO",BaseLevel/15; if (BaseLevel > 19) bonus2 bSkillAtk,"SR_KNUCKLEARROW",BaseLevel/20; if (BaseLevel > 29) bonus2 bSkillAtk,"SR_SKYNETBLOW",BaseLevel/30;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28386,'Fallen_Monk_Rosary','Fallen Monk Rosary',4,0,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'20',0,NULL,'bonus bAspdRate,5; bonus bCritical,5; bonus2 bSkillUseSP,"CH_SOULCOLLECT",-5; if (BaseLevel > 14) bonus2 bSkillAtk,"SR_DRAGONCOMBO",BaseLevel/15; if (BaseLevel > 19) bonus2 bSkillAtk,"SR_KNUCKLEARROW",BaseLevel/20; if (BaseLevel > 29) bonus2 bSkillAtk,"SR_SKYNETBLOW",BaseLevel/30;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28391,'S_Thief_Earring','Thief Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); autobonus3 "{ bonus bBaseAtk,30+(.@r*10); bonus bFlee,30+(.@r*10); }",200,5000,"TF_THROWSTONE","{ specialeffect2 EF_ENHANCE; }";',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28391,'S_Thief_Earring','Thief Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); autobonus3 "{ bonus bBaseAtk,30+(.@r*10); bonus bFlee,30+(.@r*10); }",200,5000,"TF_THROWSTONE","{ specialeffect2 EF_ENHANCE; }";',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28392,'S_Archer_Earring','Archer Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); autobonus3 "{ bonus bBaseAtk,30+(.@r*10); bonus bHit,30+(.@r*10); }",200,5000,"AC_DOUBLE","{ specialeffect2 EF_ENHANCE; }";',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28392,'S_Archer_Earring','Archer Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); autobonus3 "{ bonus bBaseAtk,30+(.@r*10); bonus bHit,30+(.@r*10); }",200,5000,"AC_DOUBLE","{ specialeffect2 EF_ENHANCE; }";',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28410,'Sapphire_Wrist','Sapphire Wrist',4,0,NULL,500,NULL,3,NULL,1,0xFFFFFFFF,63,2,136,0,'50',0,NULL,'bonus bDex,5; bonus bLuk,5; bonus bInt,5; bonus2 bSkillAtk,"GN_SPORE_EXPLOSION",BaseLevel/5; bonus2 bVariableCastrate,"CR_ACIDDEMONSTRATION",-(BaseLevel/4); .@n = getskilllv("CR_SLIMPITCHER"); bonus bDex,.@n/2; bonus bLuk,.@n/2; bonus bInt,.@n/2; bonus bMatk,(.@n/2)*20;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28410,'Sapphire_Wrist','Sapphire Wrist',4,0,NULL,500,NULL,3,NULL,1,0xFFFFFFFF,63,2,136,NULL,'50',0,NULL,'bonus bDex,5; bonus bLuk,5; bonus bInt,5; bonus2 bSkillAtk,"GN_SPORE_EXPLOSION",BaseLevel/5; bonus2 bVariableCastrate,"CR_ACIDDEMONSTRATION",-(BaseLevel/4); .@n = getskilllv("CR_SLIMPITCHER"); bonus bDex,.@n/2; bonus bLuk,.@n/2; bonus bInt,.@n/2; bonus bMatk,(.@n/2)*20;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28411,'Emerald_Earring','Emerald Earring',4,0,NULL,500,NULL,3,NULL,1,0xFFFFFFFF,63,2,136,0,'50',0,NULL,'bonus bDex,5; bonus bAgi,5; bonus bInt,5; bonus2 bSkillAtk,"CG_ARROWVULCAN",BaseLevel; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",BaseLevel; bonus2 bSkillAtk,"DC_THROWARROW",BaseLevel; bonus2 bSkillAtk,"WM_METALICSOUND",2*(BaseLevel/5); .@n = getskilllv("WM_METALICSOUND"); bonus2 bVariableCastrate,"WM_METALICSOUND",.@n/2; bonus bDex,.@n/2; bonus bAgi,.@n/2; bonus bInt,.@n/2; bonus bMatk,(.@n/2)*20;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28411,'Emerald_Earring','Emerald Earring',4,0,NULL,500,NULL,3,NULL,1,0xFFFFFFFF,63,2,136,NULL,'50',0,NULL,'bonus bDex,5; bonus bAgi,5; bonus bInt,5; bonus2 bSkillAtk,"CG_ARROWVULCAN",BaseLevel; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",BaseLevel; bonus2 bSkillAtk,"DC_THROWARROW",BaseLevel; bonus2 bSkillAtk,"WM_METALICSOUND",2*(BaseLevel/5); .@n = getskilllv("WM_METALICSOUND"); bonus2 bVariableCastrate,"WM_METALICSOUND",.@n/2; bonus bDex,.@n/2; bonus bAgi,.@n/2; bonus bInt,.@n/2; bonus bMatk,(.@n/2)*20;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28413,'Lesser_Mackerel_Talisman','Lesser Mackerel Talisman',4,0,NULL,100,NULL,1,NULL,1,0x80000000,63,2,136,NULL,'100',NULL,NULL,'bonus bVit,1;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28413,'Lesser_Mackerel_Talisman','Lesser Mackerel Talisman',4,0,NULL,100,NULL,1,NULL,1,0x80000000,63,2,136,NULL,'100',NULL,NULL,'bonus bVit,1;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28414,'Intermediate_Mackerel_Talisman','Intermediate Mackerel Talisman',4,0,NULL,100,NULL,1,NULL,1,0x80000000,63,2,136,NULL,'140',NULL,NULL,'bonus bVit,2;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28414,'Intermediate_Mackerel_Talisman','Intermediate Mackerel Talisman',4,0,NULL,100,NULL,1,NULL,1,0x80000000,63,2,136,NULL,'140',NULL,NULL,'bonus bVit,2;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28415,'Greater_Mackerel_Talisman','Greater Mackerel Talisman',4,0,NULL,100,NULL,1,NULL,1,0x80000000,63,2,136,NULL,'175',NULL,NULL,'bonus bVit,3;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28415,'Greater_Mackerel_Talisman','Greater Mackerel Talisman',4,0,NULL,100,NULL,1,NULL,1,0x80000000,63,2,136,NULL,'175',NULL,NULL,'bonus bVit,3;',NULL,NULL);
|
||||||
@ -11576,13 +11586,13 @@ REPLACE INTO `item_db_re` VALUES (28706,'Dagger_of_Vicious_Mind','Dagger of Vici
|
|||||||
REPLACE INTO `item_db_re` VALUES (28900,'Guardsmen\'s_Shield','Guardsmen\'s Shield',4,20,NULL,3000,NULL,30,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,1,'.@r = getrefine(); skill "LG_SHIELDSPELL",1; bonus3 bAutoSpellWhenHit,"HP_ASSUMPTIO",3,(10+(.@r*10)); bonus bDef,(.@r*10); bonus bMdef,.@r;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28900,'Guardsmen\'s_Shield','Guardsmen\'s Shield',4,20,NULL,3000,NULL,30,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,1,'.@r = getrefine(); skill "LG_SHIELDSPELL",1; bonus3 bAutoSpellWhenHit,"HP_ASSUMPTIO",3,(10+(.@r*10)); bonus bDef,(.@r*10); bonus bMdef,.@r;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28901,'Cursed_Mad_Bunny','Cursed Mad Bunny',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,63,2,32,NULL,'1',1,1,'bonus bAspd,3; bonus2 bAddRace,RC_All,5; bonus2 bMagicAddRace,RC_All,5; bonus bShortWeaponDamageReturn,10; autobonus2 "{ bonus bMagicDamageReturn,60; }",10,2000,BF_MAGIC,"{ specialeffect2 EF_WIND; }"; .@r = getrefine(); if(.@r>=7) { bonus bBaseAtk,5; bonus bMatk,5; } if(.@r>=9) { bonus bBaseAtk,15; bonus bMatk,15; } if(.@r>=12) { bonus bCritical,10; bonus bNoCastCancel,0; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28901,'Cursed_Mad_Bunny','Cursed Mad Bunny',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,63,2,32,NULL,'1',1,1,'bonus bAspd,3; bonus2 bAddRace,RC_All,5; bonus2 bMagicAddRace,RC_All,5; bonus bShortWeaponDamageReturn,10; autobonus2 "{ bonus bMagicDamageReturn,60; }",10,2000,BF_MAGIC,"{ specialeffect2 EF_WIND; }"; .@r = getrefine(); if(.@r>=7) { bonus bBaseAtk,5; bonus bMatk,5; } if(.@r>=9) { bonus bBaseAtk,15; bonus bMatk,15; } if(.@r>=12) { bonus bCritical,10; bonus bNoCastCancel,0; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28902,'Mad_Bunny_','Mad Bunny',4,20,NULL,100,NULL,0,NULL,1,0xFFFFFFFF,63,2,32,NULL,'1',1,1,'bonus2 bAddRace,RC_All,5; bonus2 bMagicAddRace,RC_All,5; bonus bShortWeaponDamageReturn,10; autobonus2 "{ bonus bMagicDamageReturn,60; }",10,2000,BF_MAGIC,"{ specialeffect2 EF_WIND; }"; .@r = getrefine(); if(.@r>=7) { bonus bBaseAtk,5; bonus bMatk,5; } if(.@r>=9) { bonus bBaseAtk,15; bonus bMatk,15; } if(.@r>=12) { bonus bCritical,10; bonus bNoCastCancel,0; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28902,'Mad_Bunny_','Mad Bunny',4,20,NULL,100,NULL,0,NULL,1,0xFFFFFFFF,63,2,32,NULL,'1',1,1,'bonus2 bAddRace,RC_All,5; bonus2 bMagicAddRace,RC_All,5; bonus bShortWeaponDamageReturn,10; autobonus2 "{ bonus bMagicDamageReturn,60; }",10,2000,BF_MAGIC,"{ specialeffect2 EF_WIND; }"; .@r = getrefine(); if(.@r>=7) { bonus bBaseAtk,5; bonus bMatk,5; } if(.@r>=9) { bonus bBaseAtk,15; bonus bMatk,15; } if(.@r>=12) { bonus bCritical,10; bonus bNoCastCancel,0; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28903,'Scutum','Scutum',4,0,NULL,500,NULL,1,NULL,1,0xFFFFFFFF,63,2,32,1,'1',1,NULL,'.@r = getrefine(); bonus bFlee,5+(.@r*3); bonus bFlee2,1+(.@r*2); if (.@r > 10) { bonus bMaxHPrate,10; bonus bMaxSPrate,10; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28903,'Scutum','Scutum',4,0,NULL,500,NULL,1,NULL,1,0xFFFFFFFF,63,2,32,NULL,'1',1,1,'.@r = getrefine(); bonus bFlee,5+(.@r*3); bonus bFlee2,1+(.@r*2); if (.@r > 10) { bonus bMaxHPrate,10; bonus bMaxSPrate,10; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28904,'Unity_Guard','Unity Guard',4,20,NULL,300,NULL,60,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,1,'if(BaseLevel<100) { bonus bDef,12*getrefine(); }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28904,'Unity_Guard','Unity Guard',4,20,NULL,300,NULL,60,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,1,'if(BaseLevel<100) { bonus bDef,12*getrefine(); }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28905,'Unity_Buckler','Unity Buckler',4,20,NULL,300,NULL,60,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,1,'if(BaseLevel<100) { bonus bMaxSPrate,2*getrefine(); }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28905,'Unity_Buckler','Unity Buckler',4,20,NULL,300,NULL,60,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,1,'if(BaseLevel<100) { bonus bMaxSPrate,2*getrefine(); }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28906,'Shield_Of_Flame','Shield Of Flame',4,0,NULL,500,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,1,'90',1,NULL,'bonus2 bSubEle,Ele_Fire,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28906,'Shield_Of_Flame','Shield Of Flame',4,0,NULL,500,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,NULL,'90',1,1,'bonus2 bSubEle,Ele_Fire,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28907,'Shield_Of_Gust','Shield Of Gust',4,0,NULL,500,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,1,'90',1,NULL,'bonus2 bSubEle,Ele_Wind,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28907,'Shield_Of_Gust','Shield Of Gust',4,0,NULL,500,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,NULL,'90',1,1,'bonus2 bSubEle,Ele_Wind,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28908,'Shield_Of_Water','Shield Of Water',4,0,NULL,500,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,1,'90',1,NULL,'bonus2 bSubEle,Ele_Water,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28908,'Shield_Of_Water','Shield Of Water',4,0,NULL,500,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,NULL,'90',1,1,'bonus2 bSubEle,Ele_Water,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28909,'Shield_Of_Earth','Shield Of Earth',4,0,NULL,500,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,1,'90',1,NULL,'bonus2 bSubEle,Ele_Earth,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28909,'Shield_Of_Earth','Shield Of Earth',4,0,NULL,500,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,NULL,'90',1,1,'bonus2 bSubEle,Ele_Earth,25; .@r = getrefine(); if(.@r > 4) { bonus bAspd,1+((.@r > 6) ? 1 : 0); }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28910,'Rectangular_Large_Sleeve','Rectangular Large Sleeve',4,20,NULL,800,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,1,'bonus bLongAtkDef,5; .@r = getrefine(); if(.@r>=5) { bonus bLongAtkDef,5; } if(.@r>=7) { bonus bLongAtkDef,10; } if(.@r>=9) { bonus bLongAtkDef,15; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28910,'Rectangular_Large_Sleeve','Rectangular Large Sleeve',4,20,NULL,800,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,1,'bonus bLongAtkDef,5; .@r = getrefine(); if(.@r>=5) { bonus bLongAtkDef,5; } if(.@r>=7) { bonus bLongAtkDef,10; } if(.@r>=9) { bonus bLongAtkDef,15; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28913,'Ultralight_Magic_Shield','Ultralight Magic Shield',4,20,NULL,100,NULL,50,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,1,'bonus bAspdRate,5; bonus2 bIgnoreDefClassRate,Class_Normal,10; bonus2 bSubEle,Ele_Neutral,5; .@r = getrefine(); if(.@r>=7) { bonus2 bIgnoreDefClassRate,Class_Normal,2; bonus bAspdRate,2; } if(.@r>=9) { bonus2 bIgnoreDefClassRate,Class_Normal,3; bonus bAspdRate,3; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28913,'Ultralight_Magic_Shield','Ultralight Magic Shield',4,20,NULL,100,NULL,50,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,1,'bonus bAspdRate,5; bonus2 bIgnoreDefClassRate,Class_Normal,10; bonus2 bSubEle,Ele_Neutral,5; .@r = getrefine(); if(.@r>=7) { bonus2 bIgnoreDefClassRate,Class_Normal,2; bonus bAspdRate,2; } if(.@r>=9) { bonus2 bIgnoreDefClassRate,Class_Normal,3; bonus bAspdRate,3; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (28915,'Bunker_Shield','Bunker Shield',4,20,NULL,3500,NULL,90,NULL,1,0xFFFFFFFF,63,2,32,NULL,'50',1,1,'bonus2 bAddRace,RC_All,4; bonus bAspdRate,5; .@r = getrefine(); if(.@r>=5) { bonus2 bAddRace,RC_All,.@r; }',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (28915,'Bunker_Shield','Bunker Shield',4,20,NULL,3500,NULL,90,NULL,1,0xFFFFFFFF,63,2,32,NULL,'50',1,1,'bonus2 bAddRace,RC_All,4; bonus bAspdRate,5; .@r = getrefine(); if(.@r>=5) { bonus2 bAddRace,RC_All,.@r; }',NULL,NULL);
|
||||||
@ -11591,6 +11601,18 @@ REPLACE INTO `item_db_re` VALUES (28920,'Diamond_Shield','Diamond Shield',4,20,N
|
|||||||
#===================================================================
|
#===================================================================
|
||||||
# Enchantment stones
|
# Enchantment stones
|
||||||
#===================================================================
|
#===================================================================
|
||||||
|
REPLACE INTO `item_db_re` VALUES (29000,'Rune_of_Intellect_Lv_1','Rune of Intellect Lv 1',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bInt,5; } if (.@r>=10) { bonus bMatkRate,5; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (29001,'Rune_of_Intellect_Lv_2','Rune of Intellect Lv 2',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bInt,6; } if (.@r>=11) { bonus bInt,1; bonus bMatkRate,7; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (29002,'Rune_of_Intellect_Lv_3','Rune of Intellect Lv 3',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bInt,7; } if (.@r>=12) { bonus bInt,1; bonus bMatkRate,8; } if (.@r>=13) { bonus bInt,1; bonus bMatkRate,2; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (29003,'Rune_of_Dexterity_Lv_1','Rune of Dexterity Lv 1',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bDex,5; } if (.@r>=10) { bonus bLongAtkRate,5; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (29004,'Rune_of_Dexterity_Lv_2','Rune of Dexterity Lv 2',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bDex,6; } if (.@r>=11) { bonus bDex,1; bonus bLongAtkRate,7; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (29005,'Rune_of_Dexterity_Lv_3','Rune of Dexterity Lv 3',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bDex,7; } if (.@r>=12) { bonus bDex,1; bonus bLongAtkRate,8; } if (.@r>=13) { bonus bDex,1; bonus bLongAtkRate,2; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (29006,'Rune_of_Luck_Lv_1','Rune of Luck Lv 1',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bLuk,5; } if (.@r>=10) { bonus bCritAtkRate,5; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (29007,'Rune_of_Luck_Lv_2','Rune of Luck Lv 2',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bLuk,6; } if (.@r>=11) { bonus bLuk,1; bonus bCritAtkRate,7; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (29008,'Rune_of_Luck_Lv_3','Rune of Luck Lv 3',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bLuk,7; } if (.@r>=12) { bonus bLuk,1; bonus bCritAtkRate,8; } if (.@r>=13) { bonus bLuk,1; bonus bCritAtkRate,6; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (29009,'Rune_of_Vitality_Lv_1','Rune of Vitality Lv 1',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bVit,5; } if (.@r>=10) { bonus bMaxHPrate,5; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (29010,'Rune_of_Vitality_Lv_2','Rune of Vitality Lv 2',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bVit,6; } if (.@r>=11) { bonus bVit,1; bonus bMaxHPrate,7; }',NULL,NULL);
|
||||||
|
REPLACE INTO `item_db_re` VALUES (29011,'Rune_of_Vitality_Lv_3','Rune of Vitality Lv 3',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'.@r = getrefine(); if (.@r>=7) { bonus bVit,7; } if (.@r>=12) { bonus bVit,1; bonus bMaxHPrate,8; } if (.@r>=13) { bonus bVit,1; bonus bMaxHPrate,2; }',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (29061,'Ambition1Lv','Ambition1Lv',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddClass,Class_All,3; bonus bHit,3;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (29061,'Ambition1Lv','Ambition1Lv',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddClass,Class_All,3; bonus bHit,3;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (29062,'Ambition2Lv','Ambition2Lv',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddClass,Class_All,6; bonus bHit,6;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (29062,'Ambition2Lv','Ambition2Lv',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddClass,Class_All,6; bonus bHit,6;',NULL,NULL);
|
||||||
REPLACE INTO `item_db_re` VALUES (29063,'Ambition3Lv','Ambition3Lv',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddClass,Class_All,9; bonus bHit,9;',NULL,NULL);
|
REPLACE INTO `item_db_re` VALUES (29063,'Ambition3Lv','Ambition3Lv',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddClass,Class_All,9; bonus bHit,9;',NULL,NULL);
|
||||||
|
|||||||
@ -24,6 +24,29 @@ CREATE TABLE IF NOT EXISTS `acc_reg_str` (
|
|||||||
KEY `account_id` (`account_id`)
|
KEY `account_id` (`account_id`)
|
||||||
) ENGINE=MyISAM;
|
) ENGINE=MyISAM;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `achievement`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `achievement` (
|
||||||
|
`char_id` int(11) unsigned NOT NULL default '0',
|
||||||
|
`id` bigint(11) unsigned NOT NULL,
|
||||||
|
`count1` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count2` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count3` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count4` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count5` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count6` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count7` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count8` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count9` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count10` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`completed` datetime,
|
||||||
|
`rewarded` datetime,
|
||||||
|
PRIMARY KEY (`char_id`,`id`),
|
||||||
|
KEY `char_id` (`char_id`)
|
||||||
|
) ENGINE=MyISAM;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table structure for table `auction`
|
-- Table structure for table `auction`
|
||||||
--
|
--
|
||||||
@ -231,6 +254,8 @@ CREATE TABLE IF NOT EXISTS `char` (
|
|||||||
`hotkey_rowshift` tinyint(3) unsigned NOT NULL default '0',
|
`hotkey_rowshift` tinyint(3) unsigned NOT NULL default '0',
|
||||||
`clan_id` int(11) unsigned NOT NULL default '0',
|
`clan_id` int(11) unsigned NOT NULL default '0',
|
||||||
`last_login` datetime DEFAULT NULL,
|
`last_login` datetime DEFAULT NULL,
|
||||||
|
`title_id` INT(11) unsigned NOT NULL default '0',
|
||||||
|
`show_equip` tinyint(3) unsigned NOT NULL default '0',
|
||||||
PRIMARY KEY (`char_id`),
|
PRIMARY KEY (`char_id`),
|
||||||
UNIQUE KEY `name_key` (`name`),
|
UNIQUE KEY `name_key` (`name`),
|
||||||
KEY `account_id` (`account_id`),
|
KEY `account_id` (`account_id`),
|
||||||
|
|||||||
@ -2168,20 +2168,20 @@ REPLACE INTO `mob_db_re` VALUES (2936,'E_GHOSTRING','Ghostring','Ghostring',1,10
|
|||||||
#2945,J_MUMMY
|
#2945,J_MUMMY
|
||||||
#2946,J_ANUBIS
|
#2946,J_ANUBIS
|
||||||
#2947,J_EGGYRA
|
#2947,J_EGGYRA
|
||||||
#2948,CURSED_SOLDIER
|
REPLACE INTO `mob_db_re` VALUES (2948,'CURSED_SOLDIER','Cursed Soldier','Cursed Soldier',110,18574,1,1907,1851,9,1258,1791,85,35,81,50,64,56,178,23,10,12,1,1,69,0x3885,150,1960,576,420,0,0,0,0,0,0,0,6672,1000,957,3000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
#2949,CURSED_SENTINEL
|
REPLACE INTO `mob_db_re` VALUES (2949,'CURSED_SENTINEL','Cursed Sentinel','Cursed Sentinel',110,14099,1,1634,1346,2,1347,1906,84,41,120,65,66,41,107,26,10,12,2,7,67,0x3885,175,914,1344,384,0,0,0,0,0,0,0,6672,1000,934,2500,1097,1500,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
#2950,BROKEN_MIND
|
REPLACE INTO `mob_db_re` VALUES (2950,'BROKEN_MIND','Broken Mind','Broken Mind',110,13520,1,1545,1557,1,1259,1799,67,27,69,37,36,10,64,5,10,12,1,6,67,0x2003885,200,920,720,200,0,0,0,0,0,0,0,6672,1000,6086,2500,683,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
#2951,FLOATING_WORD
|
REPLACE INTO `mob_db_re` VALUES (2951,'FLOATING_WORD','Floating Word','Floating Word',110,11276,1,1166,1034,1,1080,1509,93,40,111,90,60,70,139,65,10,12,0,6,68,0x2003885,150,972,648,432,0,0,0,0,0,0,0,6672,1000,938,3000,947,2500,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
#2952,LIKE_LOVE
|
REPLACE INTO `mob_db_re` VALUES (2952,'LIKE_LOVE','Like Love','Like Love',110,14008,1,1505,1667,2,1182,1183,64,51,62,27,25,55,102,20,10,12,1,6,64,0x2003885,150,1056,1056,336,0,0,0,0,0,0,0,6672,1000,929,2500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
#2953,CURSED_MEMORY
|
REPLACE INTO `mob_db_re` VALUES (2953,'CURSED_MEMORY','Cursed Memory','Cursed Memory',110,18045,1,1802,1623,1,1310,1867,89,28,87,39,58,5,82,10,10,12,1,1,69,0x3885,350,1768,500,192,0,0,0,0,0,0,0,6672,1000,957,3000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
#2954,COLORLESS_VOW
|
REPLACE INTO `mob_db_re` VALUES (2954,'COLORLESS_VOW','Colorless Vow','Colorless Vow',110,19194,0,1939,1881,1,1478,2121,95,41,84,35,60,20,85,15,10,12,1,1,69,0x3885,350,0,500,0,0,0,0,0,0,0,0,6672,1000,958,3500,1063,2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
#2955,OLD_FRIENDSHIP
|
REPLACE INTO `mob_db_re` VALUES (2955,'OLD_FRIENDSHIP','Old Friendship','Old Friendship',110,12614,0,1306,1328,0,1147,1638,78,5,56,12,19,11,30,10,10,12,1,1,49,0x3885,250,2460,912,0,0,0,0,0,0,0,0,6672,1000,932,3500,1098,2500,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
#2956,SWEET_SLAUGHTER
|
REPLACE INTO `mob_db_re` VALUES (2956,'SWEET_SLAUGHTER','Sweet Slaughter','Sweet Slaughter',110,13986,0,1960,1587,0,1216,1709,125,10,121,48,40,31,125,32,10,12,2,1,29,0x3885,350,1538,1000,396,0,0,0,0,0,0,0,6672,1000,929,2000,682,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
#2957,FORGOTTEN_NAME
|
REPLACE INTO `mob_db_re` VALUES (2957,'FORGOTTEN_NAME','Forgotten Name','Forgotten Name',120,19546,1,1505,1485,2,1093,1520,111,38,121,29,51,43,100,3,10,12,1,1,49,0x3885,155,1169,1152,480,0,0,0,0,0,0,0,6672,1500,682,5000,683,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
#2958,FATAL_DAYS
|
REPLACE INTO `mob_db_re` VALUES (2958,'FATAL_DAYS','Fatal Days','Fatal Days',120,24240,1,2052,2026,2,1025,1428,72,15,100,71,63,85,115,37,10,12,1,6,67,0x2003885,190,720,384,480,0,0,0,0,0,0,0,6672,1500,1050,2500,1038,2500,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
#2959,TORTUROUS_REDEEMER
|
REPLACE INTO `mob_db_re` VALUES (2959,'TORTUROUS_REDEEMER','Torturous Redeemer','Torturous Redeemer',120,103342,0,10590,8378,0,1253,1753,144,28,133,69,72,55,165,44,10,12,1,7,62,0x3885,200,672,420,360,0,0,0,0,0,0,0,6672,10000,6672,10000,923,2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
#2960,MM_FLAMECROSS
|
#2960,MM_FLAMECROSS
|
||||||
#2961,E_TORTUROUS_REDEEMER
|
REPLACE INTO `mob_db_re` VALUES (2961,'E_TORTUROUS_REDEEMER','Torturous Redeemer','Torturous Redeemer',120,103342,1,10590,8378,1,1253,1753,144,28,133,69,72,55,165,44,10,12,1,7,62,0x3885,200,672,420,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
#2962,E_DEVILING
|
#2962,E_DEVILING
|
||||||
#2963,WOODIE
|
#2963,WOODIE
|
||||||
#2964,EXP_1000
|
#2964,EXP_1000
|
||||||
@ -3100,7 +3100,17 @@ REPLACE INTO `mob_db_re` VALUES (3508,'DR_EGGRING_G','Eggring','Eggring',20,220,
|
|||||||
#3874,AB_MOB_048
|
#3874,AB_MOB_048
|
||||||
#3875,AB_MOB_049
|
#3875,AB_MOB_049
|
||||||
#3876,AB_MOB_050
|
#3876,AB_MOB_050
|
||||||
|
#3877,E_NYAIL_PIG
|
||||||
|
#3878,E_PIT
|
||||||
|
#3879,E_SEA_WORMS
|
||||||
|
#3880,E_SMALL_SWIRL
|
||||||
|
#3881,E_RIPE_WATERMELON
|
||||||
|
#3882,E_MD_NYAILO
|
||||||
|
#3883,E_MD_NYAILO_LEG
|
||||||
|
#3884,E_MD_S_TREASURE_BOX
|
||||||
|
#3885,E_MD_B_TREASURE_BOX
|
||||||
|
#3886,E_MD_BOX_PUPPET
|
||||||
|
#3887,E_MD_DEPRESS_SOUL
|
||||||
#3888,TW_I_QUEEN_SCARABA
|
#3888,TW_I_QUEEN_SCARABA
|
||||||
#3889,TW_GIOIA
|
#3889,TW_GIOIA
|
||||||
#3890,TW_TIMEHOLDER
|
#3890,TW_TIMEHOLDER
|
||||||
@ -3118,3 +3128,42 @@ REPLACE INTO `mob_db_re` VALUES (3508,'DR_EGGRING_G','Eggring','Eggring',20,220,
|
|||||||
#3902,MD_ORC_LORD
|
#3902,MD_ORC_LORD
|
||||||
#3903,MD_ORC_FLOWER
|
#3903,MD_ORC_FLOWER
|
||||||
|
|
||||||
|
#3910,E_EMPEL_1
|
||||||
|
#3911,E_GIBBET
|
||||||
|
#3912,E_LOLI_RURI
|
||||||
|
#3913,E_DULLAHAN
|
||||||
|
#3914,E_BLOODY_MURDERER
|
||||||
|
#3915,E_EMPEL_1B
|
||||||
|
#3916,JP_E_MONSTER_74
|
||||||
|
#3917,JP_E_MONSTER_75
|
||||||
|
#3918,JP_E_MONSTER_76
|
||||||
|
#3919,JP_E_MONSTER_77
|
||||||
|
#3920,JP_E_MONSTER_78
|
||||||
|
#3921,JP_E_MONSTER_79
|
||||||
|
#3922,JP_E_MONSTER_80
|
||||||
|
#3923,JP_E_MONSTER_81
|
||||||
|
#3924,JP_E_MONSTER_82
|
||||||
|
#3925,JP_E_MONSTER_83
|
||||||
|
#3926,JP_E_MONSTER_84
|
||||||
|
#3927,JP_E_MONSTER_85
|
||||||
|
#3928,JP_E_MONSTER_86
|
||||||
|
#3929,JP_E_MONSTER_87
|
||||||
|
#3930,JP_E_MONSTER_88
|
||||||
|
#3931,JP_E_MONSTER_89
|
||||||
|
#3932,JP_E_MONSTER_90
|
||||||
|
#3933,JP_E_MONSTER_91
|
||||||
|
#3934,JP_E_MONSTER_92
|
||||||
|
#3935,JP_E_MONSTER_93
|
||||||
|
#3936,JP_E_MONSTER_94
|
||||||
|
#3937,JP_E_MONSTER_95
|
||||||
|
#3938,JP_E_MONSTER_96
|
||||||
|
#3939,JP_E_MONSTER_97
|
||||||
|
#3940,JP_E_MONSTER_98
|
||||||
|
#3941,JP_E_MONSTER_99
|
||||||
|
#3942,JP_E_MONSTER_100
|
||||||
|
#3943,JP_E_MONSTER_101
|
||||||
|
#3944,JP_E_MONSTER_102
|
||||||
|
#3945,JP_E_MONSTER_103
|
||||||
|
#3946,JP_E_MONSTER_104
|
||||||
|
#3947,JP_E_MONSTER_105
|
||||||
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
ALTER TABLE `item_db_re` CHANGE `atk:matk` `atk:matk` VARCHAR( 11 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL
|
|
||||||
@ -1,20 +0,0 @@
|
|||||||
CREATE TABLE IF NOT EXISTS `vending_items` (
|
|
||||||
`vending_id` int(10) unsigned NOT NULL,
|
|
||||||
`index` smallint(5) unsigned NOT NULL,
|
|
||||||
`cartinventory_id` int(10) unsigned NOT NULL,
|
|
||||||
`amount` smallint(5) unsigned NOT NULL,
|
|
||||||
`price` int(10) unsigned NOT NULL
|
|
||||||
) ENGINE=MyISAM;
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `vendings` (
|
|
||||||
`id` int(10) unsigned NOT NULL,
|
|
||||||
`account_id` int(11) unsigned NOT NULL,
|
|
||||||
`char_id` int(10) unsigned NOT NULL,
|
|
||||||
`sex` enum('F','M') NOT NULL DEFAULT 'M',
|
|
||||||
`map` varchar(20) NOT NULL,
|
|
||||||
`x` smallint(5) unsigned NOT NULL,
|
|
||||||
`y` smallint(5) unsigned NOT NULL,
|
|
||||||
`title` varchar(80) NOT NULL,
|
|
||||||
`autotrade` tinyint(4) NOT NULL,
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) ENGINE=MyISAM;
|
|
||||||
@ -1,21 +0,0 @@
|
|||||||
CREATE TABLE IF NOT EXISTS `buyingstore_items` (
|
|
||||||
`buyingstore_id` int(10) unsigned NOT NULL,
|
|
||||||
`index` smallint(5) unsigned NOT NULL,
|
|
||||||
`item_id` int(10) unsigned NOT NULL,
|
|
||||||
`amount` smallint(5) unsigned NOT NULL,
|
|
||||||
`price` int(10) unsigned NOT NULL
|
|
||||||
) ENGINE=MyISAM;
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `buyingstores` (
|
|
||||||
`id` int(10) unsigned NOT NULL,
|
|
||||||
`account_id` int(11) unsigned NOT NULL,
|
|
||||||
`char_id` int(10) unsigned NOT NULL,
|
|
||||||
`sex` enum('F','M') NOT NULL DEFAULT 'M',
|
|
||||||
`map` varchar(20) NOT NULL,
|
|
||||||
`x` smallint(5) unsigned NOT NULL,
|
|
||||||
`y` smallint(5) unsigned NOT NULL,
|
|
||||||
`title` varchar(80) NOT NULL,
|
|
||||||
`limit` int(10) unsigned NOT NULL,
|
|
||||||
`autotrade` tinyint(4) NOT NULL,
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) ENGINE=MyISAM;
|
|
||||||
@ -1 +0,0 @@
|
|||||||
ALTER TABLE `char` ADD `font` tinyint(3) unsigned NOT NULL default '0';
|
|
||||||
@ -1,118 +0,0 @@
|
|||||||
UPDATE `auction` SET `card0` = 256 WHERE `card0` = -256;
|
|
||||||
UPDATE `cart_inventory` SET `card0` = 256 WHERE `card0` = -256;
|
|
||||||
UPDATE `guild_storage` SET `card0` = 256 WHERE `card0` = -256;
|
|
||||||
UPDATE `inventory` SET `card0` = 256 WHERE `card0` = -256;
|
|
||||||
UPDATE `mail` SET `card0` = 256 WHERE `card0` = -256;
|
|
||||||
UPDATE `storage` SET `card0` = 256 WHERE `card0` = -256;
|
|
||||||
|
|
||||||
UPDATE `auction` SET `card1` = (65536 + `card1`) WHERE `card1` < 0 AND `card0` IN(254,255);
|
|
||||||
UPDATE `auction` SET `card2` = (65536 + `card2`) WHERE `card2` < 0 AND `card0` IN(254,255);
|
|
||||||
UPDATE `auction` SET `card3` = (65536 + `card3`) WHERE `card3` < 0 AND `card0` IN(254,255);
|
|
||||||
|
|
||||||
UPDATE `cart_inventory` SET `card1` = (65536 + `card1`) WHERE `card1` < 0 AND `card0` IN(254,255);
|
|
||||||
UPDATE `cart_inventory` SET `card2` = (65536 + `card2`) WHERE `card2` < 0 AND `card0` IN(254,255);
|
|
||||||
UPDATE `cart_inventory` SET `card3` = (65536 + `card3`) WHERE `card3` < 0 AND `card0` IN(254,255);
|
|
||||||
|
|
||||||
UPDATE `guild_storage` SET `card1` = (65536 + `card1`) WHERE `card1` < 0 AND `card0` IN(254,255);
|
|
||||||
UPDATE `guild_storage` SET `card2` = (65536 + `card2`) WHERE `card2` < 0 AND `card0` IN(254,255);
|
|
||||||
UPDATE `guild_storage` SET `card3` = (65536 + `card3`) WHERE `card3` < 0 AND `card0` IN(254,255);
|
|
||||||
|
|
||||||
UPDATE `inventory` SET `card1` = (65536 + `card1`) WHERE `card1` < 0 AND `card0` IN(254,255);
|
|
||||||
UPDATE `inventory` SET `card2` = (65536 + `card2`) WHERE `card2` < 0 AND `card0` IN(254,255);
|
|
||||||
UPDATE `inventory` SET `card3` = (65536 + `card3`) WHERE `card3` < 0 AND `card0` IN(254,255);
|
|
||||||
|
|
||||||
UPDATE `mail` SET `card1` = (65536 + `card1`) WHERE `card1` < 0 AND `card0` IN(254,255);
|
|
||||||
UPDATE `mail` SET `card2` = (65536 + `card2`) WHERE `card2` < 0 AND `card0` IN(254,255);
|
|
||||||
UPDATE `mail` SET `card3` = (65536 + `card3`) WHERE `card3` < 0 AND `card0` IN(254,255);
|
|
||||||
|
|
||||||
UPDATE `storage` SET `card1` = (65536 + `card1`) WHERE `card1` < 0 AND `card0` IN(254,255);
|
|
||||||
UPDATE `storage` SET `card2` = (65536 + `card2`) WHERE `card2` < 0 AND `card0` IN(254,255);
|
|
||||||
UPDATE `storage` SET `card3` = (65536 + `card3`) WHERE `card3` < 0 AND `card0` IN(254,255);
|
|
||||||
|
|
||||||
ALTER TABLE `auction` MODIFY `nameid` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `auction` MODIFY `card0` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `auction` MODIFY `card1` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `auction` MODIFY `card2` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `auction` MODIFY `card3` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `cart_inventory` MODIFY `nameid` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `cart_inventory` MODIFY `card0` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `cart_inventory` MODIFY `card1` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `cart_inventory` MODIFY `card2` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `cart_inventory` MODIFY `card3` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `guild_storage` MODIFY `nameid` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `guild_storage` MODIFY `card0` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `guild_storage` MODIFY `card1` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `guild_storage` MODIFY `card2` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `guild_storage` MODIFY `card3` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `inventory` MODIFY `nameid` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `inventory` MODIFY `card0` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `inventory` MODIFY `card1` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `inventory` MODIFY `card2` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `inventory` MODIFY `card3` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mail` MODIFY `nameid` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mail` MODIFY `card0` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mail` MODIFY `card1` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mail` MODIFY `card2` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mail` MODIFY `card3` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `pet` MODIFY `egg_id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `storage` MODIFY `nameid` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `storage` MODIFY `card0` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `storage` MODIFY `card1` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `storage` MODIFY `card2` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `storage` MODIFY `card3` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
|
|
||||||
ALTER TABLE `mob_db` MODIFY `MVP1id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db` MODIFY `MVP2id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db` MODIFY `MVP3id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db` MODIFY `Drop1id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db` MODIFY `Drop2id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db` MODIFY `Drop3id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db` MODIFY `Drop4id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db` MODIFY `Drop5id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db` MODIFY `Drop6id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db` MODIFY `Drop7id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db` MODIFY `Drop8id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db` MODIFY `Drop9id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db` MODIFY `DropCardid` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
|
|
||||||
ALTER TABLE `mob_db2` MODIFY `MVP1id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2` MODIFY `MVP2id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2` MODIFY `MVP3id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2` MODIFY `Drop1id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2` MODIFY `Drop2id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2` MODIFY `Drop3id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2` MODIFY `Drop4id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2` MODIFY `Drop5id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2` MODIFY `Drop6id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2` MODIFY `Drop7id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2` MODIFY `Drop8id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2` MODIFY `Drop9id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2` MODIFY `DropCardid` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
|
|
||||||
ALTER TABLE `mob_db2_re` MODIFY `MVP1id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2_re` MODIFY `MVP2id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2_re` MODIFY `MVP3id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2_re` MODIFY `Drop1id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2_re` MODIFY `Drop2id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2_re` MODIFY `Drop3id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2_re` MODIFY `Drop4id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2_re` MODIFY `Drop5id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2_re` MODIFY `Drop6id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2_re` MODIFY `Drop7id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2_re` MODIFY `Drop8id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2_re` MODIFY `Drop9id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db2_re` MODIFY `DropCardid` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
|
|
||||||
ALTER TABLE `mob_db_re` MODIFY `MVP1id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db_re` MODIFY `MVP2id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db_re` MODIFY `MVP3id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db_re` MODIFY `Drop1id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db_re` MODIFY `Drop2id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db_re` MODIFY `Drop3id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db_re` MODIFY `Drop4id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db_re` MODIFY `Drop5id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db_re` MODIFY `Drop6id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db_re` MODIFY `Drop7id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db_re` MODIFY `Drop8id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db_re` MODIFY `Drop9id` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mob_db_re` MODIFY `DropCardid` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
UPDATE `picklog` SET `card0` = 256 WHERE `card0` = -256;
|
|
||||||
|
|
||||||
UPDATE `picklog` SET `card1` = (65536 + `card1`) WHERE `card1` < 0 AND `card0` IN(254,255);
|
|
||||||
UPDATE `picklog` SET `card2` = (65536 + `card2`) WHERE `card2` < 0 AND `card0` IN(254,255);
|
|
||||||
UPDATE `picklog` SET `card3` = (65536 + `card3`) WHERE `card3` < 0 AND `card0` IN(254,255);
|
|
||||||
|
|
||||||
ALTER TABLE `picklog` MODIFY `nameid` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `picklog` MODIFY `card0` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `picklog` MODIFY `card1` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `picklog` MODIFY `card2` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `picklog` MODIFY `card3` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
ALTER TABLE `mvplog` MODIFY `prize` smallint(5) unsigned NOT NULL default '0';
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
UPDATE `auction` SET `card0` = 256 WHERE `card0` = 65280;
|
|
||||||
UPDATE `cart_inventory` SET `card0` = 256 WHERE `card0` = 65280;
|
|
||||||
UPDATE `guild_storage` SET `card0` = 256 WHERE `card0` = 65280;
|
|
||||||
UPDATE `inventory` SET `card0` = 256 WHERE `card0` = 65280;
|
|
||||||
UPDATE `mail` SET `card0` = 256 WHERE `card0` = 65280;
|
|
||||||
UPDATE `storage` SET `card0` = 256 WHERE `card0` = 65280;
|
|
||||||
@ -1 +0,0 @@
|
|||||||
ALTER TABLE `pet` CHANGE `incuvate` `incubate` int(11) unsigned NOT NULL default '0';
|
|
||||||
@ -1 +0,0 @@
|
|||||||
ALTER TABLE `zenylog` CHANGE `type` `type` ENUM('T','V','P','M','S','N','D','C','A','E','I','B','K') NOT NULL DEFAULT 'S';
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
ALTER TABLE `vendings` ADD `body_direction` CHAR( 1 ) NOT NULL DEFAULT '4',
|
|
||||||
ADD `head_direction` CHAR( 1 ) NOT NULL DEFAULT '0',
|
|
||||||
ADD `sit` CHAR( 1 ) NOT NULL DEFAULT '1';
|
|
||||||
|
|
||||||
ALTER TABLE `buyingstores` ADD `body_direction` CHAR( 1 ) NOT NULL DEFAULT '4',
|
|
||||||
ADD `head_direction` CHAR( 1 ) NOT NULL DEFAULT '0',
|
|
||||||
ADD `sit` CHAR( 1 ) NOT NULL DEFAULT '1';
|
|
||||||
@ -1 +0,0 @@
|
|||||||
ALTER TABLE `char` ADD COLUMN `uniqueitem_counter` bigint(20) NOT NULL AFTER `font`;
|
|
||||||
@ -1 +0,0 @@
|
|||||||
ALTER TABLE `char` MODIFY COLUMN `uniqueitem_counter` int(11) unsigned NOT NULL default '0';
|
|
||||||
@ -1 +0,0 @@
|
|||||||
ALTER TABLE `mail` ADD `bound` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0';
|
|
||||||
@ -1 +0,0 @@
|
|||||||
ALTER TABLE `picklog` ADD `bound` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0';
|
|
||||||
@ -1 +0,0 @@
|
|||||||
ALTER TABLE `picklog` MODIFY `type` ENUM('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$') NOT NULL DEFAULT 'S';
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
ALTER TABLE `bonus_script` MODIFY COLUMN `char_id` INT(11) UNSIGNED NOT NULL;
|
|
||||||
ALTER TABLE `bonus_script` MODIFY COLUMN `script` TEXT NOT NULL;
|
|
||||||
ALTER TABLE `bonus_script` MODIFY COLUMN `tick` INT(11) UNSIGNED NOT NULL DEFAULT '0';
|
|
||||||
ALTER TABLE `bonus_script` MODIFY COLUMN `flag` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0';
|
|
||||||
ALTER TABLE `bonus_script` MODIFY COLUMN `type` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0';
|
|
||||||
ALTER TABLE `bonus_script` MODIFY COLUMN `icon` SMALLINT(3) NOT NULL DEFAULT '-1';
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
-- Resetting all `lv` of skills that has `flag` >= 3 (the skill that its `learned_lv` has been changed by script or special case by `learned_lv` + SKILL_FLAG_REPLACED_LV_0)
|
|
||||||
-- If there's ALL_INCCARRY and ALL_BUYING_STORE, set the `flag` to SKILL_FLAG_PERM_GRANTED (new value is 3), those are exclusive skills given in our official scripts!
|
|
||||||
|
|
||||||
UPDATE `skill` SET `lv` = `flag` - 3 WHERE `flag` >= 3;
|
|
||||||
UPDATE `skill` SET `flag` = 0 WHERE `flag` >= 3;
|
|
||||||
UPDATE `skill` SET `flag` = 3 WHERE `id` = 681 OR `id` = 2535;
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
--
|
|
||||||
-- Table `market` for market shop persistency
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `market` (
|
|
||||||
`name` varchar(32) NOT NULL DEFAULT '',
|
|
||||||
`nameid` SMALLINT(5) UNSIGNED NOT NULL,
|
|
||||||
`price` INT(11) UNSIGNED NOT NULL,
|
|
||||||
`amount` SMALLINT(5) UNSIGNED NOT NULL,
|
|
||||||
`flag` TINYINT(2) UNSIGNED NOT NULL DEFAULT '0',
|
|
||||||
PRIMARY KEY (`name`,`nameid`)
|
|
||||||
) ENGINE = MyISAM;
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
-- Move `bank_vault` value from `login` to `global_reg_value`.
|
|
||||||
-- Please be careful if you're running multi char-server, better you do this step manually to move the `bank_vault`
|
|
||||||
-- to proper `global_reg_value` tables of char-servers used.
|
|
||||||
INSERT INTO `global_reg_value` (`char_id`, `str`, `value`, `type`, `account_id`)
|
|
||||||
SELECT '0', '#BANKVAULT', `bank_vault`, '2', `account_id`
|
|
||||||
FROM `login` WHERE `bank_vault` != 0;
|
|
||||||
|
|
||||||
-- Remove `bank_vault` from `login` table, login-server side.
|
|
||||||
ALTER TABLE `login` DROP `bank_vault`;
|
|
||||||
@ -1 +0,0 @@
|
|||||||
ALTER TABLE `picklog` CHANGE `type` `type` ENUM('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F') NOT NULL DEFAULT 'P';
|
|
||||||
@ -1,68 +0,0 @@
|
|||||||
ALTER TABLE `char` ADD COLUMN `sex` ENUM('M','F','U') NOT NULL default 'U';
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Table structure for `db_roulette`
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE `db_roulette` (
|
|
||||||
`index` int(11) NOT NULL default '0',
|
|
||||||
`level` smallint(5) unsigned NOT NULL,
|
|
||||||
`item_id` smallint(5) unsigned NOT NULL,
|
|
||||||
`amount` smallint(5) unsigned NOT NULL DEFAULT '1',
|
|
||||||
`flag` smallint(5) unsigned NOT NULL DEFAULT '1',
|
|
||||||
PRIMARY KEY (`index`)
|
|
||||||
) ENGINE=MyISAM;
|
|
||||||
|
|
||||||
-- ----------------------------
|
|
||||||
-- Records of db_roulette
|
|
||||||
-- ----------------------------
|
|
||||||
-- Info: http://ro.gnjoy.com/news/update/View.asp?seq=157&curpage=1
|
|
||||||
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 0, 1, 675, 1, 1 ); -- Silver_Coin
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 1, 1, 671, 1, 0 ); -- Gold_Coin
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 2, 1, 678, 1, 0 ); -- Poison_Bottle
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 3, 1, 604, 1, 0 ); -- Branch_Of_Dead_Tree
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 4, 1, 522, 1, 0 ); -- Fruit_Of_Mastela
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 5, 1, 671, 1, 0 ); -- Old_Ore_Box
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 6, 1, 12523, 1, 0 ); -- E_Inc_Agi_10_Scroll
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 7, 1, 985, 1, 0 ); -- Elunium
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 8, 1, 984, 1, 0 ); -- Oridecon
|
|
||||||
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 9, 2, 675, 1, 1 ); -- Silver_Coin
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 10, 2, 671, 1, 0 ); -- Gold_Coin
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 11, 2, 603, 1, 0 ); -- Old_Blue_Box
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 12, 2, 608, 1, 0 ); -- Seed_Of_Yggdrasil
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 13, 2, 607, 1, 0 ); -- Yggdrasilberry
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 14, 2, 12522, 1, 0 ); -- E_Blessing_10_Scroll
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 15, 2, 6223, 1, 0 ); -- Carnium
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 16, 2, 6224, 1, 0 ); -- Bradium
|
|
||||||
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 17, 3, 675, 1, 1 ); -- Silver_Coin
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 18, 3, 671, 1, 0 ); -- Gold_Coin
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 19, 3, 12108, 1, 0 ); -- Bundle_Of_Magic_Scroll
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 20, 3, 617, 1, 0 ); -- Old_Violet_Box
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 21, 3, 12514, 1, 0 ); -- E_Abrasive
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 22, 3, 7444, 1, 0 ); -- Treasure_Box
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 23, 3, 969, 1, 0 ); -- Gold
|
|
||||||
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 24, 4, 675, 1, 1 ); -- Silver_Coin
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 25, 4, 671, 1, 0 ); -- Gold_Coin
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 26, 4, 616, 1, 0 ); -- Old_Card_Album
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 27, 4, 12516, 1, 0 ); -- E_Small_Life_Potion
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 28, 4, 22777, 1, 0 ); -- Gift_Buff_Set
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 29, 4, 6231, 1, 0 ); -- Guarantee_Weapon_6Up
|
|
||||||
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 30, 5, 671, 1, 1 ); -- Gold_Coin
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 31, 5, 12246, 1, 0 ); -- Magic_Card_Album
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 32, 5, 12263, 1, 0 ); -- Comp_Battle_Manual
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 33, 5, 671, 1, 0 ); -- Potion_Box
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 34, 5, 6235, 1, 0 ); -- Guarantee_Armor_6Up
|
|
||||||
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 35, 6, 671, 1, 1 ); -- Gold_Coin
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 36, 6, 12766, 1, 0 ); -- Reward_Job_BM25
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 37, 6, 6234, 1, 0 ); -- Guarantee_Armor_7Up
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 38, 6, 6233, 1, 0 ); -- Guarantee_Armor_8Up
|
|
||||||
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 39, 7, 671, 1, 1 ); -- Gold_Coin
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 40, 7, 6233, 1, 0 ); -- Guarantee_Armor_8Up
|
|
||||||
INSERT INTO `db_roulette`(`index`, `level`, `item_id`, `amount`, `flag` ) VALUES ( 41, 7, 6233, 1, 0 ); -- Guarantee_Armor_8Up // KRO lists this twice
|
|
||||||
@ -1 +0,0 @@
|
|||||||
ALTER TABLE `picklog` MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F','Y') NOT NULL default 'P';
|
|
||||||
@ -1 +0,0 @@
|
|||||||
ALTER TABLE `picklog` CHANGE `type` `type` ENUM('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F','Z') NOT NULL DEFAULT 'P';
|
|
||||||
@ -1 +0,0 @@
|
|||||||
ALTER TABLE `char` ADD COLUMN `hotkey_rowshift` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0';
|
|
||||||
@ -1,66 +0,0 @@
|
|||||||
ALTER TABLE `mapreg` ADD PRIMARY KEY (`varname`, `index`);
|
|
||||||
ALTER TABLE `mapreg` DROP INDEX `varname`;
|
|
||||||
ALTER TABLE `mapreg` DROP INDEX `index`;
|
|
||||||
ALTER TABLE `mapreg` MODIFY `varname` varchar(32) binary NOT NULL;
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `acc_reg_num` (
|
|
||||||
`account_id` int(11) unsigned NOT NULL default '0',
|
|
||||||
`key` varchar(32) binary NOT NULL default '',
|
|
||||||
`index` int(11) unsigned NOT NULL default '0',
|
|
||||||
`value` int(11) NOT NULL default '0',
|
|
||||||
PRIMARY KEY (`account_id`,`key`,`index`),
|
|
||||||
KEY `account_id` (`account_id`)
|
|
||||||
) ENGINE=MyISAM;
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `acc_reg_str` (
|
|
||||||
`account_id` int(11) unsigned NOT NULL default '0',
|
|
||||||
`key` varchar(32) binary NOT NULL default '',
|
|
||||||
`index` int(11) unsigned NOT NULL default '0',
|
|
||||||
`value` varchar(254) NOT NULL default '0',
|
|
||||||
PRIMARY KEY (`account_id`,`key`,`index`),
|
|
||||||
KEY `account_id` (`account_id`)
|
|
||||||
) ENGINE=MyISAM;
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `char_reg_num` (
|
|
||||||
`char_id` int(11) unsigned NOT NULL default '0',
|
|
||||||
`key` varchar(32) binary NOT NULL default '',
|
|
||||||
`index` int(11) unsigned NOT NULL default '0',
|
|
||||||
`value` int(11) NOT NULL default '0',
|
|
||||||
PRIMARY KEY (`char_id`,`key`,`index`),
|
|
||||||
KEY `char_id` (`char_id`)
|
|
||||||
) ENGINE=MyISAM;
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `char_reg_str` (
|
|
||||||
`char_id` int(11) unsigned NOT NULL default '0',
|
|
||||||
`key` varchar(32) binary NOT NULL default '',
|
|
||||||
`index` int(11) unsigned NOT NULL default '0',
|
|
||||||
`value` varchar(254) NOT NULL default '0',
|
|
||||||
PRIMARY KEY (`char_id`,`key`,`index`),
|
|
||||||
KEY `char_id` (`char_id`)
|
|
||||||
) ENGINE=MyISAM;
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `global_acc_reg_num` (
|
|
||||||
`account_id` int(11) unsigned NOT NULL default '0',
|
|
||||||
`key` varchar(32) binary NOT NULL default '',
|
|
||||||
`index` int(11) unsigned NOT NULL default '0',
|
|
||||||
`value` int(11) NOT NULL default '0',
|
|
||||||
PRIMARY KEY (`account_id`,`key`,`index`),
|
|
||||||
KEY `account_id` (`account_id`)
|
|
||||||
) ENGINE=MyISAM;
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `global_acc_reg_str` (
|
|
||||||
`account_id` int(11) unsigned NOT NULL default '0',
|
|
||||||
`key` varchar(32) binary NOT NULL default '',
|
|
||||||
`index` int(11) unsigned NOT NULL default '0',
|
|
||||||
`value` varchar(254) NOT NULL default '0',
|
|
||||||
PRIMARY KEY (`account_id`,`key`,`index`),
|
|
||||||
KEY `account_id` (`account_id`)
|
|
||||||
) ENGINE=MyISAM;
|
|
||||||
|
|
||||||
INSERT INTO `acc_reg_num` (`account_id`, `key`, `index`, `value`) SELECT `account_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 2 AND `str` NOT LIKE '%$';
|
|
||||||
INSERT INTO `acc_reg_str` (`account_id`, `key`, `index`, `value`) SELECT `account_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 2 AND `str` LIKE '%$';
|
|
||||||
INSERT INTO `char_reg_num` (`char_id`, `key`, `index`, `value`) SELECT `char_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 3 AND `str` NOT LIKE '%$';
|
|
||||||
INSERT INTO `char_reg_str` (`char_id`, `key`, `index`, `value`) SELECT `char_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 3 AND `str` LIKE '%$';
|
|
||||||
INSERT INTO `global_acc_reg_num` (`account_id`, `key`, `index`, `value`) SELECT `account_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 1 AND `str` NOT LIKE '%$';
|
|
||||||
INSERT INTO `global_acc_reg_str` (`account_id`, `key`, `index`, `value`) SELECT `account_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 1 AND `str` LIKE '%$';
|
|
||||||
# DROP TABLE `global_reg_value`;
|
|
||||||
@ -1 +0,0 @@
|
|||||||
ALTER TABLE `picklog` MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F','Z','Q') NOT NULL default 'P';
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
--
|
|
||||||
-- Table structure for table `feedinglog`
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `feedinglog` (
|
|
||||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
|
||||||
`time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
||||||
`char_id` INT(11) NOT NULL,
|
|
||||||
`target_id` INT(11) NOT NULL,
|
|
||||||
`target_class` SMALLINT(11) NOT NULL,
|
|
||||||
`type` ENUM('P','H','O') NOT NULL, -- P: Pet, H: Homunculus, O: Other
|
|
||||||
`intimacy` INT(11) UNSIGNED NOT NULL,
|
|
||||||
`item_id` SMALLINT(5) UNSIGNED NOT NULL,
|
|
||||||
`map` VARCHAR(11) NOT NULL,
|
|
||||||
`x` SMALLINT(5) UNSIGNED NOT NULL,
|
|
||||||
`y` SMALLINT(5) UNSIGNED NOT NULL,
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) ENGINE = MyISAM AUTO_INCREMENT = 1;
|
|
||||||
|
|
||||||
25
sql-files/upgrades/upgrade_20170727.sql
Normal file
25
sql-files/upgrades/upgrade_20170727.sql
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
ALTER TABLE `char`
|
||||||
|
ADD COLUMN `title_id` int(11) unsigned NOT NULL default '0' AFTER `clan_id`;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `achievement`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `achievement` (
|
||||||
|
`char_id` int(11) unsigned NOT NULL default '0',
|
||||||
|
`id` bigint(11) unsigned NOT NULL,
|
||||||
|
`count1` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count2` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count3` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count4` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count5` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count6` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count7` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count8` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count9` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`count10` mediumint(8) unsigned NOT NULL default '0',
|
||||||
|
`completed` datetime,
|
||||||
|
`rewarded` datetime,
|
||||||
|
PRIMARY KEY (`char_id`,`id`),
|
||||||
|
KEY `char_id` (`char_id`)
|
||||||
|
) ENGINE=MyISAM;
|
||||||
2
sql-files/upgrades/upgrade_20170806.sql
Normal file
2
sql-files/upgrades/upgrade_20170806.sql
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
ALTER TABLE `char`
|
||||||
|
ADD COLUMN `show_equip` tinyint(3) unsigned NOT NULL default '0' AFTER `title_id`;
|
||||||
@ -18,6 +18,12 @@ CHAR_OBJ = $(shell ls *.c | sed -e "s/\.c/\.o/g") $(shell ls *.cpp | sed -e "s/\
|
|||||||
CHAR_DIR_OBJ = $(CHAR_OBJ:%=obj/%)
|
CHAR_DIR_OBJ = $(CHAR_OBJ:%=obj/%)
|
||||||
CHAR_H = $(shell ls ../char/*.h)
|
CHAR_H = $(shell ls ../char/*.h)
|
||||||
|
|
||||||
|
YAML_CPP_OBJ = $(shell find ../../3rdparty/yaml-cpp/ -type f -name "*.cpp" | sed -e "s/\.cpp/\.o/g" )
|
||||||
|
YAML_CPP_DIR_OBJ = $(YAML_CPP_OBJ:%=obj/%)
|
||||||
|
YAML_CPP_AR = ../../3rdparty/yaml-cpp/obj/yaml-cpp.a
|
||||||
|
YAML_CPP_H = $(shell find ../../3rdparty/yaml-cpp/ -type f -name "*.h")
|
||||||
|
YAML_CPP_INCLUDE = -I../../3rdparty/yaml-cpp/include
|
||||||
|
|
||||||
HAVE_MYSQL=@HAVE_MYSQL@
|
HAVE_MYSQL=@HAVE_MYSQL@
|
||||||
ifeq ($(HAVE_MYSQL),yes)
|
ifeq ($(HAVE_MYSQL),yes)
|
||||||
SERVER_DEPENDS=char-server
|
SERVER_DEPENDS=char-server
|
||||||
@ -26,8 +32,6 @@ else
|
|||||||
endif
|
endif
|
||||||
ALL_DEPENDS=server
|
ALL_DEPENDS=server
|
||||||
|
|
||||||
CXXFLAGS=-std=c++11
|
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
@ -51,9 +55,9 @@ help:
|
|||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
|
|
||||||
char-server: obj $(CHAR_DIR_OBJ) $(LIBCONFIG_AR) $(COMMON_AR)
|
char-server: obj $(CHAR_DIR_OBJ) $(LIBCONFIG_AR) $(COMMON_AR) $(YAML_CPP_AR)
|
||||||
@echo " LD @OCHR@@EXEEXT@"
|
@echo " LD @OCHR@@EXEEXT@"
|
||||||
@@CXX@ @LDFLAGS@ -o ../../@OCHR@@EXEEXT@ $(CHAR_DIR_OBJ) $(LIBCONFIG_AR) $(COMMON_AR) $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
|
@@CXX@ @LDFLAGS@ -o ../../@OCHR@@EXEEXT@ $(CHAR_DIR_OBJ) $(LIBCONFIG_AR) $(COMMON_AR) $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(YAML_CPP_AR) @LIBS@ @MYSQL_LIBS@
|
||||||
|
|
||||||
needs_mysql:
|
needs_mysql:
|
||||||
@echo "MySQL not found or disabled by the configure script"
|
@echo "MySQL not found or disabled by the configure script"
|
||||||
@ -63,13 +67,13 @@ obj:
|
|||||||
@echo " MKDIR obj"
|
@echo " MKDIR obj"
|
||||||
@-mkdir obj
|
@-mkdir obj
|
||||||
|
|
||||||
obj/%.o: %.c $(CHAR_H) $(COMMON_H) $(MT19937AR_H) $(LIBCONFIG_H)
|
obj/%.o: %.c $(CHAR_H) $(COMMON_H) $(MT19937AR_H) $(LIBCONFIG_H) $(YAML_CPP_H)
|
||||||
@echo " CC $<"
|
@echo " CC $<"
|
||||||
@@CC@ @CFLAGS@ $(COMMON_INCLUDE) $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
@@CC@ @CFLAGS@ $(COMMON_INCLUDE) $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) $(YAML_CPP_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||||
|
|
||||||
obj/%.o: %.cpp $(CHAR_H) $(COMMON_H) $(MT19937AR_H) $(LIBCONFIG_H)
|
obj/%.o: %.cpp $(CHAR_H) $(COMMON_H) $(MT19937AR_H) $(LIBCONFIG_H) $(YAML_CPP_H)
|
||||||
@echo " CXX $<"
|
@echo " CXX $<"
|
||||||
@@CXX@ @CXXFLAGS@ $(COMMON_INCLUDE) $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
@@CXX@ @CXXFLAGS@ $(COMMON_INCLUDE) $(MT19937AR_INCLUDE) $(LIBCONFIG_INCLUDE) $(YAML_CPP_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||||
|
|
||||||
# missing object files
|
# missing object files
|
||||||
$(COMMON_AR):
|
$(COMMON_AR):
|
||||||
@ -80,3 +84,6 @@ $(MT19937AR_OBJ):
|
|||||||
|
|
||||||
$(LIBCONFIG_AR):
|
$(LIBCONFIG_AR):
|
||||||
@$(MAKE) -C ../../3rdparty/libconfig
|
@$(MAKE) -C ../../3rdparty/libconfig
|
||||||
|
|
||||||
|
$(YAML_CPP_AR):
|
||||||
|
@$(MAKE) -C ../../3rdparty/yaml-cpp
|
||||||
|
|||||||
@ -94,6 +94,7 @@
|
|||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
@ -109,6 +110,7 @@
|
|||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
@ -126,6 +128,7 @@
|
|||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
@ -145,6 +148,7 @@
|
|||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
@ -161,6 +165,7 @@
|
|||||||
<ClInclude Include="char_logif.h" />
|
<ClInclude Include="char_logif.h" />
|
||||||
<ClInclude Include="char_mapif.h" />
|
<ClInclude Include="char_mapif.h" />
|
||||||
<ClInclude Include="inter.h" />
|
<ClInclude Include="inter.h" />
|
||||||
|
<ClInclude Include="int_achievement.h" />
|
||||||
<ClInclude Include="int_auction.h" />
|
<ClInclude Include="int_auction.h" />
|
||||||
<ClInclude Include="int_clan.h" />
|
<ClInclude Include="int_clan.h" />
|
||||||
<ClInclude Include="int_elemental.h" />
|
<ClInclude Include="int_elemental.h" />
|
||||||
@ -181,7 +186,8 @@
|
|||||||
<ClCompile Include="char_cnslif.c" />
|
<ClCompile Include="char_cnslif.c" />
|
||||||
<ClCompile Include="char_logif.c" />
|
<ClCompile Include="char_logif.c" />
|
||||||
<ClCompile Include="char_mapif.c" />
|
<ClCompile Include="char_mapif.c" />
|
||||||
<ClCompile Include="inter.c" />
|
<ClCompile Include="inter.cpp" />
|
||||||
|
<ClCompile Include="int_achievement.c" />
|
||||||
<ClCompile Include="int_auction.c" />
|
<ClCompile Include="int_auction.c" />
|
||||||
<ClCompile Include="int_clan.c" />
|
<ClCompile Include="int_clan.c" />
|
||||||
<ClCompile Include="int_elemental.c" />
|
<ClCompile Include="int_elemental.c" />
|
||||||
@ -192,7 +198,7 @@
|
|||||||
<ClCompile Include="int_party.c" />
|
<ClCompile Include="int_party.c" />
|
||||||
<ClCompile Include="int_pet.c" />
|
<ClCompile Include="int_pet.c" />
|
||||||
<ClCompile Include="int_quest.c" />
|
<ClCompile Include="int_quest.c" />
|
||||||
<ClCompile Include="int_storage.c" />
|
<ClCompile Include="int_storage.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
|||||||
@ -26,6 +26,9 @@
|
|||||||
<ClInclude Include="char_mapif.h">
|
<ClInclude Include="char_mapif.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="int_achievement.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="int_auction.h">
|
<ClInclude Include="int_auction.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
@ -79,6 +82,9 @@
|
|||||||
<ClCompile Include="char_mapif.c">
|
<ClCompile Include="char_mapif.c">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="int_achievement.c">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="int_auction.c">
|
<ClCompile Include="int_auction.c">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@ -106,10 +112,10 @@
|
|||||||
<ClCompile Include="int_quest.c">
|
<ClCompile Include="int_quest.c">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="int_storage.c">
|
<ClCompile Include="int_storage.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="inter.c">
|
<ClCompile Include="inter.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="int_clan.c">
|
<ClCompile Include="int_clan.c">
|
||||||
|
|||||||
@ -300,7 +300,8 @@ int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p){
|
|||||||
(p->head_mid != cp->head_mid) || (p->head_bottom != cp->head_bottom) || (p->delete_date != cp->delete_date) ||
|
(p->head_mid != cp->head_mid) || (p->head_bottom != cp->head_bottom) || (p->delete_date != cp->delete_date) ||
|
||||||
(p->rename != cp->rename) || (p->robe != cp->robe) || (p->character_moves != cp->character_moves) ||
|
(p->rename != cp->rename) || (p->robe != cp->robe) || (p->character_moves != cp->character_moves) ||
|
||||||
(p->unban_time != cp->unban_time) || (p->font != cp->font) || (p->uniqueitem_counter != cp->uniqueitem_counter) ||
|
(p->unban_time != cp->unban_time) || (p->font != cp->font) || (p->uniqueitem_counter != cp->uniqueitem_counter) ||
|
||||||
(p->hotkey_rowshift != cp->hotkey_rowshift) || (p->clan_id != cp->clan_id )
|
(p->hotkey_rowshift != cp->hotkey_rowshift) || (p->clan_id != cp->clan_id ) || (p->title_id != cp->title_id) ||
|
||||||
|
(p->show_equip != cp->show_equip)
|
||||||
)
|
)
|
||||||
{ //Save status
|
{ //Save status
|
||||||
if( SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `base_level`='%d', `job_level`='%d',"
|
if( SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `base_level`='%d', `job_level`='%d',"
|
||||||
@ -311,7 +312,7 @@ int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p){
|
|||||||
"`weapon`='%d',`shield`='%d',`head_top`='%d',`head_mid`='%d',`head_bottom`='%d',"
|
"`weapon`='%d',`shield`='%d',`head_top`='%d',`head_mid`='%d',`head_bottom`='%d',"
|
||||||
"`last_map`='%s',`last_x`='%d',`last_y`='%d',`save_map`='%s',`save_x`='%d',`save_y`='%d', `rename`='%d',"
|
"`last_map`='%s',`last_x`='%d',`last_y`='%d',`save_map`='%s',`save_x`='%d',`save_y`='%d', `rename`='%d',"
|
||||||
"`delete_date`='%lu',`robe`='%d',`moves`='%d',`font`='%u',`uniqueitem_counter`='%u',"
|
"`delete_date`='%lu',`robe`='%d',`moves`='%d',`font`='%u',`uniqueitem_counter`='%u',"
|
||||||
"`hotkey_rowshift`='%d', `clan_id`='%d'"
|
"`hotkey_rowshift`='%d', `clan_id`='%d', `title_id`='%lu', `show_equip`='%d'"
|
||||||
" WHERE `account_id`='%d' AND `char_id` = '%d'",
|
" WHERE `account_id`='%d' AND `char_id` = '%d'",
|
||||||
schema_config.char_db, p->base_level, p->job_level,
|
schema_config.char_db, p->base_level, p->job_level,
|
||||||
p->base_exp, p->job_exp, p->zeny,
|
p->base_exp, p->job_exp, p->zeny,
|
||||||
@ -323,7 +324,7 @@ int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p){
|
|||||||
mapindex_id2name(p->save_point.map), p->save_point.x, p->save_point.y, p->rename,
|
mapindex_id2name(p->save_point.map), p->save_point.x, p->save_point.y, p->rename,
|
||||||
(unsigned long)p->delete_date, // FIXME: platform-dependent size
|
(unsigned long)p->delete_date, // FIXME: platform-dependent size
|
||||||
p->robe, p->character_moves, p->font, p->uniqueitem_counter,
|
p->robe, p->character_moves, p->font, p->uniqueitem_counter,
|
||||||
p->hotkey_rowshift, p->clan_id,
|
p->hotkey_rowshift, p->clan_id, p->title_id, p->show_equip,
|
||||||
p->account_id, p->char_id) )
|
p->account_id, p->char_id) )
|
||||||
{
|
{
|
||||||
Sql_ShowDebug(sql_handle);
|
Sql_ShowDebug(sql_handle);
|
||||||
@ -917,7 +918,7 @@ int char_mmo_chars_fromsql(struct char_session_data* sd, uint8* buf) {
|
|||||||
"`str`,`agi`,`vit`,`int`,`dex`,`luk`,`max_hp`,`hp`,`max_sp`,`sp`,"
|
"`str`,`agi`,`vit`,`int`,`dex`,`luk`,`max_hp`,`hp`,`max_sp`,`sp`,"
|
||||||
"`status_point`,`skill_point`,`option`,`karma`,`manner`,`hair`,`hair_color`,"
|
"`status_point`,`skill_point`,`option`,`karma`,`manner`,`hair`,`hair_color`,"
|
||||||
"`clothes_color`,`body`,`weapon`,`shield`,`head_top`,`head_mid`,`head_bottom`,`last_map`,`rename`,`delete_date`,"
|
"`clothes_color`,`body`,`weapon`,`shield`,`head_top`,`head_mid`,`head_bottom`,`last_map`,`rename`,`delete_date`,"
|
||||||
"`robe`,`moves`,`unban_time`,`font`,`uniqueitem_counter`,`sex`,`hotkey_rowshift`"
|
"`robe`,`moves`,`unban_time`,`font`,`uniqueitem_counter`,`sex`,`hotkey_rowshift`,`title_id`,`show_equip`"
|
||||||
" FROM `%s` WHERE `account_id`='%d' AND `char_num` < '%d'", schema_config.char_db, sd->account_id, MAX_CHARS)
|
" FROM `%s` WHERE `account_id`='%d' AND `char_num` < '%d'", schema_config.char_db, sd->account_id, MAX_CHARS)
|
||||||
|| SQL_ERROR == SqlStmt_Execute(stmt)
|
|| SQL_ERROR == SqlStmt_Execute(stmt)
|
||||||
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 0, SQLDT_INT, &p.char_id, 0, NULL, NULL)
|
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 0, SQLDT_INT, &p.char_id, 0, NULL, NULL)
|
||||||
@ -963,6 +964,8 @@ int char_mmo_chars_fromsql(struct char_session_data* sd, uint8* buf) {
|
|||||||
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 40, SQLDT_UINT, &p.uniqueitem_counter, 0, NULL, NULL)
|
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 40, SQLDT_UINT, &p.uniqueitem_counter, 0, NULL, NULL)
|
||||||
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 41, SQLDT_ENUM, &sex, sizeof(sex), NULL, NULL)
|
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 41, SQLDT_ENUM, &sex, sizeof(sex), NULL, NULL)
|
||||||
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 42, SQLDT_UCHAR, &p.hotkey_rowshift, 0, NULL, NULL)
|
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 42, SQLDT_UCHAR, &p.hotkey_rowshift, 0, NULL, NULL)
|
||||||
|
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 43, SQLDT_ULONG, &p.title_id, 0, NULL, NULL)
|
||||||
|
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 44, SQLDT_UINT16, &p.show_equip, 0, NULL, NULL)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
SqlStmt_ShowDebug(stmt);
|
SqlStmt_ShowDebug(stmt);
|
||||||
@ -1026,7 +1029,7 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
|
|||||||
"`status_point`,`skill_point`,`option`,`karma`,`manner`,`party_id`,`guild_id`,`pet_id`,`homun_id`,`elemental_id`,`hair`,"
|
"`status_point`,`skill_point`,`option`,`karma`,`manner`,`party_id`,`guild_id`,`pet_id`,`homun_id`,`elemental_id`,`hair`,"
|
||||||
"`hair_color`,`clothes_color`,`body`,`weapon`,`shield`,`head_top`,`head_mid`,`head_bottom`,`last_map`,`last_x`,`last_y`,"
|
"`hair_color`,`clothes_color`,`body`,`weapon`,`shield`,`head_top`,`head_mid`,`head_bottom`,`last_map`,`last_x`,`last_y`,"
|
||||||
"`save_map`,`save_x`,`save_y`,`partner_id`,`father`,`mother`,`child`,`fame`,`rename`,`delete_date`,`robe`, `moves`,"
|
"`save_map`,`save_x`,`save_y`,`partner_id`,`father`,`mother`,`child`,`fame`,`rename`,`delete_date`,`robe`, `moves`,"
|
||||||
"`unban_time`,`font`,`uniqueitem_counter`,`sex`,`hotkey_rowshift`,`clan_id`"
|
"`unban_time`,`font`,`uniqueitem_counter`,`sex`,`hotkey_rowshift`,`clan_id`,`title_id`,`show_equip`"
|
||||||
" FROM `%s` WHERE `char_id`=? LIMIT 1", schema_config.char_db)
|
" FROM `%s` WHERE `char_id`=? LIMIT 1", schema_config.char_db)
|
||||||
|| SQL_ERROR == SqlStmt_BindParam(stmt, 0, SQLDT_INT, &char_id, 0)
|
|| SQL_ERROR == SqlStmt_BindParam(stmt, 0, SQLDT_INT, &char_id, 0)
|
||||||
|| SQL_ERROR == SqlStmt_Execute(stmt)
|
|| SQL_ERROR == SqlStmt_Execute(stmt)
|
||||||
@ -1090,6 +1093,8 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
|
|||||||
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 57, SQLDT_ENUM, &sex, sizeof(sex), NULL, NULL)
|
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 57, SQLDT_ENUM, &sex, sizeof(sex), NULL, NULL)
|
||||||
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 58, SQLDT_UCHAR, &p->hotkey_rowshift, 0, NULL, NULL)
|
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 58, SQLDT_UCHAR, &p->hotkey_rowshift, 0, NULL, NULL)
|
||||||
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 59, SQLDT_INT, &p->clan_id, 0, NULL, NULL)
|
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 59, SQLDT_INT, &p->clan_id, 0, NULL, NULL)
|
||||||
|
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 60, SQLDT_ULONG, &p->title_id, 0, NULL, NULL)
|
||||||
|
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 61, SQLDT_UINT16, &p->show_equip, 0, NULL, NULL)
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
SqlStmt_ShowDebug(stmt);
|
SqlStmt_ShowDebug(stmt);
|
||||||
@ -1423,12 +1428,16 @@ int char_make_new_char_sql(struct char_session_data* sd, char* name_, int str, i
|
|||||||
return -2; // invalid input
|
return -2; // invalid input
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// check the number of already existing chars in this account
|
// check the number of already existing chars in this account
|
||||||
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT 1 FROM `%s` WHERE `account_id` = '%d'", schema_config.char_db, sd->account_id) )
|
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT 1 FROM `%s` WHERE `account_id` = '%d'", schema_config.char_db, sd->account_id) )
|
||||||
Sql_ShowDebug(sql_handle);
|
Sql_ShowDebug(sql_handle);
|
||||||
|
#ifdef VIP_ENABLE
|
||||||
|
if( Sql_NumRows(sql_handle) >= MAX_CHARS )
|
||||||
|
return -2; // character account limit exceeded
|
||||||
|
#else
|
||||||
if( Sql_NumRows(sql_handle) >= sd->char_slots )
|
if( Sql_NumRows(sql_handle) >= sd->char_slots )
|
||||||
return -2; // character account limit exceeded
|
return -2; // character account limit exceeded
|
||||||
|
#endif
|
||||||
|
|
||||||
// check char slot
|
// check char slot
|
||||||
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT 1 FROM `%s` WHERE `account_id` = '%d' AND `char_num` = '%d' LIMIT 1", schema_config.char_db, sd->account_id, slot) )
|
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT 1 FROM `%s` WHERE `account_id` = '%d' AND `char_num` = '%d' LIMIT 1", schema_config.char_db, sd->account_id, slot) )
|
||||||
@ -1516,22 +1525,34 @@ int char_divorce_char_sql(int partner_id1, int partner_id2){
|
|||||||
/* Returns 0 if successful
|
/* Returns 0 if successful
|
||||||
* Returns < 0 for error
|
* Returns < 0 for error
|
||||||
*/
|
*/
|
||||||
int char_delete_char_sql(uint32 char_id){
|
enum e_char_del_response char_delete(struct char_session_data* sd, uint32 char_id){
|
||||||
char name[NAME_LENGTH];
|
char name[NAME_LENGTH];
|
||||||
char esc_name[NAME_LENGTH*2+1]; //Name needs be escaped.
|
char esc_name[NAME_LENGTH*2+1]; //Name needs be escaped.
|
||||||
uint32 account_id;
|
uint32 account_id;
|
||||||
int party_id, guild_id, hom_id, base_level, partner_id, father_id, mother_id, elemental_id;
|
int party_id, guild_id, hom_id, base_level, partner_id, father_id, mother_id, elemental_id;
|
||||||
|
time_t delete_date;
|
||||||
char *data;
|
char *data;
|
||||||
size_t len;
|
size_t len;
|
||||||
|
int i, k;
|
||||||
|
|
||||||
if (SQL_ERROR == Sql_Query(sql_handle, "SELECT `name`,`account_id`,`party_id`,`guild_id`,`base_level`,`homun_id`,`partner_id`,`father`,`mother`,`elemental_id` FROM `%s` WHERE `char_id`='%d'", schema_config.char_db, char_id))
|
ARR_FIND(0, MAX_CHARS, i, sd->found_char[i] == char_id);
|
||||||
|
|
||||||
|
// Such a character does not exist in the account
|
||||||
|
if (i == MAX_CHARS) {
|
||||||
|
ShowInfo("Char deletion aborted: %s, Account ID: %u, Character ID: %u\n", name, sd->account_id, char_id);
|
||||||
|
return CHAR_DELETE_NOTFOUND;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (SQL_ERROR == Sql_Query(sql_handle, "SELECT `name`,`account_id`,`party_id`,`guild_id`,`base_level`,`homun_id`,`partner_id`,`father`,`mother`,`elemental_id`,`delete_date` FROM `%s` WHERE `account_id`='%u' AND `char_id`='%u'", schema_config.char_db, sd->account_id, char_id)){
|
||||||
Sql_ShowDebug(sql_handle);
|
Sql_ShowDebug(sql_handle);
|
||||||
|
return CHAR_DELETE_DATABASE;
|
||||||
|
}
|
||||||
|
|
||||||
if( SQL_SUCCESS != Sql_NextRow(sql_handle) )
|
if( SQL_SUCCESS != Sql_NextRow(sql_handle) )
|
||||||
{
|
{
|
||||||
ShowError("delete_char_sql: Unable to fetch character data, deletion aborted.\n");
|
ShowInfo("Char deletion aborted: %s, Account ID: %u, Character ID: %u\n", name, sd->account_id, char_id);
|
||||||
Sql_FreeResult(sql_handle);
|
Sql_FreeResult(sql_handle);
|
||||||
return -1;
|
return CHAR_DELETE_NOTFOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
Sql_GetData(sql_handle, 0, &data, &len); safestrncpy(name, data, NAME_LENGTH);
|
Sql_GetData(sql_handle, 0, &data, &len); safestrncpy(name, data, NAME_LENGTH);
|
||||||
@ -1544,29 +1565,34 @@ int char_delete_char_sql(uint32 char_id){
|
|||||||
Sql_GetData(sql_handle, 7, &data, NULL); father_id = atoi(data);
|
Sql_GetData(sql_handle, 7, &data, NULL); father_id = atoi(data);
|
||||||
Sql_GetData(sql_handle, 8, &data, NULL); mother_id = atoi(data);
|
Sql_GetData(sql_handle, 8, &data, NULL); mother_id = atoi(data);
|
||||||
Sql_GetData(sql_handle, 9, &data, NULL); elemental_id = atoi(data);
|
Sql_GetData(sql_handle, 9, &data, NULL); elemental_id = atoi(data);
|
||||||
|
Sql_GetData(sql_handle,10, &data, NULL); delete_date = strtoul(data, NULL, 10);
|
||||||
|
|
||||||
Sql_EscapeStringLen(sql_handle, esc_name, name, zmin(len, NAME_LENGTH));
|
Sql_EscapeStringLen(sql_handle, esc_name, name, zmin(len, NAME_LENGTH));
|
||||||
Sql_FreeResult(sql_handle);
|
Sql_FreeResult(sql_handle);
|
||||||
|
|
||||||
//check for config char del condition [Lupus]
|
//check for config char del condition [Lupus]
|
||||||
// TODO: Move this out to packet processing (0x68/0x1fb).
|
|
||||||
if( ( charserv_config.char_config.char_del_level > 0 && base_level >= charserv_config.char_config.char_del_level )
|
if( ( charserv_config.char_config.char_del_level > 0 && base_level >= charserv_config.char_config.char_del_level )
|
||||||
|| ( charserv_config.char_config.char_del_level < 0 && base_level <= -charserv_config.char_config.char_del_level )
|
|| ( charserv_config.char_config.char_del_level < 0 && base_level <= -charserv_config.char_config.char_del_level )
|
||||||
) {
|
) {
|
||||||
ShowInfo("Char deletion aborted: %s, BaseLevel: %i\n", name, base_level);
|
ShowInfo("Char deletion aborted: %s, BaseLevel: %i\n", name, base_level);
|
||||||
return -1;
|
return CHAR_DELETE_BASELEVEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (charserv_config.char_config.char_del_restriction&CHAR_DEL_RESTRICT_GUILD && guild_id) // character is in guild
|
if (charserv_config.char_config.char_del_restriction&CHAR_DEL_RESTRICT_GUILD && guild_id) // character is in guild
|
||||||
{
|
{
|
||||||
ShowInfo("Char deletion aborted: %s, Guild ID: %i\n", name, guild_id);
|
ShowInfo("Char deletion aborted: %s, Guild ID: %i\n", name, guild_id);
|
||||||
return -1;
|
return CHAR_DELETE_GUILD;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (charserv_config.char_config.char_del_restriction&CHAR_DEL_RESTRICT_PARTY && party_id) // character is in party
|
if (charserv_config.char_config.char_del_restriction&CHAR_DEL_RESTRICT_PARTY && party_id) // character is in party
|
||||||
{
|
{
|
||||||
ShowInfo("Char deletion aborted: %s, Party ID: %i\n", name, party_id);
|
ShowInfo("Char deletion aborted: %s, Party ID: %i\n", name, party_id);
|
||||||
return -1;
|
return CHAR_DELETE_PARTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( charserv_config.char_config.char_del_delay > 0 && ( !delete_date || delete_date > time(NULL) ) ){ // not queued or delay not yet passed
|
||||||
|
ShowInfo("Char deletion aborted: %s, Time was not set or has not been reached ye\n", name );
|
||||||
|
return CHAR_DELETE_TIME;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Divorce [Wizputer] */
|
/* Divorce [Wizputer] */
|
||||||
@ -1580,7 +1606,7 @@ int char_delete_char_sql(uint32 char_id){
|
|||||||
|
|
||||||
if( SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `child`='0' WHERE `char_id`='%d' OR `char_id`='%d'", schema_config.char_db, father_id, mother_id) )
|
if( SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `child`='0' WHERE `char_id`='%d' OR `char_id`='%d'", schema_config.char_db, father_id, mother_id) )
|
||||||
Sql_ShowDebug(sql_handle);
|
Sql_ShowDebug(sql_handle);
|
||||||
if( SQL_ERROR == Sql_Query(sql_handle, "DELETE FROM `%s` WHERE `id` = '410'AND (`char_id`='%d' OR `char_id`='%d')", schema_config.skill_db, father_id, mother_id) )
|
if( SQL_ERROR == Sql_Query(sql_handle, "DELETE FROM `%s` WHERE `id` = '410' AND (`char_id`='%d' OR `char_id`='%d')", schema_config.skill_db, father_id, mother_id) )
|
||||||
Sql_ShowDebug(sql_handle);
|
Sql_ShowDebug(sql_handle);
|
||||||
|
|
||||||
WBUFW(buf,0) = 0x2b25;
|
WBUFW(buf,0) = 0x2b25;
|
||||||
@ -1671,6 +1697,10 @@ int char_delete_char_sql(uint32 char_id){
|
|||||||
if( SQL_ERROR == Sql_Query(sql_handle, "DELETE FROM `%s` WHERE `char_id` = '%d'", schema_config.bonus_script_db, char_id) )
|
if( SQL_ERROR == Sql_Query(sql_handle, "DELETE FROM `%s` WHERE `char_id` = '%d'", schema_config.bonus_script_db, char_id) )
|
||||||
Sql_ShowDebug(sql_handle);
|
Sql_ShowDebug(sql_handle);
|
||||||
|
|
||||||
|
/* Achievement Data */
|
||||||
|
if (SQL_ERROR == Sql_Query(sql_handle, "DELETE FROM `%s` WHERE `char_id` = '%d'", schema_config.achievement_table, char_id))
|
||||||
|
Sql_ShowDebug(sql_handle);
|
||||||
|
|
||||||
if (charserv_config.log_char) {
|
if (charserv_config.log_char) {
|
||||||
if( SQL_ERROR == Sql_Query(sql_handle, "INSERT INTO `%s`(`time`, `account_id`,`char_num`,`char_msg`,`name`) VALUES (NOW(), '%d', '%d', 'Deleted char (CID %d)', '%s')",
|
if( SQL_ERROR == Sql_Query(sql_handle, "INSERT INTO `%s`(`time`, `account_id`,`char_num`,`char_msg`,`name`) VALUES (NOW(), '%d', '%d', 'Deleted char (CID %d)', '%s')",
|
||||||
schema_config.charlog_db, account_id, 0, char_id, esc_name) )
|
schema_config.charlog_db, account_id, 0, char_id, esc_name) )
|
||||||
@ -1693,7 +1723,14 @@ int char_delete_char_sql(uint32 char_id){
|
|||||||
mapif_parse_BreakGuild(0,guild_id);
|
mapif_parse_BreakGuild(0,guild_id);
|
||||||
else if( guild_id )
|
else if( guild_id )
|
||||||
inter_guild_leave(guild_id, account_id, char_id);// Leave your guild.
|
inter_guild_leave(guild_id, account_id, char_id);// Leave your guild.
|
||||||
return 0;
|
|
||||||
|
// refresh character list cache
|
||||||
|
for(k = i; k < MAX_CHARS-1; k++){
|
||||||
|
sd->found_char[k] = sd->found_char[k+1];
|
||||||
|
}
|
||||||
|
sd->found_char[MAX_CHARS-1] = -1;
|
||||||
|
|
||||||
|
return CHAR_DELETE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2236,7 +2273,7 @@ bool char_checkdb(void){
|
|||||||
schema_config.auction_db, schema_config.quest_db, schema_config.homunculus_db, schema_config.skill_homunculus_db,
|
schema_config.auction_db, schema_config.quest_db, schema_config.homunculus_db, schema_config.skill_homunculus_db,
|
||||||
schema_config.mercenary_db, schema_config.mercenary_owner_db,
|
schema_config.mercenary_db, schema_config.mercenary_owner_db,
|
||||||
schema_config.elemental_db, schema_config.ragsrvinfo_db, schema_config.skillcooldown_db, schema_config.bonus_script_db,
|
schema_config.elemental_db, schema_config.ragsrvinfo_db, schema_config.skillcooldown_db, schema_config.bonus_script_db,
|
||||||
schema_config.clan_table, schema_config.clan_alliance_table, schema_config.mail_attachment_db
|
schema_config.clan_table, schema_config.clan_alliance_table, schema_config.mail_attachment_db, schema_config.achievement_table
|
||||||
};
|
};
|
||||||
ShowInfo("Start checking DB integrity\n");
|
ShowInfo("Start checking DB integrity\n");
|
||||||
for (i=0; i<ARRAYLENGTH(sqltable); i++){ //check if they all exist and we can acces them in sql-server
|
for (i=0; i<ARRAYLENGTH(sqltable); i++){ //check if they all exist and we can acces them in sql-server
|
||||||
@ -2252,7 +2289,7 @@ bool char_checkdb(void){
|
|||||||
"`guild_id`,`pet_id`,`homun_id`,`elemental_id`,`hair`,`hair_color`,`clothes_color`,`weapon`,"
|
"`guild_id`,`pet_id`,`homun_id`,`elemental_id`,`hair`,`hair_color`,`clothes_color`,`weapon`,"
|
||||||
"`shield`,`head_top`,`head_mid`,`head_bottom`,`robe`,`last_map`,`last_x`,`last_y`,`save_map`,"
|
"`shield`,`head_top`,`head_mid`,`head_bottom`,`robe`,`last_map`,`last_x`,`last_y`,`save_map`,"
|
||||||
"`save_x`,`save_y`,`partner_id`,`online`,`father`,`mother`,`child`,`fame`,`rename`,`delete_date`,"
|
"`save_x`,`save_y`,`partner_id`,`online`,`father`,`mother`,`child`,`fame`,`rename`,`delete_date`,"
|
||||||
"`moves`,`unban_time`,`font`,`sex`,`hotkey_rowshift`,`clan_id`,`last_login`"
|
"`moves`,`unban_time`,`font`,`sex`,`hotkey_rowshift`,`clan_id`,`last_login`,`title_id`,`show_equip`"
|
||||||
" FROM `%s` LIMIT 1;", schema_config.char_db) ){
|
" FROM `%s` LIMIT 1;", schema_config.char_db) ){
|
||||||
Sql_ShowDebug(sql_handle);
|
Sql_ShowDebug(sql_handle);
|
||||||
return false;
|
return false;
|
||||||
@ -2314,7 +2351,7 @@ bool char_checkdb(void){
|
|||||||
//checking guild_db
|
//checking guild_db
|
||||||
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `guild_id`,`name`,`char_id`,`master`,`guild_lv`,"
|
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `guild_id`,`name`,`char_id`,`master`,`guild_lv`,"
|
||||||
"`connect_member`,`max_member`,`average_lv`,`exp`,`next_exp`,`skill_point`,`mes1`,`mes2`,"
|
"`connect_member`,`max_member`,`average_lv`,`exp`,`next_exp`,`skill_point`,`mes1`,`mes2`,"
|
||||||
"`emblem_len`,`emblem_id`,`emblem_data`"
|
"`emblem_len`,`emblem_id`,`emblem_data`,`last_master_change`"
|
||||||
" FROM `%s` LIMIT 1;", schema_config.guild_db) ){
|
" FROM `%s` LIMIT 1;", schema_config.guild_db) ){
|
||||||
Sql_ShowDebug(sql_handle);
|
Sql_ShowDebug(sql_handle);
|
||||||
return false;
|
return false;
|
||||||
@ -2478,6 +2515,12 @@ bool char_checkdb(void){
|
|||||||
Sql_ShowDebug(sql_handle);
|
Sql_ShowDebug(sql_handle);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
//checking achievement_table
|
||||||
|
if (SQL_ERROR == Sql_Query(sql_handle, "SELECT `char_id`,`id`,`count1`,`count2`,`count3`,`count4`,`count5`,`count6`,`count7`,`count8`,`count9`,`count10`,`completed`,`rewarded`"
|
||||||
|
" FROM `%s` LIMIT 1;", schema_config.achievement_table)) {
|
||||||
|
Sql_ShowDebug(sql_handle);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
Sql_FreeResult(sql_handle);
|
Sql_FreeResult(sql_handle);
|
||||||
ShowInfo("DB integrity check finished with success\n");
|
ShowInfo("DB integrity check finished with success\n");
|
||||||
return true;
|
return true;
|
||||||
@ -2573,6 +2616,8 @@ void char_sql_config_read(const char* cfgName) {
|
|||||||
safestrncpy(schema_config.clan_table, w2, sizeof(schema_config.clan_table));
|
safestrncpy(schema_config.clan_table, w2, sizeof(schema_config.clan_table));
|
||||||
else if(!strcmpi(w1,"clan_alliance_table"))
|
else if(!strcmpi(w1,"clan_alliance_table"))
|
||||||
safestrncpy(schema_config.clan_alliance_table, w2, sizeof(schema_config.clan_alliance_table));
|
safestrncpy(schema_config.clan_alliance_table, w2, sizeof(schema_config.clan_alliance_table));
|
||||||
|
else if(!strcmpi(w1,"achievement_table"))
|
||||||
|
safestrncpy(schema_config.achievement_table, w2, sizeof(schema_config.achievement_table));
|
||||||
//support the import command, just like any other config
|
//support the import command, just like any other config
|
||||||
else if(!strcmpi(w1,"import"))
|
else if(!strcmpi(w1,"import"))
|
||||||
char_sql_config_read(w2);
|
char_sql_config_read(w2);
|
||||||
@ -2622,6 +2667,7 @@ void char_set_default_sql(){
|
|||||||
safestrncpy(schema_config.acc_reg_num_table,"acc_reg_num",sizeof(schema_config.acc_reg_num_table));
|
safestrncpy(schema_config.acc_reg_num_table,"acc_reg_num",sizeof(schema_config.acc_reg_num_table));
|
||||||
safestrncpy(schema_config.clan_table,"clan",sizeof(schema_config.clan_table));
|
safestrncpy(schema_config.clan_table,"clan",sizeof(schema_config.clan_table));
|
||||||
safestrncpy(schema_config.clan_table,"clan_alliance",sizeof(schema_config.clan_alliance_table));
|
safestrncpy(schema_config.clan_table,"clan_alliance",sizeof(schema_config.clan_alliance_table));
|
||||||
|
safestrncpy(schema_config.achievement_table,"achievement",sizeof(schema_config.achievement_table));
|
||||||
}
|
}
|
||||||
|
|
||||||
//set default config
|
//set default config
|
||||||
|
|||||||
@ -38,6 +38,16 @@ enum e_char_delete_restriction {
|
|||||||
CHAR_DEL_RESTRICT_ALL
|
CHAR_DEL_RESTRICT_ALL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum e_char_del_response {
|
||||||
|
CHAR_DELETE_OK = 0,
|
||||||
|
CHAR_DELETE_DATABASE,
|
||||||
|
CHAR_DELETE_NOTFOUND,
|
||||||
|
CHAR_DELETE_BASELEVEL,
|
||||||
|
CHAR_DELETE_GUILD,
|
||||||
|
CHAR_DELETE_PARTY,
|
||||||
|
CHAR_DELETE_TIME,
|
||||||
|
};
|
||||||
|
|
||||||
struct Schema_Config {
|
struct Schema_Config {
|
||||||
int db_use_sqldbs;
|
int db_use_sqldbs;
|
||||||
char db_path[1024];
|
char db_path[1024];
|
||||||
@ -80,6 +90,7 @@ struct Schema_Config {
|
|||||||
char char_reg_num_table[DB_NAME_LEN];
|
char char_reg_num_table[DB_NAME_LEN];
|
||||||
char clan_table[DB_NAME_LEN];
|
char clan_table[DB_NAME_LEN];
|
||||||
char clan_alliance_table[DB_NAME_LEN];
|
char clan_alliance_table[DB_NAME_LEN];
|
||||||
|
char achievement_table[DB_NAME_LEN];
|
||||||
};
|
};
|
||||||
extern struct Schema_Config schema_config;
|
extern struct Schema_Config schema_config;
|
||||||
|
|
||||||
@ -222,7 +233,6 @@ struct char_session_data {
|
|||||||
uint8 char_slots; // total number of characters that can be created
|
uint8 char_slots; // total number of characters that can be created
|
||||||
uint8 chars_vip;
|
uint8 chars_vip;
|
||||||
uint8 chars_billing;
|
uint8 chars_billing;
|
||||||
uint32 version;
|
|
||||||
uint8 clienttype;
|
uint8 clienttype;
|
||||||
char new_name[NAME_LENGTH];
|
char new_name[NAME_LENGTH];
|
||||||
char birthdate[10+1]; // YYYY-MM-DD
|
char birthdate[10+1]; // YYYY-MM-DD
|
||||||
@ -272,7 +282,7 @@ int char_mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p);
|
|||||||
int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p);
|
int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p);
|
||||||
int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_everything);
|
int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_everything);
|
||||||
int char_mmo_chars_fromsql(struct char_session_data* sd, uint8* buf);
|
int char_mmo_chars_fromsql(struct char_session_data* sd, uint8* buf);
|
||||||
int char_delete_char_sql(uint32 char_id);
|
enum e_char_del_response char_delete(struct char_session_data* sd, uint32 char_id);
|
||||||
int char_rename_char_sql(struct char_session_data *sd, uint32 char_id);
|
int char_rename_char_sql(struct char_session_data *sd, uint32 char_id);
|
||||||
int char_divorce_char_sql(int partner_id1, int partner_id2);
|
int char_divorce_char_sql(int partner_id1, int partner_id2);
|
||||||
int char_memitemdata_to_sql(const struct item items[], int max, int id, enum storage_type tableswitch, uint8 stor_id);
|
int char_memitemdata_to_sql(const struct item items[], int max, int id, enum storage_type tableswitch, uint8 stor_id);
|
||||||
|
|||||||
@ -303,8 +303,7 @@ int chclif_parse_pincode_setnew( int fd, struct char_session_data* sd ){
|
|||||||
//----------------------------------------
|
//----------------------------------------
|
||||||
void chclif_charlist_notify( int fd, struct char_session_data* sd ){
|
void chclif_charlist_notify( int fd, struct char_session_data* sd ){
|
||||||
// This is needed on RE clients from october 2015 onwards
|
// This is needed on RE clients from october 2015 onwards
|
||||||
// If you want to use one replace false by true here
|
#if defined(PACKETVER_RE) && PACKETVER >= 20151001
|
||||||
#if false && PACKETVER >= 20151001
|
|
||||||
WFIFOHEAD(fd, 10);
|
WFIFOHEAD(fd, 10);
|
||||||
WFIFOW(fd, 0) = 0x9a0;
|
WFIFOW(fd, 0) = 0x9a0;
|
||||||
// pages to req / send them all in 1 until mmo_chars_fromsql can split them up
|
// pages to req / send them all in 1 until mmo_chars_fromsql can split them up
|
||||||
@ -324,21 +323,25 @@ void chclif_charlist_notify( int fd, struct char_session_data* sd ){
|
|||||||
// Function to send characters to a player
|
// Function to send characters to a player
|
||||||
//----------------------------------------
|
//----------------------------------------
|
||||||
int chclif_mmo_send006b(int fd, struct char_session_data* sd){
|
int chclif_mmo_send006b(int fd, struct char_session_data* sd){
|
||||||
int j, offset = 0;
|
int j, offset;
|
||||||
bool newvers = (sd->version >= date2version(20100413) );
|
|
||||||
if(newvers) //20100413
|
#if PACKETVER >= 20100413
|
||||||
offset += 3;
|
offset = 3;
|
||||||
|
#else
|
||||||
|
offset = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (charserv_config.save_log)
|
if (charserv_config.save_log)
|
||||||
ShowInfo("Loading Char Data ("CL_BOLD"%d"CL_RESET")\n",sd->account_id);
|
ShowInfo("Loading Char Data ("CL_BOLD"%d"CL_RESET")\n",sd->account_id);
|
||||||
|
|
||||||
j = 24 + offset; // offset
|
j = 24 + offset; // offset
|
||||||
WFIFOHEAD(fd,j + MAX_CHARS*MAX_CHAR_BUF);
|
WFIFOHEAD(fd,j + MAX_CHARS*MAX_CHAR_BUF);
|
||||||
WFIFOW(fd,0) = 0x6b;
|
WFIFOW(fd,0) = 0x6b;
|
||||||
if(newvers){ //20100413
|
#if PACKETVER >= 20100413
|
||||||
WFIFOB(fd,4) = MAX_CHARS; // Max slots.
|
WFIFOB(fd,4) = MAX_CHARS; // Max slots.
|
||||||
WFIFOB(fd,5) = MIN_CHARS; // Available slots. (PremiumStartSlot)
|
WFIFOB(fd,5) = MIN_CHARS; // Available slots. (PremiumStartSlot)
|
||||||
WFIFOB(fd,6) = MIN_CHARS+sd->chars_vip; // Premium slots. (Any existent chars past sd->char_slots but within MAX_CHARS will show a 'Premium Service' in red)
|
WFIFOB(fd,6) = MIN_CHARS+sd->chars_vip; // Premium slots. (Any existent chars past sd->char_slots but within MAX_CHARS will show a 'Premium Service' in red)
|
||||||
}
|
#endif
|
||||||
memset(WFIFOP(fd,4 + offset), 0, 20); // unknown bytes
|
memset(WFIFOP(fd,4 + offset), 0, 20); // unknown bytes
|
||||||
j+=char_mmo_chars_fromsql(sd, WFIFOP(fd,j));
|
j+=char_mmo_chars_fromsql(sd, WFIFOP(fd,j));
|
||||||
WFIFOW(fd,2) = j; // packet len
|
WFIFOW(fd,2) = j; // packet len
|
||||||
@ -377,16 +380,18 @@ void chclif_mmo_send099d(int fd, struct char_session_data *sd) {
|
|||||||
* Function to choose wich kind of charlist to send to client depending on his version
|
* Function to choose wich kind of charlist to send to client depending on his version
|
||||||
*/
|
*/
|
||||||
void chclif_mmo_char_send(int fd, struct char_session_data* sd){
|
void chclif_mmo_char_send(int fd, struct char_session_data* sd){
|
||||||
ShowInfo("sd->version = %d\n",sd->version);
|
#if PACKETVER >= 20130000
|
||||||
if(sd->version >= date2version(20130000) ){
|
chclif_mmo_send082d(fd, sd);
|
||||||
chclif_mmo_send082d(fd,sd);
|
chclif_mmo_send006b(fd, sd);
|
||||||
chclif_mmo_send006b(fd,sd);
|
chclif_charlist_notify(fd, sd);
|
||||||
chclif_charlist_notify(fd,sd);
|
#else
|
||||||
} else
|
|
||||||
chclif_mmo_send006b(fd,sd);
|
chclif_mmo_send006b(fd,sd);
|
||||||
//@FIXME dump from kro doesn't show 6b transmission
|
//@FIXME dump from kro doesn't show 6b transmission
|
||||||
if(sd->version >= date2version(20060819) )
|
#endif
|
||||||
|
|
||||||
|
#if PACKETVER >= 20060819
|
||||||
chclif_block_character(fd,sd);
|
chclif_block_character(fd,sd);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -432,17 +437,16 @@ void chclif_char_delete2_ack(int fd, uint32 char_id, uint32 result, time_t delet
|
|||||||
/// 3 (0x719): A database error occurred.
|
/// 3 (0x719): A database error occurred.
|
||||||
/// 4 (0x71d): Deleting not yet possible time.
|
/// 4 (0x71d): Deleting not yet possible time.
|
||||||
/// 5 (0x71e): Date of birth do not match.
|
/// 5 (0x71e): Date of birth do not match.
|
||||||
|
/// 6 Name does not match.
|
||||||
|
/// 7 Character Deletion has failed because you have entered an incorrect e-mail address.
|
||||||
/// Any (0x718): An unknown error has occurred.
|
/// Any (0x718): An unknown error has occurred.
|
||||||
/// HC: <082a>.W <char id>.L <Msg:0-5>.L
|
/// HC: <082a>.W <char id>.L <Msg>.L
|
||||||
void chclif_char_delete2_accept_ack(int fd, uint32 char_id, uint32 result) {
|
void chclif_char_delete2_accept_ack(int fd, uint32 char_id, uint32 result) {
|
||||||
|
#if PACKETVER >= 20130000
|
||||||
if(result == 1 ){
|
if(result == 1 ){
|
||||||
struct char_session_data* sd;
|
chclif_mmo_char_send(fd, session[fd]->session_data);
|
||||||
sd = (struct char_session_data*)session[fd]->session_data;
|
|
||||||
|
|
||||||
if( sd->version >= date2version(20130000) ){
|
|
||||||
chclif_mmo_char_send(fd, sd);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
WFIFOHEAD(fd,10);
|
WFIFOHEAD(fd,10);
|
||||||
WFIFOW(fd,0) = 0x82a;
|
WFIFOW(fd,0) = 0x82a;
|
||||||
@ -561,10 +565,7 @@ int chclif_parse_char_delete2_accept(int fd, struct char_session_data* sd) {
|
|||||||
FIFOSD_CHECK(12)
|
FIFOSD_CHECK(12)
|
||||||
{
|
{
|
||||||
char birthdate[8+1];
|
char birthdate[8+1];
|
||||||
uint32 char_id, i, k;
|
uint32 char_id;
|
||||||
unsigned int base_level;
|
|
||||||
char* data;
|
|
||||||
time_t delete_date;
|
|
||||||
char_id = RFIFOL(fd,2);
|
char_id = RFIFOL(fd,2);
|
||||||
|
|
||||||
ShowInfo(CL_RED"Request Char Deletion: "CL_GREEN"%d (%d)"CL_RESET"\n", sd->account_id, char_id);
|
ShowInfo(CL_RED"Request Char Deletion: "CL_GREEN"%d (%d)"CL_RESET"\n", sd->account_id, char_id);
|
||||||
@ -581,54 +582,36 @@ int chclif_parse_char_delete2_accept(int fd, struct char_session_data* sd) {
|
|||||||
birthdate[8] = 0;
|
birthdate[8] = 0;
|
||||||
RFIFOSKIP(fd,12);
|
RFIFOSKIP(fd,12);
|
||||||
|
|
||||||
ARR_FIND( 0, MAX_CHARS, i, sd->found_char[i] == char_id );
|
// Only check for birthdate
|
||||||
if( i == MAX_CHARS )
|
if (!chclif_delchar_check(sd, birthdate, CHAR_DEL_BIRTHDATE)) {
|
||||||
{// character not found
|
|
||||||
chclif_char_delete2_accept_ack(fd, char_id, 3);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( SQL_SUCCESS != Sql_Query(sql_handle, "SELECT `base_level`,`delete_date` FROM `%s` WHERE `char_id`='%d'", schema_config.char_db, char_id) || SQL_SUCCESS != Sql_NextRow(sql_handle) )
|
|
||||||
{// data error
|
|
||||||
Sql_ShowDebug(sql_handle);
|
|
||||||
chclif_char_delete2_accept_ack(fd, char_id, 3);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
Sql_GetData(sql_handle, 0, &data, NULL); base_level = (unsigned int)strtoul(data, NULL, 10);
|
|
||||||
Sql_GetData(sql_handle, 1, &data, NULL); delete_date = strtoul(data, NULL, 10);
|
|
||||||
|
|
||||||
if( !delete_date || delete_date>time(NULL) )
|
|
||||||
{// not queued or delay not yet passed
|
|
||||||
chclif_char_delete2_accept_ack(fd, char_id, 4);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!chclif_delchar_check(sd, birthdate, CHAR_DEL_BIRTHDATE)) { // Only check for birthdate
|
|
||||||
chclif_char_delete2_accept_ack(fd, char_id, 5);
|
chclif_char_delete2_accept_ack(fd, char_id, 5);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( ( charserv_config.char_config.char_del_level > 0 && base_level >= (unsigned int)charserv_config.char_config.char_del_level )
|
switch( char_delete(sd,char_id) ){
|
||||||
|| ( charserv_config.char_config.char_del_level < 0 && base_level <= (unsigned int)(-charserv_config.char_config.char_del_level) ) )
|
|
||||||
{// character level config restriction
|
|
||||||
chclif_char_delete2_accept_ack(fd, char_id, 2);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// success
|
// success
|
||||||
if( char_delete_char_sql(char_id) < 0 ){
|
case CHAR_DELETE_OK:
|
||||||
chclif_char_delete2_accept_ack(fd, char_id, 3);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// refresh character list cache
|
|
||||||
for(k = i; k < MAX_CHARS-1; k++){
|
|
||||||
sd->found_char[k] = sd->found_char[k+1];
|
|
||||||
}
|
|
||||||
sd->found_char[MAX_CHARS-1] = -1;
|
|
||||||
|
|
||||||
chclif_char_delete2_accept_ack(fd, char_id, 1);
|
chclif_char_delete2_accept_ack(fd, char_id, 1);
|
||||||
|
break;
|
||||||
|
// data error
|
||||||
|
case CHAR_DELETE_DATABASE:
|
||||||
|
// character not found
|
||||||
|
case CHAR_DELETE_NOTFOUND:
|
||||||
|
chclif_char_delete2_accept_ack(fd, char_id, 3);
|
||||||
|
break;
|
||||||
|
// in a party
|
||||||
|
case CHAR_DELETE_PARTY:
|
||||||
|
// in a guild
|
||||||
|
case CHAR_DELETE_GUILD:
|
||||||
|
// character level config restriction
|
||||||
|
case CHAR_DELETE_BASELEVEL:
|
||||||
|
chclif_char_delete2_accept_ack(fd, char_id, 2);
|
||||||
|
break;
|
||||||
|
// not queued or delay not yet passed
|
||||||
|
case CHAR_DELETE_TIME:
|
||||||
|
chclif_char_delete2_accept_ack(fd, char_id, 4);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -751,7 +734,6 @@ int chclif_parse_reqtoconnect(int fd, struct char_session_data* sd,uint32 ipl){
|
|||||||
node->login_id2 == login_id2 /*&&
|
node->login_id2 == login_id2 /*&&
|
||||||
node->ip == ipl*/ )
|
node->ip == ipl*/ )
|
||||||
{// authentication found (coming from map server)
|
{// authentication found (coming from map server)
|
||||||
sd->version = node->version;
|
|
||||||
idb_remove(auth_db, account_id);
|
idb_remove(auth_db, account_id);
|
||||||
char_auth_ok(fd, sd);
|
char_auth_ok(fd, sd);
|
||||||
}
|
}
|
||||||
@ -993,6 +975,8 @@ int chclif_parse_createnewchar(int fd, struct char_session_data* sd,int cmd){
|
|||||||
* @param fd
|
* @param fd
|
||||||
* @param ErrorCode
|
* @param ErrorCode
|
||||||
* 00 = Incorrect Email address
|
* 00 = Incorrect Email address
|
||||||
|
* 01 = Invalid Slot
|
||||||
|
* 02 = In a party or guild
|
||||||
*/
|
*/
|
||||||
void chclif_refuse_delchar(int fd, uint8 errCode){
|
void chclif_refuse_delchar(int fd, uint8 errCode){
|
||||||
WFIFOHEAD(fd,3);
|
WFIFOHEAD(fd,3);
|
||||||
@ -1007,10 +991,9 @@ int chclif_parse_delchar(int fd,struct char_session_data* sd, int cmd){
|
|||||||
else return 0;
|
else return 0;
|
||||||
{
|
{
|
||||||
char email[40];
|
char email[40];
|
||||||
int i, ch;
|
uint32 cid = RFIFOL(fd,2);
|
||||||
int cid = RFIFOL(fd,2);
|
|
||||||
|
|
||||||
ShowInfo(CL_RED"Request Char Deletion: "CL_GREEN"%d (%d)"CL_RESET"\n", sd->account_id, cid);
|
ShowInfo(CL_RED"Request Char Deletion: "CL_GREEN"%u (%u)"CL_RESET"\n", sd->account_id, cid);
|
||||||
memcpy(email, RFIFOP(fd,6), 40);
|
memcpy(email, RFIFOP(fd,6), 40);
|
||||||
RFIFOSKIP(fd,( cmd == 0x68) ? 46 : 56);
|
RFIFOSKIP(fd,( cmd == 0x68) ? 46 : 56);
|
||||||
|
|
||||||
@ -1019,26 +1002,24 @@ int chclif_parse_delchar(int fd,struct char_session_data* sd, int cmd){
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// check if this char exists
|
|
||||||
ARR_FIND( 0, MAX_CHARS, i, sd->found_char[i] == cid );
|
|
||||||
if( i == MAX_CHARS ) { // Such a character does not exist in the account
|
|
||||||
chclif_refuse_delchar(fd,0);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// remove char from list and compact it
|
|
||||||
for(ch = i; ch < MAX_CHARS-1; ch++)
|
|
||||||
sd->found_char[ch] = sd->found_char[ch+1];
|
|
||||||
sd->found_char[MAX_CHARS-1] = -1;
|
|
||||||
|
|
||||||
/* Delete character */
|
/* Delete character */
|
||||||
if(char_delete_char_sql(cid)<0){
|
switch( char_delete(sd,cid) ){
|
||||||
//can't delete the char
|
case CHAR_DELETE_OK:
|
||||||
//either SQL error or can't delete by some CONFIG conditions
|
break;
|
||||||
//del fail
|
case CHAR_DELETE_DATABASE:
|
||||||
chclif_refuse_delchar(fd,0);
|
case CHAR_DELETE_BASELEVEL:
|
||||||
|
case CHAR_DELETE_TIME:
|
||||||
|
chclif_refuse_delchar(fd, 0);
|
||||||
|
return 1;
|
||||||
|
case CHAR_DELETE_NOTFOUND:
|
||||||
|
chclif_refuse_delchar(fd, 1);
|
||||||
|
return 1;
|
||||||
|
case CHAR_DELETE_GUILD:
|
||||||
|
case CHAR_DELETE_PARTY:
|
||||||
|
chclif_refuse_delchar(fd, 2);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Char successfully deleted.*/
|
/* Char successfully deleted.*/
|
||||||
WFIFOHEAD(fd,2);
|
WFIFOHEAD(fd,2);
|
||||||
WFIFOW(fd,0) = 0x6f;
|
WFIFOW(fd,0) = 0x6f;
|
||||||
|
|||||||
@ -295,7 +295,7 @@ int chlogif_parse_ackconnect(int fd, struct char_session_data* sd){
|
|||||||
}
|
}
|
||||||
|
|
||||||
int chlogif_parse_ackaccreq(int fd, struct char_session_data* sd){
|
int chlogif_parse_ackaccreq(int fd, struct char_session_data* sd){
|
||||||
if (RFIFOREST(fd) < 25)
|
if (RFIFOREST(fd) < 21)
|
||||||
return 0;
|
return 0;
|
||||||
{
|
{
|
||||||
uint32 account_id = RFIFOL(fd,2);
|
uint32 account_id = RFIFOL(fd,2);
|
||||||
@ -304,19 +304,14 @@ int chlogif_parse_ackaccreq(int fd, struct char_session_data* sd){
|
|||||||
uint8 sex = RFIFOB(fd,14);
|
uint8 sex = RFIFOB(fd,14);
|
||||||
uint8 result = RFIFOB(fd,15);
|
uint8 result = RFIFOB(fd,15);
|
||||||
int request_id = RFIFOL(fd,16);
|
int request_id = RFIFOL(fd,16);
|
||||||
uint32 version = RFIFOL(fd,20);
|
uint8 clienttype = RFIFOB(fd,20);
|
||||||
uint8 clienttype = RFIFOB(fd,24);
|
RFIFOSKIP(fd,21);
|
||||||
RFIFOSKIP(fd,25);
|
|
||||||
|
|
||||||
if( session_isActive(request_id) && (sd=(struct char_session_data*)session[request_id]->session_data) &&
|
if( session_isActive(request_id) && (sd=(struct char_session_data*)session[request_id]->session_data) &&
|
||||||
!sd->auth && sd->account_id == account_id && sd->login_id1 == login_id1 && sd->login_id2 == login_id2 && sd->sex == sex )
|
!sd->auth && sd->account_id == account_id && sd->login_id1 == login_id1 && sd->login_id2 == login_id2 && sd->sex == sex )
|
||||||
{
|
{
|
||||||
int client_fd = request_id;
|
int client_fd = request_id;
|
||||||
sd->version = version;
|
|
||||||
sd->clienttype = clienttype;
|
sd->clienttype = clienttype;
|
||||||
if(sd->version != date2version(PACKETVER))
|
|
||||||
ShowWarning("aid=%d has an incorect version=%d in clientinfo. Server compiled for %d\n",
|
|
||||||
sd->account_id,sd->version,date2version(PACKETVER));
|
|
||||||
|
|
||||||
switch( result )
|
switch( result )
|
||||||
{
|
{
|
||||||
@ -372,7 +367,6 @@ int chlogif_parse_reqaccdata(int fd, struct char_session_data* sd){
|
|||||||
// send characters to player
|
// send characters to player
|
||||||
chclif_mmo_char_send(u_fd, sd);
|
chclif_mmo_char_send(u_fd, sd);
|
||||||
#if PACKETVER_SUPPORTS_PINCODE
|
#if PACKETVER_SUPPORTS_PINCODE
|
||||||
if(sd->version >= date2version(20110309))
|
|
||||||
chlogif_pincode_start(u_fd,sd);
|
chlogif_pincode_start(u_fd,sd);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
@ -453,15 +453,14 @@ void chmapif_charselres(int fd, uint32 aid, uint8 res){
|
|||||||
* @return : 0 not enough data received, 1 success
|
* @return : 0 not enough data received, 1 success
|
||||||
*/
|
*/
|
||||||
int chmapif_parse_authok(int fd){
|
int chmapif_parse_authok(int fd){
|
||||||
if( RFIFOREST(fd) < 19 )
|
if( RFIFOREST(fd) < 18 )
|
||||||
return 0;
|
return 0;
|
||||||
else{
|
else{
|
||||||
uint32 account_id = RFIFOL(fd,2);
|
uint32 account_id = RFIFOL(fd,2);
|
||||||
uint32 login_id1 = RFIFOL(fd,6);
|
uint32 login_id1 = RFIFOL(fd,6);
|
||||||
uint32 login_id2 = RFIFOL(fd,10);
|
uint32 login_id2 = RFIFOL(fd,10);
|
||||||
uint32 ip = RFIFOL(fd,14);
|
uint32 ip = RFIFOL(fd,14);
|
||||||
int version = RFIFOB(fd,18);
|
RFIFOSKIP(fd,18);
|
||||||
RFIFOSKIP(fd,19);
|
|
||||||
|
|
||||||
if( runflag != CHARSERVER_ST_RUNNING ){
|
if( runflag != CHARSERVER_ST_RUNNING ){
|
||||||
chmapif_charselres(fd,account_id,0);
|
chmapif_charselres(fd,account_id,0);
|
||||||
@ -478,7 +477,6 @@ int chmapif_parse_authok(int fd){
|
|||||||
node->login_id2 = login_id2;
|
node->login_id2 = login_id2;
|
||||||
//node->sex = 0;
|
//node->sex = 0;
|
||||||
node->ip = ntohl(ip);
|
node->ip = ntohl(ip);
|
||||||
node->version = version; //upd version for mapserv
|
|
||||||
//node->expiration_time = 0; // unlimited/unknown time by default (not display in map-server)
|
//node->expiration_time = 0; // unlimited/unknown time by default (not display in map-server)
|
||||||
//node->gmlevel = 0;
|
//node->gmlevel = 0;
|
||||||
idb_put(auth_db, account_id, node);
|
idb_put(auth_db, account_id, node);
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user