Преглед на файлове

Merge branch 'master' into feature/char_deletion_code

Aleos преди 5 години
родител
ревизия
04e488c4c0
променени са 100 файла, в които са добавени 8570 реда и са изтрити 2730 реда
  1. 24 0
      .editorconfig
  2. 2 1
      .gitattributes
  3. 4 2
      .gitignore
  4. 1 1
      .mailmap
  5. 2 2
      .travis.yml
  6. 2 2
      3rdparty/libconfig/libconfig.vcxproj
  7. 2 2
      3rdparty/yaml-cpp/yaml-cpp.vcxproj
  8. 1 0
      AUTHORS
  9. 61 194
      README.md
  10. BIN
      branding/logo.png
  11. 1 0
      conf/atcommand_athena.conf
  12. 11 2
      conf/battle/battle.conf
  13. 1 1
      conf/battle/battleground.conf
  14. 6 0
      conf/battle/exp.conf
  15. 32 3
      conf/battle/feature.conf
  16. 7 1
      conf/battle/gm.conf
  17. 1 1
      conf/battle/homunc.conf
  18. 18 4
      conf/battle/items.conf
  19. 2 2
      conf/battle/misc.conf
  20. 1 1
      conf/battle/monster.conf
  21. 12 8
      conf/battle/pet.conf
  22. 1 1
      conf/battle/player.conf
  23. 8 0
      conf/battle/skill.conf
  24. 1 1
      conf/battle/status.conf
  25. 4 4
      conf/char_athena.conf
  26. 2 1
      conf/groups.conf
  27. 1 0
      conf/help.txt
  28. 5 1
      conf/import-tmpl/inter_server.yml
  29. 1 0
      conf/inter_athena.conf
  30. 12 4
      conf/inter_server.yml
  31. 4 6
      conf/log_athena.conf
  32. 11 1
      conf/login_athena.conf
  33. 1 1
      conf/motd.txt
  34. 15 5
      conf/msg_conf/map_msg.conf
  35. 2 3
      conf/msg_conf/map_msg_chn.conf
  36. 2 3
      conf/msg_conf/map_msg_frn.conf
  37. 2 3
      conf/msg_conf/map_msg_idn.conf
  38. 384 320
      conf/msg_conf/map_msg_por.conf
  39. 2 3
      conf/msg_conf/map_msg_rus.conf
  40. 3 4
      conf/msg_conf/map_msg_spn.conf
  41. 2 3
      conf/msg_conf/map_msg_tha.conf
  42. 15 2
      conf/packet_athena.conf
  43. 73 18
      configure
  44. 54 12
      configure.in
  45. 90 0
      db/achievement_db.yml
  46. 11 0
      db/attendance.yml
  47. 0 30
      db/guild_skill_tree.txt
  48. 44 0
      db/guild_skill_tree.yml
  49. 3 1
      db/import-tmpl/achievement_db.yml
  50. 1 1
      db/import-tmpl/attendance.yml
  51. 0 13
      db/import-tmpl/guild_skill_tree.txt
  52. 36 0
      db/import-tmpl/guild_skill_tree.yml
  53. 3 2
      db/import-tmpl/item_db.txt
  54. 6 0
      db/import-tmpl/item_flag.txt
  55. 4 0
      db/import-tmpl/mob_mission.txt
  56. 0 60
      db/import-tmpl/pet_db.txt
  57. 486 0
      db/import-tmpl/pet_db.yml
  58. 1 0
      db/mercenary_db.txt
  59. 2 0
      db/mercenary_skill_db.txt
  60. 1 1
      db/mob_item_ratio.txt
  61. 350 0
      db/mob_mission.txt
  62. 63 0
      db/pet_db.yml
  63. 312 101
      db/pre-re/achievement_db.yml
  64. 1 1
      db/pre-re/attendance.yml
  65. 123 0
      db/pre-re/guild_skill_tree.yml
  66. 0 1
      db/pre-re/item_buyingstore.txt
  67. 67 59
      db/pre-re/item_db.txt
  68. 1 1
      db/pre-re/item_delay.txt
  69. 6 0
      db/pre-re/item_flag.txt
  70. 4 0
      db/pre-re/item_misc.txt
  71. 2 2
      db/pre-re/job_db1.txt
  72. 1 1
      db/pre-re/mob_db.txt
  73. 0 104
      db/pre-re/pet_db.txt
  74. 867 0
      db/pre-re/pet_db.yml
  75. 15 21
      db/pre-re/skill_cast_db.txt
  76. 2 0
      db/pre-re/skill_castnodex_db.txt
  77. 75 68
      db/pre-re/skill_db.txt
  78. 15 13
      db/pre-re/skill_require_db.txt
  79. 0 3
      db/pre-re/skill_tree.txt
  80. 2 1
      db/pre-re/skill_unit_db.txt
  81. 325 132
      db/re/achievement_db.yml
  82. 59 59
      db/re/attendance.yml
  83. 123 0
      db/re/guild_skill_tree.yml
  84. 2 2
      db/re/instance_db.txt
  85. 78 5
      db/re/item_buyingstore.txt
  86. 493 37
      db/re/item_combo_db.txt
  87. 262 196
      db/re/item_db.txt
  88. 7 1
      db/re/item_delay.txt
  89. 6 0
      db/re/item_flag.txt
  90. 7 0
      db/re/item_misc.txt
  91. 1 0
      db/re/item_noequip.txt
  92. 265 117
      db/re/item_trade.txt
  93. 6 6
      db/re/job_db1.txt
  94. 849 849
      db/re/mob_db.txt
  95. 17 0
      db/re/mob_race2_db.txt
  96. 741 45
      db/re/mob_skill_db.txt
  97. 0 110
      db/re/pet_db.txt
  98. 1733 0
      db/re/pet_db.yml
  99. 173 43
      db/re/quest_db.txt
  100. 33 21
      db/re/skill_cast_db.txt

+ 24 - 0
.editorconfig

@@ -0,0 +1,24 @@
+# rAthena EditorConfig file
+# EditorConfig is awesome: https://EditorConfig.org
+# This file should be encoded in UTF-8 with CRLF or LF line endings.
+
+root = true
+
+# Add a blank newline to the end of every file after saving
+# Trim trailing whitespace
+[*]
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+# YAML does not support hard tabs.
+[*.{yml,yaml}]
+indent_style = space
+indent_size = 4
+
+# Use tabs in Makefiles
+[Makefile*]
+indent_style = tab
+
+# Scripts should use hard tabs to prevent script header goofs.
+[npc/**.txt]
+indent_style = tab

+ 2 - 1
.gitattributes

@@ -1,5 +1,6 @@
 *        text=auto
-*.c      diff=cpp
+*.cpp diff=cpp
+*.yml diff
 *.sln    merge=union
 *.vcproj merge=union
 *.vcxproj merge=union

+ 4 - 2
.gitignore

@@ -29,6 +29,7 @@ Thumbs.db
 *.a
 *.vcxproj.user
 /char-server
+/csv2yaml
 /config.log
 /config.status
 /core
@@ -71,7 +72,7 @@ Thumbs.db
 /src/common/Makefile
 /src/common/obj_all
 /src/common/obj_sql
-/src/common/svnversion.h
+/src/common/version.hpp
 
 # /src/custom/
 /src/custom
@@ -83,7 +84,7 @@ Thumbs.db
 # /src/map/
 /src/map/Makefile
 /src/map/obj_sql
-/src/map/pcre.h
+/src/map/pcre.hpp
 
 # /src/tool/
 /src/tool/Makefile
@@ -112,6 +113,7 @@ Thumbs.db
 
 # bat tools
 /charserv.bat
+/csv2yaml.bat
 /logserv.bat
 /mapcache.bat
 /mapserv.bat

+ 1 - 1
.mailmap

@@ -25,6 +25,7 @@ brianluau <brianluau@users.noreply.github.com> <brianluau@54d463be-8e91-2dee-ded
 cydh <cydh@users.noreply.github.com> <cydh@54d463be-8e91-2dee-dedb-b68131a5f0ec>
 Daegaladh <Daegaladh@users.noreply.github.com> <daegaladh@54d463be-8e91-2dee-dedb-b68131a5f0ec>
 Deadly Silence <mail@deadly-silence.de> <deadlysilence@54d463be-8e91-2dee-dedb-b68131a5f0ec>
+Epoque1 <22254628+Epoque1@users.noreply.github.com> <epoque11@54d463be-8e91-2dee-dedb-b68131a5f0ec>
 euphyy <euphy.raliel@rathena.org> <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec>
 flaviojs <flaviojs2005@gmail.com> <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec>
 flaviojs <flaviojs2005@gmail.com> <flaviojs2005@54d463be-8e91-2dee-dedb-b68131a5f0ec>
@@ -133,7 +134,6 @@ skotlex <skotlex@mailforce.net> <Skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>
 # mc_cameri <mc_cameri@54d463be-8e91-2dee-dedb-b68131a5f0ec>
 # evera <evera@54d463be-8e91-2dee-dedb-b68131a5f0ec>
 # SinSloth <SinSloth@54d463be-8e91-2dee-dedb-b68131a5f0ec>
-# epoque11 <epoque11@54d463be-8e91-2dee-dedb-b68131a5f0ec>
 # DracoRPG <DracoRPG@54d463be-8e91-2dee-dedb-b68131a5f0ec>
 # littlewolf <littlewolf@54d463be-8e91-2dee-dedb-b68131a5f0ec>
 # eaac <eaac@54d463be-8e91-2dee-dedb-b68131a5f0ec>

+ 2 - 2
.travis.yml

@@ -137,7 +137,7 @@ matrix:
 ##         MacOS default MySQL configuration does not like our card seller(only full group by)
 #        - ./tools/ci/npc.sh
 #        - make clean
-#        - make server
+#        - make all
 #        - ./login-server --run-once
 #        - ./char-server --run-once
 #        - ./map-server --run-once
@@ -181,7 +181,7 @@ script:
   - ./configure $CONFIGURE_FLAGS || travis_terminate 1
   - ./tools/ci/npc.sh
   - make clean || travis_terminate 1
-  - make server || travis_terminate 1
+  - make all || travis_terminate 1
   - ./login-server --run-once
   - ./char-server --run-once
   - ./map-server --run-once

+ 2 - 2
3rdparty/libconfig/libconfig.vcxproj

@@ -106,7 +106,7 @@
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>YY_USE_CONST;LIBCONFIG_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>YY_USE_CONST;LIBCONFIG_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
     </ClCompile>
     <Link>
@@ -120,7 +120,7 @@
       </PrecompiledHeader>
       <WarningLevel>Level3</WarningLevel>
       <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>YY_USE_CONST;LIBCONFIG_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>YY_USE_CONST;LIBCONFIG_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
     </ClCompile>
     <Link>

+ 2 - 2
3rdparty/yaml-cpp/yaml-cpp.vcxproj

@@ -95,7 +95,7 @@
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
       <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
       <AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
     </ClCompile>
   </ItemDefinitionGroup>
@@ -107,7 +107,7 @@
       </SDLCheck>
       <AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
       <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
-      <PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
     </ClCompile>
   </ItemDefinitionGroup>

+ 1 - 0
AUTHORS

@@ -227,6 +227,7 @@ Sirius_White
 sk
 SketchyPhoenix
 Skotlex
+SnakeDrak
 spamrat
 SPDFMember
 spira

+ 61 - 194
README.md

@@ -1,205 +1,72 @@
-rAthena
-=======
+<img src="branding/logo.png" align="right" height="90" />
+
+# rAthena
+[![Build Status](https://travis-ci.org/rathena/rathena.png?branch=master)](https://travis-ci.org/rathena/rathena) [![Build status](https://ci.appveyor.com/api/projects/status/8574b8nlwd57loda/branch/master?svg=true)](https://ci.appveyor.com/project/rAthenaAPI/rathena/branch/master) [![Total alerts](https://img.shields.io/lgtm/alerts/g/rathena/rathena.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/rathena/rathena/alerts/) [![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/rathena/rathena.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/rathena/rathena/context:cpp) ![GitHub](https://img.shields.io/github/license/rathena/rathena.svg) ![GitHub repo size](https://img.shields.io/github/repo-size/rathena/rathena.svg)
+> rAthena is a collaborative software development project revolving around the creation of a robust massively multiplayer online role playing game (MMORPG) server package. Written in C, the program is very versatile and provides NPCs, warps and modifications. The project is jointly managed by a group of volunteers located around the world as well as a tremendous community providing QA and support. rAthena is a continuation of the eAthena project.
+
+[Forum](https://rathena.org/board)|[Discord](https://rathena.org/discord)|[Wiki](https://github.com/rathena/rathena/wiki)|[FluxCP](https://github.com/rathena/FluxCP)|[Crowdfunding](https://rathena.org/board/crowdfunding/)|[Fork and Pull Request Q&A](https://rathena.org/board/topic/86913-pull-request-qa/)
+--------|--------|--------|--------|--------|--------
+
+### Table of Contents
+1. [Prerequisites](#1-prerequisites)
+2. [Installation](#2-installation)
+3. [Troubleshooting](#3-troubleshooting)
+4. [More Documentation](#4-more-documentation)
+5. [How to Contribute](#5-how-to-contribute)
+6. [License](#6-license)
+
+## 1. Prerequisites
+Before installing rAthena there are certain tools and applications you will need which
+differs between the varying operating systems available.
+
+### Hardware
+Hardware Type | Minimum | Recommended
+------|------|------
+CPU | 1 Core | 2 Cores
+RAM | 1 GB | 2 GB
+Disk Space | 300 MB | 500 MB
+
+### Operating System & Preferred Compiler
+Operating System | Compiler
+------|------
+Linux  | [gcc-5 or newer](https://www.gnu.org/software/gcc/gcc-5/) / [Make](https://www.gnu.org/software/make/)
+Windows | [MS Visual Studio 2013, 2015, 2017](https://www.visualstudio.com/downloads/)
+
+### Required Applications
+Application | Name
+------|------
+Database | [MySQL 5 or newer](https://www.mysql.com/downloads/) / [MariaDB 5 or newer](https://downloads.mariadb.org/)
+Git | [Windows](https://gitforwindows.org/) / [Linux](https://git-scm.com/download/linux)
+
+### Optional Applications
+Application | Name
+------|------
+Database | [MySQL Workbench 5 or newer](http://www.mysql.com/downloads/workbench/)
+
+## 2. Installation 
+
+### Full Installation Instructions
+  * [Windows](https://github.com/rathena/rathena/wiki/Install-on-Windows)
+  * [CentOS](https://github.com/rathena/rathena/wiki/Install-on-Centos)
+  * [Debian](https://github.com/rathena/rathena/wiki/Install-on-Debian)
+  * [FreeBSD](https://github.com/rathena/rathena/wiki/Install-on-FreeBSD)
+
+## 3. Troubleshooting
 
-Build Status: [![Build Status](https://travis-ci.org/rathena/rathena.png?branch=master)](https://travis-ci.org/rathena/rathena) [![Build status](https://ci.appveyor.com/api/projects/status/8574b8nlwd57loda/branch/master?svg=true)](https://ci.appveyor.com/project/rAthenaAPI/rathena/branch/master)
-
-Table of Contents
----------
-1. What is rAthena?
-2. Prerequisites
-3. Installation
-4. Troubleshooting
-5. Helpful Links
-6. More Documentation
-7. How to Contribute
-
-1. What is rAthena?
----------
-rAthena is a collaborative software development project revolving around the
-creation of a robust massively multiplayer online role playing game (MMORPG)
-server package. Written in C, the program is very versatile and provides NPCs,
-warps and modifications. The project is jointly managed by a group of volunteers
-located around the world as well as a tremendous community providing QA and
-support. rAthena is a continuation of the eAthena project.
-
-2. Prerequisites
----------
-Before installing rAthena there are certain tools and applications you will need.
-This differs between the varying operating systems available, so the following
-is broken down into Windows and Linux prerequisites.
-
-* Windows
-	* MySQL ( http://www.mysql.com/downloads/mysql/ )
-	* MySQL Workbench ( http://www.mysql.com/downloads/workbench/ )
-	* MS Visual Studio ( https://www.visualstudio.com/downloads/ )
-	* TortoiseGIT ( http://code.google.com/p/tortoisegit/ )
-	* git for Windows ( https://gitforwindows.org/ )
-
-* Linux (names of packages may require specific version numbers on certain distributions)
-	* gcc
-	* g++
-	* make
-	* mysql
-	* mysql-devel
-	* mysql-server
-	* pcre-devel
-	* zlib-devel
-	* git
-
-3. Installation 
----------
-This section is a very brief set of installation instructions. For more concise guides
-relevant to your Operation System, please refer to the Wiki (links at the end of this file).
-
-* Windows
-	* Install prerequisites
-	* Create a folder to download rAthena into (e.g. C:\rAthena)
-	* Right click this folder and select "Git Clone"
-	* Paste the GitHub URL into the box:
-
-				https://github.com/rathena/rathena.git
-				
-	* Open MySQL Workbench and create an instance to connect to your MySQL Server
-	* Create a database (rathena), a user (rathena), give permissions (GRANT SELECT,INSERT,UPDATE,DELETE)
-		and then login using the new user
-	* Use MySQL Workbench to run the .sql files in /sql-files/ on the new rathena database
-
-* Linux
-	* Type:
-		* (For CentOS)
-
-				yum install gcc g++ make mysql mysql-devel mysql-server pcre-devel zlib-devel git
-		* (For Debian)
-
-				apt-get install git make gcc g++ libmysqlclient-dev zlib1g-dev libpcre3-dev
-	* Type:
-
-				mysql_secure_installation
-	* Start your MySQL server
-	* Setup a MySQL user:
-
-				CREATE USER 'rathena'@'localhost' IDENTIFIED BY 'password';
-	* Assign permissions:
-
-				GRANT SELECT,INSERT,UPDATE,DELETE ON `rathena\_rag`.* TO 'rathena'@'localhost';
-	* Clone a GIT repository:
-
-				git clone https://github.com/rathena/rathena.git ~/rathena
-	* Insert SQL files:
-
-				mysql --user=root -p rathena_rag < trunk/sql-files/main.sql (and others)
-	* Configure and compile:
-
-				./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:
-
-				./athena-start start
-
-* Optional
-	* If you want to have your own forked version but still get updates from the main rAthena repository
-		* Fork this repository to your GitHub account
-		* List the current configured remote repository for your fork:
-		
-				git remote -v
-
-		* Specify a new remote upstream repository that will be synced with your fork:
-		
-				git remote add upstream https://github.com/rathena/rathena.git
-				
-		* Verify the new upstream repository you've specified for your fork:
-		
-				git remote -v
-				
-		* You should see the main rAthena repository as well as your forked repository
-		* Now, when you want to get updates from rAthena, simply do:
-		
-				git pull upstream master
-
-	* Remember that rAthena falls under [GNU GPLv3](https://github.com/rathena/rathena/blob/master/LICENSE).
-
-4. Troubleshooting
----------
 If you're having problems with starting your server, the first thing you should
 do is check what's happening on your consoles. More often that not, all support issues
-can be solved simply by looking at the error messages given.
-
-Examples:
-
-* You get an error on your map-server that looks something like this:
-
-			[Error]: npc_parsesrcfile: Unable to parse, probably a missing or extra TAB in 
-				file 'npc/custom/jobmaster.txt', line '17'. Skipping line...
-				* w1=prontera,153,193,6 script
-				* w2=Job Master
-				* w3=123,{
-				* w4=
-
-    If you look at the error, it's telling you that you're missing (or have an extra) TAB.
-		This is easily fixed by looking at this part of the error:
-
-				* w1=prontera,153,193,6 script
-
-	If there was a TAB where it's supposed to be, that line would have prontera,153,193,6 at w1
-		and 'script' at w2. As there's a space instead of a TAB, the two sections are read as a
-		single parameter.
-
-* You have a default user/password warning similar to the following:
-
-			[Warning]: Using the default user/password s1/p1 is NOT RECOMMENDED.
-			[Notice]: Please edit your 'login' table to create a proper inter-server user/pa
-			ssword (gender 'S')
-			[Notice]: and then edit your user/password in conf/map_athena.conf (or conf/impo
-			rt/map_conf.txt)
-
-    Relax. This is just indicating that you're using the default username and password. To
-		fix this, check over the part in the installation instructions relevant to the `login` table.
-	
-* Your map-server outputs the following:
-
-			[Error]: make_connection: connect failed (socket #2, error 10061: No connection
-			could be made because the target machine actively refused it.
-			)!
+can be solved simply by looking at the error messages given. Check out the [wiki](https://github.com/rathena/rathena/wiki)
+or [forums](https://rathena.org/forum) if you need more support on troubleshooting.
 
-    If this shows up on the map server, it generally means that there is no Char Server available
-		to accept the connection.
-
-
-
-5. Helpful Links
----------
-* rAthena Forums
-	* https://rathena.org/
-
-* GIT Repository
-	* https://github.com/rathena/rathena
-
-* Full Installation Instructions
-	* [Windows](https://github.com/rathena/rathena/wiki/Install-on-Windows)
-	* [CentOS](https://github.com/rathena/rathena/wiki/Install-on-Centos)
-	* [Debian](https://github.com/rathena/rathena/wiki/Install-on-Debian)
-	* [FreeBSD](https://github.com/rathena/rathena/wiki/Install-on-FreeBSD)
-
-* rAthena Discord Chat
-	https://rathena.org/discord
-
-* rAthena Wiki
-	https://github.com/rathena/rathena/wiki
-
-* Fork and Pull Request Q&A
-	https://rathena.org/board/topic/86913-pull-request-qa/
-
-
-6. More Documentation
----------
+## 4. More Documentation
 rAthena has a large collection of help files and sample NPC scripts located in the /doc/
 directory. These include detailed explanations of NPC script commands, atcommands (@),
 group permissions, item bonuses, and packet structures, among many other topics. We
 recommend that all users take the time to look over this directory before asking for
 assistance elsewhere.
 
-7. How to Contribute
----------
+## 5. How to Contribute
 Details on how to contribute to rAthena can be found in [CONTRIBUTING.md](https://github.com/rathena/rathena/blob/master/.github/CONTRIBUTING.md)!
+
+## 6. License
+Copyright (c) rAthena Development Team - Licensed under [GNU General Public License v3.0](https://github.com/rathena/rathena/blob/master/LICENSE)

BIN
branding/logo.png


+ 1 - 0
conf/atcommand_athena.conf

@@ -64,6 +64,7 @@ aliases: {
 	clonestat: ["stclone"]
 	reloadnpcfile: ["reloadnpc"]
 	changedress: ["nocosplay"]
+	camerainfo: ["viewpointvalue", "setcamera"]
 }
 
 /* Commands help file */

+ 11 - 2
conf/battle/battle.conf

@@ -6,11 +6,12 @@
 // Note 1: Value is a config switch (on/off, yes/no or 1/0)
 // Note 2: Value is in percents (100 means 100%)
 // Note 3: Value is a bit field. If no description is given,
-//         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, 128: NPC, 512: Elemental)
 //--------------------------------------------------------------
 
 // Who should have a baseatk value (makes str affect damage)? (Note 3)
-enable_baseatk: 9
+enable_baseatk: 0x9
+enable_baseatk_renewal: 0x29F
 
 // Who can have perfect flee? (Note 3)
 enable_perfect_flee: 1
@@ -141,6 +142,14 @@ delay_battle_damage: yes
 //     skills should consume ammo when it's acquired via a card or plagiarize)
 arrow_decrement: 1
 
+// Should ammo be unequipped when unequipping a weapon?
+// Official behavior is "yes".
+ammo_unequip: yes
+
+// Should a suitable weapon be equipped when equipping ammo?
+// Official behavior is "yes".
+ammo_check_weapon: yes
+
 // Should the item script bonus 'Autospell' check for range/obstacles before casting?
 // Official behavior is "no", setting this to "yes" will make skills use their defined
 // range. For example, Sonic Blow requires a 2 cell distance before autocasting is allowed.

+ 1 - 1
conf/battle/battleground.conf

@@ -6,7 +6,7 @@
 // Note 1: Value is a config switch (on/off, yes/no or 1/0)
 // Note 2: Value is in percents (100 means 100%)
 // Note 3: Value is a bit field. If no description is given,
-//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun)
+//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary, 128: NPC, 512: Elemental)
 //--------------------------------------------------------------
 
 // Melee damage adjustments (non skills) for Battleground maps (Note 2)

+ 6 - 0
conf/battle/exp.conf

@@ -18,6 +18,12 @@ job_exp_rate: 100
 // Turn this on to allow a player to level up more than once from a kill. (Note 1)
 multi_level_up: no
 
+// Allow multi level up until a certain level?
+// This only triggers if multi_level_up is enabled.
+// Default: 0 (Unlimited)
+multi_level_up_base: 0
+multi_level_up_job: 0
+
 // Setting this can cap the max experience one can get per kill specified as a
 // % of the current exp bar. (Every 10 = 1.0%)
 // For example, set it to 500 and no matter how much exp the mob gives, 

+ 32 - 3
conf/battle/feature.conf

@@ -4,7 +4,7 @@
 // Note 1: Value is a config switch (on/off, yes/no or 1/0)
 // Note 2: Value is in percents (100 means 100%)
 // Note 3: Value is a bit field. If no description is given,
-//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun)
+//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary, 128: NPC, 512: Elemental)
 //--------------------------------------------------------------
 
 // Buying store (Note 1)
@@ -67,10 +67,39 @@ feature.roulette: on
 // Requires: 2015-05-13aRagexe or later
 feature.achievement: on
 
+// Equipment Switch (Note 1)
+// Requires: 2017-02-08bRagexeRE or later
+feature.equipswitch: on
+
+// Pet evolution (Note 1)
+// Requires: 2014-10-08aRagexe or later
+feature.petevolution: on
+
+// Automatic Pet Feeding (Note 1)
+// Requires: 2014-10-08aRagexe or later
+feature.petautofeed: on
+
+// At which hunger rate should pet autofeeding trigger? (Note 2)
+// Default: 89
+feature.pet_autofeed_rate: 89
+
 // Homunculues Autofeeding (Note 1)
 // Requires: 2017-09-20bRagexeRE or later
-feature.homunculus_autofeed: off
+feature.homunculus_autofeed: on
+
+// At which rate should homunculus autofeeding trigger? (Note 2)
+// Default: 30
+//
+// NOTE:
+// This setting only applies, if your client side LUAs are bugged.
+// By default the client triggers the feeding packet itself once
+// it reaches the limit that is hardcoded in the client.
+feature.homunculus_autofeed_rate: 30
 
 // Attendance System (Note 1)
 // Requires: 2018-03-07bRagexeRE or later
-feature.attendance: off
+feature.attendance: on
+
+// Private Airship System (Note 1)
+// Requires: 2018-03-21aRagexeRE or later
+feature.privateairship: on

+ 7 - 1
conf/battle/gm.conf

@@ -24,7 +24,7 @@ partial_name_scan: yes
 // Duration of the ban, in minutes (default: 5). To disable the ban, set 0.
 ban_hack_trade: 5
 
-// requires RENEWAL_EXP or RENEWAL_DROP to be enabled (src/config/renewal.h)
+// requires RENEWAL_EXP or RENEWAL_DROP to be enabled (src/config/renewal.hpp)
 // modifies @mobinfo to display the users' real drop rate as per renewal_drop formula
 // modifies @iteminfo to not display the minimum item drop rate (since it can't tell the mob level)
 // modifies @whodrops to display the users' real drop rate as per renewal_drop formula
@@ -34,3 +34,9 @@ atcommand_mobinfo_type: 1
 // This option is for @baselevelup and @joblevelup
 // Default: no
 atcommand_levelup_events: no
+
+// Disable atcommands while a player is attached to a npc? (Note 1)
+// This can be changed by script commands 'enable_command' and 'disable_command'.
+// Anyone with the 'command_enable' permission in the 'conf/group.conf' can bypass this.
+// Default: yes
+atcommand_disable_npc: yes

+ 1 - 1
conf/battle/homunc.conf

@@ -6,7 +6,7 @@
 // Note 1: Value is a config switch (on/off, yes/no or 1/0)
 // Note 2: Value is in percents (100 means 100%)
 // Note 3: Value is a bit field. If no description is given,
-//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun)
+//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary, 128: NPC, 512: Elemental)
 //--------------------------------------------------------------
 
 // Homunculus setting (Note 3)

+ 18 - 4
conf/battle/items.conf

@@ -6,7 +6,7 @@
 // Note 1: Value is a config switch (on/off, yes/no or 1/0)
 // Note 2: Value is in percents (100 means 100%)
 // Note 3: Value is a bit field. If no description is given,
-//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun)
+//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary, 128: NPC, 512: Elemental)
 //--------------------------------------------------------------
 
 // The highest value at which an item can be sold via the merchant vend skill. (in zeny)
@@ -112,9 +112,12 @@ item_flooritem_check: yes
 default_bind_on_equip: 4
 
 // Allow selling of bound/sell restricted items as Itemshop currency? (Note 3)
-// 0x0 = Bound/sell restricted items are unable to be sold at Itemshops
-// 0x1 = Bound items are able to be sold at Itemshops
-// 0x2 = Sell restricted items are able to be sold at Itemshops
+// 0x0 = Bound/sell restricted items are unable to be sold to Itemshops/Shops
+// 0x1 = Bound items are able to be sold to Itemshops
+// 0x2 = Sell restricted items are able to be sold to Itemshops
+// 0x4 = Bound items are able to be sold to Shops,
+//       because most of trade restricted items are still able to be sold to Shops
+// 0x8 = Only Guild Leader can sell BOUND_GUILD items to Shops or Itemshops (if 0x1 or 0x4 set)
 allow_bound_sell: 0x0
 
 // Turn on event refine chance (see db/{pre-}re/refine_db.yml)
@@ -127,3 +130,14 @@ event_refine_chance: no
 // Note: Players with short names can be fully converted to asterisks if this
 // config value is set high.
 broadcast_hide_name: 2
+
+// Enable to sell rental item to NPC shop? (Note 1)
+rental_transaction: yes
+
+// Minimum purchase price of items at a normal Shop
+// Officially items cannot be purchased for less than 1 Zeny
+min_shop_buy: 1
+
+// Minimum sell price of items at a normal shop
+// Officially items can be sold for 0 Zeny
+min_shop_sell: 0

+ 2 - 2
conf/battle/misc.conf

@@ -6,7 +6,7 @@
 // Note 1: Value is a config switch (on/off, yes/no or 1/0)
 // Note 2: Value is in percents (100 means 100%)
 // Note 3: Value is a bit field. If no description is given,
-//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun)
+//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary, 128: NPC, 512: Elemental)
 //--------------------------------------------------------------
 
 // PK Server Mode.  Turns entire server pvp(excluding towns). Experience loss is doubled if killed by another player.
@@ -99,7 +99,7 @@ duel_only_on_same_map: no
 // Set to 0 for no cell stacking checks and free movement.
 // Custom - This variation will make every full cell to be considered a wall.
 // NOTE: For the custom setting to take effect you have to use a server compiled
-// with Cell Stack Limit support (see src/map/map.h)
+// with Cell Stack Limit support (see src/map/map.hpp)
 official_cell_stack_limit: 1
 custom_cell_stack_limit: 1
 

+ 1 - 1
conf/battle/monster.conf

@@ -6,7 +6,7 @@
 // Note 1: Value is a config switch (on/off, yes/no or 1/0)
 // Note 2: Value is in percents (100 means 100%)
 // Note 3: Value is a bit field. If no description is given,
-//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun)
+//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary, 128: NPC, 512: Elemental)
 //--------------------------------------------------------------
 
 // The HP rate of MVPs. (Note 2)

+ 12 - 8
conf/battle/pet.conf

@@ -6,7 +6,7 @@
 // Note 1: Value is a config switch (on/off, yes/no or 1/0)
 // Note 2: Value is in percents (100 means 100%)
 // Note 3: Value is a bit field. If no description is given,
-//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun)
+//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary, 128: NPC, 512: Elemental)
 //--------------------------------------------------------------
 
 // Rate for catching pets (Note 2)
@@ -21,11 +21,8 @@ pet_friendly_rate: 100
 // The rate at which a pet will become hungry. (Note 2)
 pet_hungry_delay_rate: 100
 
-// If your pet is hungry by how much will the friendlyness decrease by. (Default is 5)
-// Note: The friendlyness is 0-1000 total, at 0 the pet runs away.
-pet_hungry_friendly_decrease: 5
-
 // Does the pet need its equipment before it does its skill? (Note 1)
+// These bonuses are unofficial and found in the import/pet_db.yml
 pet_equip_required: yes
 
 // When the master attacks a monster, whether or not the pet will also attack. (Note 1)
@@ -39,9 +36,6 @@ pet_damage_support: no
 // At max (1000) support rate is 150%.
 pet_support_min_friendly: 900
 
-// Same as above, but this is to use the pet_script field with official pet abilities.
-pet_equip_min_friendly: 900
-
 // Whether or not the pet's will use skills. (Note 1)
 // Note: Offensive pet skills need at least pet_attack_support or 
 // pet_damage_support to work (they trigger while the pet is attacking).
@@ -81,3 +75,13 @@ pet_ignore_infinite_def: yes
 
 // Whether or not the pet will continue to attack when the master is dead. (Note 1)
 pet_master_dead: no
+
+// Send auto-feed notice even if the client setting is OFF (Note 1) 
+// Official: yes
+pet_autofeed_always: yes
+
+// Pet walk speed.
+// 1: Master's walk speed (official)
+// 2: DEFAULT_WALK_SPEED value
+// 3: Mob database walk speed
+pet_walk_speed: 1

+ 1 - 1
conf/battle/player.conf

@@ -6,7 +6,7 @@
 // Note 1: Value is a config switch (on/off, yes/no or 1/0)
 // Note 2: Value is in percents (100 means 100%)
 // Note 3: Value is a bit field. If no description is given,
-//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun)
+//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary, 128: NPC, 512: Elemental)
 //--------------------------------------------------------------
 
 // Players' maximum HP rate? (Default is 100)

+ 8 - 0
conf/battle/skill.conf

@@ -375,3 +375,11 @@ banana_bomb_duration: 0
 // Official: no
 // Legacy rAthena logic: yes
 skill_drop_items_full: no
+
+// EDP setting: (Note 3)
+// When switching/unequipping a right hand weapon, should EDP be removed? EDP can't be used with bare hand.
+// 0: Disabled (rAthena legacy and pre-renewal behavior).
+// 1: Enabled on pre-renewal.
+// 2: Enabled on renewal.
+// 3: 1+2
+switch_remove_edp: 2

+ 1 - 1
conf/battle/status.conf

@@ -6,7 +6,7 @@
 // Note 1: Value is a config switch (on/off, yes/no or 1/0)
 // Note 2: Value is in percents (100 means 100%)
 // Note 3: Value is a bit field. If no description is given,
-//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun)
+//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary, 128: NPC, 512: Elemental)
 //--------------------------------------------------------------
 
 // Should skill casting be cancelled when inflicted by curse/stun/sleep/etc (includes silence) (Note 3)?

+ 4 - 4
conf/char_athena.conf

@@ -85,7 +85,7 @@ char_maintenance: 0
 
 // Enable or disable creation of new characters.
 // Now it is actually supported [Kevin]
-char_new: 1
+char_new: yes
 
 // Display (New) in the server list.
 char_new_display: 0
@@ -109,7 +109,7 @@ save_log: yes
 
 // Starting point for new characters
 // Format: <map_name>,<x>,<y>{:<map_name>,<x>,<y>...}
-// Max number of start points is MAX_STARTPOINT in char.h (default 5)
+// Max number of start points is MAX_STARTPOINT in char.hpp (default 5)
 // Location is randomly picked on character creation.
 // NOTE: For Doram, this requires client 20151001 or newer.
 start_point: iz_int,18,26:iz_int01,18,26:iz_int02,18,26:iz_int03,18,26:iz_int04,18,26
@@ -117,7 +117,7 @@ start_point_pre: new_1-1,53,111:new_2-1,53,111:new_3-1,53,111:new_4-1,53,111:new
 start_point_doram: lasa_fild01,48,297
 
 // Starting items for new characters
-// Max number of items is MAX_STARTITEM in char.c (default 32)
+// Max number of items is MAX_STARTITEM in char.cpp (default 32)
 // Format: <id>,<amount>,<position>{:<id>,<amount>,<position>...}
 // To auto-equip an item, include the position where it will be equipped; otherwise, use zero.
 // NOTE: For Doram, this requires client 20151001 or newer.
@@ -141,7 +141,7 @@ guild_exp_rate: 100
 unknown_char_name: Unknown
 
 // To log the character server?
-log_char: 1
+log_char: yes
 
 // Allow or not identical name for characters but with a different case (upper/lower):
 // example: Test-test-TEST-TesT; Value: 0 not allowed (default), 1 allowed

+ 2 - 1
conf/groups.conf

@@ -87,13 +87,13 @@ groups: (
 	inherit: ( /*empty list*/ )
 	commands: {
 		changedress: true
+		resurrect: true
 	}
 	permissions: {
 		/* without this basic permissions regular players could not 
 		trade or party */
 		can_trade: true
 		can_party: true
-		command_enable: true
 		attendance: true
 	}
 },
@@ -284,6 +284,7 @@ groups: (
 	permissions: {
 		can_trade: true
 		can_party: true
+		command_enable: true
 		all_skill: false
 		all_equipment: false
 		skill_unconditional: false

+ 1 - 0
conf/help.txt

@@ -325,3 +325,4 @@ reload: "Params: <type>\n" "Reload a database or configuration file.\n"
 langtype: "Params: <language>\n" "Changes your language setting."
 limitedsale: "Opens the limited sale window."
 changedress: "Removes all character costumes."
+camerainfo: "Shows or updates the client's camera settings."

+ 5 - 1
conf/import-tmpl/inter_server.yml

@@ -10,7 +10,11 @@
 #	  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:
+Header:
+  Type: INTER_SERVER_DB
+  Version: 1
+
+#Body:
 #   - ID: 1
 #     Name: "VIP Storage"
 #     Table: "vip_storage"

+ 1 - 0
conf/inter_athena.conf

@@ -149,6 +149,7 @@ vending_table: vendings
 vending_items_table: vending_items
 market_table: market
 roulette_table: db_roulette
+guild_storage_log: guild_storage_log
 
 // Use SQL item_db, mob_db and mob_skill_db for the map server? (yes/no)
 use_sql_db: no

+ 12 - 4
conf/inter_server.yml

@@ -28,7 +28,15 @@
 #	  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"
+Header:
+  Type: INTER_SERVER_DB
+  Version: 1
+
+Body:
+  - ID: 0
+    Name: "Storage"
+    Table: "storage"
+
+Footer:
+  Imports:
+    - Path: conf/import/inter_server.yml

+ 4 - 6
conf/log_athena.conf

@@ -4,7 +4,7 @@
 // Note 1: Value is a config switch (on/off, yes/no or 1/0)
 // Note 2: Value is in percents (100 means 100%)
 // Note 3: Value is a bit field. If no description is given,
-//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun)
+//         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary, 128: NPC, 512: Elemental)
 //--------------------------------------------------------------
 
 // Enable Logs? (Note 3)
@@ -37,7 +37,7 @@
 // Please note that moving items from inventory to cart and back is not logged by design.
 enable_logs: 0xFFFFFF
 
-// Use MySQL Logs? [SQL Version Only] (Note 1)
+// Use MySQL Logs? (Note 1)
 sql_logs: yes
 
 // LOGGING FILTERS
@@ -86,10 +86,8 @@ log_branch: no
 // 0 - don't log; 1 - log any zeny changes; 2.....1000000 - minimal absolute logging zeny value
 log_zeny: 0
 
-// Track Cash Changes
-// 0 - don't log
-// 1 - log any changes
-log_cash: 1
+// Track Cash Changes (Note 1)
+log_cash: yes
 
 // Log MVP Monster Drops (Note 1)
 // Outdated. Use Pick_Log instead. But this log could be useful to keep track slayed MVPs

+ 11 - 1
conf/login_athena.conf

@@ -89,7 +89,7 @@ min_group_id_to_connect: -1
 vip_group: 5
 
 // How many characters are allowed per account?
-// You cannot exceed the limit of MAX_CHARS slots, defined in mmo.h, or chars_per_account
+// You cannot exceed the limit of MAX_CHARS slots, defined in mmo.hpp, or chars_per_account
 // will default to MAX_CHARS.
 // 0 will default to the value of MIN_CHARS. (default)
 chars_per_account: 0
@@ -110,6 +110,16 @@ start_limited_time: -1
 // NOTE: Will not work with clients that use <passwordencrypt>
 use_MD5_passwords: no
 
+// User count colorization on login window (requires PACKETVER >= 20170726)
+// Disable colorization and description in general?
+usercount_disable: no
+// Amount of users that will display in green
+usercount_low: 200
+// Amount of users that will display in yellow
+usercount_medium: 500
+// Amount of users that will display in red
+usercount_high: 1000
+
 // Available values, choose one
 // `email`             : Email address
 // `birthdate`         : Birthdate (YYMMDD of birthdate, YY is last 2 digit of birth year)

+ 1 - 1
conf/motd.txt

@@ -1,2 +1,2 @@
-// Internal default is limited to 128 lines.  If you need more, you will need to modify the MOTD_LINE_SIZE definition in pc.c
+// Internal default is limited to 128 lines.  If you need more, you will need to modify the MOTD_LINE_SIZE definition in pc.cpp
 Welcome to rAthena! Enjoy! Please report any bugs you find.

+ 15 - 5
conf/msg_conf/map_msg.conf

@@ -458,8 +458,7 @@
 // Homunculus messages
 450: You already have a homunculus
 
-// Return pet to egg message
-451: You can't return your pet because your inventory is full.
+//451 free
 
 // Message System
 460: Please enter a valid language (usage: @langtype <language>).
@@ -852,7 +851,15 @@
 790: <MSG>3456,%d</MSG>
 791: You are not allowed to use the attendance system.
 
-//792-899 free
+// Private Airship
+792: The private airship system is disabled.
+
+793: Usage @camerainfo range rotation latitude
+
+// pcblock command
+794: This action is currently blocked.
+
+//795-899 free
 
 //------------------------------------
 // More atcommands message
@@ -1057,7 +1064,10 @@
 1050: Other Flags:
 1051: Other Flags2:
 1052: Skill Damage Adjustments:
-//1053-1064 free
+1053:  > [Map] %d%%, %d%%, %d%%, %d%% | Caster:%d
+1054:  > [Map Skill] Name : Player, Monster, Boss Monster, Other | Caster
+1055: Skill Duration Adjustments:
+//1056-1064 free
 1065:  No Exp Penalty: %s | No Zeny Penalty: %s
 1066: On
 1067: Off
@@ -1548,7 +1558,7 @@
 1391: You do not possess a cart to be removed
 1392: Cart Added.
 
-// atcommand.c::is_atcommand
+// atcommand.cpp::is_atcommand
 1393: You can't use commands while dead.
 
 // @clearstorage

+ 2 - 3
conf/msg_conf/map_msg_chn.conf

@@ -441,8 +441,7 @@
 // Homunculus messages
 450: 你已經擁有一個人工生命體了
 
-// Return pet to egg message
-451: 你無法收回寵物,因為你身上沒有空間了
+//451 free
 
 // Message System
 460: 請輸入合法的語言 (usage: @langtype <language>).
@@ -1373,7 +1372,7 @@
 1391: You do not possess a cart to be removed
 1392: Cart Added.
 
-// atcommand.c::is_atcommand
+// atcommand.cpp::is_atcommand
 1393: 角色死亡時不能使用指令。
 
 // @clearstorage

+ 2 - 3
conf/msg_conf/map_msg_frn.conf

@@ -449,8 +449,7 @@
 // Homunculus messages
 450: Vous possédez déjà un homunculus
 
-// Return pet to egg message
-451: Vous ne pouvez pas remettre votre pet dans son oeuf car votre inventaire est plein.
+//451 free
 
 // Message System
 460: Entrez une langue (usage: @langtype <langue>).
@@ -1386,7 +1385,7 @@
 1391: Vous ne possédez pas de chariot.
 1392: Chariot ajouté.
 
-// atcommand.c::is_atcommand
+// atcommand.cpp::is_atcommand
 1393: Les morts ne pouvent pas utiliser de commande.
 
 // @clearstorage

+ 2 - 3
conf/msg_conf/map_msg_idn.conf

@@ -459,8 +459,7 @@
 // Pesan-pesan untuk Homunculus
 450: Kamu sudah memiliki homunculus
 
-// Pesan tentang mengembalikan peliharaan ke telur
-451: Kamu tidak dapat mengembalikan peliharaan kamu karena inventory penuh.
+//451 free
 
 // Sistem Pesan
 460: Harap masukkan tipe bahasa yang valid. (Penggunaan: @langtype <bahasa>).
@@ -1477,7 +1476,7 @@
 1391: Kamu tidak memiliki keranjang yang akan dihapus.
 1392: Gerobak ditambahkan.
 
-// atcommand.c::is_atcommand
+// atcommand.cpp::is_atcommand
 1393: Kamu tidak bisa menggunakan perintah ini ketika mati.
 
 // @clearstorage

Файловите разлики са ограничени, защото са твърде много
+ 384 - 320
conf/msg_conf/map_msg_por.conf


+ 2 - 3
conf/msg_conf/map_msg_rus.conf

@@ -449,8 +449,7 @@
 // Сообщения команды @makehomun
 450: У вас уже есть гомункулус
 
-// Возвращение питомца в яйцо
-451: Вы не можете вернуть питомца в яйцо, потому что ваш инвентарь забит.
+//451 free
 
 // @langtype
 460: Введите существующий язык (Используйте: @langtype <язык>).
@@ -1386,7 +1385,7 @@
 1391: У вас нет телеги.
 1392: Телега добавлена.
 
-// atcommand.c::is_atcommand
+// atcommand.cpp::is_atcommand
 1393: Вы не можете использовать команды когда мертвы.
  
 // @clearstorage

+ 3 - 4
conf/msg_conf/map_msg_spn.conf

@@ -458,8 +458,7 @@
 // Mensajes de homúnculos
 450: Ya tienes un homúnculo.
 
-// Mensaje al devolver la mascota al huevo
-451: No puedes devolver tu mascota al huevo porque tu inventario está lleno.
+//451 free
 
 // Sistema de mensajería
 460: Introduce un idioma válido (instrucciones: @langtype <idioma>)
@@ -1199,7 +1198,7 @@
 1193: No estás recogiendo ese objeto.
 1194: Has eliminado '%s'/'%s' {%hu} de tu lista de recogida de objetos.
 1195: Puedes almacenar %d objetos en tu lista de recogida de objetos.
-1196: Para añadir un nuevo objeto a la lista utiliza @alootid <nombre/ID del objeto>. Para eliminar un objeto utiliza @alootid <nombre/ID del objeto>.
+1196: Para añadir un nuevo objeto a la lista utiliza @alootid +<nombre/ID del objeto>. Para eliminar un objeto utiliza @alootid -<nombre/ID del objeto>.
 1197: "@alootid reset" reiniciará tu lista de recogida de objetos.
 1198: Tu lista de recogida de objetos está vacía.
 1199: Lista de objetos para recoger automáticamente:
@@ -1527,7 +1526,7 @@
 1391: No tienes ningún carro.
 1392: Ahora tienes un carro.
 
-// atccomand.c::is_atcommand
+// atccomand.cpp::is_atcommand
 1393: No puedes utilizar ningún comando porque estás muerto.
 
 // @clearstorage

+ 2 - 3
conf/msg_conf/map_msg_tha.conf

@@ -447,8 +447,7 @@
 // Homunculus messages
 450: へ沉� Homunculus 吐勹崤榍.
 
-// Return pet to egg message
-451: へ充凌室烈枚唷绾恃登爨耪槁т撮嗑靡歇柰о$孩艇愎笛桥肖绵电�.
+//451 free
 
 // Message System
 460: 饣么嗯淄±疑曳砧甸艇∫� (窃刚悛�: @langtype <酪梢>).
@@ -1379,7 +1378,7 @@
 1391: へ充凌琳枚啖绻氛瑷信和汀.
 1392: 翟吹验�多㈢灌谜潞瞄吐.
 
-// atcommand.c::is_atcommand
+// atcommand.cpp::is_atcommand
 1393: へ充凌室烈枚悛椁邮谚т撮愎⒊械衣吐罔.
 
 // @clearstorage

+ 15 - 2
conf/packet_athena.conf

@@ -5,6 +5,19 @@
 // Display debug reports (When something goes wrong during the report, the report is saved.)
 debug: no
 
+// Linux/Epoll: Maximum Events per cycle
+// Default Value:
+//	(Maximum Supported Connections)/2
+// NOTE: this controls the maximum collected socket-events per-cycle (call to epoll_wait())
+//       for example settings this to 32 will allow up to 32 events (incoming data/new connections
+//       per server-cycle.
+// NOTE: Recommended Settings is at least half the maximum supported connections
+//       Settings this to a lower value, may cause lags/delays
+//       Depending on available CPU Time
+// NOTE: This Setting is only available on Linux when build using EPoll as event dispatcher!
+//
+//epoll_maxevents: 1024
+
 // How long can a socket stall before closing the connection (in seconds)
 stall_time: 60
 
@@ -22,7 +35,7 @@ enable_ip_rules: yes
 
 order: deny,allow
 // order: allow,deny
-// order: mutual-failture
+// order: mutual-failure
 
 // IP rules
 //   allow : Accepts connections from the ip range (even if flagged as DDoS)
@@ -45,7 +58,7 @@ order: deny,allow
 ddos_interval: 3000
 
 // Consecutive attempts trigger
-// (default is 5 attemps)
+// (default is 5 attempts)
 ddos_count: 5
 
 // The time interval after which the threat of DDoS is assumed to be gone. (msec)

+ 73 - 18
configure

@@ -698,6 +698,7 @@ ac_user_opts='
 enable_option_checking
 enable_manager
 enable_packetver
+enable_epoll
 enable_debug
 enable_prere
 enable_vip
@@ -1338,7 +1339,8 @@ Optional Features:
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --enable-manager=ARG    memory managers: no, builtin, memwatch, dmalloc,
                           gcollect, bcheck (defaults to builtin)
-  --enable-packetver=ARG  Sets the PACKETVER define. (see src/common/mmo.h)
+  --enable-packetver=ARG  Sets the PACKETVER define. (see src/common/mmo.hpp)
+  --enable-epoll          use epoll(4) on Linux
   --enable-debug[=ARG]    Compiles extra debug code. (disabled by default)
                           (available options: yes, no, gdb)
   --enable-prere[=ARG]    Compiles serv in prere mode. (disabled by default)
@@ -1365,7 +1367,9 @@ Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --with-maxconn[=ARG]    optionally set the maximum connections the core can
-                          handle (default: 16384) NOT USED YET - EXPERIMENTAL
+                          handle. By default the system header value will be used.
+                          This will only be the compile time limit, make sure
+                          you set the correct limit with ulimit on your OS.
   --with-outputlogin[=ARG]
                           Specify the login-serv output name (defaults to
                           login-server)
@@ -3236,6 +3240,55 @@ fi
 
 
 
+#
+# Epoll
+#
+# Check whether --enable-epoll was given.
+if test "${enable_epoll+set}" = set; then :
+  enableval=$enable_epoll; enable_epoll=$enableval
+else
+  enable_epoll=no
+
+fi
+
+if test x$enable_epoll = xno; then
+	have_linux_epoll=no
+else
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Linux epoll(4)" >&5
+$as_echo_n "checking for Linux epoll(4)... " >&6; }
+	cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+		#ifndef __linux__
+		#error This is not Linux
+		#endif
+		#include <sys/epoll.h>
+
+int
+main ()
+{
+epoll_create1 (EPOLL_CLOEXEC);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  have_linux_epoll=yes
+else
+  have_linux_epoll=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_linux_epoll" >&5
+$as_echo "$have_linux_epoll" >&6; }
+fi
+if test x$enable_epoll,$have_linux_epoll = xyes,no; then
+    as_fn_error $? "epoll support explicitly enabled but not available" "$LINENO" 5
+fi
+
+
+
 #
 # debug
 #
@@ -3418,22 +3471,11 @@ fi
 # Check whether --with-maxconn was given.
 if test "${with_maxconn+set}" = set; then :
   withval=$with_maxconn;
-		if test "$withval" == "no";	 then
-			CPPFLAGS="$CPPFLAGS -DMAXCONN=16384"
-		else
-
-			if ! test "$withval" -ge 0 -o "$withval" -lt 0 2>&- ; then
-				as_fn_error $? "Invalid argument --with-maxconn=$withval ... stopping" "$LINENO" 5
-			else
-				CPPFLAGS="$CPPFLAGS -DMAXCONN=$withval"
-			fi
-		fi
-
-else
-
-		CPPFLAGS="$CPPFLAGS -DMAXCONN=16384"
-
-
+	if ! test "$withval" -ge 0 -o "$withval" -lt 0 2>&- ; then
+		as_fn_error $? "Invalid argument --with-maxconn=$withval ... stopping" "$LINENO" 5
+	else
+		CPPFLAGS="$CPPFLAGS -DMAXCONN=$withval"
+	fi
 fi
 
 
@@ -5920,6 +5962,19 @@ if test -n "$enable_packetver" ; then
 fi
 
 
+#
+# Epoll
+#
+case $have_linux_epoll in
+	"yes")
+		CPPFLAGS="$CPPFLAGS -DSOCKET_EPOLL"
+		;;
+	"no")
+		# default value
+		;;
+esac
+
+
 #
 # Debug
 #

+ 54 - 12
configure.in

@@ -53,6 +53,40 @@ AC_ARG_ENABLE(
 )
 
 
+#
+# Epoll
+#
+AC_ARG_ENABLE(
+	[epoll],
+	AC_HELP_STRING(
+		[--enable-epoll],
+		[use epoll(4) on Linux]
+	),
+	[enable_epoll=$enableval],
+	[enable_epoll=no]
+)
+if test x$enable_epoll = xno; then
+	have_linux_epoll=no
+else
+	AC_MSG_CHECKING([for Linux epoll(4)])
+	AC_LINK_IFELSE([AC_LANG_PROGRAM(
+		[
+		#ifndef __linux__
+		#error This is not Linux
+		#endif
+		#include <sys/epoll.h>
+		],
+		[epoll_create1 (EPOLL_CLOEXEC);])],
+		[have_linux_epoll=yes],
+		[have_linux_epoll=no]
+	)
+	AC_MSG_RESULT([$have_linux_epoll])
+fi
+if test x$enable_epoll,$have_linux_epoll = xyes,no; then
+	AC_MSG_ERROR([epoll support explicitly enabled but not available])
+fi
+
+
 #
 # debug
 #
@@ -261,29 +295,24 @@ AC_ARG_ENABLE(
 
 
 #
-# Optionally set the max number of network conenctions
-# the core will be support
+# Optionally set the maximum number of network connections
+# the core will be able to handle
 #
 AC_ARG_WITH(
 	[maxconn],
 	AC_HELP_STRING(
 		[--with-maxconn@<:@=ARG@:>@],
-		[optionally set the maximum connections the core can handle (default: 16384) NOT USED YET - EXPERIMENTAL]
+		[optionally set the maximum connections the core can handle. By default the system header value is used.]
 	),
 	[
-		if test "$withval" == "no";	 then
-			CPPFLAGS="$CPPFLAGS -DMAXCONN=16384"
+		if ! test "$withval" -ge 0 -o "$withval" -lt 0 2>&- ; then
+			AC_MSG_ERROR([Invalid argument --with-maxconn=$withval ... stopping])
 		else
-
-			if ! test "$withval" -ge 0 -o "$withval" -lt 0 2>&- ; then
-				AC_MSG_ERROR([Invalid argument --with-maxconn=$withval ... stopping])
-			else
-				CPPFLAGS="$CPPFLAGS -DMAXCONN=$withval"
-			fi
+			CPPFLAGS="$CPPFLAGS -DMAXCONN=$withval"
 		fi
 	],
 	[
-		CPPFLAGS="$CPPFLAGS -DMAXCONN=16384"
+		CPPFLAGS="$CPPFLAGS"
 	]
 )
 
@@ -985,6 +1014,19 @@ if test -n "$enable_packetver" ; then
 fi
 
 
+#
+# Epoll
+#
+case $have_linux_epoll in
+	"yes")
+		CPPFLAGS="$CPPFLAGS -DSOCKET_EPOLL"
+		;;
+	"no")
+		# default value
+		;;
+esac
+
+
 #
 # Debug
 #

+ 90 - 0
db/achievement_db.yml

@@ -0,0 +1,90 @@
+# 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/>.
+#
+###########################################################################
+# Renewal 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.
+###########################################################################
+
+Header:
+  Type: ACHIEVEMENT_DB
+  Version: 1
+
+Footer:
+  Imports:
+  - Path: db/pre-re/achievement_db.yml
+    Mode: Prerenewal
+  - Path: db/re/achievement_db.yml
+    Mode: Renewal
+  - Path: db/import/achievement_db.yml

+ 11 - 0
db/attendance.yml

@@ -0,0 +1,11 @@
+Header:
+  Type: ATTENDANCE_DB
+  Version: 1
+  
+Footer:
+  Imports:
+  - Path: db/pre-re/attendance.yml
+    Mode: Prerenewal
+  - Path: db/re/attendance.yml
+    Mode: Renewal
+  - Path: db/import/attendance.yml

+ 0 - 30
db/guild_skill_tree.txt

@@ -1,30 +0,0 @@
-// Guild Skill Tree Database
-//
-// Structure of Database:
-// SkillID,MaxLv,Prerequisite SkillID1,Prerequisite SkillLv1,PrereqSkillID2,PrereqSkillLv2,PrereqSkillID3,PrereqSkillLv3,PrereqSkillID4,PrereqSkillLv4,PrereqSkillID5,PrereqSkillLv5	//GUILD SKILLNAME#Skill Name#
-//
-// 01. SkillID                  Skill ID of the guild skill.
-// 02. MaxLv                    Maximum level of the guild skill.
-// 03. Prerequisite SkillID     Guild skill required for the skill to become available.
-// 04. Prerequisite SkillLv     Level of the required guild skill.
-// ...
-//
-// NOTE: MAX_GUILD_SKILL_REQUIRE (typically 5) ID/Lv pairs must be specified.
-
-
-10000,1,0,0,0,0,0,0,0,0,0,0	//GD_APPROVAL#Official Guild Approval#
-10001,1,10000,1,0,0,0,0,0,0,0,0	//GD_KAFRACONTRACT#Contract with Kafra#
-10002,1,10000,1,0,0,0,0,0,0,0,0	//GD_GUARDRESEARCH#Guardian Research#
-10003,3,0,0,0,0,0,0,0,0,0,0	//GD_GUARDUP#Strengthen Guardians#
-10004,10,0,0,0,0,0,0,0,0,0,0	//GD_EXTENSION#Guild Extension#
-10005,0,0,0,0,0,0,0,0,0,0,0	//GD_GLORYGUILD#Guilds Glory#
-10006,5,0,0,0,0,0,0,0,0,0,0	//GD_LEADERSHIP#Great Leadership#
-10007,5,0,0,0,0,0,0,0,0,0,0	//GD_GLORYWOUNDS#Glorious Wounds#
-10008,5,10007,1,0,0,0,0,0,0,0,0	//GD_SOULCOLD#Cold Heart#
-10009,5,10006,1,0,0,0,0,0,0,0,0	//GD_HAWKEYES#Sharp Gaze#
-10010,1,10000,1,10004,2,0,0,0,0,0,0	//GD_BATTLEORDER#Battle Command#
-10011,3,10000,1,10004,5,10010,1,0,0,0,0	//GD_REGENERATION#Regeneration#
-10012,1,10011,1,0,0,0,0,0,0,0,0	//GD_RESTORE#Restoration#
-10013,1,10000,1,10002,1,10004,5,10010,1,10011,1	//GD_EMERGENCYCALL#Urgent Call#
-10014,1,0,0,0,0,0,0,0,0,0,0	//GD_DEVELOPMENT#Permanent Development#
-10016,5,0,0,0,0,0,0,0,0,0,0	//GD_GUILD_STORAGE#Guild Storage Expansion#

+ 44 - 0
db/guild_skill_tree.yml

@@ -0,0 +1,44 @@
+# This file is a part of rAthena.
+#   Copyright(C) 2019 rAthena Development Team
+#   https://rathena.org - https://github.com/rathena
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+###########################################################################
+# Guild Skill Database
+###########################################################################
+#
+# Guild Skill Settings
+#
+###########################################################################
+# Id - Skill ID of the guild skill.
+###########################################################################
+# MaxLevel - Maximum level of the guild skill.
+###########################################################################
+# Required - A list of required skills for the skill to become available.
+#   Id: Skill ID of the required guild skill.
+#   Level: Level of the required guild skill.
+###########################################################################
+
+Header:
+  Type: GUILD_SKILL_TREE_DB
+  Version: 1
+
+Footer:
+  Imports:
+  - Path: db/pre-re/guild_skill_tree.yml
+    Mode: Prerenewal
+  - Path: db/re/guild_skill_tree.yml
+    Mode: Renewal
+  - Path: db/import/guild_skill_tree.yml

+ 3 - 1
db/import-tmpl/achievement_db.yml

@@ -77,4 +77,6 @@
 # Score - Achievement points that are given on completion.
 ###########################################################################
 
-Achievements:
+Header:
+  Type: ACHIEVEMENT_DB
+  Version: 1

+ 1 - 1
db/import-tmpl/attendance.yml

@@ -1,3 +1,3 @@
 Header:
-  Type: ATTENDANCE_CONF
+  Type: ATTENDANCE_DB
   Version: 1

+ 0 - 13
db/import-tmpl/guild_skill_tree.txt

@@ -1,13 +0,0 @@
-// Guild Skill Tree Database
-//
-// Structure of Database:
-// SkillID,MaxLv,Prerequisite SkillID1,Prerequisite SkillLv1,PrereqSkillID2,PrereqSkillLv2,PrereqSkillID3,PrereqSkillLv3,PrereqSkillID4,PrereqSkillLv4,PrereqSkillID5,PrereqSkillLv5	//GUILD SKILLNAME#Skill Name#
-//
-// 01. SkillID                  Skill ID of the guild skill.
-// 02. MaxLv                    Maximum level of the guild skill.
-// 03. Prerequisite SkillID     Guild skill required for the skill to become available.
-// 04. Prerequisite SkillLv     Level of the required guild skill.
-// ...
-//
-// NOTE: MAX_GUILD_SKILL_REQUIRE (typically 5) ID/Lv pairs must be specified.
-

+ 36 - 0
db/import-tmpl/guild_skill_tree.yml

@@ -0,0 +1,36 @@
+# This file is a part of rAthena.
+#   Copyright(C) 2019 rAthena Development Team
+#   https://rathena.org - https://github.com/rathena
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+###########################################################################
+# Custom Guild Skill Database
+###########################################################################
+#
+# Guild Skill Settings
+#
+###########################################################################
+# Id - Skill ID of the guild skill.
+###########################################################################
+# MaxLevel - Maximum level of the guild skill.
+###########################################################################
+# Required - A list of required skills for the skill to become available.
+#   Id: Skill ID of the required guild skill.
+#   Level: Level of the required guild skill.
+###########################################################################
+
+Header:
+  Type: GUILD_SKILL_TREE_DB
+  Version: 1

+ 3 - 2
db/import-tmpl/item_db.txt

@@ -25,6 +25,7 @@
 //5204,Event_Pierrot_Nose,Rudolf's Red Nose,4,20,,100,,0,,0,0xFFFFFFFF,63,2,1,,0,0,49,{ bonus2 bResEff,Eff_Blind,3000; bonus2 bAddMonsterDropItem,12130,30; },{},{}
 //5264,Aussie_Flag_Hat,Australian Flag Hat,4,20,,500,,4,,0,0xFFFFFFFF,63,2,256,,0,1,304,{ bonus bAllStats,2; },{},{}
 //5356,Pumpkin_Hat_H,Pumpkin Hat,4,20,,200,,2,,0,0xFFFFFFFF,63,2,256,,0,1,206,{ bonus bAllStats,2; bonus2 bSubRace,RC_Demon,5; bonus2 bMagicAddRace,RC_Demon,5; },{},{}
+//5384,Santa_Hat_1,Twin Pompom By JB,4,20,,200,,2,,1,0xFFFFFFFF,63,2,256,,20,1,390,{ bonus bLuk,3; bonus2 bResEff,Eff_Curse,2000; bonus bVariableCastrate,-2; bonus bAspdRate,4; bonus2 bAddMonsterDropItem,539,100; bonus2 bAddMonsterDropItem,529,200; bonus2 bAddMonsterDropItem,530,200; autobonus "{ bonus bCritical,10; }",10,5000; },{},{}
 //5811,Santa_Beard,Santa Beard,4,20,,100,,5,,0,0xFFFFFFFF,63,2,1,,0,0,25,{ bonus2 bSubRace,RC_Brute,5; },{},{}
 
 //11702,Moon_Cookie,Moon Cookie,11,0,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ sc_end SC_POISON; sc_end SC_SILENCE; sc_end SC_BLIND; sc_end SC_CONFUSION; sc_end SC_CURSE; sc_end SC_HALLUCINATION; itemskill "AL_BLESSING",7; },{},{}
@@ -59,8 +60,8 @@
 
 // Old Tuxedo and Wedding Dress, will display the outfit when worn.
 //==================================================================
-//2338,Wedding_Dress,Wedding Dress,4,43000,,500,,0,,0,0xFFFFFFFE,63,0,16,,0,1,0,{},{ sc_start SC_WEDDING,-1,0; },{ sc_end SC_WEDDING; }
-//7170,Tuxedo,Tuxedo,4,43000,,10,,0,,0,0xFFFFFFFE,63,1,16,,0,1,0,{},{ sc_start SC_WEDDING,-1,0; },{ sc_end SC_WEDDING; }
+//2338,Wedding_Dress,Wedding Dress,4,43000,,500,,0,,0,0xFFFFFFFE,63,0,16,,0,1,0,{},{ sc_start SC_WEDDING,INFINITE_TICK,0; },{ sc_end SC_WEDDING; }
+//7170,Tuxedo,Tuxedo,4,43000,,10,,0,,0,0xFFFFFFFE,63,1,16,,0,1,0,{},{ sc_start SC_WEDDING,INFINITE_TICK,0; },{ sc_end SC_WEDDING; }
 
 // Non-kRO Eden Group Mark effect
 //=============================================================

+ 6 - 0
db/import-tmpl/item_flag.txt

@@ -8,4 +8,10 @@
 //  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'
+// 64 - Item will be displayed with a client side defined drop
+// 128 - Item will be displayed with a white pillar drop effect
+// 256 - Item will be displayed with a blue pillar drop effect
+// 512 - Item will be displayed with a yellow pillar drop effect
+// 1024 - Item will be displayed with a purple pillar drop effect
+// 2048 - Item will be displayed with a orange pillar drop effect
 // NOTE: For removing flag by import file, use "-" to remove the flag. Example, 604,-1 will removes flag 1 from Branch_Of_Dead_Tree

+ 4 - 0
db/import-tmpl/mob_mission.txt

@@ -0,0 +1,4 @@
+// Taekwon Mission Summonable Monsters Database
+//
+// Structure of Database:
+// MobRandomGroupID,MobID,DummyName,Rate

+ 0 - 60
db/import-tmpl/pet_db.txt

@@ -1,60 +0,0 @@
-// Pet Additional Database
-//
-// Structure of Database:
-// MobID,Name,JName,LureID,EggID,EquipID,FoodID,Fullness,HungryDelay,R_Hungry,R_Full,Intimate,Die,Capture,Speed,S_Performance,talk_convert_class,attack_rate,defence_attack_rate,change_target_rate,pet_script,loyal_script
-//
-// 01. MobID			Monster ID of the pet.
-// 02. Name			Name of the monster as defined in the database.
-// 03. JName			The display name of the monster when hatched.
-// 04. LureID			Pet Tame Item ID.
-// 05. EggID			Pet Egg ID.
-// 06. EquipID			Pet Accessory ID.
-// 07. FoodID			Pet Food ID.
-// 08. Fullness			The amount Hunger is decreased every [HungryDelay] seconds.
-// 09. HungryDelay		The amount of time it takes for hunger to decrease after feeding. (Default: 60 seconds)
-// 10. R_Hungry			Amount of Intimacy that is increased when fed.
-// 11. R_Full			Amount of Intimacy that is decreased when over-fed.
-// 12. Intimate			Amount of Intimacy the pet starts with.
-// 13. Die			Amount of Intimacy that is decreased when the pet owner dies.
-// 14. Capture			Capture succes rate (10000 = 100%)
-// 15. Speed			Pet's walk speed. (Defaul: 150)
-// 16. S_Performance		Special Performance. (Yes = 1, No = 0)
-// 17. talk_convert_class	Disables pet talk (instead of talking they emote  with /!.)
-// 18. attack_rate			Rate of which the pet will attack (requires at least pet_support_min_friendly intimacy).
-// 19. defence_attack_rate	Rate of which the pet will retaliate when master is being attacked (requires at least pet_support_min_friendly intimacy).
-// 20. change_target_rate	Rate of which the pet will change its attack target.
-// 21. pet_script		Script to execute when the pet is hatched.
-// 22. loyal_script		Script to execute when the pet is hatched (requires at least pet_equip_min_friendly intimacy, independent of pet_script).
-//NOTE: The max value (100%) of attack_rate, defense_rate & change_target_rate is 10000.
-
-//In theory you can use any valid script, but it is run only once upon pet
-//loading, so it is recommended you use the specific pet scripts:
-
-//petskillattack skillid, skilllv, rate, bonusrate
-//Skill attack that triggers while the pet is attacking. Rate is the base
-//chance of execution per attack. Bonusrate is an additional success rate when
-//intimacy reaches max.
-
-//petskillattack2 skillid, damage, hits, rate, bonusrate
-//Same as petskillattack, but the damage and number of hits is fixed
-//the damage specified is total, not per hit.
-
-//petskillsupport skillid, skilllv, delay, hp%, sp%
-//Casts a support skill when the health levels are below the specified hp% and
-//sp%. Delay is the minimum time in seconds before the skill can be cast again
-
-//petheal amount, delay, hp%, sp%
-//Similar to petskillsupport, but the skill is fixed to heal (28) and the
-//heal-amount is fixed to the value given.
-
-//petrecovery type, delay: Cures the "type" status effect after "delay" seconds
-
-//petskillbonus type, value, duration, delay
-//Gives bonus stats. Type is the stat to increase (bStr, bLuk), value is the
-//amount by which it is increased, duration signals how long the bonus lasts
-//delay is the time elapsed after the bonus ends and before it starts again.
-
-//A single pet can have petloot, petskillbonus, petskillattack (or
-//petskillattack2) and petskillsupport (or petheal) at the same time,
-//but only one of each.
-

+ 486 - 0
db/import-tmpl/pet_db.yml

@@ -0,0 +1,486 @@
+# This file is a part of rAthena.
+#   Copyright(C) 2019 rAthena Development Team
+#   https://rathena.org - https://github.com/rathena
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+###########################################################################
+# Custom Pet Database
+###########################################################################
+#
+# Pet Settings
+#
+###########################################################################
+# - Mob                      Monster that can be used as pet
+#   TameItem                 Pet Tame Item.
+#   EggItem                  Pet Egg Item.
+#   EquipItem                Pet Accessory Item. (Default: 0)
+#   FoodItem                 Pet Food Item. (Default: 0)
+#   Fullness                 The amount of hunger is decreased every [HungryDelay] seconds.
+#   HungryDelay              The amount of time in seconds it takes for hunger to decrease after feeding. (Default: 60)
+#   HungerIncrease           The amount of hunger that is increased every time the pet is fed (Default: 20)
+#   IntimacyStart            Amount of Intimacy the pet starts with. (Default: 250)
+#   IntimacyFed              Amount of Intimacy that is increased when fed. (Default: 50)
+#   IntimacyOverfed          Amount of Intimacy that is increased when over-fed. (Default: -100)
+#   IntimacyHungry           Amount of Intimacy that is increased when the pet is hungry. (Default: -5)
+#   IntimacyOwnerDie         Amount of Intimacy that is increased when the pet owner dies. (Default: -20)
+#   CaptureRate              Capture success rate. (10000 = 100%)
+#   SpecialPerformance       If a pet has a Special Performance. (Default: true)
+#   AttackRate               Rate of which the pet will attack [requires at least pet_support_min_friendly intimacy]. (10000 = 100%)
+#   RetaliateRate            Rate of which the pet will retaliate when master is being attacked [requires at least pet_support_min_friendly intimacy]. (10000 = 100%)
+#   ChangeTargetRate         Rate of which the pet will change its attack target. (10000 = 100%)
+#   AllowAutoFeed            Allows turning automatic pet feeding on. (Default: false)
+#   Script                   Bonus script to execute when the pet is alive. (Default: null)
+#   SupportScript            Bonus script to execute when pet_status_support is enabled. (Default: null)
+#   Evolution:               Pet evolution settings. (Optional) (Default: null)
+#     - Target               Mob this pet can evolve to.
+#       ItemRequirements:      Item requirements for evolving this pet.
+#         - Item               Self-explanatory
+#           Amount
+###########################################################################
+
+Header:
+  Type: PET_DB
+  Version: 1
+
+#Body:
+#  - Mob: PORING
+#    AttackRate: 350
+#    RetaliateRate: 400
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      petloot 10;
+#  - Mob: DROPS
+#    AttackRate: 300
+#    RetaliateRate: 400
+#    ChangeTargetRate: 500
+#    SupportScript: >
+#      petloot 10;
+#  - Mob: POPORING
+#    AttackRate: 300
+#    RetaliateRate: 500
+#    ChangeTargetRate: 400
+#    SupportScript: >
+#      petloot 15;
+#  - Mob: LUNATIC
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 1000
+#    SupportScript: >
+#      petskillbonus bLuk,3,10,50;
+#  - Mob: PICKY
+#    AttackRate: 500
+#    RetaliateRate: 600
+#    ChangeTargetRate: 50
+#    SupportScript: >
+#      petskillbonus bStr,3,10,50;
+#  - Mob: CHONCHON
+#    AttackRate: 500
+#    RetaliateRate: 500
+#    ChangeTargetRate: 250
+#    SupportScript: >
+#      petskillbonus bAgi,4,10,50;
+#  - Mob: STEEL_CHONCHON
+#    AttackRate: 500
+#    RetaliateRate: 500
+#    ChangeTargetRate: 200
+#    SupportScript: >
+#      petskillbonus bAgiVit,4,20,40;
+#  - Mob: HUNTER_FLY
+#    AttackRate: 500
+#    RetaliateRate: 500
+#    ChangeTargetRate: 200
+#    SupportScript: >
+#      petskillattack2 "NPC_WINDATTACK",888,2,0,10;
+#  - Mob: SAVAGE_BABE
+#    AttackRate: 500
+#    RetaliateRate: 500
+#    ChangeTargetRate: 200
+#    SupportScript: >
+#      petskillbonus bVit,4,10,50;
+#  - Mob: DESERT_WOLF_B
+#    AttackRate: 400
+#    RetaliateRate: 400
+#    ChangeTargetRate: 400
+#    SupportScript: >
+#      petskillattack "SM_PROVOKE",1,0,5;
+#  - Mob: ROCKER
+#    AttackRate: 350
+#    RetaliateRate: 350
+#    ChangeTargetRate: 600
+#    SupportScript: >
+#      petskillbonus bAllStats,1,10,50;
+#  - Mob: SPORE
+#    AttackRate: 350
+#    RetaliateRate: 500
+#    ChangeTargetRate: 500
+#    SupportScript: >
+#      petrecovery SC_POISON,60;
+#  - Mob: POISON_SPORE
+#    AttackRate: 600
+#    RetaliateRate: 200
+#    ChangeTargetRate: 400
+#    SupportScript: >
+#      petskillattack "NPC_POISON",20,0,10;
+#  - Mob: PECOPECO
+#    AttackRate: 400
+#    RetaliateRate: 500
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      petskillbonus bSpeedRate,25,20,20;
+#  - Mob: SMOKIE
+#    AttackRate: 600
+#    RetaliateRate: 600
+#    ChangeTargetRate: 100
+#    SupportScript: >
+#      petskillbonus bPerfectHide,1,3600,0;
+#  - Mob: YOYO
+#    AttackRate: 300
+#    RetaliateRate: 800
+#    ChangeTargetRate: 400
+#    SupportScript: >
+#      petloot 20;
+#  - Mob: ORK_WARRIOR
+#    AttackRate: 600
+#    RetaliateRate: 200
+#    ChangeTargetRate: 300
+#    SupportScript: >
+#      petskillattack2 "NPC_PIERCINGATT",100,1,0,10;
+#  - Mob: MUNAK
+#    AttackRate: 300
+#    RetaliateRate: 750
+#    ChangeTargetRate: 300
+#    SupportScript: >
+#      petskillattack2 "NPC_DARKNESSATTACK",444,1,0,10;
+#  - Mob: DOKEBI
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      petskillattack "BS_HAMMERFALL",1,0,10;
+#  - Mob: SOHEE
+#    AttackRate: 100
+#    RetaliateRate: 1000
+#    ChangeTargetRate: 200
+#    SupportScript: >
+#      petskillsupport "AL_HEAL",5,60,33,100;
+#  - Mob: ISIS
+#    AttackRate: 650
+#    RetaliateRate: 450
+#    ChangeTargetRate: 150
+#    SupportScript: >
+#      petskillsupport "PR_MAGNIFICAT",2,60,50,50;
+#  - Mob: PETIT
+#    AttackRate: 800
+#    RetaliateRate: 400
+#    ChangeTargetRate: 100
+#    SupportScript: >
+#      petskillattack2 "WZ_HEAVENDRIVE",500,1,0,10;
+#  - Mob: DEVIRUCHI
+#    AttackRate: 800
+#    RetaliateRate: 200
+#    ChangeTargetRate: 100
+#    SupportScript: >
+#      petskillbonus bAgiDexStr,6,20,40;
+#  - Mob: BAPHOMET_
+#    AttackRate: 1000
+#    RetaliateRate: 100
+#    ChangeTargetRate: 200
+#    SupportScript: >
+#      petskillattack2 "NPC_DARKNESSATTACK",1776,4,0,5;
+#  - Mob: BON_GUN
+#    AttackRate: 600
+#    RetaliateRate: 200
+#    ChangeTargetRate: 400
+#    SupportScript: >
+#      petskillattack2 "NPC_DARKNESSATTACK",555,1,1,1;
+#  - Mob: ZHERLTHSH
+#    AttackRate: 1000
+#    RetaliateRate: 100
+#    ChangeTargetRate: 500
+#    SupportScript: >
+#      petskillattack "AS_SONICBLOW",1,0,3;
+#  - Mob: ALICE
+#    AttackRate: 100
+#    RetaliateRate: 1000
+#    ChangeTargetRate: 200
+#    SupportScript: >
+#      petskillsupport "AL_HEAL",5,60,25,100;
+#  - Mob: EVENT_RICECAKE
+#    AttackRate: 500
+#    RetaliateRate: 500
+#    ChangeTargetRate: 200
+#    SupportScript: >
+#      petskillsupport "CR_DEFENDER",3,240,50,100;
+#  - Mob: GOBLINE_XMAS
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      petskillattack "MG_SIGHT",5,5,5;
+#  - Mob: CHUNG_E
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      petskillattack "CR_SHIELDCHARGE",5,5,5;
+#  - Mob: ECLIPSE_P
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      petskillattack "TF_THROWSTONE",1,5,5;
+#  - Mob: GOBLIN_1
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      petskillattack "NPC_WINDATTACK",5,5,5;
+#  - Mob: GOBLIN_2
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      petskillattack "NPC_FIREATTACK",5,5,5;
+#  - Mob: GOBLIN_4
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      petskillattack "NPC_GROUNDATTACK",5,5,5;
+#  - Mob: DELETER_
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      petskillattack "SM_MAGNUM",5,5,5;
+#  - Mob: DIABOLIC
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      petskillattack "WZ_METEOR",2,5,5;
+#  - Mob: WANDER_MAN
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      petskillattack "NPC_UNDEADATTACK",5,5,5;
+#  - Mob: P_CHUNG_E
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      petskillattack "CR_SHIELDCHARGE",5,5,5;
+#  - Mob: GOLEM
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: MARIONETTE
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: MEDUSA
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: WHISPER
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: GOBLIN_LEADER
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: SUCCUBUS
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      bonus2 bHPDrainRate,10,5;
+#  - Mob: INCUBUS
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#    SupportScript: >
+#      bonus bMaxSPRate,3;
+#      bonus2 bSPDrainRate,10,1;
+#  - Mob: NIGHTMARE_TERROR
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: SHINOBI
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: MIYABI_NINGYO
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: WICKED_NYMPH
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: STONE_SHOOTER
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: DULLAHAN
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: LOLI_RURI
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: CIVIL_SERVANT
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: LEAF_CAT
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: BACSOJIN_
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: IMP
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: E_CRAMP
+#    AttackRate: 350
+#    RetaliateRate: 400
+#    ChangeTargetRate: 800
+#  - Mob: E_HYDRA
+#    AttackRate: 350
+#    RetaliateRate: 400
+#    ChangeTargetRate: 800
+#  - Mob: J_TAINI
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: XMAS_LUNATIC
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: TIKBALANG
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: MARIN
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: LITTLE_PORING
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: NINE_TAIL
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: GREMLIN
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: MUMMY
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: TEDDY_BEAR
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: MASTERING
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: METALLER
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: ANGELING
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: MOONLIGHT
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: SAVAGE
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: HIGH_ORC
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: CHOCO
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: ANCIENT_MUMMY
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: AM_MUT
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: CAT_O_NINE_TAIL
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: GRAND_PECO
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: HYEGUN
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: HODREMLIN
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: XM_TEDDY_BEAR
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: DR_EGGRING
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: DR_LUNATIC
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: LITTLE_ISIS
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: DIABOLIC2
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: DELETER_2
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800
+#  - Mob: SWEETS_DROPS
+#    AttackRate: 300
+#    RetaliateRate: 300
+#    ChangeTargetRate: 800

+ 1 - 0
db/mercenary_db.txt

@@ -35,6 +35,7 @@
 2350,MER_SEDORA,Sedora,83,9815,234,2,1100,1300,60,60,85,90,71,43,85,105,10,12,0,6,47,150,1080,780,180
 2351,MER_CHEPET,Chepet,83,9815,234,2,1100,1300,60,60,85,90,71,43,85,105,10,12,0,6,47,150,1080,780,180
 2378,MER_ANTLER_SCARABA,Antler Scaraba,136,30000,1,1,1418,1828,155,102,23,99,59,129,137,45,10,12,1,4,42,200,504,624,360
+2937,M_LOKI,Loki's Shadow,145,1215600,1,2,1835,2279,15,89,76,66,90,55,189,22,10,12,1,7,20,175,800,750,300
 
 // Normal Mercenaries
 6017,MER_ARCHER01,Mina,20,256,200,10,170,85,7,5,1,16,5,1,28,8,10,0,0,7,20,150,700,432,300

+ 2 - 0
db/mercenary_skill_db.txt

@@ -215,3 +215,5 @@
 2347,8202,5	//MS_MAGNUM
 2347,8226,1	//MER_REGAIN
 2347,8233,1	//MER_AUTOBERSERK
+// M_LOKI
+2937,8241,1	//MER_INVINCIBLEOFF2

+ 1 - 1
db/mob_item_ratio.txt

@@ -18,7 +18,7 @@
 //
 // Notes:
 // - By default you can list up to 10 MonsterIDs per ItemID.
-//   It can be changed in src/map/mob.c by adjusting MAX_ITEMRATIO_MOBS.
+//   It can be changed in src/map/mob.cpp by adjusting MAX_ITEMRATIO_MOBS.
 // - Only ItemIDs up to MAX_ITEMDB are supported (default: 32768).
 // - Does not override item_drop_*_min/max settings.
 // - Does not affect card/item-granted drops. To adjust card/item-granted

+ 350 - 0
db/mob_mission.txt

@@ -0,0 +1,350 @@
+// Taekwon Mission Summonable Monsters Database
+//
+// Structure of Database:
+// MobRandomGroupID,MobID,DummyName,Rate
+
+MOBG_Taekwon_Mission,0,Scorpion,1001
+MOBG_Taekwon_Mission,1001,Scorpion,1
+MOBG_Taekwon_Mission,1002,Poring,1
+MOBG_Taekwon_Mission,1004,Hornet,1
+MOBG_Taekwon_Mission,1005,Familiar,1
+MOBG_Taekwon_Mission,1007,Fabre,1
+MOBG_Taekwon_Mission,1008,Pupa,1
+MOBG_Taekwon_Mission,1009,Condor,1
+MOBG_Taekwon_Mission,1010,Willow,1
+MOBG_Taekwon_Mission,1011,Chonchon,1
+MOBG_Taekwon_Mission,1012,Roda Frog,1
+MOBG_Taekwon_Mission,1013,Wolf,1
+MOBG_Taekwon_Mission,1014,Spore,1
+MOBG_Taekwon_Mission,1015,Zombie,1
+MOBG_Taekwon_Mission,1016,Archer Skeleton,1
+MOBG_Taekwon_Mission,1018,Creamy,1
+MOBG_Taekwon_Mission,1019,Peco Peco,1
+MOBG_Taekwon_Mission,1020,Mandragora,1
+MOBG_Taekwon_Mission,1023,Orc Warrior,1
+MOBG_Taekwon_Mission,1024,Wormtail,1
+MOBG_Taekwon_Mission,1025,Snake,1
+MOBG_Taekwon_Mission,1026,Munak,1
+MOBG_Taekwon_Mission,1028,Soldier Skeleton,1
+MOBG_Taekwon_Mission,1029,Isis,1
+MOBG_Taekwon_Mission,1030,Anacondaq,1
+MOBG_Taekwon_Mission,1031,Poporing,1
+MOBG_Taekwon_Mission,1032,Verit,1
+MOBG_Taekwon_Mission,1033,Elder Willow,1
+MOBG_Taekwon_Mission,1034,Thara Frog,1
+MOBG_Taekwon_Mission,1035,Hunter Fly,1
+MOBG_Taekwon_Mission,1036,Ghoul,1
+MOBG_Taekwon_Mission,1037,Side Winder,1
+MOBG_Taekwon_Mission,1040,Golem,1
+MOBG_Taekwon_Mission,1041,Mummy,1
+MOBG_Taekwon_Mission,1042,Steel Chonchon,1
+MOBG_Taekwon_Mission,1044,Obeaune,1
+MOBG_Taekwon_Mission,1045,Marc,1
+MOBG_Taekwon_Mission,1047,Peco Peco Egg,1
+MOBG_Taekwon_Mission,1048,Thief Bug Egg,1
+MOBG_Taekwon_Mission,1049,Picky,1
+MOBG_Taekwon_Mission,1050,Picky,1
+MOBG_Taekwon_Mission,1051,Thief Bug,1
+MOBG_Taekwon_Mission,1052,Rocker,1
+MOBG_Taekwon_Mission,1053,Thief Bug Female,1
+MOBG_Taekwon_Mission,1054,Thief Bug Male,1
+MOBG_Taekwon_Mission,1055,Muka,1
+MOBG_Taekwon_Mission,1056,Smokie,1
+MOBG_Taekwon_Mission,1057,Yoyo,1
+MOBG_Taekwon_Mission,1058,Metaller,1
+MOBG_Taekwon_Mission,1060,Bigfoot,1
+MOBG_Taekwon_Mission,1061,Nightmare,1
+MOBG_Taekwon_Mission,1062,Santa Poring,1
+MOBG_Taekwon_Mission,1063,Lunatic,1
+MOBG_Taekwon_Mission,1064,Megalodon,1
+MOBG_Taekwon_Mission,1065,Strouf,1
+MOBG_Taekwon_Mission,1066,Vadon,1
+MOBG_Taekwon_Mission,1067,Cornutus,1
+MOBG_Taekwon_Mission,1068,Hydra,1
+MOBG_Taekwon_Mission,1069,Swordfish,1
+MOBG_Taekwon_Mission,1070,Kukre,1
+MOBG_Taekwon_Mission,1071,Pirate Skeleton,1
+MOBG_Taekwon_Mission,1072,Kaho,1
+MOBG_Taekwon_Mission,1073,Crab,1
+MOBG_Taekwon_Mission,1074,Shellfish,1
+MOBG_Taekwon_Mission,1076,Skeleton,1
+MOBG_Taekwon_Mission,1077,Poison Spore,1
+MOBG_Taekwon_Mission,1088,Vocal,1
+MOBG_Taekwon_Mission,1089,Toad,1
+MOBG_Taekwon_Mission,1090,Mastering,1
+MOBG_Taekwon_Mission,1091,Dragon Fly,1
+MOBG_Taekwon_Mission,1092,Vagabond Wolf,1
+MOBG_Taekwon_Mission,1093,Eclipse,1
+MOBG_Taekwon_Mission,1094,Ambernite,1
+MOBG_Taekwon_Mission,1095,Andre,1
+MOBG_Taekwon_Mission,1096,Angeling,1
+MOBG_Taekwon_Mission,1097,Ant Egg,1
+MOBG_Taekwon_Mission,1098,Anubis,1
+MOBG_Taekwon_Mission,1099,Argiope,1
+MOBG_Taekwon_Mission,1100,Argos,1
+MOBG_Taekwon_Mission,1101,Baphomet Jr.,1
+MOBG_Taekwon_Mission,1102,Bathory,1
+MOBG_Taekwon_Mission,1103,Caramel,1
+MOBG_Taekwon_Mission,1104,Coco,1
+MOBG_Taekwon_Mission,1105,Deniro,1
+MOBG_Taekwon_Mission,1106,Desert Wolf,1
+MOBG_Taekwon_Mission,1107,Desert Wolf Baby,1
+MOBG_Taekwon_Mission,1108,Deviace,1
+MOBG_Taekwon_Mission,1109,Deviruchi,1
+MOBG_Taekwon_Mission,1110,Dokebi,1
+MOBG_Taekwon_Mission,1111,Drainliar,1
+MOBG_Taekwon_Mission,1113,Drops,1
+MOBG_Taekwon_Mission,1114,Dustiness,1
+MOBG_Taekwon_Mission,1116,Eggyra,1
+MOBG_Taekwon_Mission,1117,Evil Druid,1
+MOBG_Taekwon_Mission,1118,Flora,1
+MOBG_Taekwon_Mission,1119,Frilldora,1
+MOBG_Taekwon_Mission,1120,Ghostring,1
+MOBG_Taekwon_Mission,1121,Giearth,1
+MOBG_Taekwon_Mission,1122,Goblin,1
+MOBG_Taekwon_Mission,1123,Goblin,1
+MOBG_Taekwon_Mission,1124,Goblin,1
+MOBG_Taekwon_Mission,1125,Goblin,1
+MOBG_Taekwon_Mission,1126,Goblin,1
+MOBG_Taekwon_Mission,1127,Hode,1
+MOBG_Taekwon_Mission,1128,Horn,1
+MOBG_Taekwon_Mission,1129,Horong,1
+MOBG_Taekwon_Mission,1130,Jakk,1
+MOBG_Taekwon_Mission,1131,Joker,1
+MOBG_Taekwon_Mission,1132,Khalitzburg,1
+MOBG_Taekwon_Mission,1133,Kobold,1
+MOBG_Taekwon_Mission,1134,Kobold,1
+MOBG_Taekwon_Mission,1135,Kobold,1
+MOBG_Taekwon_Mission,1138,Magnolia,1
+MOBG_Taekwon_Mission,1139,Mantis,1
+MOBG_Taekwon_Mission,1140,Marduk,1
+MOBG_Taekwon_Mission,1141,Marina,1
+MOBG_Taekwon_Mission,1142,Marine Sphere,1
+MOBG_Taekwon_Mission,1143,Marionette,1
+MOBG_Taekwon_Mission,1144,Marse,1
+MOBG_Taekwon_Mission,1145,Martin,1
+MOBG_Taekwon_Mission,1146,Matyr,1
+MOBG_Taekwon_Mission,1148,Medusa,1
+MOBG_Taekwon_Mission,1149,Minorous,1
+MOBG_Taekwon_Mission,1151,Myst,1
+MOBG_Taekwon_Mission,1152,Orc Skeleton,1
+MOBG_Taekwon_Mission,1153,Orc Zombie,1
+MOBG_Taekwon_Mission,1154,Pasana,1
+MOBG_Taekwon_Mission,1155,Petite,1
+MOBG_Taekwon_Mission,1156,Petite,1
+MOBG_Taekwon_Mission,1158,Phen,1
+MOBG_Taekwon_Mission,1160,Piere,1
+MOBG_Taekwon_Mission,1161,Plankton,1
+MOBG_Taekwon_Mission,1162,Rafflesia,1
+MOBG_Taekwon_Mission,1163,Raydric,1
+MOBG_Taekwon_Mission,1164,Requiem,1
+MOBG_Taekwon_Mission,1165,Sandman,1
+MOBG_Taekwon_Mission,1166,Savage,1
+MOBG_Taekwon_Mission,1167,Savage Babe,1
+MOBG_Taekwon_Mission,1169,Skeleton Worker,1
+MOBG_Taekwon_Mission,1170,Sohee,1
+MOBG_Taekwon_Mission,1174,Stainer,1
+MOBG_Taekwon_Mission,1175,Tarou,1
+MOBG_Taekwon_Mission,1176,Vitata,1
+MOBG_Taekwon_Mission,1177,Zenorc,1
+MOBG_Taekwon_Mission,1178,Zerom,1
+MOBG_Taekwon_Mission,1179,Whisper,1
+MOBG_Taekwon_Mission,1180,Nine Tail,1
+MOBG_Taekwon_Mission,1183,Chonchon,1
+MOBG_Taekwon_Mission,1184,Fabre,1
+MOBG_Taekwon_Mission,1185,Whisper,1
+MOBG_Taekwon_Mission,1186,Giant Whisper,1
+MOBG_Taekwon_Mission,1188,Bongun,1
+MOBG_Taekwon_Mission,1189,Orc Archer,1
+MOBG_Taekwon_Mission,1191,Mimic,1
+MOBG_Taekwon_Mission,1192,Wraith,1
+MOBG_Taekwon_Mission,1193,Alarm,1
+MOBG_Taekwon_Mission,1194,Arclouse,1
+MOBG_Taekwon_Mission,1195,Rideword,1
+MOBG_Taekwon_Mission,1196,Skeleton Prisoner,1
+MOBG_Taekwon_Mission,1197,Zombie Prisoner,1
+MOBG_Taekwon_Mission,1198,Dark Priest,1
+MOBG_Taekwon_Mission,1199,Punk,1
+MOBG_Taekwon_Mission,1201,Rybio,1
+MOBG_Taekwon_Mission,1202,Phendark,1
+MOBG_Taekwon_Mission,1206,Anolian,1
+MOBG_Taekwon_Mission,1207,Sting,1
+MOBG_Taekwon_Mission,1208,Wander Man,1
+MOBG_Taekwon_Mission,1209,Cramp,1
+MOBG_Taekwon_Mission,1211,Brilight,1
+MOBG_Taekwon_Mission,1212,Iron Fist,1
+MOBG_Taekwon_Mission,1213,High Orc,1
+MOBG_Taekwon_Mission,1214,Choco,1
+MOBG_Taekwon_Mission,1215,Stem Worm,1
+MOBG_Taekwon_Mission,1216,Penomena,1
+MOBG_Taekwon_Mission,1219,Knight of Abyss,1
+MOBG_Taekwon_Mission,1248,Cruiser,1
+MOBG_Taekwon_Mission,1249,Myst Case,1
+MOBG_Taekwon_Mission,1250,Chepet,1
+MOBG_Taekwon_Mission,1253,Gargoyle,1
+MOBG_Taekwon_Mission,1254,Raggler,1
+MOBG_Taekwon_Mission,1255,Neraid,1
+MOBG_Taekwon_Mission,1256,Pest,1
+MOBG_Taekwon_Mission,1257,Injustice,1
+MOBG_Taekwon_Mission,1258,Goblin Archer,1
+MOBG_Taekwon_Mission,1260,Dark Frame,1
+MOBG_Taekwon_Mission,1261,Wild Rose,1
+MOBG_Taekwon_Mission,1263,Wind Ghost,1
+MOBG_Taekwon_Mission,1264,Merman,1
+MOBG_Taekwon_Mission,1265,Cookie,1
+MOBG_Taekwon_Mission,1266,Aster,1
+MOBG_Taekwon_Mission,1267,Carat,1
+MOBG_Taekwon_Mission,1269,Clock,1
+MOBG_Taekwon_Mission,1270,Clock Tower Manager,1
+MOBG_Taekwon_Mission,1271,Alligator,1
+MOBG_Taekwon_Mission,1273,Orc Lady,1
+MOBG_Taekwon_Mission,1274,Megalith,1
+MOBG_Taekwon_Mission,1275,Alice,1
+MOBG_Taekwon_Mission,1276,Raydric Archer,1
+MOBG_Taekwon_Mission,1277,Greatest General,1
+MOBG_Taekwon_Mission,1278,Stalactic Golem,1
+MOBG_Taekwon_Mission,1279,Tri Joint,1
+MOBG_Taekwon_Mission,1280,Steam Goblin,1
+MOBG_Taekwon_Mission,1281,Sage Worm,1
+MOBG_Taekwon_Mission,1282,Kobold Archer,1
+MOBG_Taekwon_Mission,1283,Chimera,1
+MOBG_Taekwon_Mission,1285,Archer Guardian,1
+MOBG_Taekwon_Mission,1287,Soldier Guardian,1
+MOBG_Taekwon_Mission,1290,Skeleton General,1
+MOBG_Taekwon_Mission,1291,Wraith Dead,1
+MOBG_Taekwon_Mission,1292,Mini Demon,1
+MOBG_Taekwon_Mission,1293,Creamy Fear,1
+MOBG_Taekwon_Mission,1294,Killer Mantis,1
+MOBG_Taekwon_Mission,1295,Owl Baron,1
+MOBG_Taekwon_Mission,1296,Kobold Leader,1
+MOBG_Taekwon_Mission,1297,Ancient Mummy,1
+MOBG_Taekwon_Mission,1298,Zombie Master,1
+MOBG_Taekwon_Mission,1299,Goblin Leader,1
+MOBG_Taekwon_Mission,1300,Caterpillar,1
+MOBG_Taekwon_Mission,1301,Am Mut,1
+MOBG_Taekwon_Mission,1302,Dark Illusion,1
+MOBG_Taekwon_Mission,1303,Giant Hornet,1
+MOBG_Taekwon_Mission,1304,Giant Spider,1
+MOBG_Taekwon_Mission,1305,Ancient Worm,1
+MOBG_Taekwon_Mission,1306,Leib Olmai,1
+MOBG_Taekwon_Mission,1307,Cat o' Nine Tails,1
+MOBG_Taekwon_Mission,1308,Panzer Goblin,1
+MOBG_Taekwon_Mission,1309,Gajomart,1
+MOBG_Taekwon_Mission,1310,Majoruros,1
+MOBG_Taekwon_Mission,1311,Gullinbursti,1
+MOBG_Taekwon_Mission,1313,Mobster,1
+MOBG_Taekwon_Mission,1314,Permeter,1
+MOBG_Taekwon_Mission,1315,Assaulter,1
+MOBG_Taekwon_Mission,1316,Solider,1
+MOBG_Taekwon_Mission,1317,Fur Seal,1
+MOBG_Taekwon_Mission,1318,Heater,1
+MOBG_Taekwon_Mission,1319,Freezer,1
+MOBG_Taekwon_Mission,1320,Owl Duke,1
+MOBG_Taekwon_Mission,1321,Dragon Tail,1
+MOBG_Taekwon_Mission,1322,Spring Rabbit,1
+MOBG_Taekwon_Mission,1323,Sea Otter,1
+MOBG_Taekwon_Mission,1365,Apocalypse,1
+MOBG_Taekwon_Mission,1366,Lava Golem,1
+MOBG_Taekwon_Mission,1367,Blazer,1
+MOBG_Taekwon_Mission,1368,Geographer,1
+MOBG_Taekwon_Mission,1369,Grand Peco,1
+MOBG_Taekwon_Mission,1370,Succubus,1
+MOBG_Taekwon_Mission,1371,Fake Angel,1
+MOBG_Taekwon_Mission,1372,Goat,1
+MOBG_Taekwon_Mission,1374,Incubus,1
+MOBG_Taekwon_Mission,1375,The Paper,1
+MOBG_Taekwon_Mission,1376,Harpy,1
+MOBG_Taekwon_Mission,1377,Elder,1
+MOBG_Taekwon_Mission,1378,Demon Pungus,1
+MOBG_Taekwon_Mission,1379,Nightmare Terror,1
+MOBG_Taekwon_Mission,1380,Driller,1
+MOBG_Taekwon_Mission,1381,Grizzly,1
+MOBG_Taekwon_Mission,1382,Diabolic,1
+MOBG_Taekwon_Mission,1383,Explosion,1
+MOBG_Taekwon_Mission,1384,Deleter,1
+MOBG_Taekwon_Mission,1385,Deleter,1
+MOBG_Taekwon_Mission,1386,Sleeper,1
+MOBG_Taekwon_Mission,1387,Gig,1
+MOBG_Taekwon_Mission,1388,Archangeling,1
+MOBG_Taekwon_Mission,1390,Violy,1
+MOBG_Taekwon_Mission,1391,Galapago,1
+MOBG_Taekwon_Mission,1392,Rotar Zairo,1
+MOBG_Taekwon_Mission,1400,Karakasa,1
+MOBG_Taekwon_Mission,1401,Shinobi,1
+MOBG_Taekwon_Mission,1402,Poison Toad,1
+MOBG_Taekwon_Mission,1403,Antique Firelock,1
+MOBG_Taekwon_Mission,1404,Miyabi Ningyo,1
+MOBG_Taekwon_Mission,1405,Tengu,1
+MOBG_Taekwon_Mission,1406,Kapha,1
+MOBG_Taekwon_Mission,1408,Bloody Butterfly,1
+MOBG_Taekwon_Mission,1409,Rice Cake Boy,1
+MOBG_Taekwon_Mission,1410,Live Peach Tree,1
+MOBG_Taekwon_Mission,1412,Evil Cloud Hermit,1
+MOBG_Taekwon_Mission,1413,Wild Ginseng,1
+MOBG_Taekwon_Mission,1415,Baby Leopard,1
+MOBG_Taekwon_Mission,1416,Wicked Nymph,1
+MOBG_Taekwon_Mission,1417,Zipper Bear,1
+MOBG_Taekwon_Mission,1493,Dryad,1
+MOBG_Taekwon_Mission,1494,Beetle King,1
+MOBG_Taekwon_Mission,1495,Stone Shooter,1
+MOBG_Taekwon_Mission,1497,Wooden Golem,1
+MOBG_Taekwon_Mission,1498,Wootan Shooter,1
+MOBG_Taekwon_Mission,1499,Wootan Fighter,1
+MOBG_Taekwon_Mission,1500,Parasite,1
+MOBG_Taekwon_Mission,1503,Gibbet,1
+MOBG_Taekwon_Mission,1504,Dullahan,1
+MOBG_Taekwon_Mission,1505,Loli Ruri,1
+MOBG_Taekwon_Mission,1506,Disguise,1
+MOBG_Taekwon_Mission,1507,Bloody Murderer,1
+MOBG_Taekwon_Mission,1508,Quve,1
+MOBG_Taekwon_Mission,1509,Lude,1
+MOBG_Taekwon_Mission,1510,Hylozoist,1
+MOBG_Taekwon_Mission,1512,Hyegun,1
+MOBG_Taekwon_Mission,1513,Civil Servant,1
+MOBG_Taekwon_Mission,1514,Dancing Dragon,1
+MOBG_Taekwon_Mission,1515,Garm Baby,1
+MOBG_Taekwon_Mission,1516,Increase Soil,1
+MOBG_Taekwon_Mission,1517,Li Me Mang Ryang,1
+MOBG_Taekwon_Mission,1519,Chung E,1
+MOBG_Taekwon_Mission,1520,Boiled Rice,1
+MOBG_Taekwon_Mission,1582,Deviling,1
+MOBG_Taekwon_Mission,1584,Tamruan,1
+MOBG_Taekwon_Mission,1585,Mime Monkey,1
+MOBG_Taekwon_Mission,1586,Leaf Cat,1
+MOBG_Taekwon_Mission,1587,Kraben,1
+MOBG_Taekwon_Mission,1588,Christmas Orc,1
+MOBG_Taekwon_Mission,1609,Dancing Dragon,1
+MOBG_Taekwon_Mission,1613,Metaling,1
+MOBG_Taekwon_Mission,1614,Mineral,1
+MOBG_Taekwon_Mission,1615,Obsidian,1
+MOBG_Taekwon_Mission,1616,Pitman,1
+MOBG_Taekwon_Mission,1617,Waste Stove,1
+MOBG_Taekwon_Mission,1618,Ungoliant,1
+MOBG_Taekwon_Mission,1619,Porcellio,1
+MOBG_Taekwon_Mission,1620,Noxious,1
+MOBG_Taekwon_Mission,1621,Venomous,1
+MOBG_Taekwon_Mission,1622,Teddy Bear,1
+MOBG_Taekwon_Mission,1625,Porcellio,1
+MOBG_Taekwon_Mission,1626,Hellion Revenant,1
+MOBG_Taekwon_Mission,1627,Anopheles,1
+MOBG_Taekwon_Mission,1628,Mole,1
+MOBG_Taekwon_Mission,1629,Hill Wind,1
+MOBG_Taekwon_Mission,1631,Chung E,1
+MOBG_Taekwon_Mission,1632,Gremlin,1
+MOBG_Taekwon_Mission,1633,Beholder,1
+MOBG_Taekwon_Mission,1664,Photon Cannon,1
+MOBG_Taekwon_Mission,1665,Photon Cannon,1
+MOBG_Taekwon_Mission,1666,Photon Cannon,1
+MOBG_Taekwon_Mission,1667,Photon Cannon,1
+MOBG_Taekwon_Mission,1668,Archdam,1
+MOBG_Taekwon_Mission,1670,Dimik,1
+MOBG_Taekwon_Mission,1671,Dimik,1
+MOBG_Taekwon_Mission,1672,Dimik,1
+MOBG_Taekwon_Mission,1673,Dimik,1
+MOBG_Taekwon_Mission,1676,Venatu,1
+MOBG_Taekwon_Mission,1677,Venatu,1
+MOBG_Taekwon_Mission,1678,Venatu,1
+MOBG_Taekwon_Mission,1679,Venatu,1
+MOBG_Taekwon_Mission,1680,Hill Wind,1
+MOBG_Taekwon_Mission,1686,Orc Baby,1
+MOBG_Taekwon_Mission,1687,Green Iguana,1

+ 63 - 0
db/pet_db.yml

@@ -0,0 +1,63 @@
+# This file is a part of rAthena.
+#   Copyright(C) 2019 rAthena Development Team
+#   https://rathena.org - https://github.com/rathena
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+###########################################################################
+# Pet Database
+###########################################################################
+#
+# Pet Settings
+#
+###########################################################################
+# - Mob                      Monster that can be used as pet
+#   TameItem                 Pet Tame Item.
+#   EggItem                  Pet Egg Item.
+#   EquipItem                Pet Accessory Item. (Default: 0)
+#   FoodItem                 Pet Food Item. (Default: 0)
+#   Fullness                 The amount of hunger is decreased every [HungryDelay] seconds.
+#   HungryDelay              The amount of time in seconds it takes for hunger to decrease after feeding. (Default: 60)
+#   HungerIncrease           The amount of hunger that is increased every time the pet is fed (Default: 20)
+#   IntimacyStart            Amount of Intimacy the pet starts with. (Default: 250)
+#   IntimacyFed              Amount of Intimacy that is increased when fed. (Default: 50)
+#   IntimacyOverfed          Amount of Intimacy that is increased when over-fed. (Default: -100)
+#   IntimacyHungry           Amount of Intimacy that is increased when the pet is hungry. (Default: -5)
+#   IntimacyOwnerDie         Amount of Intimacy that is increased when the pet owner dies. (Default: -20)
+#   CaptureRate              Capture success rate. (10000 = 100%)
+#   SpecialPerformance       If a pet has a Special Performance. (Default: true)
+#   AttackRate               Rate of which the pet will attack [requires at least pet_support_min_friendly intimacy]. (10000 = 100%)
+#   RetaliateRate            Rate of which the pet will retaliate when master is being attacked [requires at least pet_support_min_friendly intimacy]. (10000 = 100%)
+#   ChangeTargetRate         Rate of which the pet will change its attack target. (10000 = 100%)
+#   AllowAutoFeed            Allows turning automatic pet feeding on. (Default: false)
+#   Script                   Bonus script to execute when the pet is alive. (Default: null)
+#   SupportScript            Bonus script to execute when pet_status_support is enabled. (Default: null)
+#   Evolution:               Pet evolution settings. (Optional) (Default: null)
+#     - Target               Mob this pet can evolve to.
+#       ItemRequirements:      Item requirements for evolving this pet.
+#         - Item               Self-explanatory
+#           Amount
+###########################################################################
+
+Header:
+  Type: PET_DB
+  Version: 1
+
+Footer:
+  Imports:
+  - Path: db/pre-re/pet_db.yml
+    Mode: Prerenewal
+  - Path: db/re/pet_db.yml
+    Mode: Renewal
+  - Path: db/import/pet_db.yml

Файловите разлики са ограничени, защото са твърде много
+ 312 - 101
db/pre-re/achievement_db.yml


+ 1 - 1
db/pre-re/attendance.yml

@@ -1,3 +1,3 @@
 Header:
-  Type: ATTENDANCE_CONF
+  Type: ATTENDANCE_DB
   Version: 1

+ 123 - 0
db/pre-re/guild_skill_tree.yml

@@ -0,0 +1,123 @@
+# This file is a part of rAthena.
+#   Copyright(C) 2019 rAthena Development Team
+#   https://rathena.org - https://github.com/rathena
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+###########################################################################
+# Pre-Renewal Guild Skill Database
+###########################################################################
+#
+# Guild Skill Settings
+#
+###########################################################################
+# Id - Skill ID of the guild skill.
+###########################################################################
+# MaxLevel - Maximum level of the guild skill.
+###########################################################################
+# Required - A list of required skills for the skill to become available.
+#   Id: Skill ID of the required guild skill.
+#   Level: Level of the required guild skill.
+###########################################################################
+
+Header:
+  Type: GUILD_SKILL_TREE_DB
+  Version: 1
+
+Body:
+  - Id: GD_APPROVAL
+    MaxLevel: 1
+
+  - Id: GD_KAFRACONTRACT
+    MaxLevel: 1
+    Required:
+    - Id: GD_APPROVAL
+      Level: 1
+
+  - Id: GD_GUARDRESEARCH
+    MaxLevel: 1
+    Required:
+    - Id: GD_APPROVAL
+      Level: 1
+
+  - Id: GD_GUARDUP
+    MaxLevel: 3
+
+  - Id: GD_EXTENSION
+    MaxLevel: 10
+
+  - Id: GD_GLORYGUILD
+    MaxLevel: 0
+
+  - Id: GD_LEADERSHIP
+    MaxLevel: 5
+
+  - Id: GD_GLORYWOUNDS
+    MaxLevel: 5
+
+  - Id: GD_SOULCOLD
+    MaxLevel: 5
+    Required:
+    - Id: GD_GLORYWOUNDS
+      Level: 1
+
+  - Id: GD_HAWKEYES
+    MaxLevel: 5
+    Required:
+    - Id: GD_LEADERSHIP
+      Level: 1
+
+  - Id: GD_BATTLEORDER
+    MaxLevel: 1
+    Required:
+    - Id: GD_APPROVAL
+      Level: 1
+    - Id: GD_EXTENSION
+      Level: 2
+
+  - Id: GD_REGENERATION
+    MaxLevel: 3
+    Required:
+    - Id: GD_APPROVAL
+      Level: 1
+    - Id: GD_EXTENSION
+      Level: 5
+    - Id: GD_BATTLEORDER
+      Level: 1
+
+  - Id: GD_RESTORE
+    MaxLevel: 1
+    Required:
+    - Id: GD_REGENERATION
+      Level: 1
+
+  - Id: GD_EMERGENCYCALL
+    MaxLevel: 1
+    Required:
+    - Id: GD_APPROVAL
+      Level: 1
+    - Id: GD_GUARDRESEARCH
+      Level: 1
+    - Id: GD_EXTENSION
+      Level: 5
+    - Id: GD_BATTLEORDER
+      Level: 1
+    - Id: GD_REGENERATION
+      Level: 1
+
+  - Id: GD_DEVELOPMENT
+    MaxLevel: 1
+
+#  - Id: GD_GUILD_STORAGE
+#    MaxLevel: 5

+ 0 - 1
db/pre-re/item_buyingstore.txt

@@ -14,7 +14,6 @@
 //25129
 //25130
 //25131
-//22687
 //23016
 //23080
 //4671

+ 67 - 59
db/pre-re/item_db.txt

@@ -87,7 +87,7 @@
 582,Orange,Orange,0,300,,20,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(10,20),rand(10,20); },{},{}
 583,KETUPAT_,Ketupat Sayur,0,7000,,150,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(325,405),rand(40,60); sc_end SC_Poison; sc_end SC_Silence; sc_end SC_Blind; sc_end SC_Confusion; sc_end SC_Curse; sc_end SC_Hallucination; },{},{}
 584,Fish_Ball_Soup,Fish Cake Soup,0,100,,60,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(40,70),0; },{},{}
-585,Wurst,Brusti,0,2,,40,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(15,20),0; },{},{}
+585,Wurst,Brusti,11,2,,40,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(15,20),0; itemskill "PR_MAGNIFICAT",3; },{},{}
 586,Mother's_Cake,Mother's Cake,0,20,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(325,405),0; },{},{}
 587,Prickly_Fruit_,Red Prickly Fruit,0,880,,60,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(270,330),rand(20,30); },{},{}
 588,Spaghetti,Spaghetti,0,100,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(40,70),0; },{},{}
@@ -542,24 +542,24 @@
 1189,Krasnaya,Krasnaya,5,20,,3800,200,,2,3,0x00004082,2,2,34,2,50,1,3,{ if(readparam(bStr)>=95) { bonus bBaseAtk,20; } },{},{}
 1190,Claymore_C,Claymore,5,0,,0,220,,1,0,0x00004080,7,2,34,3,1,0,3,{ bonus2 bAddSize,Size_All,40; },{},{}
 // Daggers
-1201,Knife,Knife,5,50,,400,17,,1,3,0xFE9F7EEF,7,2,2,1,1,1,1,{},{},{}
-1202,Knife_,Knife,5,50,,400,17,,1,4,0xFE9F7EEF,7,2,2,1,1,1,1,{},{},{}
-1203,Knife__,Knife,5,50,,400,17,,1,0,0xFE9F7EEF,7,2,2,1,1,1,1,{},{},{}
-1204,Cutter,Cutter,5,1250,,500,30,,1,3,0xFE9F7EEF,7,2,2,1,1,1,1,{},{},{}
-1205,Cutter_,Cutter,5,1250,,500,30,,1,4,0xFE9F7EEF,7,2,2,1,1,1,1,{},{},{}
-1206,Cutter__,Cutter,5,1250,,500,30,,1,0,0xFE9F7EEF,7,2,2,1,1,1,1,{},{},{}
-1207,Main_Gauche,Main Gauche,5,2400,,600,43,,1,3,0xFE9F7EEF,7,2,2,1,1,1,1,{},{},{}
-1208,Main_Gauche_,Main Gauche,5,2400,,600,43,,1,4,0xFE9F7EEF,7,2,2,1,1,1,1,{},{},{}
-1209,Main_Gauche__,Main Gauche,5,2400,,600,43,,1,0,0xFE9F7EEF,7,2,2,1,1,1,1,{},{},{}
-1210,Dirk,Dirk,5,8500,,500,59,,1,2,0xFE9F7EEF,7,2,2,2,12,1,1,{},{},{}
-1211,Dirk_,Dirk,5,8500,,500,59,,1,3,0xFE9F7EEF,7,2,2,2,12,1,1,{},{},{}
-1212,Dirk__,Dirk,5,8500,,500,59,,1,0,0xFE9F7EEF,7,2,2,2,12,1,1,{},{},{}
-1213,Dagger,Dagger,5,14000,,600,73,,1,2,0xFE9F7EEF,7,2,2,2,12,1,1,{},{},{}
-1214,Dagger_,Dagger,5,14000,,600,73,,1,3,0xFE9F7EEF,7,2,2,2,12,1,1,{},{},{}
-1215,Dagger__,Dagger,5,14000,,600,73,,1,0,0xFE9F7EEF,7,2,2,2,12,1,1,{},{},{}
-1216,Stiletto,Stiletto,5,19500,,700,87,,1,2,0xFE9F7EEF,7,2,2,2,12,1,1,{},{},{}
-1217,Stiletto_,Stiletto,5,19500,,700,87,,1,3,0xFE9F7EEF,7,2,2,2,12,1,1,{},{},{}
-1218,Stiletto__,Stiletto,5,19500,,700,87,,1,0,0xFE9F7EEF,7,2,2,2,12,1,1,{},{},{}
+1201,Knife,Knife,5,50,,400,17,,1,3,0x3E9F7EEF,7,2,2,1,1,1,1,{},{},{}
+1202,Knife_,Knife,5,50,,400,17,,1,4,0x3E9F7EEF,7,2,2,1,1,1,1,{},{},{}
+1203,Knife__,Knife,5,50,,400,17,,1,0,0x3E9F7EEF,7,2,2,1,1,1,1,{},{},{}
+1204,Cutter,Cutter,5,1250,,500,30,,1,3,0x3E9F7EEF,7,2,2,1,1,1,1,{},{},{}
+1205,Cutter_,Cutter,5,1250,,500,30,,1,4,0x3E9F7EEF,7,2,2,1,1,1,1,{},{},{}
+1206,Cutter__,Cutter,5,1250,,500,30,,1,0,0x3E9F7EEF,7,2,2,1,1,1,1,{},{},{}
+1207,Main_Gauche,Main Gauche,5,2400,,600,43,,1,3,0x3E9F7EEF,7,2,2,1,1,1,1,{},{},{}
+1208,Main_Gauche_,Main Gauche,5,2400,,600,43,,1,4,0x3E9F7EEF,7,2,2,1,1,1,1,{},{},{}
+1209,Main_Gauche__,Main Gauche,5,2400,,600,43,,1,0,0x3E9F7EEF,7,2,2,1,1,1,1,{},{},{}
+1210,Dirk,Dirk,5,8500,,500,59,,1,2,0x3E9F7EEF,7,2,2,2,12,1,1,{},{},{}
+1211,Dirk_,Dirk,5,8500,,500,59,,1,3,0x3E9F7EEF,7,2,2,2,12,1,1,{},{},{}
+1212,Dirk__,Dirk,5,8500,,500,59,,1,0,0x3E9F7EEF,7,2,2,2,12,1,1,{},{},{}
+1213,Dagger,Dagger,5,14000,,600,73,,1,2,0x3E9F7EEF,7,2,2,2,12,1,1,{},{},{}
+1214,Dagger_,Dagger,5,14000,,600,73,,1,3,0x3E9F7EEF,7,2,2,2,12,1,1,{},{},{}
+1215,Dagger__,Dagger,5,14000,,600,73,,1,0,0x3E9F7EEF,7,2,2,2,12,1,1,{},{},{}
+1216,Stiletto,Stiletto,5,19500,,700,87,,1,2,0x3E9F7EEF,7,2,2,2,12,1,1,{},{},{}
+1217,Stiletto_,Stiletto,5,19500,,700,87,,1,3,0x3E9F7EEF,7,2,2,2,12,1,1,{},{},{}
+1218,Stiletto__,Stiletto,5,19500,,700,87,,1,0,0x3E9F7EEF,7,2,2,2,12,1,1,{},{},{}
 1219,Gladius,Gladius,5,43000,,700,105,,1,2,0x028F5EEE,7,2,2,3,24,1,1,{},{},{}
 1220,Gladius_,Gladius,5,43000,,700,105,,1,3,0x028F5EEE,7,2,2,3,24,1,1,{},{},{}
 1221,Gladius__,Gladius,5,43000,,700,105,,1,0,0x028F5EEE,7,2,2,3,24,1,1,{},{},{}
@@ -588,9 +588,9 @@
 1244,Holy_Dagger,Holy Dagger,5,20,,800,100,,1,0,0x02021040,7,2,2,4,55,1,1,{ bonus bAtkEle,Ele_Holy; bonus bDex,1; },{},{}
 1245,Cinquedea,Cinquedea,5,40000,,700,110,,1,1,0x00000001,7,2,2,3,30,1,1,{},{},{}
 1246,Cinquedea_,Cinquedea,5,40000,,700,110,,1,2,0x00000001,7,2,2,3,30,1,1,{},{},{}
-1247,Kindling_Dagger,Kindle Dagger,5,10000,,600,39,,1,0,0xFE9F7EEF,7,2,2,1,1,1,1,{ bonus bAtkEle,Ele_Fire; },{},{}
-1248,Obsidian_Dagger,Obsidian Dagger,5,10000,,600,39,,1,0,0xFE9F7EEF,7,2,2,1,1,1,1,{ bonus bAtkEle,Ele_Earth; },{},{}
-1249,Fisherman's_Dagger,Fisherman's Dagger,5,10000,,600,39,,1,0,0xFE9F7EEF,7,2,2,1,1,1,1,{ bonus bAtkEle,Ele_Water; },{},{}
+1247,Kindling_Dagger,Kindle Dagger,5,10000,,600,39,,1,0,0x3E9F7EEF,7,2,2,1,1,1,1,{ bonus bAtkEle,Ele_Fire; },{},{}
+1248,Obsidian_Dagger,Obsidian Dagger,5,10000,,600,39,,1,0,0x3E9F7EEF,7,2,2,1,1,1,1,{ bonus bAtkEle,Ele_Earth; },{},{}
+1249,Fisherman's_Dagger,Fisherman's Dagger,5,10000,,600,39,,1,0,0x3E9F7EEF,7,2,2,1,1,1,1,{ bonus bAtkEle,Ele_Water; },{},{}
 // Katars
 1250,Jur,Jur,5,19500,,800,125,,1,2,0x00001000,7,2,34,2,18,1,16,{},{},{}
 1251,Jur_,Jur,5,19500,,800,125,,1,3,0x00001000,7,2,34,2,18,1,16,{},{},{}
@@ -754,7 +754,7 @@
 1480,Gae_Bolg_,Gae Bolg,5,20,,2000,160,,3,2,0x00004082,7,2,34,4,60,1,5,{ bonus bIgnoreDefRace,RC_Dragon; bonus2 bAddClass,Class_Boss,10; },{},{}
 1481,Zephyrus_,Zephyrus,5,20,,2000,170,,3,3,0x00004082,7,2,34,4,48,1,5,{ bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,"MG_THUNDERSTORM",3,100; },{},{}
 1482,BF_Lance1,Assaulter Lance,5,,,0,160,,3,0,0x00004082,7,2,34,3,80,1,5,{ bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,25; bonus2 bAddRace,RC_Player,25; bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus bUnbreakableWeapon; },{},{}
-1483,Ivory_Lance,Ivory Lance,5,20,,1000,160,,3,1,0x00004082,2,2,34,3,50,1,5,{ bonus bAgi,2; bonus bAspdRate,3; bonus2 bAddEff,Eff_Bleeding,300; bonus3 bAutoSpell,"LK_JOINTBEAT",1,100; skill "KN_SPEARSTAB",5; },{},{}
+1483,Ivory_Lance,Ivory Lance,5,20,,1000,160,,3,1,0x00004082,2,2,34,3,50,1,5,{ bonus bAgi,2; bonus bAspdRate,3; bonus2 bAddEff,Eff_Bleeding,300; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,30; skill "KN_SPEARSTAB",5; },{},{}
 1484,Cardo,Cardo,5,20,,5600,150,,3,1,0x00000080,2,2,34,4,70,1,5,{ bonus bAspdRate,-10; bonus bDef,getrefine()/2; },{},{}
 1485,Battle_Fork,Battle Fork,5,20,,700,112,,3,4,0x00004082,2,2,34,2,50,1,5,{},{},{}
 1486,Krieger_Twohand_Spear1,Glorious Lance,5,20,,0,220,,3,0,0x00004082,7,2,34,4,80,1,5,{ bonus2 bAddRace,RC_DemiHuman,70; bonus2 bAddRace,RC_Player,70; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,25; bonus2 bIgnoreDefRaceRate,RC_Player,25; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) { if(BaseJob==Job_Knight) bonus4 bAutoSpellOnSkill,"KN_PIERCE","NPC_CRITICALWOUND",2,200; else if(BaseJob==Job_Crusader) bonus3 bAutoSpell,"PA_PRESSURE",5,200; } },{},{}
@@ -809,6 +809,7 @@
 1546,Krieger_Onehand_Mace1,Glorious Morning Star,5,20,,0,130,,1,0,0x0004C5B3,7,2,2,4,80,1,8,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; bonus bAspdRate,5; } if(getrefine()>8) { bonus2 bAddEff,Eff_Stun,2000; bonus bAspdRate,5; } },{},{}
 1547,Mace_Of_Madness,Mace Of Madness,5,20,,0,150,,1,0,0x0004C5B2,7,2,2,3,0,0,8,{ bonus2 bSkillAtk,"MC_CARTREVOLUTION",25; bonus bStr,2; },{},{}
 1548,Veteran_Hammer,Veteran Hammer,5,10000,,1800,160,,1,2,0x00008110,7,2,2,3,80,1,8,{ bonus bHealPower,getskilllv("AL_DP"); bonus bCritical,getskilllv("PR_MACEMASTERY")*2; bonus bInt,1; bonus bLuk,1; },{},{}
+1549,Pilebuncker,Pile Bunker,5,10000,,3500,450,,1,0,0x00000400,7,2,2,3,99,1,8,{},{},{}
 // Books
 1550,Book,Book,5,30000,,600,85,,1,3,0x00410100,7,2,2,2,14,1,15,{},{},{}
 1551,Bible,Bible,5,60000,,1000,115,,1,2,0x00410100,7,2,2,3,27,1,15,{ bonus bInt,2; },{},{}
@@ -1099,7 +1100,7 @@
 2129,Exorcism_Bible,Exorcism Bible,4,20,,600,,5,,0,0x00008100,7,2,32,,50,1,5,{ bonus bHPrecovRate,3; bonus bSPrecovRate,3; bonus bInt,1; },{},{}
 2130,Cross_Shield,Cross Shield,4,20,,2000,,6,,1,0x00004000,7,2,32,,80,1,4,{ bonus bStr,1; bonus2 bSkillAtk,"PA_SHIELDCHAIN",30; bonus2 bSkillAtk,"CR_SHIELDBOOMERANG",30; bonus bUseSPrate,10; },{},{}
 2131,Magic_Study_Vol1,Magic Bible Vol1,4,20,,1000,,2,,1,0x00810204,2,2,32,,70,1,5,{ bonus bMdef,3; bonus bInt,2; bonus2 bAddEffWhenHit,Eff_Stun,1000; },{},{}
-2132,Shelter_Resistance,Shell Of Resistance,4,20,,0,,9,,0,0xFFFFFFFF,2,2,32,,0,0,2,{ bonus2 bSubEle,Ele_Neutral,20; bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Earth,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Wind,20; bonus2 bSubEle,Ele_Poison,20; bonus2 bSubEle,Ele_Holy,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Ghost,20; bonus2 bSubEle,Ele_Undead,20; bonus bShortWeaponDamageReturn,1; },{},{}
+2132,Shelter_Resistance,Shell Of Resistance,4,20,,0,,9,,0,0xFFFFFFFF,7,2,32,,0,0,2,{ bonus2 bSubEle,Ele_All,20; bonus bShortWeaponDamageReturn,1; if (vip_status(VIP_STATUS_ACTIVE)) { bonus bAllStats,1; } },{},{}
 2133,Tournament_Shield,Tournament Shield,4,20,,1000,,5,,1,0x00004082,2,2,32,,50,1,4,{ bonus2 bAddClass,Class_All,1; if( Class==Job_Lord_Knight ) bonus bAspdRate,-5; },{},{}
 2134,Shield_Of_Naga,Shield of Naga,4,20,,500,,3,,1,0x00CFFF80,2,2,32,,70,1,2,{ bonus bMdef,3; autobonus2 "{ bonus bShortWeaponDamageReturn,(getrefine()*3); }",10,5000,BF_WEAPON,"{ specialeffect2 EF_GUARD; }"; },{},{}
 2135,Shadow_Guard,Shadow Guard,4,20,,800,,4,,1,0x00020000,2,2,32,,70,1,2,{},{},{}
@@ -1108,7 +1109,7 @@
 2138,Bradium_Shield,Bradium Shield,4,20,,1800,,5,,1,0x00CFFF80,2,2,32,,65,1,3,{ bonus2 bSkillAtk,"CR_SHIELDBOOMERANG",60; bonus bAgi,-1; bonus bMaxHP,500; },{},{}
 2139,Flame_Thrower,Flame Thrower,4,20000,,2000,,60,,0,0x00000400,63,2,32,,99,0,1,{},{},{}
 // GM Shield
-2199,Ahura_Mazda,Ahura Mazdah,4,1,,10,,100,,0,0xFFFFFFFF,7,2,32,,1,1,0,{ bonus bAllStats,50; bonus bMdef,99; bonus bShortWeaponDamageReturn,100; bonus2 bSubRace,RC_DemiHuman,95; bonus2 bSubRace,RC_Player,95; skill "CR_FULLPROTECTION",5; Skill "WZ_ESTIMATION",1; Skill "ST_FULLSTRIP",5; Skill "HW_MAGICPOWER",10; bonus bMaxHPRate,200; bonus bNoGemStone; bonus bSpeedRate,25; },{ sc_start4 SC_ENDURE,60000,10,0,0,1; },{ sc_end SC_ENDURE; }
+2199,Ahura_Mazda,Ahura Mazdah,4,1,,10,,100,,0,0xFFFFFFFF,7,2,32,,1,1,0,{ bonus bAllStats,50; bonus bMdef,99; bonus bShortWeaponDamageReturn,100; bonus2 bSubRace,RC_DemiHuman,95; bonus2 bSubRace,RC_Player,95; skill "CR_FULLPROTECTION",5; Skill "WZ_ESTIMATION",1; Skill "ST_FULLSTRIP",5; Skill "HW_MAGICPOWER",10; bonus bMaxHPRate,200; bonus bNoGemStone; bonus bSpeedRate,25; bonus bNoWalkDelay; },{},{}
 // Headgears
 //===================================================================
 2201,Sunglasses,Sunglasses,4,5000,,100,,0,,0,0xFFFFFFFF,7,2,512,,0,0,12,{ bonus2 bResEff,Eff_Blind,500; },{},{}
@@ -1595,7 +1596,7 @@
 2773,Krieger_Ring2,Glorious Mass-Production Ring,4,20,,0,,0,,0,0xFFFFFFFE,7,2,136,,61,0,0,{ bonus bAllStats,2; },{},{}
 2774,Krieger_Ring3,Glorious Popularized Ring,4,20,,0,,0,,0,0xFFFFFFFE,7,2,136,,0,0,0,{ bonus bAllStats,1; },{},{}
 2775,Lure,Lure,4,20,,100,,0,,0,0xFFFFFFFF,7,2,136,,0,0,0,{},{},{}
-2776,Cool_Towel,Adventurer's Trusty Towel,4,20,,100,,,,0,0xFFFFFFFF,7,2,136,,0,0,0,{},{ sc_start SC_SUMMER,-1,0; },{ sc_end SC_SUMMER; }
+2776,Cool_Towel,Adventurer's Trusty Towel,4,20,,100,,,,0,0xFFFFFFFF,7,2,136,,0,0,0,{},{ sc_start SC_SUMMER,INFINITE_TICK,0; },{ sc_end SC_SUMMER; }
 2777,Shaman_Ring,Shaman Ring,4,20,,100,,0,,1,0xFFFFFFFF,7,2,136,,30,0,0,{ bonus bUseSPrate,-5; },{},{}
 2778,Shaman_Earing,Shaman Earrings,4,20,,100,,0,,0,0xFFFFFFFF,7,2,136,,30,0,0,{ bonus bInt,2; },{},{}
 2779,Dark_Knight_Belt,Dark Knight Belt,4,20,,500,,1,,0,0xFFFFFFFF,7,2,136,,30,0,0,{ bonus bStr,2; bonus bAgi,1; },{},{}
@@ -1619,14 +1620,17 @@
 2797,Magical_Stone_,Rocks,4,0,,200,,0,,0,0x00810204,7,2,136,,99,0,0,{ bonus2 bAddDamageClass,2049,10; bonus2 bAddDefMonster,2050,-10; bonus3 bAddMonsterIdDropItem,6151,2049,70; },{},{}
 2798,Will_Of_Exhausted_Angel,Will Of Exhausted Angel,4,0,,200,,0,,0,0x00008100,7,2,136,,99,0,0,{ if(strcharinfo(3)=="job3_arch02") { bonus2 bAddDefMonster,1761,50; bonus2 bAddDefMonster,1762,50; } },{},{}
 2799,Kuirpenring,Kuirpenring,4,0,,100,,0,,1,0xFFFFFFFF,7,2,136,,0,0,0,{ bonus bMdef,1; },{},{}
-2800,Accelerator,Accelerator,4,100000,,100,,0,,1,0x00000400,56,2,136,,99,0,0,{ bonus bAgi,2; },{},{}
-2802,Suicidal_Device,Suicidal Device,4,500000,,1000,,0,,1,0x00000400,56,2,136,,99,0,0,{},{},{}
-2803,Shape_Shifter,Shape Shifter,4,100000,,500,,0,,1,0x00000400,56,2,136,,99,0,0,{ bonus bInt,3; },{},{}
-2804,Cooling_Device,Cooling Device,4,100000,,2500,,0,,1,0x00000400,56,2,136,,99,0,0,{ bonus bDex,1; },{},{}
-2805,Mag_Field_Generator,Magnetic Field Generator,4,100000,,6000,,0,,1,0x00000400,56,2,136,,99,0,0,{ bonus bDex,1; },{},{}
-2806,Barrier_Builder,Barrier Builder,4,150000,,8000,,3,,1,0x00000400,56,2,136,,99,0,0,{ bonus bDex,1; },{},{}
-2807,Repair_Kit,Repair Kit,4,200000,,400,,0,,1,0x00000400,56,2,136,,99,0,0,{},{},{}
-2808,Camouflage_Generator,Camouflague Generator,4,250000,,1000,,0,,1,0x00000400,56,2,136,,99,0,0,{ bonus bAgi,3; },{},{}
+2800,Accelerator,Accelerator,4,100000,,100,,0,,1,0x00000400,7,2,136,,99,0,0,{ bonus bAgi,2; },{},{}
+2801,Hovering_Booster,Hovering Booster,4,100000,,2000,,0,,1,0x00000400,7,2,136,,99,0,0,{ bonus bAgi,1; },{},{}
+2802,Suicidal_Device,Suicidal Device,4,500000,,1000,,0,,1,0x00000400,7,2,136,,99,0,0,{},{},{}
+2803,Shape_Shifter,Shape Shifter,4,100000,,500,,0,,1,0x00000400,7,2,136,,99,0,0,{ bonus bInt,3; },{},{}
+2804,Cooling_Device,Cooling Device,4,100000,,2500,,0,,1,0x00000400,7,2,136,,99,0,0,{ bonus bDex,1; },{},{}
+2805,Mag_Field_Generator,Magnetic Field Generator,4,100000,,6000,,0,,1,0x00000400,7,2,136,,99,0,0,{ bonus bDex,1; },{},{}
+2806,Barrier_Builder,Barrier Builder,4,150000,,8000,,3,,1,0x00000400,7,2,136,,99,0,0,{ bonus bDex,1; },{},{}
+2807,Repair_Kit,Repair Kit,4,200000,,400,,0,,1,0x00000400,7,2,136,,99,0,0,{},{},{}
+2808,Camouflage_Generator,Camouflague Generator,4,250000,,1000,,0,,1,0x00000400,7,2,136,,99,0,0,{ bonus bAgi,3; },{},{}
+2809,High_Quality_Cooler,High Quality Cooler,4,100000,,2500,,0,,1,0x00000400,7,2,136,,99,0,0,{ bonus bDex,1; },{},{}
+2810,Special_Cooler,Special Cooler,4,100000,,2500,,0,,1,0x00000400,7,2,136,,99,0,0,{ bonus bDex,1; },{},{}
 2819,Swordman_Manual,Swordsman Manual,4,0,,100,,0,,0,0x00000001,7,2,136,,1,0,0,{ bonus bMaxSP,100; skill "SM_BASH",1; skill "SM_PROVOKE",1; skill "SM_MAGNUM",1; },{},{}
 2820,Thief_Manual,Thief Manual,4,0,,100,,0,,0,0x00000001,7,2,136,,1,0,0,{ bonus bMaxSP,100; skill "TF_DOUBLE",3; bonus bDoubleRate,15; skill "TF_STEAL",1; skill "TF_HIDING",1; skill "TF_POISON",1; },{},{}
 2821,Acolyte_Manual,Acolyte Manual,4,0,,100,,0,,0,0x00000001,7,2,136,,1,0,0,{ bonus bMaxSP,100; skill "AL_HEAL",1; skill "AL_INCAGI",1; skill "AL_BLESSING",1; },{},{}
@@ -1757,7 +1761,7 @@
 4120,Petit__Card,Sky Petite Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubRace,RC_Dragon,30; },{},{}
 4121,Phreeoni_Card,Phreeoni Card,6,20,,10,,,,,,,,2,,,,,{ bonus bHit,100; },{},{}
 4122,Deviruchi_Card,Deviruchi Card,6,20,,10,,,,,,,,769,,,,,{ bonus bStr,1; bonus2 bResEff,Eff_Blind,10000; },{},{}
-4123,Eddga_Card,Eddga Card,6,20,,10,,,,,,,,64,,,,,{ bonus bMaxHPrate,-25; },{ sc_start4 SC_ENDURE,60000,10,0,0,1; },{ sc_end SC_ENDURE; }
+4123,Eddga_Card,Eddga Card,6,20,,10,,,,,,,,64,,,,,{ bonus bMaxHPrate,-25; bonus bNoWalkDelay; },{},{}
 4124,Medusa_Card,Medusa Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubRace,RC_Demon,15; bonus2 bResEff,Eff_Stone,10000; },{},{}
 4125,Deviace_Card,Deviace Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddRace,RC_DemiHuman,7; bonus2 bAddRace,RC_Player,7; bonus2 bAddRace,RC_Brute,7; bonus2 bAddRace,RC_Plant,7; bonus2 bAddRace,RC_Insect,7; },{},{}
 4126,Minorous_Card,Minorous Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddSize,Size_Large,15; bonus bBaseAtk,5; },{},{}
@@ -4835,8 +4839,8 @@
 12271,Mre_A,Military Ration A,0,2,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 5,0; },{},{}
 12272,Mre_B,Military Ration B,2,2,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCHIT,600000,33; },{},{}
 12273,Mre_C,Military Ration C,2,2,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCFLEE,600000,33; },{},{}
-12274,Gold_Pill_1,Daehwandan,0,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCMHPRATE,36000000,5; percentheal 10,0; },{},{}
-12275,Gold_Pill_2,Taecheongdan,0,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCMSPRATE,36000000,5; percentheal 0,10; },{},{}
+12274,Gold_Pill_1,Daehwandan,0,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCMHPRATE,3600000,5; percentheal 10,0; },{},{}
+12275,Gold_Pill_2,Taecheongdan,0,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCMSPRATE,3600000,5; percentheal 0,10; },{},{}
 12276,Mimic_Scroll,Mimic Scroll,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ mercenary_create 2058,1800000; },{},{}
 12277,Disguise_Scroll,Disguise Scroll,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ mercenary_create 2059,1800000; },{},{}
 12278,Alice_Scroll,Alice Scroll,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ mercenary_create 2060,1800000; },{},{}
@@ -4960,7 +4964,7 @@
 12396,Fools_Day_Box,Gift Box?,11,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ .@rnd = rand(1,10); if(.@rnd==1) itemskill "AL_TELEPORT",1; else if(.@rnd==2) itemskill "AL_TELEPORT",3; else if(.@rnd==3) percentheal 50,0; else if(.@rnd==4) percentheal 0,50; else if(.@rnd==5) end; else if(.@rnd==6) getitem 512,1; else if(.@rnd==7) itemskill "ALL_REVERSEORCISH",1; else if(.@rnd==8) specialeffect2 EF_MAPPILLAR2; else if(.@rnd==9) specialeffect2 EF_ANGEL2; else specialeffect2 EF_COIN; },{},{}
 12397,Fools_Day_Box2,Gift Box?,11,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ .@rnd = rand(1,10); if(.@rnd==1) itemskill "TF_DETOXIFY",1; else if(.@rnd==2) itemskill "TF_PICKSTONE",1; else if(.@rnd==3) itemskill "BA_FROSTJOKER",1; else if(.@rnd==4) itemskill "DC_SCREAM",1; else if(.@rnd==5) end; else if(.@rnd==6) getitem 909,1; else if(.@rnd==7) itemskill "AL_RUWACH",1; else if(.@rnd==8) specialeffect2 EF_BEGINASURA; else if(.@rnd==9) specialeffect2 EF_MVP; else specialeffect2 EF_CURSEATTACK; },{},{}
 12398,PCBang_Gift_Box,PCBang Gift Box,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12399,Castle_Treasure_Box,Castle Treasure Box,2,20,,1000,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
+12399,Castle_Treasure_Box,Castle Treasure Box,2,20,,1000,,,,,0xFFFFFFFF,7,2,,,,,,{ Zeny += 1000000; },{},{}
 12400,Water_Of_Blessing_,Water Of Blessing,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12401,Rune_Kn_Test_Int,Rune Kn Test Int,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_INCINT,300000,40; },{},{}
 12402,29Fruit,29Fruit,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 5,5; },{},{}
@@ -5327,9 +5331,9 @@
 // More Weapons
 //===================================================================
 // Daggers and Ninja Weapons
-13000,Jujube_Dagger,Jujube Dagger,5,10000,,600,39,,1,0,0xFE9F7EEF,7,2,2,1,1,1,1,{ bonus bAtkEle,Ele_Wind; },{},{}
-13001,Dragon_Killer,Dragon Killer,5,20,,900,110,,1,0,0xFE9F7EEF,7,2,2,4,60,1,1,{ bonus bIgnoreDefRace,RC_Dragon; bonus2 bExpAddRace,RC_Dragon,10; },{},{}
-13002,Ginnungagap,Ginnungagap,5,20,,700,148,,1,0,0xFE9F7EEF,7,2,2,4,70,1,1,{ bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Blind,500; bonus2 bAddEff2,Eff_Blind,50; },{},{}
+13000,Jujube_Dagger,Jujube Dagger,5,10000,,600,39,,1,0,0x3E9F7EEF,7,2,2,1,1,1,1,{ bonus bAtkEle,Ele_Wind; },{},{}
+13001,Dragon_Killer,Dragon Killer,5,20,,900,110,,1,0,0x3E9F7EEF,7,2,2,4,60,1,1,{ bonus bIgnoreDefRace,RC_Dragon; bonus2 bExpAddRace,RC_Dragon,10; },{},{}
+13002,Ginnungagap,Ginnungagap,5,20,,700,148,,1,0,0x3E9F7EEF,7,2,2,4,70,1,1,{ bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Blind,500; bonus2 bAddEff2,Eff_Blind,50; },{},{}
 13003,Coward,Cowardice Blade,5,52000,,700,80,,1,1,0x02021040,7,2,2,3,55,1,1,{ bonus bDef,5; },{},{}
 13004,Coward_,Cowardice Blade,5,52000,,700,80,,1,2,0x02021040,7,2,2,3,55,1,1,{ bonus bDef,5; },{},{}
 13005,Angelwing_Short_Sword,Angelic Wing Dagger,5,20,,600,120,,1,2,0x00000001,7,2,2,4,50,1,1,{},{},{}
@@ -5346,7 +5350,7 @@
 13016,Poison_Knife_,Poison Knife,5,20,,800,64,,1,2,0x028F5EEE,7,2,2,3,65,1,1,{ bonus bAtkEle,Ele_Poison; bonus2 bAddEff,Eff_Poison,3000; },{},{}
 13017,House_Auger_,Ice Pick,5,20,,600,70,,1,1,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bDefRatioAtkClass,Class_All; },{},{}
 13018,Sucsamad_,Sucsamad,5,20,,800,140,,1,1,0x028F5EEE,7,2,2,4,36,1,1,{ bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; bonus bUnbreakableWeapon; },{},{}
-13019,Ginnungagap_,Ginnungagap,5,20,,700,148,,1,1,0xFE9F7EEF,7,2,2,4,70,1,1,{ bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Blind,500; bonus2 bAddEff2,Eff_Blind,50; },{},{}
+13019,Ginnungagap_,Ginnungagap,5,20,,700,148,,1,1,0x3E9F7EEF,7,2,2,4,70,1,1,{ bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Blind,500; bonus2 bAddEff2,Eff_Blind,50; },{},{}
 13020,Warrior_Balmung_,Warrior's Balmung,5,20,,1000,170,,1,0,0xFFFFFFFF,7,2,2,4,48,1,1,{ bonus bAllStats,5; },{},{}
 13021,Combat_Knife_C,Combat Knife,5,1,,0,129,,1,0,0x028F5EEE,7,2,2,4,1,0,1,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Player; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bSubRace,RC_Demon,-10; bonus bMaxSPrate,10; bonus bSPDrainValue,3; },{},{}
 13022,Counter_Dagger_C,Dagger of Counter,5,1,,0,209,,1,0,0x00810204,7,2,2,4,1,0,1,{ bonus bCritical,90; },{},{}
@@ -5357,19 +5361,19 @@
 13027,Scalpel,Scalpel,5,20,,500,120,,1,3,0x028F5EEE,2,2,2,4,55,1,1,{ bonus2 bAddEff,Eff_Bleeding,500; },{},{}
 13028,Tooth_Blade,Tooth Blade,5,20,,700,130,,1,1,0x028F5EEE,2,2,2,4,55,1,1,{ if(getrefine()>=9){ bonus3 bAutoSpell,"NPC_SLOWCAST",2,70; } else bonus3 bAutoSpell,"NPC_SLOWCAST",1,50; },{},{}
 13029,Prinsence_Knife,Prinsense Knife,5,20,,0,120,,1,0,0x028F5EEE,7,2,2,1,0,0,1,{ bonus2 bAddClass,Class_All,50; },{},{}
-13030,Dragon_Killer_,Dragon Killer,5,20,,900,110,,1,2,0xFE9F7EEF,7,2,2,4,60,1,1,{ bonus bIgnoreDefRace,RC_Dragon; bonus2 bExpAddRace,RC_Dragon,10; },{},{}
+13030,Dragon_Killer_,Dragon Killer,5,20,,900,110,,1,2,0x3E9F7EEF,7,2,2,4,60,1,1,{ bonus bIgnoreDefRace,RC_Dragon; bonus2 bExpAddRace,RC_Dragon,10; },{},{}
 13031,Sword_Breaker_,Swordbreaker,5,20,,1000,70,,1,3,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bBreakWeaponRate,500; },{},{}
 13032,Mail_Breaker_,Mailbreaker,5,20,,1000,70,,1,3,0x028F5EEE,7,2,2,4,36,1,1,{ bonus bBreakArmorRate,500; },{},{}
 13033,Assasin_Dagger_,Assassin Dagger,5,20,,600,140,,1,1,0x00001000,7,2,2,4,36,1,1,{ bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdRate,2; bonus bAtkEle,Ele_Dark; },{},{}
 13034,Twilight_Desert,Desert Twilight,5,20,,600,130,,1,2,0x00001000,2,2,2,2,70,1,1,{},{},{}
 13035,Sandstorm,Sandstorm,5,20,,600,50,,1,4,0x00001000,2,2,2,2,70,1,1,{},{},{}
-13036,BF_Dagger1,Brave Assassin's Damascus,5,20,,0,120,,1,0,0xFE9F7EEF,7,2,2,3,80,1,1,{ bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15; },{},{}
-13037,BF_Dagger2,Valorous Assassin's Damascus,5,20,,0,120,,1,0,0xFE9F7EEF,7,2,2,3,80,1,1,{ bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus bUnbreakableWeapon; autobonus "{ bonus bDefRatioAtkClass,Class_All; }",10,6000,BF_WEAPON,"{ specialeffect2 EF_HASTEUP; }"; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15; },{},{}
+13036,BF_Dagger1,Brave Assassin's Damascus,5,20,,0,120,,1,0,0x3E9F7EEF,7,2,2,3,80,1,1,{ bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus bUnbreakableWeapon; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15; },{},{}
+13037,BF_Dagger2,Valorous Assassin's Damascus,5,20,,0,120,,1,0,0x3E9F7EEF,7,2,2,3,80,1,1,{ bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus bUnbreakableWeapon; autobonus "{ bonus bDefRatioAtkClass,Class_All; }",10,6000,BF_WEAPON,"{ specialeffect2 EF_HASTEUP; }"; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15; },{},{}
 13038,Dagger_Of_Hunter,Dagger of Hunter,5,20,,700,120,,1,3,0x00020000,2,2,2,3,70,1,1,{ bonus bStr,1; bonus bAgi,2; bonus bDex,1; bonus4 bAutoSpellOnSkill,"RG_BACKSTAP","SM_BASH",10,100; bonus2 bSkillAtk,"RG_BACKSTAP",20; },{},{}
 13039,Ivory_Knife,Ivory Knife,5,20,,700,130,,1,2,0x028F5EEE,2,2,2,3,50,1,1,{ bonus bAgi,2; bonus bAspdRate,3; bonus2 bAddEff,Eff_Bleeding,300; bonus3 bAutoSpell,"NPC_CRITICALWOUND",1,30; },{},{}
-13040,N_Cutter,Novice Cutter,5,0,,0,50,,1,3,0xFE9F7EEF,7,2,2,1,1,0,1,{},{},{}
-13041,N_Main_Gauche,Novice Main Gauche,5,0,,0,63,,1,3,0xFE9F7EEF,7,2,2,1,1,0,1,{},{},{}
-13042,Krieger_Dagger1,Glorious Gladius,5,20,,0,120,,1,0,0xFE9F7EEF,7,2,2,4,80,1,1,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus3 bAutoSpell,"PR_LEXDIVINA",1,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,"RG_RAID","NPC_WIDEBLEEDING",1,250; },{},{}
+13040,N_Cutter,Novice Cutter,5,0,,0,50,,1,3,0x3E9F7EEF,7,2,2,1,1,0,1,{},{},{}
+13041,N_Main_Gauche,Novice Main Gauche,5,0,,0,63,,1,3,0x3E9F7EEF,7,2,2,1,1,0,1,{},{},{}
+13042,Krieger_Dagger1,Glorious Gladius,5,20,,0,120,,1,0,0x3E9F7EEF,7,2,2,4,80,1,1,{ bonus2 bAddRace,RC_DemiHuman,75; bonus2 bAddRace,RC_Player,75; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,20; bonus2 bIgnoreDefRaceRate,RC_Player,20; bonus3 bAutoSpell,"PR_LEXDIVINA",1,20; bonus bUnbreakableWeapon; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bAddRace,RC_Player,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5; bonus2 bIgnoreDefRaceRate,RC_Player,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,"RG_RAID","NPC_WIDEBLEEDING",1,250; },{},{}
 13043,Fortune_Sword_I,Fortune Sword,5,0,,0,120,,1,0,0x028F5EEE,7,2,2,4,0,0,1,{ bonus bLuk,5; },{},{}
 13044,House_Auger_I,Ice Pick,5,0,,0,105,,1,0,0x028F5EEE,7,2,2,4,0,0,1,{},{},{}
 13045,Kamaitachi_I,Kamaitachi,5,0,,0,155,,2,0,0x02000000,7,2,2,4,0,0,1,{},{},{}
@@ -5458,12 +5462,12 @@
 13272,Cure_Free_To_Throw,Throwing Cure Free,10,100,,50,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_end SC_BLEEDING; sc_end SC_CURSE; sc_end SC_SILENCE; sc_end SC_POISON; sc_end SC_ORCISH; sc_end SC_CHANGEUNDEAD; sc_end SC_BLIND; sc_end SC_CONFUSION; sc_end SC_DPOISON; itemheal 500,0; },{},{}
 13273,Stamina_Up_M_To_Throw,Throwing Muramura M,10,100,,10,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_MUSTLE_M,500000,5; },{},{}
 13274,Digestive_F_To_Throw,Throwing Falmons F,10,100,,10,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_LIFE_FORCE_F,500000,5; },{},{}
-13275,HP_Inc_PotS_To_Throw,Throwing Increase HP Potion (Small),10,100,,20,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_PROMOTE_HEALTH_RESERCH,500000,(500+(BaseLevel*10/3)); percentheal 1,0; },{},{}
-13276,HP_Inc_PotM_To_Throw,Throwing Increase HP Potion (Medium),10,100,,40,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_PROMOTE_HEALTH_RESERCH,500000,(1500+(BaseLevel*10/3)); percentheal 2,0; },{},{}
-13277,HP_Inc_PotL_To_Throw,Throwing Increase HP Potion (Large),10,100,,80,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_PROMOTE_HEALTH_RESERCH,500000,(2500+(BaseLevel*10/3)); percentheal 5,0; },{},{}
-13278,SP_Inc_PotS_To_Throw,Throwing Increase SP Potion (Small),10,100,,20,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_ENERGY_DRINK_RESERCH,500000,((BaseLevel/10)-5); percentheal 0,2; },{},{}
-13279,SP_Inc_PotM_To_Throw,Throwing Increase SP Potion (Medium),10,100,,40,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_ENERGY_DRINK_RESERCH,500000,((BaseLevel/10)); percentheal 0,4; },{},{}
-13280,SP_Inc_PotL_To_Throw,Throwing Increase SP Potion (Large),10,100,,80,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_ENERGY_DRINK_RESERCH,500000,((BaseLevel/10)+5); percentheal 0,8; },{},{}
+13275,HP_Inc_PotS_To_Throw,Throwing Increase HP Potion (Small),10,100,,20,0,,,,0x00040000,8,2,32768,,99,,9,{ /* Item bonus in source because of BaseLevel check */ },{},{}
+13276,HP_Inc_PotM_To_Throw,Throwing Increase HP Potion (Medium),10,100,,40,0,,,,0x00040000,8,2,32768,,99,,9,{ /* Item bonus in source because of BaseLevel check */ },{},{}
+13277,HP_Inc_PotL_To_Throw,Throwing Increase HP Potion (Large),10,100,,80,0,,,,0x00040000,8,2,32768,,99,,9,{ /* Item bonus in source because of BaseLevel check */ },{},{}
+13278,SP_Inc_PotS_To_Throw,Throwing Increase SP Potion (Small),10,100,,20,0,,,,0x00040000,8,2,32768,,99,,9,{ /* Item bonus in source because of BaseLevel check */ },{},{}
+13279,SP_Inc_PotM_To_Throw,Throwing Increase SP Potion (Medium),10,100,,40,0,,,,0x00040000,8,2,32768,,99,,9,{ /* Item bonus in source because of BaseLevel check */ },{},{}
+13280,SP_Inc_PotL_To_Throw,Throwing Increase SP Potion (Large),10,100,,80,0,,,,0x00040000,8,2,32768,,99,,9,{ /* Item bonus in source because of BaseLevel check */ },{},{}
 13281,En_White_PotZ_To_Throw,Throwing Concentrated White Potion Z,10,100,,70,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_EXTRACT_WHITE_POTION_Z,500000,20; itemheal 1000,0; },{},{}
 13282,Vitata500_To_Throw,Throwing Vitata 500,10,100,,50,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start2 SC_VITATA_500,500000,20,5; itemheal 0,200; },{},{}
 13283,En_Cel_Juice_To_Throw,Throwing Ceromain Soup,10,100,,50,0,,,,0x00040000,8,2,32768,,99,,9,{ sc_start SC_EXTRACT_SALAMINE_JUICE,500000,10; },{},{}
@@ -5549,11 +5553,11 @@
 13535,Light_Center_Pot_Box,Light Concentration Potion Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14509,20; },{},{}
 13536,Light_Awakening_Pot_Box,Light Awakening Potion Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14510,20; },{},{}
 13537,Light_Berserk_Pot_Box,Light Berserk Potion Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14511,20; },{},{}
-13538,Meteor_10_Scroll_Box,Meteor Storm Scroll Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14512,1; },{},{}
-13539,Storm_10_Scroll_Box,Storm Gust Scroll Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14513,1; },{},{}
-13540,Vermilion_10_Scroll_Box,Lord of Vermilion Scroll Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14514,1; },{},{}
-13541,Lex_Aeterna_Scroll_Box,Lex Aeterna Scroll Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14515,1; },{},{}
-13542,Magnificat_5_Scroll_Box,Magnificat Scroll Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14516,1; },{},{}
+13538,Meteor_10_Scroll_Box,Meteor Storm Scroll Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14512,10; },{},{}
+13539,Storm_10_Scroll_Box,Storm Gust Scroll Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14513,10; },{},{}
+13540,Vermilion_10_Scroll_Box,Lord of Vermilion Scroll Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14514,10; },{},{}
+13541,Lex_Aeterna_Scroll_Box,Lex Aeterna Scroll Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14515,10; },{},{}
+13542,Magnificat_5_Scroll_Box,Magnificat Scroll Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14516,10; },{},{}
 13543,CP_Helm_Scroll_Box,Chemical Protection Helm Scroll Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14517,10; getitem 7139,10; },{},{}
 13544,CP_Shield_Scroll_Box,Chemical Protection Shield Scroll Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14518,10; getitem 7139,10; },{},{}
 13545,CP_Armor_Scroll_Box,Chemical Protection Armor Scroll Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 14519,10; getitem 7139,10; },{},{}
@@ -6449,6 +6453,10 @@
 16000,Erde,Erde,5,20,,500,130,,1,2,0x0004C5B2,2,2,2,4,50,1,8,{ bonus2 bSkillAtk,"AM_ACIDTERROR",20; bonus2 bSkillAtk,"AM_DEMONSTRATION",20; bonus bMaxSP,50; bonus bHealPower,10; },{},{}
 16001,Red_Square_Bag,Red Square Bag,5,20,,500,130,,1,2,0x0004C5B2,2,2,2,3,50,1,8,{ bonus bMaxHP,200; bonus2 bSkillAtk,"AM_ACIDTERROR",20; bonus2 bSkillAtk,"AM_DEMONSTRATION",20; bonus2 bAddMonsterDropItem,501,50; bonus2 bAddMonsterDropItem,502,20; bonus2 bAddMonsterDropItem,503,20; bonus2 bAddMonsterDropItem,504,20; bonus2 bAddMonsterDropItem,505,10; if(readparam(bStr)>=95) bonus2 bAddEff,Eff_Stun,500; },{},{}
 16002,Stunner_C,Stunner,5,0,,0,175,,1,0,0x00008110,7,2,2,3,1,0,8,{ bonus2 bAddEff,Eff_Stun,1000; bonus2 bAddSize,Size_All,40; },{},{}
+//
+16030,Pilebuncker_S,Pile Bunker S,5,20,,3000,400,,1,1,0x00000400,7,2,2,4,130,1,8,{ bonus bAspdRate,getrefine()/2; },{},{}
+16031,Pilebuncker_P,Pile Bunker P,5,20,,4000,450,,1,,0x00000400,7,2,2,4,130,1,8,{ bonus bBaseAtk,getrefine()*5; },{},{}
+16032,Pilebuncker_T,Pile Bunker T,5,20,,3500,400,,1,1,0x00000400,7,2,2,4,130,1,8,{ bonus bUseSPrate,getrefine()*-1; },{},{}
 // More Rental Boxes
 16134,King_Frog_Hat_Box,Frog King Hat Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 5528,1; },{},{}
 16135,Evil's_Bone_Hat_Box,Satanic Bone Helm Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 5529,1; },{},{}

+ 1 - 1
db/pre-re/item_delay.txt

@@ -16,7 +16,7 @@
 //        12659 cannot be used when this delay is active.
 //     Since this is optional, default is -1 will ignores the
 //     delay group and the delay will be stored in character's
-//     data that has limit set in src/map/itemdb.h as MAX_ITEMDELAYS.
+//     data that has limit set in src/map/itemdb.hpp as MAX_ITEMDELAYS.
 
 // SC_REUSE_LIMIT_A
 14538,300000,SC_REUSE_LIMIT_A	//Glass_Of_Illusion

+ 6 - 0
db/pre-re/item_flag.txt

@@ -8,6 +8,12 @@
 //  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'
+// 64 - Item will be displayed with a client side defined drop
+// 128 - Item will be displayed with a white pillar drop effect
+// 256 - Item will be displayed with a blue pillar drop effect
+// 512 - Item will be displayed with a yellow pillar drop effect
+// 1024 - Item will be displayed with a purple pillar drop effect
+// 2048 - Item will be displayed with a orange pillar drop effect
 // 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

+ 4 - 0
db/pre-re/item_misc.txt

@@ -644,3 +644,7 @@ IG_Mercenary,12179,1 // SpearMercenary_Scroll7
 IG_Mercenary,12180,1 // SpearMercenary_Scroll8
 IG_Mercenary,12181,1 // SpearMercenary_Scroll9
 IG_Mercenary,12182,1 // SpearMercenary_Scroll10
+// Token of Siegfried
+IG_Token_Of_Siegfried,6293,1	// F_Token_Of_Siegfried
+IG_Token_Of_Siegfried,6316,1	// E_Token_Of_Siegfried
+IG_Token_Of_Siegfried,7621,1	// Token_Of_Siegfried

+ 2 - 2
db/pre-re/job_db1.txt

@@ -282,9 +282,9 @@
 // Rebellion
 4215,	28000,90   ,650  ,469  ,540  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,480  ,610  ,540  ,940  ,1040 ,2000 ,2000
 // Summoner - Placeholder
-4218,	20000,0    ,500  ,100  ,500  ,650  ,700  ,2000 ,2000 ,2000 ,800  ,2000 ,700  ,700  ,650  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 650
+4218,	20000,0    ,500  ,100  ,400  ,2000 ,2000 ,2000 ,2000 ,2000 ,800  ,2000 ,2000 ,2000 ,600  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
 // Baby Summoner - Placeholder
-4220,	20000,0    ,500  ,100  ,500  ,650  ,700  ,2000 ,2000 ,2000 ,800  ,2000 ,700  ,700  ,650  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 650
+4220,	20000,0    ,500  ,100  ,400  ,2000 ,2000 ,2000 ,2000 ,2000 ,800  ,2000 ,2000 ,2000 ,600  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
 // Baby Ninja - Placeholder
 4222,	26000,80   ,  0  ,540  ,400  ,500  ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000
 // Baby Kagerou - Placeholder

+ 1 - 1
db/pre-re/mob_db.txt

@@ -947,7 +947,7 @@
 1904,BOMBPORING,Bomb Poring,Bomb Poring,28,1000000,0,461,284,1,120,320,100,99,1,28,28,0,33,50,10,12,0,0,20,0x308D,300,1672,672,480,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
 
 // WoE Second Edition; Battle Fields
-1905,BARRICADE,Barricade,Barricade,98,600000,0,0,0,1,0,0,0,0,1,17,1,80,126,20,10,12,2,0,20,0x6200000,300,1288,288,384,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
+1905,BARRICADE,Barricade,Barricade,98,120000,0,0,0,1,0,0,0,0,1,17,1,80,126,20,10,12,2,0,20,0x6200000,300,1288,288,384,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
 1906,BARRICADE_,Barricade,Barricade,98,150,0,0,0,1,0,0,100,99,1,17,1,80,126,20,10,12,2,0,20,0x6370000,300,1288,288,384,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
 1907,S_EMPEL_1,Guardian Stone,Guardian Stone,90,120000,0,0,0,0,1,2,40,50,1,1,1,1,1,1,0,0,0,0,20,0x6200000,300,1288,288,384,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
 1908,S_EMPEL_2,Guardian Stone,Guardian Stone,90,120000,0,0,0,0,1,2,40,50,1,1,1,1,1,1,0,0,0,0,20,0x6200000,300,1288,288,384,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

+ 0 - 104
db/pre-re/pet_db.txt

@@ -1,104 +0,0 @@
-// Pet Database
-//
-// Structure of Database:
-// MobID,Name,JName,LureID,EggID,EquipID,FoodID,Fullness,HungryDelay,R_Hungry,R_Full,Intimate,Die,Capture,Speed,S_Performance,talk_convert_class,attack_rate,defence_attack_rate,change_target_rate,pet_script,loyal_script
-//
-// 01. MobID			Monster ID of the pet.
-// 02. Name			Name of the monster as defined in the database.
-// 03. JName			The display name of the monster when hatched.
-// 04. LureID			Pet Tame Item ID.
-// 05. EggID			Pet Egg ID.
-// 06. EquipID			Pet Accessory ID.
-// 07. FoodID			Pet Food ID.
-// 08. Fullness			The amount Hunger is decreased every [HungryDelay] seconds.
-// 09. HungryDelay		The amount of time it takes for hunger to decrease after feeding. (Default: 60 seconds)
-// 10. R_Hungry			Amount of Intimacy that is increased when fed.
-// 11. R_Full			Amount of Intimacy that is decreased when over-fed.
-// 12. Intimate			Amount of Intimacy the pet starts with.
-// 13. Die			Amount of Intimacy that is decreased when the pet owner dies.
-// 14. Capture			Capture succes rate (10000 = 100%)
-// 15. Speed			Pet's walk speed. (Defaul: 150)
-// 16. S_Performance		Special Performance. (Yes = 1, No = 0)
-// 17. talk_convert_class	Disables pet talk (instead of talking they emote  with /!.)
-// 18. attack_rate			Rate of which the pet will attack (requires at least pet_support_min_friendly intimacy).
-// 19. defence_attack_rate	Rate of which the pet will retaliate when master is being attacked (requires at least pet_support_min_friendly intimacy).
-// 20. change_target_rate	Rate of which the pet will change its attack target.
-// 21. pet_script		Script to execute when the pet is hatched.
-// 22. loyal_script		Script to execute when the pet is hatched (requires at least pet_equip_min_friendly intimacy, independent of pet_script).
-//NOTE: The max value (100%) of attack_rate, defense_rate & change_target_rate is 10000.
-
-//In theory you can use any valid script, but it is run only once upon pet
-//loading, so it is recommended you use the specific pet scripts.
-//Please see "The Pet AI commands" in 'doc/script_commands.txt'.
-
-1002,PORING,Poring,619,9001,10013,531,80,60,50,100,250,20,2000,150,1,0,350,400,800,{ petloot 10; },{ bonus bLuk,2; bonus bCritical,1; }
-1113,DROPS,Drops,620,9002,10013,508,80,60,40,100,250,20,1500,150,1,0,300,400,500,{ petloot 10; },{ bonus bHit,3; bonus bAtk,3; }
-1031,POPORING,Poporing,621,9003,10013,511,80,60,30,100,250,20,1000,150,1,0,300,500,400,{ petloot 15; },{ bonus bLuk,2; bonus2 bSubEle,Ele_Poison,10; }
-1063,LUNATIC,Lunatic,622,9004,10007,534,80,60,40,100,250,20,1500,150,0,0,300,300,1000,{ petskillbonus bLuk,3,10,50; },{ bonus bCritical,2; bonus bAtk,2; }
-1049,PICKY,Picky,623,9005,10012,507,80,60,40,100,250,20,2000,150,1,0,500,600,50,{ petskillbonus bStr,3,10,50;},{ bonus bStr,1; bonus bAtk,5; }
-1011,CHONCHON,ChonChon,624,9006,10002,537,80,60,30,100,250,20,1500,150,1,0,500,500,250,{ petskillbonus bAgi,4,10,50; },{ bonus bAgi,1; bonus bFlee,2; }
-1042,STEEL_CHONCHON,Steel ChonChon,625,9007,10002,1002,80,60,20,100,250,20,1000,150,1,0,500,500,200,{ petskillbonus bAgiVit,4,20,40; },{ bonus bFlee,6; bonus bAgi,-1; }
-1035,HUNTER_FLY,Hunter Fly,626,9008,10002,716,80,60,10,100,250,20,500,150,1,0,500,500,200,{ petskillattack2 "NPC_WINDATTACK",888,2,0,10; },{ bonus bFlee,-5; bonus bFlee2,2; }
-1167,SAVAGE_BABE,Savage Babe,627,9009,10015,537,80,60,40,100,250,20,1500,150,0,0,500,500,200,{ petskillbonus bVit,4,10,50; },{ bonus bVit,1; bonus bMaxHP,50; }
-1107,DESERT_WOLF_B,Baby Desert Wolf,628,9010,10003,537,80,60,40,100,250,20,1000,150,0,0,400,400,400,{ petskillattack "SM_PROVOKE",1,0,5;},{ bonus bInt,1; bonus bMaxSP,50; }
-1052,ROCKER,Rocker,629,9011,10014,537,80,60,30,100,250,20,1500,150,0,0,350,350,600,{ petskillbonus bAllStats,1,10,50; },{ bonus bHPrecovRate,5; bonus bMaxHP,25; }
-1014,SPORE,Spore,630,9012,10017,537,80,60,30,100,250,20,1500,150,0,0,350,500,500,{ petrecovery SC_POISON,60; },{ bonus bHit,5; bonus bAtk,-2; }
-1077,POISON_SPORE,Poison Spore,631,9013,10017,537,80,60,20,100,250,20,1000,150,0,0,600,200,400,{ petskillattack "NPC_POISON",20,0,10; },{ bonus bStr,1; bonus bInt,1; }
-1019,PECOPECO,PecoPeco,632,9014,10010,537,80,60,30,100,250,20,1000,150,1,0,400,500,800,{ petskillbonus bSpeedRate,25,20,20; },{ bonus bMaxHP,150; bonus bMaxSP,-10; }
-1056,SMOKIE,Smokie,633,9015,10019,537,80,60,30,100,250,20,1000,150,1,0,600,600,100,{ petskillbonus bPerfectHide,1,3600,0; },{ bonus bAgi,1; bonus bFlee2,1; }
-1057,YOYO,Yoyo,634,9016,10018,532,80,60,20,100,250,20,1000,150,1,0,300,800,400,{ petloot 20; },{ bonus bCritical,3; bonus bLuk,-1; }
-1023,ORK_WARRIOR,Orc Warrior,635,9017,10009,537,80,60,20,100,250,20,500,150,1,0,600,200,300,{ petskillattack2 "NPC_PIERCINGATT",100,1,0,10; },{ bonus bAtk,10; bonus bDef,-3; }
-1026,MUNAK,Munak,636,9018,10008,537,80,60,20,100,250,20,500,150,0,0,300,750,300,{ petskillattack2 "NPC_DARKNESSATTACK",444,1,0,10; },{ bonus bInt,1; bonus bDef,1; }
-1110,DOKEBI,Dokebi,637,9019,10005,537,80,60,20,100,250,20,500,150,0,0,300,300,800,{ petskillattack "BS_HAMMERFALL",1,0,10; },{ bonus bMatkRate,1; bonus bAtkRate,-1; }
-1170,SOHEE,Sohee,638,9020,10016,537,80,60,10,100,250,20,500,150,0,0,100,1000,200,{ petskillsupport "AL_HEAL",5,60,33,100; },{ bonus bStr,1; bonus bDex,1; }
-1029,ISIS,Isis,639,9021,10006,537,80,60,10,100,250,20,500,150,0,0,650,450,150,{ petskillsupport "PR_MAGNIFICAT",2,60,50,50; },{ bonus bMatkRate,-1; bonus bAtkRate,1; }
-1155,PETIT,Petite,640,9022,10011,537,80,60,20,100,250,20,500,150,0,0,800,400,100,{ petskillattack2 "WZ_HEAVENDRIVE",500,1,0,10; },{ bonus bDef,-2; bonus bMdef,-2; bonus bAspdRate,1; }
-1109,DEVIRUCHI,Deviruchi,641,9023,10004,711,80,60,10,100,250,20,500,150,0,0,800,200,100,{ petskillbonus bAgiDexStr,6,20,40; },{ bonus bMatkRate,1; bonus bAtkRate,1; bonus bMaxHPrate,-3; bonus bMaxSPrate,-3; }
-1101,BAPHOMET_,Baphomet Jr.,642,9024,10001,518,80,60,10,100,250,20,200,150,0,0,1000,100,200,{ petskillattack2 "NPC_DARKNESSATTACK",1776,4,0,5; },{ bonus bDef,1; bonus bMdef,1; bonus2 bResEff,Eff_Stun,-100; }
-1188,BON_GUN,Bon Gun,659,9025,10020,537,80,60,30,100,250,20,500,150,1,0,600,200,400,{ petskillattack2 "NPC_DARKNESSATTACK",555,1,1,1; },{ bonus bVit,1; bonus2 bResEff,Eff_Stun,100; }
-1200,ZHERLTHSH,Zealotus,660,9026,0,929,80,60,10,100,250,20,300,150,0,0,1000,100,500,{ petskillattack "AS_SONICBLOW",1,0,3; },{ bonus2 bAddRace,RC_Demihuman,2; bonus2 bMagicAddRace,RC_DemiHuman,2; }
-1275,ALICE,Alice,661,9027,0,504,80,60,20,100,250,20,800,150,0,0,100,1000,200,{ petskillsupport "AL_HEAL",5,60,25,100; },{ bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; }
-1815,EVENT_RICECAKE,Rice Cake,0,9028,0,511,80,60,50,100,250,20,2000,150,1,0,500,500,200,{ petskillsupport "CR_DEFENDER",3,240,50,100; },{ bonus2 bSubEle,Ele_Neutral,1; bonus bMaxHPrate,-1; }
-1245,GOBLINE_XMAS,Christmas Goblin,12225,9029,0,911,80,60,50,100,250,20,2000,150,0,0,300,300,800,{ petskillattack "MG_SIGHT",5,5,5; },{ bonus bMaxHP,30; bonus2 bSubEle,Ele_Water,1; }
-
-1519,CHUNG_E,Green Maiden,12395,9030,0,6115,80,60,50,100,250,20,2000,150,0,0,300,300,800,{ petskillattack "CR_SHIELDCHARGE",5,5,5; },{ bonus bDef,1; bonus2 bSubRace,RC_DemiHuman,1; }
-1879,ECLIPSE_P,Spring Rabbit,0,9031,0,7766,80,60,50,100,250,20,2000,150,0,0,300,300,800,{ petskillattack "TF_THROWSTONE",1,5,5; },{}
-1122,GOBLIN_1,Goblin,14569,9032,0,7821,80,60,50,100,250,20,800,150,0,0,300,300,800,{ petskillattack "NPC_WINDATTACK",5,5,5; },{}
-1123,GOBLIN_2,Goblin,14570,9033,0,7821,80,60,50,100,250,20,800,150,0,0,300,300,800,{ petskillattack "NPC_FIREATTACK",5,5,5; },{}
-1125,GOBLIN_4,Goblin,14571,9034,0,7821,80,60,50,100,250,20,800,150,0,0,300,300,800,{ petskillattack "NPC_GROUNDATTACK",5,5,5; },{}
-1385,DELETER_,Deleter,14572,9035,0,7822,80,60,20,100,250,20,800,150,0,0,300,300,800,{ petskillattack "SM_MAGNUM",5,5,5; },{}
-1382,DIABOLIC,Diabolic,14573,9036,0,7823,80,60,10,100,250,20,800,150,0,0,300,300,800,{ petskillattack "WZ_METEOR",2,5,5; },{}
-1208,WANDER_MAN,Wanderer,14574,9037,0,7824,80,60,20,100,250,20,800,150,0,0,300,300,800,{ petskillattack "NPC_UNDEADATTACK",5,5,5; },{ bonus bAgi,3; bonus bDex,1; }
-
-1963,P_CHUNG_E,New Year Doll,0,9038,0,554,80,60,30,100,250,20,800,150,0,0,300,300,800,{ petskillattack "CR_SHIELDCHARGE",5,5,5; },{}
-
-// New pets JapanRO Mobile
-1040,GOLEM,Golem,12371,9053,10035,6111,80,60,20,100,250,20,500,150,0,0,300,300,800,{},{ bonus bMaxHP,100; bonus bFlee,-5; }
-1143,MARIONETTE,Marionette,12361,9043,10025,6098,80,60,10,100,250,20,500,150,0,0,300,300,800,{},{ bonus bSPrecovRate,3; }
-1148,MEDUSA,Medusa,12368,9050,10032,6108,80,60,10,100,250,20,200,150,0,0,300,300,800,{},{ bonus bVit,1; bonus2 bResEff,Eff_Stone,500; }
-1179,WHISPER,Whisper,12363,9045,10027,6100,80,60,20,100,250,20,500,150,0,0,300,300,800,{},{ bonus bFlee,7; bonus bDef,-3; }
-1299,GOBLIN_LEADER,Goblin Leader,12364,9046,10028,6104,80,60,10,100,250,20,50,150,0,0,300,300,800,{},{ bonus2 bAddRace,RC_DemiHuman,3; }
-1370,SUCCUBUS,Succubus,12373,9055,10037,6113,80,60,10,100,250,20,200,150,0,0,300,300,800,{},{ bonus2 bHpDrainRate,50,5; }
-1374,INCUBUS,Incubus,12370,9052,10034,6110,80,60,10,100,250,20,50,150,0,0,300,300,800,{},{ bonus bMaxSPRate,3; }
-1379,NIGHTMARE_TERROR,Nightmare Terror,12372,9054,10036,6112,80,60,10,100,250,20,200,150,0,0,300,300,800,{},{ bonus2 bResEff,Eff_Sleep,10000; }
-1401,SHINOBI,Shinobi,12362,9044,10026,6099,80,60,20,100,250,20,500,150,0,0,300,300,800,{},{ bonus bAgi,2; }
-1404,MIYABI_NINGYO,Miyabi Doll,12366,9048,10030,6106,80,60,15,100,250,20,200,150,0,0,300,300,800,{},{ bonus bInt,1; bonus bCastrate,-3; }
-1416,WICKED_NYMPH,Evil Nymph,12365,9047,10029,6105,80,60,15,100,250,20,500,150,0,0,300,300,800,{},{ bonus bMaxSP,30; bonus bSPrecovRate,5; }
-1495,STONE_SHOOTER,Stone Shooter,12369,9051,10033,6109,80,60,20,100,250,20,500,150,0,0,300,300,800,{},{ bonus2 bSubEle,Ele_Fire,3; }
-1504,DULLAHAN,Dullahan,12367,9049,10031,6107,80,60,10,100,250,20,200,150,0,0,300,300,800,{},{ bonus bCritAtkRate,5; }
-1505,LOLI_RURI,Loli Ruri,12360,9042,10024,6097,80,60,15,100,250,20,200,150,0,0,300,300,800,{},{ bonus bMaxHPRate,3; bonus3 bAutoSpellWhenHit,"AL_HEAL",1,10; }
-1513,CIVIL_SERVANT,Mao Guai,12358,9040,10022,6095,80,60,10,100,250,20,500,150,0,0,300,300,800,{},{ bonus bMaxSP,10; }
-1586,LEAF_CAT,Leaf Cat,12359,9041,10023,6096,80,60,20,100,250,20,200,150,0,0,300,300,800,{},{ bonus2 bSubRace,RC_Brute,3; }
-1630,BACSOJIN_,White Lady,12357,9039,10021,6094,80,60,10,100,250,20,2000,150,0,0,300,300,800,{},{}
-1837,IMP,Fire Imp,12374,9056,10038,6114,80,60,10,100,250,20,200,150,0,0,300,300,800,{},{ bonus2 bSubEle,Ele_Fire,2; bonus2 bAddEle,Ele_Fire,2; }
-
-// Brasilis Quest - Suspicious Beach [UNHATCHABLE]
-2057,E_CRAMP,Strange Cramp,12408,6221,0,0,0,0,0,0,0,0,50,0,0,0,350,400,800,{},{} // kRO version
-2081,E_HYDRA,Strange Hydra,12408,6221,0,0,0,0,0,0,0,0,50,0,0,0,350,400,800,{},{} // iRO/cRO version
-
-// New pets (FIX ME: pet bonuses for 2210 and 2313 do not require loyalty)
-//2200,J_TAINI,Tiny,0,9057,0,512,80,60,10,100,250,20,0,150,1,0,300,300,800,{},{}
-//2210,XMAS_LUNATIC,Christmas Snow Rabbit,0,9058,0,529,80,60,10,100,250,20,0,150,1,0,300,300,800,{},{ bonus2 bExpAddRace,RC_All,5; }
-//2313,TIKBALANG,Tikbalang,12699,9059,0,528,80,60,10,100,250,20,1000,150,1,0,300,300,800,{},{ bonus2 bAddDamageClass,2320,10; bonus2 bAddDamageClass,2321,10; bonus2 bAddDamageClass,2322,10; bonus2 bAddDamageClass,2317,10; bonus2 bAddDamageClass,2318,10; bonus2 bAddDamageClass,2327,10; bonus2 bAddDamageClass,2319,10; bonus2 bAddDamageClass,2333,10; bonus2 bAddDamageClass,2332,10; }
-1242,MARIN,Marin,12789,9061,10039,6534,80,60,50,100,250,20,2000,150,1,0,300,300,800,{},{}
-//2398,LITTLE_PORING,Novice Poring,12846,9062,0,531,80,60,1000,0,250,0,5000,150,0,0,300,300,800,{},{ bonus bHPrecovRate,50; }

+ 867 - 0
db/pre-re/pet_db.yml

@@ -0,0 +1,867 @@
+# This file is a part of rAthena.
+#   Copyright(C) 2019 rAthena Development Team
+#   https://rathena.org - https://github.com/rathena
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+###########################################################################
+# Pre-Renewal Pet Database
+###########################################################################
+#
+# Pet Settings
+#
+###########################################################################
+# - Mob                      Monster that can be used as pet
+#   TameItem                 Pet Tame Item.
+#   EggItem                  Pet Egg Item.
+#   EquipItem                Pet Accessory Item. (Default: 0)
+#   FoodItem                 Pet Food Item. (Default: 0)
+#   Fullness                 The amount of hunger is decreased every [HungryDelay] seconds.
+#   HungryDelay              The amount of time in seconds it takes for hunger to decrease after feeding. (Default: 60)
+#   HungerIncrease           The amount of hunger that is increased every time the pet is fed (Default: 20)
+#   IntimacyStart            Amount of Intimacy the pet starts with. (Default: 250)
+#   IntimacyFed              Amount of Intimacy that is increased when fed. (Default: 50)
+#   IntimacyOverfed          Amount of Intimacy that is increased when over-fed. (Default: -100)
+#   IntimacyHungry           Amount of Intimacy that is increased when the pet is hungry. (Default: -5)
+#   IntimacyOwnerDie         Amount of Intimacy that is increased when the pet owner dies. (Default: -20)
+#   CaptureRate              Capture success rate. (10000 = 100%)
+#   SpecialPerformance       If a pet has a Special Performance. (Default: true)
+#   AttackRate               Rate of which the pet will attack [requires at least pet_support_min_friendly intimacy]. (10000 = 100%)
+#   RetaliateRate            Rate of which the pet will retaliate when master is being attacked [requires at least pet_support_min_friendly intimacy]. (10000 = 100%)
+#   ChangeTargetRate         Rate of which the pet will change its attack target. (10000 = 100%)
+#   AllowAutoFeed            Allows turning automatic pet feeding on. (Default: false)
+#   Script                   Bonus script to execute when the pet is alive. (Default: null)
+#   SupportScript            Bonus script to execute when pet_status_support is enabled. (Default: null)
+#   Evolution:               Pet evolution settings. (Optional) (Default: null)
+#     - Target               Mob this pet can evolve to.
+#       ItemRequirements:      Item requirements for evolving this pet.
+#         - Item               Self-explanatory
+#           Amount
+###########################################################################
+
+Header:
+  Type: PET_DB
+  Version: 1
+
+Body:
+  - Mob: PORING
+    TameItem: Unripe_Apple
+    EggItem: Poring_Egg
+    EquipItem: Backpack
+    FoodItem: Apple_Juice
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 2000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bLuk,2;
+        bonus bCritical,1;
+      }
+  - Mob: DROPS
+    TameItem: Orange_Juice
+    EggItem: Drops_Egg
+    EquipItem: Backpack
+    FoodItem: Yellow_Herb
+    Fullness: 4
+    IntimacyFed: 40
+    CaptureRate: 1500
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bHit,3;
+        bonus bAtk,3;
+      }
+  - Mob: POPORING
+    TameItem: Bitter_Herb
+    EggItem: Poporing_Egg
+    EquipItem: Backpack
+    FoodItem: Green_Herb
+    Fullness: 5
+    IntimacyFed: 30
+    CaptureRate: 1000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bLuk,2;
+        bonus2 bSubEle,Ele_Poison,10;
+      }
+  - Mob: LUNATIC
+    TameItem: Rainbow_Carrot
+    EggItem: Lunatic_Egg
+    EquipItem: Silk_Ribbon
+    FoodItem: Carrot_Juice
+    Fullness: 4
+    IntimacyFed: 40
+    CaptureRate: 1500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bCritical,2;
+        bonus bAtk,2;
+      }
+  - Mob: PICKY
+    TameItem: Earthworm_The_Dude
+    EggItem: Picky_Egg
+    EquipItem: Tiny_Egg_Shell
+    FoodItem: Red_Herb
+    Fullness: 4
+    IntimacyFed: 40
+    CaptureRate: 2000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bStr,1;
+        bonus bAtk,5;
+      }
+  - Mob: CHONCHON
+    TameItem: Rotten_Fish
+    EggItem: Chonchon_Egg
+    EquipItem: Monster_Oxygen_Mask
+    FoodItem: Pet_Food
+    Fullness: 6
+    IntimacyFed: 30
+    CaptureRate: 1500
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bAgi,1;
+        bonus bFlee,2;
+      }
+  - Mob: STEEL_CHONCHON
+    TameItem: Lusty_Iron
+    EggItem: Steel_Chonchon_Egg
+    EquipItem: Monster_Oxygen_Mask
+    FoodItem: Iron_Ore
+    Fullness: 5
+    IntimacyFed: 20
+    CaptureRate: 1000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bFlee,6;
+        bonus bAgi,-1;
+      }
+  - Mob: HUNTER_FLY
+    TameItem: Monster_Juice
+    EggItem: Hunter_Fly_Egg
+    EquipItem: Monster_Oxygen_Mask
+    FoodItem: Red_Gemstone
+    Fullness: 5
+    IntimacyFed: 10
+    CaptureRate: 500
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bFlee,-5;
+        bonus bFlee2,2;
+      }
+  - Mob: SAVAGE_BABE
+    TameItem: Sweet_Milk
+    EggItem: Savage_Bebe_Egg
+    EquipItem: Green_Lace
+    FoodItem: Pet_Food
+    Fullness: 7
+    IntimacyFed: 40
+    CaptureRate: 1500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bVit,1;
+        bonus bMaxHP,50;
+      }
+  - Mob: DESERT_WOLF_B
+    TameItem: Well_Dried_Bone
+    EggItem: Baby_Desert_Wolf_Egg
+    EquipItem: Transparent_Headgear
+    FoodItem: Pet_Food
+    Fullness: 6
+    IntimacyFed: 40
+    CaptureRate: 1000
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bInt,1;
+        bonus bMaxSP,50;
+      }
+  - Mob: ROCKER
+    TameItem: Singing_Flower
+    EggItem: Rocker_Egg
+    EquipItem: Rocker_Glasses
+    FoodItem: Pet_Food
+    Fullness: 1
+    IntimacyFed: 30
+    CaptureRate: 1500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bHPrecovRate,5;
+        bonus bMaxHP,25;
+      }
+  - Mob: SPORE
+    TameItem: Dew_Laden_Moss
+    EggItem: Spore_Egg
+    EquipItem: Bark_Shorts
+    FoodItem: Pet_Food
+    Fullness: 3
+    IntimacyFed: 30
+    CaptureRate: 1500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bHit,5;
+        bonus bAtk,-2;
+      }
+  - Mob: POISON_SPORE
+    TameItem: Deadly_Noxious_Herb
+    EggItem: Poison_Spore_Egg
+    EquipItem: Bark_Shorts
+    FoodItem: Pet_Food
+    Fullness: 3
+    IntimacyFed: 20
+    CaptureRate: 1000
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bStr,1;
+        bonus bInt,1;
+      }
+  - Mob: PECOPECO
+    TameItem: Fatty_Chubby_Earthworm
+    EggItem: PecoPeco_Egg
+    EquipItem: Battered_Pot
+    FoodItem: Pet_Food
+    Fullness: 4
+    IntimacyFed: 30
+    CaptureRate: 1000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxHP,150;
+        bonus bMaxSP,-10;
+      }
+  - Mob: SMOKIE
+    TameItem: Baked_Yam
+    EggItem: Smokie_Egg
+    EquipItem: Red_Muffler
+    FoodItem: Pet_Food
+    Fullness: 4
+    IntimacyFed: 30
+    CaptureRate: 1000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bAgi,1;
+        bonus bFlee2,1;
+      }
+  - Mob: YOYO
+    TameItem: Tropical_Banana
+    EggItem: Yoyo_Egg
+    EquipItem: Monkey_Circlet
+    FoodItem: Banana_Juice
+    Fullness: 5
+    IntimacyFed: 20
+    CaptureRate: 1000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bCritical,3;
+        bonus bLuk,-1;
+      }
+  - Mob: ORK_WARRIOR
+    TameItem: Horror_Of_Tribe
+    EggItem: Orc_Warrior_Egg
+    EquipItem: Wild_Flower
+    FoodItem: Pet_Food
+    Fullness: 5
+    IntimacyFed: 20
+    CaptureRate: 500
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bAtk,10;
+        bonus bDef,-3;
+      }
+  - Mob: MUNAK
+    TameItem: No_Recipient
+    EggItem: Munak_Egg
+    EquipItem: Punisher
+    FoodItem: Pet_Food
+    Fullness: 3
+    IntimacyFed: 20
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bInt,1;
+        bonus bDef,1;
+      }
+  - Mob: DOKEBI
+    TameItem: Old_Broom
+    EggItem: Dokkaebi_Egg
+    EquipItem: Wig
+    FoodItem: Pet_Food
+    Fullness: 4
+    IntimacyFed: 20
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMatkRate,1;
+        bonus bAtkRate,-1;
+      }
+  - Mob: SOHEE
+    TameItem: Silver_Knife_Of_Chaste
+    EggItem: Sohee_Egg
+    EquipItem: Golden_Bell
+    FoodItem: Pet_Food
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bStr,1;
+        bonus bDex,1;
+      }
+  - Mob: ISIS
+    TameItem: Armlet_Of_Obedience
+    EggItem: Isis_Egg
+    EquipItem: Queen's_Hair_Ornament
+    FoodItem: Pet_Food
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMatkRate,-1;
+        bonus bAtkRate,1;
+      }
+  - Mob: PETIT
+    TameItem: Shining_Stone
+    EggItem: Green_Petite_Egg
+    EquipItem: Stellar_Hairpin
+    FoodItem: Pet_Food
+    Fullness: 4
+    IntimacyFed: 20
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bDef,-2;
+        bonus bMdef,-2;
+        bonus bAspdRate,1;
+      }
+  - Mob: DEVIRUCHI
+    TameItem: Contracts_In_Shadow
+    EggItem: Deviruchi_Egg
+    EquipItem: Pacifier
+    FoodItem: Shoot
+    Fullness: 2
+    IntimacyFed: 10
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMatkRate,1;
+        bonus bAtkRate,1;
+        bonus bMaxHPrate,-3;
+        bonus bMaxSPrate,-3;
+      }
+  - Mob: BAPHOMET_
+    TameItem: Book_Of_Devil
+    EggItem: Bapho_Jr._Egg
+    EquipItem: Skull_Helm
+    FoodItem: Honey
+    Fullness: 2
+    IntimacyFed: 10
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bDef,1;
+        bonus bMdef,1;
+        bonus2 bResEff,Eff_Stun,-100;
+      }
+  - Mob: BON_GUN
+    TameItem: Heart_Of_Her
+    EggItem: Bongun_Egg
+    EquipItem: Sword_Of_Grave_Keeper
+    FoodItem: Pet_Food
+    Fullness: 4
+    IntimacyFed: 30
+    CaptureRate: 500
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bVit,1;
+        bonus2 bResEff,Eff_Stun,100;
+      }
+  - Mob: ZHERLTHSH
+    TameItem: Prohibition_Red_Candle
+    EggItem: Zherlthsh_Egg
+    FoodItem: Immortal_Heart
+    Fullness: 7
+    IntimacyFed: 10
+    CaptureRate: 300
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bAddRace,RC_Demihuman,2;
+        bonus2 bMagicAddRace,RC_DemiHuman,2;
+        bonus2 bAddRace,RC_Player,2;
+        bonus2 bMagicAddRace,RC_Player,2;
+      }
+  - Mob: ALICE
+    TameItem: Sway_Apron
+    EggItem: Alice_Egg
+    FoodItem: White_Potion
+    Fullness: 2
+    IntimacyFed: 20
+    CaptureRate: 800
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMdef,1;
+        bonus2 bSubRace,RC_DemiHuman,1;
+        bonus2 bSubRace,RC_Player,1;
+      }
+  - Mob: EVENT_RICECAKE
+    EggItem: Rice_Cake_Egg
+    FoodItem: Green_Herb
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 2000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bSubEle,Ele_Neutral,1;
+        bonus bMaxHPrate,-1;
+      }
+  - Mob: GOBLINE_XMAS
+    TameItem: Sweet_Candy_Striper
+    EggItem: Santa_Goblin_Egg
+    FoodItem: Scell
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 2000
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxHP,30;
+        bonus2 bSubEle,Ele_Water,1;
+      }
+  - Mob: CHUNG_E
+    TameItem: Tantanmen
+    EggItem: Chung_E_Egg
+    FoodItem: Bun_
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 2000
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bDef,1;
+        bonus2 bSubRace,RC_DemiHuman,1;
+        bonus2 bSubRace,RC_Player,1;
+      }
+  - Mob: ECLIPSE_P
+    EggItem: Spring_Rabbit_Egg
+    FoodItem: Bok_Choy
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 2000
+    SpecialPerformance: false
+  - Mob: GOBLIN_1
+    TameItem: Knife_Goblin_Ring
+    EggItem: Knife_Goblin_Egg
+    FoodItem: Green_Apple
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 800
+    SpecialPerformance: false
+  - Mob: GOBLIN_2
+    TameItem: Flail_Goblin_Ring
+    EggItem: Flail_Goblin_Egg
+    FoodItem: Green_Apple
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 800
+    SpecialPerformance: false
+  - Mob: GOBLIN_4
+    TameItem: Hammer_Goblin_Ring
+    EggItem: Hammer_Goblin_Egg
+    FoodItem: Green_Apple
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 800
+    SpecialPerformance: false
+  - Mob: DELETER_
+    TameItem: Holy_Marble
+    EggItem: Red_Deleter_Egg
+    FoodItem: Whole_Barbecue
+    Fullness: 4
+    IntimacyFed: 20
+    CaptureRate: 800
+    SpecialPerformance: false
+  - Mob: DIABOLIC
+    TameItem: Red_Burning_Stone
+    EggItem: Diabolic_Egg
+    FoodItem: Meat_Veg_Skewer
+    Fullness: 2
+    IntimacyFed: 10
+    CaptureRate: 800
+    SpecialPerformance: false
+  - Mob: WANDER_MAN
+    TameItem: Skull_Of_Vagabond
+    EggItem: Wanderer_Egg
+    FoodItem: Spirit_Liquor
+    Fullness: 2
+    IntimacyFed: 20
+    CaptureRate: 800
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bAgi,3;
+        bonus bDex,1;
+      }
+  - Mob: P_CHUNG_E
+    EggItem: New_Year_Doll_Egg
+    FoodItem: Mojji
+    Fullness: 3
+    IntimacyFed: 30
+    CaptureRate: 800
+    SpecialPerformance: false
+  - Mob: GOLEM
+    TameItem: Magical_Lithography
+    EggItem: Golem_Egg
+    EquipItem: Windup_Spring
+    FoodItem: Mystic_Stone
+    Fullness: 7
+    IntimacyFed: 20
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxHP,100;
+        bonus bFlee,-5;
+      }
+  - Mob: MARIONETTE
+    TameItem: Delicious_Shaved_Ice
+    EggItem: Marionette_Egg
+    EquipItem: Star_Hairband
+    FoodItem: Small_Snow_Flower
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bSPrecovRate,3;
+      }
+  - Mob: MEDUSA
+    TameItem: Splendid_Mirror
+    EggItem: Medusa_Egg
+    EquipItem: Queen's_Coronet
+    FoodItem: Apple_Pudding
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bVit,1;
+        bonus2 bResEff,Eff_Stone,500;
+      }
+  - Mob: WHISPER
+    TameItem: Fit_Pipe
+    EggItem: Whisper_Egg
+    EquipItem: Spirit_Chain_
+    FoodItem: Damp_Darkness
+    Fullness: 7
+    IntimacyFed: 20
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bFlee,7;
+        bonus bDef,-3;
+      }
+  - Mob: GOBLIN_LEADER
+    TameItem: Staff_Of_Leader
+    EggItem: Goblin_Leader_Egg
+    EquipItem: Nice_Badge
+    FoodItem: Big_Cell
+    Fullness: 7
+    IntimacyFed: 10
+    CaptureRate: 50
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bAddRace,RC_DemiHuman,3;
+        bonus2 bAddRace,RC_Player,3;
+      }
+  - Mob: SUCCUBUS
+    TameItem: Boy's_Naivety
+    EggItem: Succubus_Egg
+    EquipItem: Black_Butterfly_Mask
+    FoodItem: Vital_Flower_
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bHpDrainRate,50,5;
+      }
+  - Mob: INCUBUS
+    TameItem: Gril's_Naivety
+    EggItem: Incubus_Egg
+    EquipItem: Ball_Mask
+    FoodItem: Vital_Flower
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 50
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxSPRate,3;
+      }
+  - Mob: NIGHTMARE_TERROR
+    TameItem: Hell_Contract
+    EggItem: Nightmare_Terror_Egg
+    EquipItem: Hell_Horn
+    FoodItem: Fresh_Plant
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bResEff,Eff_Sleep,10000;
+      }
+  - Mob: SHINOBI
+    TameItem: Kuloren
+    EggItem: Shinobi_Egg
+    EquipItem: Wine_On_Sleeve
+    FoodItem: Grilled_Rice_Cake
+    Fullness: 7
+    IntimacyFed: 20
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bAgi,2;
+      }
+  - Mob: MIYABI_NINGYO
+    TameItem: Gril_Doll
+    EggItem: Miyabi_Ningyo_Egg
+    EquipItem: Summer_Fan
+    FoodItem: Well_Ripened_Berry
+    Fullness: 3
+    IntimacyFed: 15
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bInt,1;
+        bonus bCastrate,-3;
+      }
+  - Mob: WICKED_NYMPH
+    TameItem: Charming_Lotus
+    EggItem: Wicked_Nymph_Egg
+    EquipItem: Jade_Trinket
+    FoodItem: Morning_Dew
+    Fullness: 3
+    IntimacyFed: 15
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxSP,30;
+        bonus bSPrecovRate,5;
+      }
+  - Mob: STONE_SHOOTER
+    TameItem: Oilpalm_Coconut
+    EggItem: Stone_Shooter_Egg
+    EquipItem: Apro_Hair
+    FoodItem: Plant_Neutrient
+    Fullness: 7
+    IntimacyFed: 20
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bSubEle,Ele_Fire,3;
+      }
+  - Mob: DULLAHAN
+    TameItem: Luxury_Whisky_Bottle
+    EggItem: Dullahan_Egg
+    EquipItem: Death_Coil
+    FoodItem: Sunset_On_The_Rock
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bCritAtkRate,5;
+      }
+  - Mob: LOLI_RURI
+    TameItem: Very_Red_Juice
+    EggItem: Loli_Ruri_Egg
+    EquipItem: Fashionable_Glasses
+    FoodItem: Pumpkin_Pie_
+    Fullness: 3
+    IntimacyFed: 15
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxHPRate,3;
+        bonus3 bAutoSpellWhenHit,"AL_HEAL",1,10;
+      }
+  - Mob: CIVIL_SERVANT
+    TameItem: Fan_Of_Wind
+    EggItem: Civil_Servant_Egg
+    EquipItem: Golden_Earing
+    FoodItem: Flavored_Alcohol
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxSP,10;
+      }
+  - Mob: LEAF_CAT
+    TameItem: Very_Soft_Plant
+    EggItem: Leaf_Cat_Egg
+    EquipItem: Green_Lucky_Bag
+    FoodItem: Fish_With_Blue_Back
+    Fullness: 7
+    IntimacyFed: 20
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bSubRace,RC_Brute,3;
+      }
+  - Mob: BACSOJIN_
+    TameItem: Shiny_Wing_Gown
+    EggItem: Bacsojin_Egg
+    EquipItem: Round_Hair_Ornament
+    FoodItem: Traditional_Cookie
+    Fullness: 7
+    IntimacyFed: 10
+    CaptureRate: 2000
+    SpecialPerformance: false
+  - Mob: IMP
+    TameItem: Flaming_Ice
+    EggItem: Imp_Egg
+    EquipItem: Horn_Protector
+    FoodItem: Flame_Gemstone
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bSubEle,Ele_Fire,2;
+        bonus2 bAddEle,Ele_Fire,2;
+      }

+ 15 - 21
db/pre-re/skill_cast_db.txt

@@ -20,7 +20,7 @@
 //-- SM_PROVOKE
 6,0,0,0,30000,0,1000
 //-- SM_MAGNUM
-7,0,0,0,2000,10000,2000
+7,0,2000,0,0,10000,0
 //-- SM_ENDURE
 8,0,0,0,10000:13000:16000:19000:22000:25000:28000:31000:34000:37000,10000,10000
 //==========================================
@@ -166,8 +166,6 @@
 85,15000:14500:14000:13500:13000:12500:12000:11500:11000:10500,5000,0,4000,30000,0
 //-- WZ_WATERBALL
 86,1000:2000:3000:4000:5000:6000:7000:8000:9000:10000,0,0,10000,0,0
-//-- WZ_ICEWALL
-87,0,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0,0
 //-- WZ_FROSTNOVA
 88,6000:6000:5500:5500:5000:5000:4500:4500:4000:4000,1000,0,0,1500:3000:4500:6000:7500:9000:10500:12000:13500:15000,0
 //-- WZ_STORMGUST
@@ -1031,6 +1029,8 @@
 706,0,0,0,3000,0,0,0
 //-- NPC_MAXPAIN
 716,0,0,0,10000,0,0,0
+//-- NPC_REVERBERATION
+725,0,0,0,9000:10000:11000:12000:13000,0,0
 
 //===== 2nd Jobs Quest Skills ==============
 //-- KN_CHARGEATK
@@ -1320,8 +1320,9 @@
 2282,0,0,0,20000:30000:40000:50000:60000,0,0
 //-- NC_DISJOINT
 2283,2000,0,0,0,0,0
-//-- NC_MAGMA_ERUPTION
-5006,1000,500,0,5000,42000,10000:9000:8000:7000:6000
+5006,1000,500,0,5000,5000,10000:9000:8000:7000:6000
+//-- NC_MAGMA_ERUPTION_DOTDAMAGE
+5015,0,0,0,0,20000,0
 //==========================================
 
 //===== Shadow Chaser ======================
@@ -1633,20 +1634,16 @@
 //==========================================
 
 //===== Rebellion Skills ===================
-//-- RL_GLITTERING_GREED
-//2551,0,0,0,0,0,0
 //-- RL_RICHS_COIN
 2552,0,1000,0,600000,0,3000
 //-- RL_MASS_SPIRAL
-2553,2000,1000,0,0,30000,2000
+2553,1000,1000,0,120000,0,2000
 //-- RL_BANISHING_BUSTER
-2554,3000:2500:2000:1500:1000,2000,0,0,0,10000
+2554,3000:2500:2000:1500:1000,0,0,0,0,2000
 //-- RL_B_TRAP
-2555,0,2500:2000:1500:1000:500,0,10000,9000:14000:19000:24000:29000,10000
-//-- RL_FLICKER
-2556,0,0,0,0,0,10000
+2555,2000:1600:1200:800:400,2500:2000:1500:1000:500,0,10000,10000:11000:12000:13000:14000,10000
 //-- RL_S_STORM
-2557,3000:2500:2000:1500:1000,2000,0,0,0,2000
+2557,3000:2500:2000:1500:1000,0,0,0,0,2000
 //-- RL_E_CHAIN
 2558,1000,1000,0,45000:60000:75000:90000:105000:120000:135000:150000:165000:180000,0,0
 //-- RL_QD_SHOT
@@ -1654,11 +1651,11 @@
 //-- RL_C_MARKER
 2560,0,0,0,30000,0,1000
 //-- RL_FIREDANCE
-2561,0,500,0,0,0,5000
+2561,0,500,0,0,0,0
 //-- RL_H_MINE
 2562,1000,1000,0,50000,15000,5000:4500:4000:3500:3000
 //-- RL_P_ALTER
-2563,0,0,0,30000:45000:60000:75000:90000,0,0
+2563,2000,0,0,42000:54000:66000:78000:90000,0,0
 //-- RL_FALLEN_ANGEL
 2564,0,0,0,2000,0,0
 //-- RL_R_TRIP
@@ -1675,12 +1672,6 @@
 2570,5000:6000:7000:8000:9000,1000,0,0,2000,5000
 //-- RL_HAMMER_OF_GOD
 2571,0,2000,0,0,3000:3000:4000:4000:5000,30000
-//-- RL_R_TRIP_PLUSATK
-//2572,0,0,0,0,0,0
-//-- RL_B_FLICKER_ATK
-//2573,0,0,0,0,0,0
-//-- RL_GLITTERING_GREED_ATK
-//2574,0,0,0,0,0,0
 //==========================================
 
 //==== Kagerou & Oboro Skills ==============
@@ -1752,6 +1743,9 @@
 //-- ALL_FULL_THROTTLE
 5014,0,500,0,10000:15000:20000:25000:30000,10000,1800000
 
+//-- ALL_EQSWITCH
+5067,0,0,0,0,0,10000,60
+
 //===== Homunculus Skills ==================
 //-- HLIF_HEAL
 8001,0,2000,0,0,0,0

+ 2 - 0
db/pre-re/skill_castnodex_db.txt

@@ -56,6 +56,8 @@
 2536,7,7	//ALL_GUARDIAN_RECALL
 2537,0,7	//ALL_ODINS_POWER
 
+5067,7,7	//ALL_EQSWITCH
+
 // Mercenary Skills
 8214,7	//MA_CHARGEARROW
 8215,7	//MA_SHARPSHOOTING

+ 75 - 68
db/pre-re/skill_db.txt

@@ -54,26 +54,28 @@
 // 14 attack type (none, weapon, magic, misc)
 // 15 Blowcount (amount of tiles skill knockbacks)
 // 16 inf3 (skill information 3):
-//    0x00001 - skill ignores land protector
-//    0x00002 - free
-//    0x00004 - usable skills while hiding
-//    0x00008 - skill that can be use while in dancing state
-//    0x00010 - skill that could hit emperium
-//    0x00020 - skill ignores SC_STASIS
-//    0x00040 - skill blocked by kagehumi
-//    0x00080 - skill range affected by AC_VULTURE
-//    0x00100 - skill range affected by GS_SNAKEEYE
-//    0x00200 - skill range affected by NJ_SHADOWJUMP
-//    0x00400 - skill range affected by WL_RADIUS
-//    0x00800 - skill range affected by RA_RESEARCHTRAP
-//    0x01000 - skill that does not affect user that has NC_HOVERING active
-//    0x02000 - skill that can be using while riding warg
-//    0x04000 - skill that can be used while on Madogear
-//    0x08000 - skill that can be used to target while under SC__MANHOLE effect
-//    0x10000 - skill that affects hidden targets
-//    0x20000 - skill that affects SC_GLOOMYDAY_SK
-//    0x40000 - skill that is affected by SC_DANCEWITHWUG
-//    0x80000 - skill blocked by RA_WUGBITE
+//    0x000001 - skill ignores land protector
+//    0x000002 - free
+//    0x000004 - usable skills while hiding
+//    0x000008 - skill that can be use while in dancing state
+//    0x000010 - skill that could hit emperium
+//    0x000020 - skill ignores SC_STASIS
+//    0x000040 - skill blocked by kagehumi
+//    0x000080 - skill range affected by AC_VULTURE
+//    0x000100 - skill range affected by GS_SNAKEEYE
+//    0x000200 - skill range affected by NJ_SHADOWJUMP
+//    0x000400 - skill range affected by WL_RADIUS
+//    0x000800 - skill range affected by RA_RESEARCHTRAP
+//    0x001000 - skill that does not affect user that has NC_HOVERING active
+//    0x002000 - skill that can be using while riding warg
+//    0x004000 - skill that can be used while on Madogear
+//    0x008000 - skill that can be used to target while under SC__MANHOLE effect
+//    0x010000 - skill that affects hidden targets
+//    0x020000 - skill that affects SC_GLOOMYDAY_SK
+//    0x040000 - skill that is affected by SC_DANCEWITHWUG
+//    0x080000 - skill blocked by RA_WUGBITE
+//    0x100000 - skill is not blocked by SC_AUTOGUARD (physical-skill only)
+//    0x200000 - skill is not blocked by SC_UTSUSEMI or SC_BUNSINJYUTSU (physical-skill only)
 // 17 Name
 // 18 Description
 1,0,0,0,0,0,0,9,0,no,0,0,0,none,0,0x0,		NV_BASIC,Basic Skill
@@ -127,9 +129,9 @@
 37,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0,		MC_DISCOUNT,Discount
 38,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0,		MC_OVERCHARGE,Overcharge
 39,1,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0,		MC_PUSHCART,Pushcart
-40,1,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x0,		MC_IDENTIFY,Item Appraisal
-41,1,6,4,0,0x1,0,10,1,no,0,0,0,none,0,0x0,		MC_VENDING,Vending
-42,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0x0,		MC_MAMMONITE,Mammonite
+40,1,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x4000,		MC_IDENTIFY,Item Appraisal
+41,1,6,4,0,0x1,0,10,1,no,0,0,0,none,0,0x4000,		MC_VENDING,Vending
+42,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0x4000,		MC_MAMMONITE,Mammonite
 
 //****
 // Archer
@@ -213,13 +215,13 @@
 105,0,0,0,0,0,0,1,0,no,0,0,0,weapon,0,0x0,		BS_HILTBINDING,Hilt Binding
 106,0,0,0,0,0,0,1,0,no,0,0,0,weapon,0,0x0,		BS_FINDINGORE,Ore Discovery
 107,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0,0x0,		BS_WEAPONRESEARCH,Weaponry Research
-108,2,6,16,0,0x1,0,1,1,yes,0,0,0,weapon,0,0x0,	BS_REPAIRWEAPON,Weapon Repair
+108,2,6,16,0,0x1,0,1,1,yes,0,0,0,weapon,0,0x4000,	BS_REPAIRWEAPON,Weapon Repair
 109,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0,0x0,		BS_SKINTEMPER,Skin Tempering
-110,1,6,2,0,0x3,2:2:2:2:2:12,5,1,no,0,0,0,weapon,0,0x0,	BS_HAMMERFALL,Hammer Fall
-111,0,6,4,0,0x3,-1,5,1,no,0,0,0,weapon,0,0x0,	BS_ADRENALINE,Adrenaline Rush
-112,0,6,4,0,0x3,-1,5,1,no,0,0,0,weapon,0,0x0,	BS_WEAPONPERFECT,Weapon Perfection
-113,0,6,4,0,0x3,-1,5,1,no,0,0,0,weapon,0,0x0,	BS_OVERTHRUST,Power-Thrust
-114,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0,0x0,		BS_MAXIMIZE,Maximize Power
+110,1,6,2,0,0x3,2:2:2:2:2:12,5,1,no,0,0,0,weapon,0,0x4000,	BS_HAMMERFALL,Hammer Fall
+111,0,6,4,0,0x3,-1,5,1,no,0,0,0,weapon,0,0x4000,	BS_ADRENALINE,Adrenaline Rush
+112,0,6,4,0,0x3,-1,5,1,no,0,0,0,weapon,0,0x4000,	BS_WEAPONPERFECT,Weapon Perfection
+113,0,6,4,0,0x3,-1,5,1,no,0,0,0,weapon,0,0x4000,	BS_OVERTHRUST,Power-Thrust
+114,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0,0x4000,		BS_MAXIMIZE,Maximize Power
 
 //****
 // Hunter
@@ -267,9 +269,9 @@
 150,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,5,0x40,	TF_BACKSLIDING,Back Slide
 151,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0,0x0,		TF_PICKSTONE,Find Stone
 152,7,6,1,0,0x40,0,1,1,no,0,0x1,0,misc,0,0x0,	TF_THROWSTONE,Stone Fling
-153,1,6,1,-1,0x2,1,1,1,no,0,0x40001,0,weapon,2,0x0,	MC_CARTREVOLUTION,Cart Revolution
-154,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0,0x0,		MC_CHANGECART,Change Cart
-155,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,0,0x0,	MC_LOUD,Crazy Uproar
+153,1,6,1,-1,0x2,1,1,1,no,0,0x40001,0,weapon,2,0x4000,	MC_CARTREVOLUTION,Cart Revolution
+154,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0,0x4000,		MC_CHANGECART,Change Cart
+155,0,6,4,0,0x1,0,1,1,no,0,0x1,0,weapon,0,0x4000,	MC_LOUD,Crazy Uproar
 156,9,6,1,6,0,0,1,1,yes,0,0x1,0,magic,0,0x0,		AL_HOLYLIGHT,Holy Light
 157,0,6,4,0,0x1,0,1,1,yes,0,0x1,0,magic,0,0x0,	MG_ENERGYCOAT,Energy Coat
 
@@ -352,8 +354,8 @@
 226,0,0,0,0,0,0,10,0,no,0,0,0,weapon,0,0x0,		AM_AXEMASTERY,Axe Mastery
 227,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0,		AM_LEARNINGPOTION,Potion Research
 228,0,6,4,0,0x1,0,10,0,no,0,0,0,none,0,0x0,		AM_PHARMACY,Prepare Potion
-229,9,6,2,3,0x9,0,5,1,yes,0,0,0,weapon,0,0x0,	AM_DEMONSTRATION,Bomb
-230,9,6,1,0,0x48,0,5,1,yes,0,0,0,weapon,0,0x0,	AM_ACIDTERROR,Acid Terror
+229,9,6,2,3,0x9,0,5,1,yes,0,0,0,weapon,0,0x300000,	AM_DEMONSTRATION,Bomb
+230,9,6,1,0,0x48,0,5,1,yes,0,0,0,weapon,0,0x300000,	AM_ACIDTERROR,Acid Terror
 231,9,6,16,0,0x1,0,5,1,yes,0,0xC00,0,none,0,0x0,	AM_POTIONPITCHER,Aid Potion
 232,4,6,2,0,0x1,0,5,1,no,0,0,5,none,0,0x0,		AM_CANNIBALIZE,Summon Flora
 233,1,6,2,0,0x1,0,5,1,no,0,0,3,none,0,0x0,		AM_SPHEREMINE,Summon Marine Sphere
@@ -530,7 +532,7 @@
 //****
 // Paladin
 367,9,8,1,0,0xD0,0,5,1,no,0,0x18000,0,misc,0,0x0,		PA_PRESSURE,Gloria Domini
-368,0,6,4,0,0x61,0,5,1,yes,0,0,0,weapon,0,0x0,	PA_SACRIFICE, Martyr's Reckoning
+368,0,6,4,0,0x61,0,5,1,yes,0,0,0,weapon,0,0x300000,	PA_SACRIFICE, Martyr's Reckoning
 369,0,6,4,0,0x41,0,10,1,yes,0,0,0,misc,0,0x0,	PA_GOSPEL,Battle Chant
 
 //****
@@ -561,10 +563,10 @@
 
 //****
 // Whitesmith
-384,0,0,4,0,0x1,0,10,1,yes,0,0,0,weapon,0,0x0,	WS_MELTDOWN,Shattering Strike
+384,0,0,4,0,0x1,0,10,1,yes,0,0,0,weapon,0,0x4000,	WS_MELTDOWN,Shattering Strike
 385,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0,0x0,	WS_CREATECOIN,Create Coins
 386,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0,0x0,	WS_CREATENUGGET,Create Nuggets
-387,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0,		WS_CARTBOOST,Cart Boost
+387,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x4000,		WS_CARTBOOST,Cart Boost
 388,9,6,2,0,0x1,0,5,1,no,0,0,0,none,0,0x0,		WS_SYSTEMCREATE,Auto Attack System
 
 //****
@@ -607,7 +609,7 @@
 
 //****
 // Assassin Cross
-406,0,6,4,-1,0xA,2,10,1,no,0,0x40000,0,weapon,0,0x0,	ASC_METEORASSAULT,Meteor Assault
+406,0,6,4,-1,0xA,2,10,1,no,0,0x40000,0,weapon,0,0x300000,	ASC_METEORASSAULT,Meteor Assault
 407,0,6,4,0,0x1,0,1,0,no,0,0,0,none,0,0x0,		ASC_CDP,Create Deadly Poison
 
 //****
@@ -678,7 +680,7 @@
 
 //****
 // Blacksmith
-459,0,6,4,0,0x3,-1,1,1,no,0,0x8,0,weapon,0 ,0x0,	BS_ADRENALINE2,Advanced Adrenaline Rush
+459,0,6,4,0,0x3,-1,1,1,no,0,0x8,0,weapon,0 ,0x4000,	BS_ADRENALINE2,Advanced Adrenaline Rush
 
 //****
 // Soul Linker
@@ -702,7 +704,7 @@
 474,0,0,4,0,0x1,0,10,1,no,0,0x2,0,none,0,0x0,	NPC_EMOTION_ON,Emotion ON
 475,0,0,4,0,0x1,0,1,1,yes,0,0,0,none,0,0x0,		ST_PRESERVE,Preserve
 476,1,6,1,0,0x1,0,5,1,yes,0,0,0,weapon,0,0x0,	ST_FULLSTRIP,Divest All
-477,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0,	WS_WEAPONREFINE,Upgrade Weapon
+477,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x4000,	WS_WEAPONREFINE,Upgrade Weapon
 478,3,6,2,0,0x3,3,10,1,no,0,0,0,none,0,0x0,		CR_SLIMPITCHER,Aid Condensed Potion
 479,1,6,16,0,0x1,0,5,1,yes,0,0,0,weapon,0,0x0,	CR_FULLPROTECTION,Full Protection
 480,4,8,1,0,0,0,5,5,no,0,0,0,weapon,0,0x20000,		PA_SHIELDCHAIN,Shield Chain
@@ -710,8 +712,8 @@
 482,0,6,4,0,0x1,0,5,1,no,0,0,0,magic,0,0x0,		PF_DOUBLECASTING,Double Casting
 483,18,6,2,0,0x1,1:2:3:4:5,1,1,no,0,0,0,none,0,0x0,	HW_GANBANTEIN,Ganbantein
 484,18,6,2,2,0xD1,0,5,1,yes,0,0x18000,0,misc,0,0x11010,		HW_GRAVITATION,Gravitation Field
-485,-2,6,1,-1,0x8,0,10,1,no,0,0,0,weapon,0,0x0,	WS_CARTTERMINATION,Cart Termination
-486,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0,0x0,		WS_OVERTHRUSTMAX,Maximum Power Thrust
+485,-2,6,1,-1,0x8,0,10,1,no,0,0,0,weapon,0,0x4000,	WS_CARTTERMINATION,Cart Termination
+486,0,6,4,0,0x1,0,5,1,no,0,0,0,weapon,0,0x4000,		WS_OVERTHRUSTMAX,Maximum Power Thrust
 487,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x8,		CG_LONGINGFREEDOM,Longing for Freedom
 488,0,6,4,0,0x1,1,5,1,no,0,0x20,0,misc,0,0x1,	CG_HERMODE,Wand of Hermode
 489,9,6,1,0,0x41,0,5,1,no,0,0,0,misc,0,0x0,		CG_TAROTCARD,Tarot Card of Fate
@@ -731,7 +733,7 @@
 500,0,6,4,0,0x41,0,5,1,no,0,0,0,misc,0,0x0,		GS_GLITTERING,Flip the Coin
 501,9,6,1,-1,0x50,0,1,1,no,0,0,0,misc,0,0x0,		GS_FLING,Fling
 502,-9,8,1,-1,0,0,1,3,no,0,0,0,weapon,0,0x0,		GS_TRIPLEACTION,Triple Action
-503,-9,6,1,-1,0x8,0,1,1,no,0,0,0,weapon,0,0x0,	GS_BULLSEYE,Bulls Eye
+503,-9,6,1,-1,0x8,0,1,1,no,0,0,0,weapon,0,0x300000,	GS_BULLSEYE,Bulls Eye
 504,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0,		GS_MADNESSCANCEL,Madness Canceller
 505,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0,		GS_ADJUSTMENT,AdJustment
 506,0,6,4,0,0x1,0,1,1,no,0,0,0,weapon,0,0x0,		GS_INCREASING,Increasing Accuracy
@@ -868,10 +870,10 @@
 //722,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0,		NPC_WIDESUCK,Wide Suck
 //723,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0,		NPC_STORMGUST2,Storm Gust 2
 //724,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0,		NPC_FIRESTORM,Fire Storm
-//725,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0,		NPC_REVERBERATION,Reverberation 2
-//726,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0,		NPC_REVERBERATION_ATK,Reverberation Attack
-//727,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0,		NPC_LEX_AETERNA,Lex Aeterna 2
-//728,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0,		NPC_ARROWSTORM,NPC Arrow Storm
+725,1,6,2,0,0x3,2,5,1,no,0,0x20082,0,none,0,0x0,	NPC_REVERBERATION,Reverberation 2
+726,1,6,1,0,0x6,2,5,1,no,0,0x2,0,weapon,0,0x0,	NPC_REVERBERATION_ATK,Reverberation Attack
+727,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,		NPC_LEX_AETERNA,Lex Aeterna 2
+728,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,		NPC_ARROWSTORM,NPC Arrow Storm
 //729,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0,		NPC_CHEAL,NPC Coluceo Heal
 //730,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0,		NPC_SR_CURSEDCIRCLE,NPC 
 //731,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0,		NPC_DRAGONBREATH,NPC Dragon Breath
@@ -899,7 +901,7 @@
 1001,14,6,1,-1,0,0,1,1,no,0,0x1,0,weapon,0,0x0,	KN_CHARGEATK,Charge Attack
 1002,0,6,4,0,0x1,0,1,0,no,0,0x1,0,weapon,2,0x0,	CR_SHRINK,Shrink
 1003,0,0,0,0,0,0,1,0,no,0,0x1,0,weapon,0,0x0,	AS_SONICACCEL,Sonic Acceleration
-1004,9,8,1,0,0x8,0,1,1,no,0,0x1,0,weapon,0,0x0,	AS_VENOMKNIFE,Throw Venom Knife
+1004,9,8,1,0,0x8,0,1,1,no,0,0x1,0,weapon,0,0x300000,	AS_VENOMKNIFE,Throw Venom Knife
 1005,1,6,1,0,0x1,0,1,1,no,0,0x1,0,weapon,0,0x0,	RG_CLOSECONFINE,Close Confine
 1006,0,6,4,3,0,1,1,1,yes,0,0x40001,0,magic,3,0x0,	WZ_SIGHTBLASTER,Sight Blaster
 1007,0,6,4,0,0x1,0,1,0,no,0,0x1,0,none,0,0x0,	SA_CREATECON,Create Elemental Converter
@@ -999,7 +1001,7 @@
 // AB Arch Bishop
 2038,11,8,1,6,0x2,1,5,-3,yes,0,0,0,magic,0,0x0,	AB_JUDEX,Judex
 2039,0,6,4,0,0x1,0,1,1,yes,0,0,0,magic,0,0x0,	AB_ANCILLA,Ancilla
-2040,11,8,1,6,0,0,10,-10,yes,0,0,0,magic,0,0x0,	AB_ADORAMUS,Adoramus
+2040,11,8,1,6,0x2,1:1:1:1:1:1:2:2:2:2,10,-10,yes,0,0,0,magic,0,0x0,	AB_ADORAMUS,Adoramus
 2041,0,6,4,0,0x3,3:7:15,3,1,yes,0,0,0,magic,0,0x0,	AB_CLEMENTIA,Crementia
 2042,0,6,4,0,0x3,3:7:15,3,1,yes,0,0,0,magic,0,0x0,	AB_CANTO,Canto Candidus
 2043,0,6,4,6,0x3,3:7:15,3,1,yes,0,0,0,magic,0,0x0,	AB_CHEAL,Coluceo Heal
@@ -1008,15 +1010,15 @@
 2046,0,6,4,6,0x3,15,10,1,yes,0,0,0,magic,0,0x0,	AB_ORATIO,Oratio
 2047,0,6,4,6,0x3,15,4,1,yes,0,0,0,magic,0,0x0,	AB_LAUDAAGNUS,Lauda Agnus
 2048,0,6,4,6,0x3,15,4,1,yes,0,0,0,magic,0,0x0,	AB_LAUDARAMUS,Lauda Ramus
-2049,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0,		AB_EUCHARISTICA,Eucharistica
-2050,11,6,16,6,0x1,0,1,1,yes,0,0,0,magic,0,0x0,	AB_RENOVATIO,Renovatio
-2051,11,6,16,6,0x21,0,5,1,yes,0,0,0,magic,0,0x0,	AB_HIGHNESSHEAL,Highness Heal //CHECK Info shows this has magic attack.
+2049,0,0,0,0,0,0,0,0,no,0,0,0,none,0,0x0,		AB_EUCHARISTICA,Eucharistica // Removed on kRO
+2050,11,6,4,6,0x1,15,1,1,yes,0,0,0,magic,0,0x0,	AB_RENOVATIO,Renovatio
+2051,11,6,16,6,0x21,0,5,1,yes,0,0,0,magic,0,0x0,	AB_HIGHNESSHEAL,Highness Heal
 2052,11,6,1,0,0x1,0,5,1,yes,0,0x400,0,magic,0,0x10020,	AB_CLEARANCE,Clearance
-2053,11,6,16,0,0x1,0,5,1,yes,0,0,0,magic,0,0x0,	AB_EXPIATIO,Expiatio //CHECK Does this also give the buff to party members?
-2054,0,6,4,6,0x1,0,10,1,yes,0,0,0,none,0,0x0,	AB_DUPLELIGHT,Duple Light //CHECK Had issues adding a skill level check to make the % go higher with the skills level. Will do later.
+2053,11,6,16,0,0x1,0,5,1,yes,0,0,0,magic,0,0x0,	AB_EXPIATIO,Expiatio
+2054,0,6,4,6,0x1,0,10,1,yes,0,0,0,none,0,0x0,	AB_DUPLELIGHT,Duple Light
 2055,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0x0,	AB_DUPLELIGHT_MELEE,Duple Light Melee
 2056,-1,6,1,0,0,0,10,1,no,0,0,0,magic,0,0x0,	AB_DUPLELIGHT_MAGIC,Duple Light Magic
-2057,0,6,4,6,0x3,4:5:6:7:8,5,1,yes,0,0,0,magic,0,0x0,	AB_SILENTIUM,Silentium //CHECk Marked magic attack as well. Hmmmm....
+2057,0,6,4,6,0x3,4:5:6:7:8,5,1,yes,0,0,0,magic,0,0x0,	AB_SILENTIUM,Silentium
 
 2515,11,6,16,0,0x1,0,5,1,yes,0,0,0,magic,0,0x0,	AB_SECRAMENT,Secrament
 
@@ -1032,8 +1034,8 @@
 2240,0,6,4,0,0,0,1,1,no,0,0,0,none,0,0x0,		RA_WUGMASTERY,Warg Mastery
 2241,0,6,4,0,0,0,3,1,no,0,0,0,none,0,0x2000,		RA_WUGRIDER,Warg Rider
 2242,0,6,4,-1,0x42,1,1,1,no,0,0,0,weapon,0,0x42000,	RA_WUGDASH,Warg Dash
-2243,9,6,1,0,0x98,0,5,1,no,0,0,0,weapon,0,0x42000,	RA_WUGSTRIKE,Warg Strike
-2244,9,6,1,0,0x98,0,5,1,no,0,0,0,weapon,0,0x40080,	RA_WUGBITE,Warg Bite
+2243,9,6,1,0,0x98,0,5,1,no,0,0,0,weapon,0,0x342000,	RA_WUGSTRIKE,Warg Strike
+2244,9,6,1,0,0x98,0,5,1,no,0,0,0,weapon,0,0x340080,	RA_WUGBITE,Warg Bite
 2245,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0,		RA_TOOTHOFWUG,Tooth of Warg
 2246,0,6,4,0,0x2,3:4:5:6:7,5,1,no,0,0x40000,0,weapon,0,0x0,	RA_SENSITIVEKEEN,Sensitive Keen
 2247,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x80040,		RA_CAMOUFLAGE,Camouflage
@@ -1059,7 +1061,7 @@
 2264,0,6,4,0,0x1,0,1,1,no,0,0,0,none,7,0x4000,		NC_F_SIDESLIDE,Front-Side Slide
 2265,0,6,4,0,0x1,0,1,1,no,0,0,0,none,7,0x4000,		NC_B_SIDESLIDE,Back-Side Slide
 2266,0,0,0,0,0,0,4,0,no,0,0,0,none,0,0x0,		NC_MAINFRAME,Mainframe Restructure
-2267,0,6,4,0,0xCA,2:3:4,3,1,no,0,0x40000,0,weapon,5,0x4000,	NC_SELFDESTRUCTION,Self Destruction
+2267,0,6,4,0,0xCA,2:3:4,3,1,no,0,0x40000,0,weapon,5,0x304000,	NC_SELFDESTRUCTION,Self Destruction
 2268,0,6,4,0,0x1,0,4,1,yes,0,0,0,none,0,0x4000,	NC_SHAPESHIFT,Shape Shift
 2269,0,6,4,0,0x1,0,1,1,no,0,0,0,none,0,0x4000,		NC_EMERGENCYCOOL,Emergency Cool
 2270,0,6,4,0,0x3,7,1,1,yes,0,0,0,none,0,0x4000,	NC_INFRAREDSCAN,Infrared Scan
@@ -1115,7 +1117,7 @@
 2316,0,6,4,0,0x1,0,5,1,yes,0,0,0,none,0,0x0,	LG_EXEEDBREAK,Exceed Break
 2317,2,6,2,-1,0x2,0,5,1,yes,0,0,0,weapon,0,0x0,	LG_OVERBRAND,Over Brand
 2318,0,6,4,0,0x1,0,5,1,yes,0,0,0,none,0,0x0,	LG_PRESTIGE,Prestige
-2319,0,6,4,0,0x3,3,5,1,no,0,0,0,weapon,0,0x0,	LG_BANDING,Banding //CHECK Splash isnt needed right? Banding has its own UNIT ID.
+2319,0,6,4,0,0x3,3,5,1,no,0,0,0,weapon,0,0x0,	LG_BANDING,Banding
 2320,0,6,4,-1,0x2,3,5,1,yes,0,0,0,weapon,0,0x1000,	LG_MOONSLASHER,Moon Slasher
 2321,1,8,2,6,0x2,5,5,-7,yes,0,0,0,weapon,0,0x0,	LG_RAYOFGENESIS,Ray of Genesis
 2322,0,6,16,0,0x3,1,5,1,yes,0,0,0,none,0,0x0,	LG_PIETY,Piety
@@ -1232,7 +1234,7 @@
 2479,9,6,2,0,0,0,5,1,yes,0,0x80,3,misc,0,0x0,	GN_THORNS_TRAP,Thorn Trap
 2480,11,6,1,0,0x1,0,5,1,yes,0,0,3,misc,0,0x0,		GN_BLOOD_SUCKER,Blood Sucker //CHECK Data says its a magic attack. Hmmmm....
 2481,11,6,1,-1,0x2,1:2:3:4:5,5,1,yes,0,0,0,weapon,0,0x0,	GN_SPORE_EXPLOSION,Spore Explosion //CHECK Data says its element is set to neutral. Need to confirm.
-2482,11,6,2,0,0x8,0,5,1,yes,0,0,1,weapon,2,0x0,	GN_WALLOFTHORN,Wall of Thorns
+2482,11,6,2,0,0x8,0,5,1,yes,0,0,1,weapon,2,0x300000,	GN_WALLOFTHORN,Wall of Thorns
 2483,11,6,2,0,0x3,4,10,1,yes,0,0x0,0,weapon,0,0x1,	GN_CRAZYWEED,Crazy Weed
 2484,0,6,2,2,0x2,2,10,1,no,0,0x40000,0,weapon,0,0x1,	GN_CRAZYWEED_ATK,Crazy Weed Attack
 2485,9,6,2,3,0,0,5,1,yes,0,0,1,magic,0,0x0,		GN_DEMONIC_FIRE,Demonic Fire
@@ -1263,7 +1265,7 @@
 //2541,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0,		NPC_UGLYDANCE,Ugly Dance 2
 //2542,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0,		ALL_TETANY,Tetany
 //2543,0,0,0,0,0,0,??,0,no,0,0,0,none,0,0x0,		ALL_RAY_OF_PROTECTION,Ray of Protection
-2544,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0,0x0,		MC_CARTDECORATE,Decorate Cart
+2544,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0,0x4000,		MC_CARTDECORATE,Decorate Cart
 
 //****
 // Rebellion
@@ -1287,7 +1289,7 @@
 2568,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0,	RL_HEAT_BARREL,Heat Barrel
 2569,-9,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0x0,	RL_AM_BLAST,Anti-Material Blast
 2570,-9,6,1,-1,0,0,5,1,no,0,0,0,weapon,6,0x0,	RL_SLUGSHOT,Slug Shot
-2571,-9,6,1,-1,0x2,2,5,1,no,0,0,0,weapon,0,0x0,	RL_HAMMER_OF_GOD,Hammer of God
+2571,7:8:9:10:11,6,1,0,0x2,2,5,1,no,0,0,0,weapon,0,0x0,	RL_HAMMER_OF_GOD,Hammer of God
 2572,0,6,1,-1,0x40,0,5,1,no,0,0,0,weapon,0,0,	RL_R_TRIP_PLUSATK,Round Trip Plus Attack
 //2573,0,6,1,-1,0,0,5,1,no,0,0,0,weapon,0,0,	RL_B_FLICKER_ATK,Bind Flicker Attack
 //2574,0,6,1,-1,0,0,10,1,no,0,0,0,weapon,0,0,	RL_GLITTERING_GREED_ATK,Flip The Coin Greed Attack
@@ -1343,7 +1345,7 @@
 5003,7,6,1,-1,0x2,4:5:6:7:-1,5,1,no,0,0,0,weapon,0,0x0, GN_ILLUSIONDOPING,Illusion Doping
 5004,9,6,2,1,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0x40000,0,weapon,0,0x0, RK_DRAGONBREATH_WATER,Dragon Breath - Water
 5005,0,6,4,0,0x3,3,1,1,no,0,0,0,none,0,0x0, RK_LUXANIMA,Lux Anima
-5006,1,6,2,3,0,0,5,1,no,0,0,3,misc,0,0x4000, NC_MAGMA_ERUPTION,Magma Eruption
+5006,1,6,2,-1,0x2,3,5,1,no,0,0,3,weapon,0,0x4000, NC_MAGMA_ERUPTION,Magma Eruption
 5007,0,6,4,0,0x3,5:6:7:8:9,5,1,no,0,0,0,none,0,0x0, WM_FRIGG_SONG,Frigg's Song
 5008,0,6,4,0,0x3,11,5,1,no,0,0,0,none,0,0x0, SO_ELEMENTAL_SHIELD,Elemental Shield
 5009,1,6,1,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_FLASHCOMBO,Flash Combo
@@ -1352,6 +1354,7 @@
 5012,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, WL_TELEKINESIS_INTENSE,Intense Telekinesis
 5013,0,6,4,0,0x3,0,5,1,no,0,0,0,none,0,0x0, LG_KINGS_GRACE,King's Grace
 5014,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x4000, ALL_FULL_THROTTLE,Full Throttle
+5015,1,6,1,0,0xC0,0,5,1,no,0,0,0,misc,0,0,	NC_MAGMA_ERUPTION_DOTDAMAGE,Magma Eruption Dot Damage
 
 // Summoner - Placeholder
 5018,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,	SU_BASIC_SKILL,New Basic Skill
@@ -1378,11 +1381,8 @@
 5039,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,	SU_TUNAPARTY,Tuna Party
 5040,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,	SU_BUNCHOFSHRIMP,Bunch of Shrimp
 5041,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,	SU_FRESHSHRIMP,Fresh Shrimp
-
-// Unknown Unconfirmed Summoner Skills - Animations Show On These
-//5042,0,0,0,0,0,0,5,0,yes,0,0,0,none,0,0x0,		SU_CN_METEOR_SEC,
-//5043,0,0,0,0,0,0,5,0,yes,0,0,0,none,0,0x0,		SU_LUNATICCARROTBEAT_SEC,
-
+5042,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,	SU_CN_METEOR2,Catnip Meteor 2
+5043,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,	SU_LUNATICCARROTBEAT2,Lunatic Carrot Beat 2
 5044,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,	SU_SOULATTACK,Soul Attack
 5045,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,	SU_POWEROFFLOCK,Power of Flock
 5046,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,	SU_SVG_SPIRIT,Spirit of Savage
@@ -1402,6 +1402,12 @@
 5064,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,	WE_ONEFOREVER,One Forever
 5065,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,	WE_CHEERUP,Cheer Up
 
+5067,0,0,4,0,0x1,0,1,0,no,0,0,0,none,0,0x0,		ALL_EQSWITCH,Equip Switch
+
+// New Arch Bishop Skills
+5072,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,		AB_VITUPERATUM,Vituperatum
+5073,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,		AB_CONVENIO,Convenio
+
 //****
 // Homunculus S
 8001,9,6,4,0,0x1,0,5,1,no,0,0,0,magic,0,0x0,	HLIF_HEAL,Healing Touch
@@ -1489,6 +1495,7 @@
 8238,9,6,16,0,0x1,0,10,1,yes,0,0,0,magic,0,0x0,	MER_KYRIE,Kyrie Eleison
 8239,9,6,16,0,0x1,0,10,1,yes,0,0,0,magic,0,0x1000,	MER_BLESSING,Blessing
 8240,9,6,16,0,0x1,0,10,1,yes,0,0,0,magic,0,0x1000,	MER_INCAGI,Increase Agility
+8241,0,0,0,0,0,0,1,0,no,0,0,0,none,0,0x0,	MER_INVINCIBLEOFF2,Mind Blaster
 
 //****
 // Elemental Spirits Skills

+ 15 - 13
db/pre-re/skill_require_db.txt

@@ -26,11 +26,11 @@
 // 'RequiredStatuses'
 //	Fill the value only with SC_STATUS (see db/const.txt for more details)
 //	Usage for multiple status requirements: SC_STATUS1:SC_STATUS2:SC_STATUS3
-//	Max. multiple value is 3 (skill.h: MAX_SKILL_STATUS_REQUIRE)
+//	Max. multiple value is 3 (skill.hpp: MAX_SKILL_STATUS_REQUIRE)
 //	Use any number or SC_ALL will disable status requirements
 // 'RequiredEquipment'
 //	Specified equipment to be equipped. For multiple values, use : as delimiter.
-//	Max. multiple value is 10 (skill.h: MAX_SKILL_EQUIP_REQUIRE)
+//	Max. multiple value is 10 (skill.hpp: MAX_SKILL_EQUIP_REQUIRE)
 
 //****
 // SM Swordman
@@ -630,7 +630,7 @@
 //****
 // AB Arch Bishop
 2038,0,0,20:23:26:29:32,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//AB_JUDEX
-2039,0,0,30,0,-30,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0							//AB_ANCILLA
+2039,0,0,30,0,-10,0,99,0,0,none,0,0,717,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0							//AB_ANCILLA
 2040,0,0,22:28:34:40:46:52:58:64:70:76,0,0,0,99,0,0,none,0,0,717,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0	//AB_ADORAMUS
 2041,0,0,280:320:360,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//AB_CLEMENTIA
 2042,0,0,200:220:240,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//AB_CANTO
@@ -680,25 +680,25 @@
 //****
 // NC Mechanic
 2256,0,0,3:6:9:12:15,0,0,0,99,0,0,mado,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//NC_BOOSTKNUCKLE
-2257,0,0,50,0,0,0,99,0,0,mado,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0								//NC_PILEBUNKER
+2257,0,0,50,0,0,0,99,0,0,mado,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1549:16030:16031:16032		//NC_PILEBUNKER
 2258,0,0,2:4:6,0,0,0,99,0,0,mado,0,0,6145,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0						//NC_VULCANARM
 2259,0,0,20,0,0,0,99,0,0,mado,0,0,2139,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0						//NC_FLAMELAUNCHER
 2260,0,0,20,0,0,0,99,0,0,mado,0,0,6146,1,6147,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0						//NC_COLDSLOWER
 2261,0,0,30:45:60,0,0,0,99,8,1,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//NC_ARMSCANNON
-2262,0,0,20:40:60,0,0,0,99,0,0,mado,0,0,2800,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//NC_ACCELERATION
-2263,0,0,25,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0							//NC_HOVERING
+2262,0,0,20:40:60,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2800					//NC_ACCELERATION
+2263,0,0,25,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2801						//NC_HOVERING
 2264,0,0,5,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0							//NC_F_SIDESLIDE
 2265,0,0,5,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0							//NC_B_SIDESLIDE
 
-2267,0,0,200,0,0,0,99,0,0,mado,0,0,2802,0,6146,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0						//NC_SELFDESTRUCTION
-2268,0,0,100,0,0,0,99,0,0,mado,0,0,6360,3,6363,3,6362,3,6361,3,2803,0,0,0,0,0,0,0,0,0,6146,2,0			//NC_SHAPESHIFT
-2269,0,0,20,0,0,0,99,0,0,mado,0,0,2804,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0						//NC_EMERGENCYCOOL
+2267,0,0,200,0,0,0,99,0,0,mado,0,0,6146,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2802						//NC_SELFDESTRUCTION
+2268,0,0,100,0,0,0,99,0,0,mado,0,0,6360,3,6363,3,6362,3,6361,3,0,0,0,0,0,0,0,0,0,0,6146,2,2803			//NC_SHAPESHIFT
+2269,0,0,20,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2804:2809:2810				//NC_EMERGENCYCOOL
 2270,0,0,45,0,0,0,99,0,0,mado,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0								//NC_INFRAREDSCAN
 2271,0,0,30,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0							//NC_ANALYZE
-2272,0,0,60:70:80,0,0,0,99,0,0,mado,0,0,2805,0,6146,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0						//NC_MAGNETICFIELD
-2273,0,0,80:90:100,0,0,0,99,0,0,mado,0,0,2806,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0						//NC_NEUTRALBARRIER
-2274,0,0,80:100:120,0,0,0,99,0,0,mado,0,0,2808,0,6146,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0				//NC_STEALTHFIELD
-2275,0,0,25:30:35:40:45,0,0,0,99,0,0,mado,0,0,12392,1,12392,1,12393,1,12393,1,12394,1,2807,0,0,0,0,0,0,0,6146,1,0			//NC_REPAIR
+2272,0,0,60:70:80,0,0,0,99,0,0,mado,0,0,6146,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2805					//NC_MAGNETICFIELD
+2273,0,0,80:90:100,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2806				//NC_NEUTRALBARRIER
+2274,0,0,80:100:120,0,0,0,99,0,0,mado,0,0,6146,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2808				//NC_STEALTHFIELD
+2275,0,0,25:30:35:40:45,0,0,0,99,0,0,mado,0,0,12392,1,12392,1,12393,1,12393,1,12394,1,0,0,0,0,0,0,0,0,2807,0,0			//NC_REPAIR
 
 2278,0,0,20:22:24:26:28,0,0,0,6:7,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0				//NC_AXEBOOMERANG
 2279,0,0,20:22:24:26:28,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//NC_POWERSWING
@@ -961,6 +961,8 @@
 //3036,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0							//BA_POEMBRAGI2
 //3037,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0							//DC_FORTUNEKISS2
 
+5067,0,0,0,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0								//ALL_EQSWITCH
+
 8001,0,0,13:16:19:22:25,0,0,0,99,0,0,none,0,0,545,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0				//HLIF_HEAL
 8002,0,0,20:25:30:35:40,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//HLIF_AVOID
 8004,0,0,100,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0							//HLIF_CHANGE

+ 0 - 3
db/pre-re/skill_tree.txt

@@ -2577,7 +2577,6 @@
 4057,2046,10,2045,5,0,0,0,0,0,0,0,0 //AB_ORATIO#Oratio#
 4057,2047,4,72,1,0,0,0,0,0,0,0,0 //AB_LAUDAAGNUS#Lauda Agnus#
 4057,2048,4,2047,2,0,0,0,0,0,0,0,0 //AB_LAUDARAMUS#Lauda Ramus#
-4057,2049,10,2044,1,2053,1,0,0,0,0,0,0 //AB_EUCHARISTICA#Eucharistica#
 4057,2050,1,2043,3,0,0,0,0,0,0,0,0 //AB_RENOVATIO#Renovatio#
 4057,2051,5,2050,1,0,0,0,0,0,0,0,0 //AB_HIGHNESSHEAL#Highness Heal#
 4057,2052,5,2048,2,0,0,0,0,0,0,0,0 //AB_CLEARANCE#Clearance#
@@ -2924,7 +2923,6 @@
 4063,2046,10,2045,5,0,0,0,0,0,0,0,0 //AB_ORATIO#Oratio#
 4063,2047,4,72,1,0,0,0,0,0,0,0,0 //AB_LAUDAAGNUS#Lauda Agnus#
 4063,2048,4,2047,2,0,0,0,0,0,0,0,0 //AB_LAUDARAMUS#Lauda Ramus#
-4063,2049,10,2044,1,2053,1,0,0,0,0,0,0 //AB_EUCHARISTICA#Eucharistica#
 4063,2050,1,2043,3,0,0,0,0,0,0,0,0 //AB_RENOVATIO#Renovatio#
 4063,2051,5,2050,1,0,0,0,0,0,0,0,0 //AB_HIGHNESSHEAL#Highness Heal#
 4063,2052,5,2048,2,0,0,0,0,0,0,0,0 //AB_CLEARANCE#Clearance#
@@ -4580,7 +4578,6 @@
 4099,2046,10,2045,5,0,0,0,0,0,0,0,0 //AB_ORATIO#Oratio#
 4099,2047,4,72,1,0,0,0,0,0,0,0,0 //AB_LAUDAAGNUS#Lauda Agnus#
 4099,2048,4,2047,2,0,0,0,0,0,0,0,0 //AB_LAUDARAMUS#Lauda Ramus#
-4099,2049,10,2044,1,2053,1,0,0,0,0,0,0 //AB_EUCHARISTICA#Eucharistica#
 4099,2050,1,2043,3,0,0,0,0,0,0,0,0 //AB_RENOVATIO#Renovatio#
 4099,2051,5,2050,1,0,0,0,0,0,0,0,0 //AB_HIGHNESSHEAL#Highness Heal#
 4099,2052,5,2048,2,0,0,0,0,0,0,0,0 //AB_CLEARANCE#Clearance#

+ 2 - 1
db/pre-re/skill_unit_db.txt

@@ -43,7 +43,7 @@
  83,0x86,    ,  0, 3,1000,enemy, 0x010	//WZ_METEOR
  85,0x86,    ,  5:5:5:5:5:5:5:5:5:5:7, 1,1250,enemy,0x018	//WZ_VERMILION
  86,0x86,    ,  0:1:1:2:2:2:2:2:2:2, 0,-1,noone, 0x010	//WZ_WATERBALL
- 87,0x8d,    , -1, 0,  -1,all,   0x9010	//WZ_ICEWALL
+ 87,0x8d,    , -1, 0,1000,all,   0x9010	//WZ_ICEWALL
  89,0x86,    ,  4, 1, 450,enemy, 0x018	//WZ_STORMGUST
  91,0x86,    ,  2, 0,1000,enemy, 0x010	//WZ_HEAVENDRIVE
  92,0x8e,    ,  2, 0,  -1,enemy, 0x8010	//WZ_QUAGMIRE
@@ -108,6 +108,7 @@
 670,0xc7,    ,  1, 5:5:5:5:5:5:5:5:5:13,1000,all,0x008	//NPC_EVILLAND
 
 706,0xfd,     ,  2, 0,1000,enemy, 0x018	//NPC_VENOMFOG
+725,0xda,     ,  0, 0,1000,enemy, 0x1000	//NPC_REVERBERATION
 
 2044,0xca,    ,  0, 2,1000,all,   0x018	//AB_EPICLESIS
 

Файловите разлики са ограничени, защото са твърде много
+ 325 - 132
db/re/achievement_db.yml


+ 59 - 59
db/re/attendance.yml

@@ -1,61 +1,61 @@
 Header:
-  Type: ATTENDANCE_CONF
+  Type: ATTENDANCE_DB
   Version: 1
-  
-Attendance:
-  - Start: 20180502
-    End: 20180529
-    Rewards:
-      - Day: 1
-        ItemId: 22979
-      - Day: 2
-        ItemId: 6316
-      - Day: 3
-        ItemId: 12265
-        Amount: 5
-      - Day: 4
-        ItemId: 23047
-        Amount: 5
-      - Day: 5
-        ItemId: 23038
-      - Day: 6
-        ItemId: 23043
-      - Day: 7
-        ItemId: 23340
-        Amount: 3
-      - Day: 8
-        ItemId: 12516
-        Amount: 5
-      - Day: 9
-        ItemId: 23307
-        Amount: 5
-      - Day: 10
-        ItemId: 12610
-      - Day: 11
-        ItemId: 14533
-        Amount: 2
-      - Day: 12
-        ItemId: 23012
-        Amount: 3
-      - Day: 13
-        ItemId: 23048
-        Amount: 5
-      - Day: 14
-        ItemId: 12264
-        Amount: 5
-      - Day: 15
-        ItemId: 23046
-        Amount: 5
-      - Day: 16
-        ItemId: 12515
-        Amount: 5
-      - Day: 17
-        ItemId: 12522
-        Amount: 5
-      - Day: 18
-        ItemId: 12523
-        Amount: 5
-      - Day: 19
-        ItemId: 6234
-      - Day: 20
-        ItemId: 22845
+
+Body:
+#  - Start: 20180502
+#    End: 20180529
+#    Rewards:
+#      - Day: 1
+#        ItemId: 22979
+#      - Day: 2
+#        ItemId: 6316
+#      - Day: 3
+#        ItemId: 12265
+#        Amount: 5
+#      - Day: 4
+#        ItemId: 23047
+#        Amount: 5
+#      - Day: 5
+#        ItemId: 23038
+#      - Day: 6
+#        ItemId: 23043
+#      - Day: 7
+#        ItemId: 23340
+#        Amount: 3
+#      - Day: 8
+#        ItemId: 12516
+#        Amount: 5
+#      - Day: 9
+#        ItemId: 23307
+#        Amount: 5
+#      - Day: 10
+#        ItemId: 12610
+#      - Day: 11
+#        ItemId: 14533
+#        Amount: 2
+#      - Day: 12
+#        ItemId: 23012
+#        Amount: 3
+#      - Day: 13
+#        ItemId: 23048
+#        Amount: 5
+#      - Day: 14
+#        ItemId: 12264
+#        Amount: 5
+#      - Day: 15
+#        ItemId: 23046
+#        Amount: 5
+#      - Day: 16
+#        ItemId: 12515
+#        Amount: 5
+#      - Day: 17
+#        ItemId: 12522
+#        Amount: 5
+#      - Day: 18
+#        ItemId: 12523
+#        Amount: 5
+#      - Day: 19
+#        ItemId: 6234
+#      - Day: 20
+#        ItemId: 22845

+ 123 - 0
db/re/guild_skill_tree.yml

@@ -0,0 +1,123 @@
+# This file is a part of rAthena.
+#   Copyright(C) 2019 rAthena Development Team
+#   https://rathena.org - https://github.com/rathena
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+###########################################################################
+# Renewal Guild Skill Database
+###########################################################################
+#
+# Guild Skill Settings
+#
+###########################################################################
+# Id - Skill ID of the guild skill.
+###########################################################################
+# MaxLevel - Maximum level of the guild skill.
+###########################################################################
+# Required - A list of required skills for the skill to become available.
+#   Id: Skill ID of the required guild skill.
+#   Level: Level of the required guild skill.
+###########################################################################
+
+Header:
+  Type: GUILD_SKILL_TREE_DB
+  Version: 1
+
+Body:
+  - Id: GD_APPROVAL
+    MaxLevel: 1
+
+  - Id: GD_KAFRACONTRACT
+    MaxLevel: 1
+    Required:
+    - Id: GD_APPROVAL
+      Level: 1
+
+  - Id: GD_GUARDRESEARCH
+    MaxLevel: 1
+    Required:
+    - Id: GD_APPROVAL
+      Level: 1
+
+  - Id: GD_GUARDUP
+    MaxLevel: 3
+
+  - Id: GD_EXTENSION
+    MaxLevel: 10
+
+  - Id: GD_GLORYGUILD
+    MaxLevel: 0
+
+  - Id: GD_LEADERSHIP
+    MaxLevel: 5
+
+  - Id: GD_GLORYWOUNDS
+    MaxLevel: 5
+
+  - Id: GD_SOULCOLD
+    MaxLevel: 5
+    Required:
+    - Id: GD_GLORYWOUNDS
+      Level: 1
+
+  - Id: GD_HAWKEYES
+    MaxLevel: 5
+    Required:
+    - Id: GD_LEADERSHIP
+      Level: 1
+
+  - Id: GD_BATTLEORDER
+    MaxLevel: 1
+    Required:
+    - Id: GD_APPROVAL
+      Level: 1
+    - Id: GD_EXTENSION
+      Level: 2
+
+  - Id: GD_REGENERATION
+    MaxLevel: 3
+    Required:
+    - Id: GD_APPROVAL
+      Level: 1
+    - Id: GD_EXTENSION
+      Level: 5
+    - Id: GD_BATTLEORDER
+      Level: 1
+
+  - Id: GD_RESTORE
+    MaxLevel: 1
+    Required:
+    - Id: GD_REGENERATION
+      Level: 1
+
+  - Id: GD_EMERGENCYCALL
+    MaxLevel: 1
+    Required:
+    - Id: GD_APPROVAL
+      Level: 1
+    - Id: GD_GUARDRESEARCH
+      Level: 1
+    - Id: GD_EXTENSION
+      Level: 5
+    - Id: GD_BATTLEORDER
+      Level: 1
+    - Id: GD_REGENERATION
+      Level: 1
+
+  - Id: GD_DEVELOPMENT
+    MaxLevel: 1
+
+  - Id: GD_GUILD_STORAGE
+    MaxLevel: 5

+ 2 - 2
db/re/instance_db.txt

@@ -23,12 +23,12 @@
 16,Horror Toy Factory,3600,300,1@xm_d,111,22
 17,Faceworm's Nest,3600,300,1@face,112,370
 18,Ghost Palace,3600,300,1@spa,42,196
-// 19,Devil's Tower,3600,300,1@tnm1,50,104,1@tnm2,1@tnm3
+19,Devil's Tower,3600,300,1@tnm1,50,104,1@tnm2,1@tnm3
 20,Assault on the Airship,3600,300,1@air1,244,73,1@air2
 21,Fenrir and Sarah,3600,300,1@glast,367,304
 // 22,Wave Mode - Forest,3600,300,1@def01,50,21
 // 23,Wave Mode - Sky,3600,300,1@def02,29,35
-// 24,Nightmarish Jitterbug,3600,300,1@jtb,16,17
+24,Nightmarish Jitterbug,3600,300,1@jtb,16,17
 25,Isle of Bios,3600,300,1@dth1,17,93,1@dth2,1@dth3
 26,Morse's Cave,3600,300,1@rev,26,181
 // 27,Temple of the Demon God,3600,300,1@eom,101,16

+ 78 - 5
db/re/item_buyingstore.txt

@@ -8,13 +8,86 @@
 //  Items are in same order as data\buyingstoreitemlist.txt, which
 //  must be edited as well for the client to accept added items.
 
+//---2018 / 05 / 16 - 아이템 추가 8517
+6635	//Blacksmith_Blessing
+12507	//E_WOB_Rune
+12508	//E_WOB_Schwaltz
+12509	//E_WOB_Rachel
+12510	//E_WOB_Local
+//22999
+//23136
+//23221
+//23222
+//23223
+//23224
+//23225
+//23226
+//23227
+23228	//Hazy_Mooncake
+//23282
+//25041
+//---2018 / 04 / 18 - 일루전 오브 루안다 아이템 추가
+//25633
+//25634
+//25635
+//25636
+//25637
+//25638
+//25639
+//25640
+//25641
+//25642
+//---2018 / 03 / 14 - 찰스턴부품 추가
+6752	//Charleston_Parts
+//---2018 / 03 / 05 - 일루전 아이템 및 흙빛의조각 게펜마법대회주화 추가
+6671	//Geffen_Coin_Magic_Tournament
+6672	//Shard_of_Gray
+//11620
+25256	//Hazy_Dream_Fragment
+25257	//Bloody_Love_Letter
+25258	//Broken_Arrow
+//25261
+//25262
+//25263
+//25264
+//25265
+//25266
+//25267
+25271	//Illusion_Stone
+//25297
+//25298
+//25299
+//25300
+//25311
+//25312
+//25313
+//25314
+//25615
+//25616
+//25617
+//25618
+//25619
+//---2017 / 10 / 30 - 사냥대회 이벤트 코인 추가
+//23533
+//--- 2017 / 01 / 25 - 신비한 메달 추가
+//25273
+//--- 2016 / 12 / 07 - 락릿지 추가
+//25276
+//25277
+//25278
+//25279
+//25280
+//25281
+//25282
+//25283
+//25284
+//25285
 //--- 2015 / 12 / 16 - 전사자무덤
 //25127
 //25128
 //25129
 //25130
 //25131
-22687	//Fragments_Vicious_Mind
 //23016
 //23080
 4671	//V_B_Celia_Card
@@ -705,8 +778,8 @@
 6940	//Moving_Dark_Matter
 6941	//Fragments_Valkyrie_Power
 6942	//Will_Master
-//6961
-//6962
+6961	//Huge_Metal_Scrap
+6962	//Old_Fuel
 6905	//Broken_Magic_Stone
 //--- 2014 / 12 / 17
 12739	//Snow_Flower
@@ -742,7 +815,7 @@
 11597	//Iron_Worm
 22699	//Test_Reagent
 22679	//Death_Bin
-22687	//Fragments_Vicious_Mind
+22687	//Pieces_Of_Sentiment
 6615	//Siege_Guild_Coin
 //--- 2013 / 08 / 02
 6750	//Failed_Engine
@@ -800,7 +873,7 @@
 6608	//Coagulated_Spell
 6609	//Glast_Decayed_Nail
 6610	//Glast_Horrendous_Mouth
-//6611
+6611	//Colorful_Key
 6612	//Gold_Coin_Basket
 6613	//Flashy_Brooch
 7228	//Gold_Bullion

+ 493 - 37
db/re/item_combo_db.txt

@@ -13,7 +13,8 @@
 1269:5467,{ bonus bAspd,1; bonus bFlee2,3; }
 1284:2892,{ bonus2 bSkillAtk,"AS_SONICBLOW",50; bonus bBaseAtk,50; bonus bFlee,-30; }
 1285:2892,{ bonus bCritical,4; bonus bCritAtkRate,40; bonus bMaxHPRate,-10; }
-1287:15123,{ if (getequiprefinerycnt(EQI_HAND_R) >= 7) { autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",1000,3000,BF_SHORT,BF_NORMAL; } /* Confirm: Success rate */ }
+1287:15123,{ if (getequiprefinerycnt(EQI_HAND_R) >= 7) { autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",1000,3000,BF_SHORT|BF_NORMAL; } /* Confirm: Success rate */ }
+1326:22133,{ bonus bBaseAtk,40; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus2 bSkillAtk,"NC_AXEBOOMERANG",15; } if ((.@eq + .@weapon) >= 18) { bonus2 bAddClass,Class_All,10; if ((.@eq + .@weapon) >= 22) { bonus bLongAtkRate,10; } } }
 1387:19021,{ bonus2 bSkillAtk,"WS_CARTTERMINATION",15+(getequiprefinerycnt(EQI_HAND_R))*5; }
 1407:5782,{ bonus2 bAddClass,Class_All,3; }
 1408:5782,{ bonus2 bAddClass,Class_All,3; }
@@ -25,7 +26,7 @@
 1428:2115,{ bonus3 bAutoSpellWhenHit,"HP_ASSUMPTIO",2,5; }
 1433:2153,{ bonus2 bSkillAtk,"LG_RAYOFGENESIS",10; bonus2 bSkillAtk,"CR_GRANDCROSS",10; }
 1433:2153:18823,{ bonus2 bSkillAtk,"LG_BANISHINGPOINT",20; bonus2 bSkillAtk,"LG_CANNONSPEAR",20; bonus2 bSkillAtk,"LG_SHIELDPRESS",20; }
-1433:2153:18823:28372,{ bonus2 bSkillUseSP,"LG_BANISHINGPOINT",-15; bonus2 bSkillUseSP,"LG_CANNONSPEAR",-10; bonus2 bSkillUseSP,"CR_GRANDCROSS",-30; bonus2 bSkillUseSP,"LG_SHIELDPRESS",-5; }
+1433:2153:18823:28372,{ bonus2 bSkillUseSP,"LG_BANISHINGPOINT",15; bonus2 bSkillUseSP,"LG_CANNONSPEAR",10; bonus2 bSkillUseSP,"CR_GRANDCROSS",30; bonus2 bSkillUseSP,"LG_SHIELDPRESS",5; }
 1433:28372,{ .@r = getequiprefinerycnt(EQI_HAND_R)/2*7; bonus2 bSkillAtk,"LG_CANNONSPEAR",.@r; bonus2 bSkillAtk,"LG_BANISHINGPOINT",.@r; }
 1472:2677,{ bonus bMatkRate,6; bonus bDex,2; bonus bVariableCastrate,-getequiprefinerycnt(EQI_HEAD_TOP); }
 1472:2711,{ bonus bMatkRate,6; bonus bDex,2; bonus bVariableCastrate,-getequiprefinerycnt(EQI_HAND_R); }
@@ -37,11 +38,15 @@
 1479:2700,{ bonus2 bResEff,Eff_Confusion,9500; }
 1480:2527,{ bonus2 bAddRace,RC_Dragon,5; }
 1480:2527:5467,{ bonus2 bAddRace,RC_Dragon,25; }
-1490:19021,{ bonus2 bSkillAtk,"LK_SPIRALPIERCE",getequiprefinerycnt(EQI_HAND_R)*5; bonus4 bAutoSpellOnSkill,"LK_JOINTBEAT","LK_SPIRALPIERCE",max(getskilllv("LK_SPIRALPIERCE"),1),50+(getskilllv("LK_JOINTBEAT")*10); /* Confirm: Success rate */ }
+1490:19021,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSkillAtk,"LK_SPIRALPIERCE",.@r*5; bonus4 bAutoSpellOnSkill,"LK_JOINTBEAT","LK_SPIRALPIERCE",max(getskilllv("LK_SPIRALPIERCE"),1),50+.@r*5; /* Confirm: Success rate */ }
 15141:19033,{ bonus bMaxSP,100; bonus bNoCastCancel; }
 15141:20779:22075,{ .@r = getequiprefinerycnt(EQI_ARMOR)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_SHOES); bonus bMaxHP,1000; bonus bHealPower,min(5+.@r,30); bonus bHealPower2,min(5+.@r,30); }
 15186:19168,{ bonus2 bExpAddClass,Class_All,5; bonus2 bDropAddClass,Class_All,5; }
 1535:4361,{ bonus bBreakArmorRate,900; bonus bBreakWeaponRate,900; }
+15384:4119,{ bonus2 bResEff,Eff_Freeze,10000; }
+15409:18849,{ .@r = getequiprefinerycnt(EQI_ARMOR); .@a = getequiprefinerycnt(EQI_HEAD_TOP); bonus bMatk,20*.@r; bonus bAllStats,.@r; if (.@a>=7) bonus2 bMagicAddClass,Class_Boss,15; if (.@a>=9) bonus2 bMagicAddClass,Class_Boss,15; }
+15409:2980,{ bonus bBaseAtk,50; bonus bMatk,50; bonus bAspd,1; bonus5 bAutoSpell,"WL_SOULEXPANSION",1,60,BF_WEAPON,1; bonus5 bAutoSpell,"WL_TELEKINESIS_INTENSE",1,60,BF_MAGIC,0; bonus5 bAutoSpellWhenHit,"AL_HEAL",5,60,BF_WEAPON|BF_MAGIC,0; }
+1558:27085,{ bonus bBaseAtk,100; bonus bMatk,100; }
 1559:5467,{ bonus bAspd,1; bonus bFlee2,3; }
 1564:2186,{ bonus bAspdRate,getequiprefinerycnt(EQI_HAND_R); }
 1572:2716:2717,{ bonus bInt,5; bonus bMaxHP,700; bonus bAspdRate,5; }
@@ -51,12 +56,19 @@
 1580:2186,{ bonus bAspdRate,15; }
 1615:18539,{ bonus bMatk,10*getequiprefinerycnt(EQI_HAND_R); bonus bVariableCastrate,-10; }
 1616:2515,{ bonus bSpeedRate,25; }
-1617:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bMatk,.@r; if (.@r >= 10) { autobonus "{ bonus bVariableCastrate,-50; }",100,5000,BF_MAGIC; /* Confirm: Success rate? */ } }
 1618:2509,{ bonus bMaxHP,300; bonus bMatkRate,min(5, getequiprefinerycnt(EQI_HAND_R)-5); bonus2 bSubEle,Ele_Neutral,min(30, getequiprefinerycnt(EQI_GARMENT)*3); }
+1618:2509:19139,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bMatkRate,1; if (.@r >= 5) { bonus bMatkRate,2; if (.@r >= 7) { bonus bMatkRate,2; } } }
 1618:2535,{ bonus bMatkRate,5; bonus2 bSubEle,Ele_Neutral,25; }
 1618:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bMatk,.@r; if (.@r >= 10) { autobonus "{ bonus bVariableCastrate,-50; }",100,5000,BF_MAGIC; /* Confirm: Success rate? */ } }
-1619:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bMatk,.@r; if (.@r >= 10) { autobonus "{ bonus bVariableCastrate,-50; }",100,5000,BF_MAGIC; /* Confirm: Success rate? */ } }
+1618:19139,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bMatk,10*.@r; if (.@r>=10) { bonus bVariableCastrate,-3; bonus2 bSkillAtk,"WL_EARTHSTRAIN",15; bonus2 bSkillAtk,"WL_CHAINLIGHTNING",15; bonus2 bSkillAtk,"WZ_HEAVENDRIVE",70; bonus2 bSkillAtk,"WZ_JUPITEL",70; } if (BaseLevel>=100) { bonus bVariableCastrate,-3; bonus2 bSkillAtk,"WL_EARTHSTRAIN",30; bonus2 bSkillAtk,"WL_CHAINLIGHTNING",30; bonus2 bSkillAtk,"WZ_HEAVENDRIVE",140; bonus2 bSkillAtk,"WZ_JUPITEL",140; } }
+1618:20813,{ bonus bMaxHP,300; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R)-5; bonus2 bSubEle,Ele_Neutral,getequiprefinerycnt(EQI_GARMENT)*3; }
+1618:20813:19139,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bMatkRate,1; if (.@r >= 5) { bonus bMatkRate,2; if (.@r >= 7) { bonus bMatkRate,2; } } }
+1618:20847,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_GARMENT); .@weapon = min(.@weapon,10); bonus bMaxHP,1000; bonus bMatk,(-50+(20*.@weapon)); bonus bDelayrate,-(3*(.@weapon/3)); bonus2 bSubEle,Ele_Neutral,(min(.@eq,10)/2); }
+1620:19139,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bMatk,10*.@r; if (.@r>=10) { bonus bVariableCastrate,-3; bonus2 bSkillAtk,"WL_EARTHSTRAIN",15; bonus2 bSkillAtk,"WL_CHAINLIGHTNING",15; bonus2 bSkillAtk,"WZ_HEAVENDRIVE",70; bonus2 bSkillAtk,"WZ_JUPITEL",70; } if (BaseLevel>=100) { bonus bVariableCastrate,-3; bonus2 bSkillAtk,"WL_EARTHSTRAIN",30; bonus2 bSkillAtk,"WL_CHAINLIGHTNING",30; bonus2 bSkillAtk,"WZ_HEAVENDRIVE",140; bonus2 bSkillAtk,"WZ_JUPITEL",140; } }
+1620:20813,{ bonus bMaxHP,300; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R)-5; bonus2 bSubEle,Ele_Neutral,getequiprefinerycnt(EQI_GARMENT)*3; }
+1620:20813:19139,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bMatkRate,1; if (.@r >= 5) { bonus bMatkRate,2; if (.@r >= 7) { bonus bMatkRate,2; } } }
 1620:2509,{ bonus bMaxHP,300; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R)-5; if(getequiprefinerycnt(EQI_GARMENT) > 10) { bonus2 bSubEle,Ele_Neutral,30; } else { bonus2 bSubEle,Ele_Neutral,getequiprefinerycnt(EQI_GARMENT)*3; } }
+1620:2509:19139,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bMatkRate,1; if (.@r >= 5) { bonus bMatkRate,2; if (.@r >= 7) { bonus bMatkRate,2; } } }
 1620:2535,{ bonus bMatkRate,5; bonus2 bSubEle,Ele_Neutral,25; }
 1620:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bMatk,.@r; if (.@r >= 10) { autobonus "{ bonus bVariableCastrate,-50; }",100,5000,BF_MAGIC; /* Confirm: Success rate? */ } }
 1629:5045,{ bonus bDex,2; bonus bInt,2; bonus bSPrecovRate,5; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R); }
@@ -64,11 +76,11 @@
 1636:18539,{ bonus bMatk,10*getequiprefinerycnt(EQI_HAND_R); bonus bVariableCastrate,-10; }
 1646:2161,{ .@r = getequiprefinerycnt(EQI_HAND_L)*4; bonus2 bVariableCastrate,"WZ_STORMGUST",-.@r; bonus2 bVariableCastrate,"WL_FROSTMISTY",-.@r; bonus2 bVariableCastrate,"WL_JACKFROST",-.@r; }
 1647:5968,{ if (BaseClass == Job_Acolyte) { bonus bHealPower,getequiprefinerycnt(EQI_HAND_R)*4; } }
-1649:2198,{ .@r_2198 = getequiprefinerycnt(EQI_HAND_L); .@r_1649 = getequiprefinerycnt(EQI_HAND_R); if (.@r_2198 > 9) { bonus bMatk,15 * .@r_1649; } if (.@r_1649 >= 10) { bonus bMatk,50; bonus bVariableCastrate,-10; } }
+1649:2198,{ .@r_2198 = getequiprefinerycnt(EQI_HAND_L); .@r_1649 = getequiprefinerycnt(EQI_HAND_R); if (.@r_2198 > 9) { bonus bMatk,15 * .@r_1649; if (.@r_1649 >= 10) { bonus bMatk,50; bonus bVariableCastrate,-10; } } }
 1657:2471:2569:15029,{ bonus bHealPower,25; bonus2 bSkillUseSP,"AL_HEAL",-20; bonus2 bSkillCooldown,"AB_SECRAMENT",-2000; bonus2 bSkillCooldown,"AB_LAUDAAGNUS",-2000; bonus2 bSkillCooldown,"AB_LAUDARAMUS",-2000; }
 1659:5920,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSkillUseSP,"AL_HEAL",6*.@r; bonus2 bSkillUseSP,"AB_CHEAL",10*.@r; bonus2 bSkillUseSP,"AB_HIGHNESSHEAL",14*.@r; }
 1660:2471:2569:15029,{ bonus bHealPower,45; bonus2 bSkillUseSP,"AL_HEAL",-50; bonus3 bAutoSpellWhenHit,"AB_SILENTIUM",1,100; bonus2 bSkillCooldown,"AB_CLEARANCE",-3000; bonus2 bSkillCooldown,"AB_LAUDAAGNUS",-3000; bonus2 bSkillCooldown,"AB_LAUDARAMUS",-3000; }
-1668:15089,{ bonus bDelayrate,-10; }
+1668:15089,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bDelayrate,-10-min(.@r,10); }
 1670:2968,{ bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R)*5; }
 1670:2968:2969,{ bonus bMatkRate,-(getequiprefinerycnt(EQI_HAND_R)*5); }
 1670:2969,{ bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R)*5; }
@@ -91,9 +103,12 @@
 1734:1753,{ bonus bLongAtkRate,50; }
 1741:2748,{ bonus bBaseAtk,25; bonus3 bAddEff,Eff_Curse,200,ATF_WEAPON|ATF_LONG|ATF_TARGET; }
 1746:1773,{ bonus bLongAtkRate,50; }
+1774:18174,{ bonus bLongAtkRate,50; }
 1775:18114,{ bonus bLongAtkRate,70; }
 1776:18114,{ bonus bLongAtkRate,40; }
-1935:2988,{ bonus2 bSkillAtk,"CG_ARROWVULCAN",200; bonus2 bSkillUseSP,"CG_ARROWVULCAN",50; }
+1846:20838,{ bonus bBaseAtk,40; .@eq = getequiprefinerycnt(EQI_GARMENT); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { .@val = 20; } if ((.@eq + .@weapon) >= 18) { bonus2 bSkillCooldown,"SR_FLASHCOMBO",-1000; if ((.@eq + .@weapon) >= 22) { .@val += 15; } } if (.@val) { bonus2 bSkillAtk,"SR_TIGERCANNON",.@val; } }
+1935:2988,{ bonus2 bSkillAtk,"CG_ARROWVULCAN",200; bonus2 bSkillUseSP,"CG_ARROWVULCAN",-50; }
+1944:15180:28442,{ bonus bBaseAtk,30; bonus bAspd,1; bonus bCritAtkRate,20; }
 1990:2989,{ bonus2 bSkillAtk,"CG_ARROWVULCAN",200; }
 2001:2677,{ bonus bMatkRate,10; bonus bDex,2; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; }
 2001:2711,{ bonus bMatkRate,10; bonus bDex,2; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; }
@@ -105,6 +120,8 @@
 2012:2468:2860:15026,{ bonus2 bMagicAtkEle,Ele_Water,60; bonus2 bMagicAtkEle,Ele_Wind,-60; bonus2 bSubEle,Ele_Wind,-50; }
 2013:2469:2861:15027,{ bonus2 bMagicAtkEle,Ele_Fire,60; bonus2 bMagicAtkEle,Ele_Water,-60; bonus2 bSubEle,Ele_Water,-50; }
 2014:2470:2862:15028,{ bonus2 bMagicAtkEle,Ele_Earth,60; bonus2 bMagicAtkEle,Ele_Fire,-60; bonus2 bSubEle,Ele_Fire,-50; }
+2039:20847,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_GARMENT); bonus2 bSkillAtk,"WL_CRIMSONROCK",10; if (.@eq >= 7 && .@weapon >= 7) { bonus2 bSkillAtk,"WL_HELLINFERNO",40; } if ((.@eq + .@weapon) >= 18) { bonus2 bMagicAtkEle,Ele_Wind,10; bonus2 bMagicAtkEle,Ele_Dark,10; if ((.@eq + .@weapon) >= 22) { bonus2 bMagicAtkEle,Ele_Fire,10; } } }
+2051:20847,{ bonus bMatk,50; .@eq = getequiprefinerycnt(EQI_GARMENT); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus2 bMagicAtkEle,Ele_Water,10; bonus2 bMagicAtkEle,Ele_Wind,10; bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Fire,10; } if ((.@eq + .@weapon) >= 18) { bonus2 bMagicAddEle,Ele_Water,15; bonus2 bMagicAddEle,Ele_Wind,15; bonus2 bMagicAddEle,Ele_Earth,15; bonus2 bMagicAddEle,Ele_Fire,15; if ((.@eq + .@weapon) >= 22) { bonus bDelayrate,-15; } } }
 2109:2239:2717,{ bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; }
 2109:2971:5135,{ bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; }
 2109:2971:18874,{ bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; }
@@ -154,6 +171,8 @@
 2337:2654,{ bonus bUseSPrate,-20; bonus bMaxHP,300; }
 2339:2522,{ bonus bAgi,5; bonus bFlee,10; }
 2339:2523,{ bonus bAgi,5; bonus bFlee,10; }
+2346:27113,{ bonus3 bAutoSpellWhenHit,"WZ_WATERBALL",5,50; }
+2347:27113,{ bonus3 bAutoSpellWhenHit,"WZ_WATERBALL",5,50; }
 2353:2417:2516,{ bonus bAgi,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5; }
 2353:2418:2517,{ bonus bVit,5; bonus bHPrecovRate,10; bonus bSPrecovRate,10; }
 2353:5123,{ if(readparam(bDex)>69) bonus bUseSPrate,-10; }
@@ -187,12 +206,63 @@
 2425:2530,{ bonus bFlee,10; }
 2425:2551,{ bonus bFlee,10; }
 2425:15058,{ bonus bAgi,2; bonus bFlee,5; }
+24255:28392:24266:24279:24298:24311,{ bonus bAllStats,10; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; }
+24255:28392:24267:24280:24299:24312,{ bonus bAllStats,10; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; }
+24255:28392:24268:24281:24300:24313,{ bonus bAllStats,10; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; }
+24256:24269,{ bonus2 bSkillAtk,"KN_BOWLINGBASH",20; bonus2 bSkillUseSPrate,"KN_PIERCE",20; }
+24257:24270,{ bonus2 bSkillAtk,"CR_HOLYCROSS",20; bonus2 bSkillUseSPrate,"CR_GRANDCROSS",20; }
+24258:24271,{ if (BaseJob == Job_Blacksmith) { bonus2 bAddSize,Size_All,3; bonus2 bMagicAddSize,Size_All,3;  bonus2 bSkillUseSPrate,"BS_WEAPONPERFECT",20; } }
+24259:24272,{ if (BaseJob == Job_Alchemist) { skill "BS_ADRENALINE",3; } }
+24260:24273,{ if (BaseJob == Job_Priest) { bonus bMatkRate,3; bonus2 bVariableCastrate,"PR_MAGNUS",-40; } }
+24261:24274,{ bonus2 bSkillUseSPrate,"MO_INVESTIGATE",20; bonus2 bSkillUseSPrate,"MO_FINGEROFFENSIVE",20; bonus2 bSkillUseSPrate,"MO_CHAINCOMBO",20; }
+24262:24275,{ bonus2 bSkillUseSPrate,"AS_GRIMTOOTH",20; bonus2 bSkillAtk,"AS_SONICBLOW",20; }
+24263:24276,{ if (BaseJob == Job_Rogue) { bonus2 bAddSize,Size_All,3; bonus2 bMagicAddSize,Size_All,3;  bonus2 bSkillUseSPrate,"RG_RAID",20; } }
+24264:24277,{ bonus2 bSkillAtk,"WZ_VERMILION",20; bonus2 bSkillAtk,"WZ_METEOR",20; bonus2 bSkillAtk,"WZ_STORMGUST",20; bonus2 bVariableCastrate,"WZ_JUPITEL",-40; }
+24265:24278,{ bonus2 bVariableCastrate,"WZ_HEAVENDRIVE",-40; if (BaseJob == Job_Sage) { bonus bMatkRate,3; } }
+24266:24279,{ if (BaseJob == Job_Hunter) { bonus2 bAddSize,Size_All,3; bonus2 bMagicAddSize,Size_All,3; bonus2 bSkillUseSPrate,"HT_CLAYMORETRAP",20; bonus2 bSkillUseSPrate,"HT_LANDMINE",20; } }
+24267:24280,{ autobonus3 "{ bonus bAspdRate,10; bonus bSpeedRate,25; }",1000,5000,"BD_ADAPTATION"; /* Unknow Specialeffect */ }
+24268:24281,{ autobonus3 "{ bonus bAspdRate,10; bonus bSpeedRate,25; }",1000,5000,"BD_ADAPTATION"; /* Unknow Specialeffect */ }
+24282:24318,{ bonus bMaxHPrate,2; bonus bMaxSPrate,2; bonus bAllStats,3; bonus bUseSPrate,-10; }
+24283:24319,{ bonus bMaxHPrate,2; bonus bMaxSPrate,2; bonus bAllStats,3; bonus bUseSPrate,-10; }
+24284:24315,{ bonus bMaxHPrate,2; bonus bMaxSPrate,2; bonus bAllStats,3; bonus bUseSPrate,-10; }
+24285:24314,{ bonus bMaxHPrate,2; bonus bMaxSPrate,2; bonus bAllStats,3; bonus bUseSPrate,-10; }
+24286:24317,{ bonus bMaxHPrate,2; bonus bMaxSPrate,2; bonus bAllStats,3; bonus bUseSPrate,-10; }
+24287:24316,{ bonus bMaxHPrate,2; bonus bMaxSPrate,2; bonus bAllStats,3; bonus bUseSPrate,-10; }
+24288:24301,{ bonus2 bSkillUseSPrate,"RK_SONICWAVE",20; bonus3 bAutoSpell,"RK_IGNITIONBREAK",3,20; }
+24288:24301:24246:24250:24256:24269,{ bonus bAllStats,10; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; }
+24289:24302,{ bonus2 bSkillUseSPrate,"LG_CANNONSPEAR",20; skill "AM_CP_SHIELD",3; }
+24289:24302:24246:24250:24257:24270,{ bonus bAllStats,10; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; }
+24290:24303,{ bonus2 bSkillAtk,"NC_VULCANARM",20; bonus2 bSkillUseSPrate,"NC_FLAMELAUNCHER",20; }
+24291:24304,{ bonus bMaxHPrate,2; bonus2 bSkillCooldown,"GN_CART_TORNADO",-1000; bonus2 bVariableCastrate,"GN_CARTBOOST",-100; }
+24292:24305,{ bonus2 bSkillAtk,"AB_DUPLELIGHT",20; bonus2 bSkillCooldown,"AB_ADORAMUS",-1000; }
+24293:24306,{ bonus2 bSkillAtk,"SR_RAMPAGEBLASTER",20; bonus2 bSkillUseSPrate,"SR_SKYNETBLOW",20; }
+24294:24307,{ bonus2 bSkillAtk,"GC_DARKILLUSION",20; bonus3 bAutoSpell,"GC_DARKCROW",1,10; }
+24295:24308,{ bonus2 bSkillAtk,"SC_TRIANGLESHOT",20; bonus2 bAddClass,Class_All,2; bonus bMatkRate,2; bonus bLongAtkRate,2; }
+24296:24309,{ bonus2 bSkillCooldown,"WL_DRAINLIFE",-1000; bonus2 bSkillCooldown,"WL_EARTHSTRAIN",-4000; }
+24297:24310,{ bonus2 bSkillAtk,"SO_EARTHGRAVE",20; bonus2 bSkillAtk,"SO_DIAMONDDUST",20; }
+24298:24311,{ bonus2 bSkillAtk,"RA_CLUSTERBOMB",20; bonus2 bSkillAtk,"RA_AIMEDBOLT",20; }
+24299:24312,{ bonus bMaxHPrate,2; bonus bMaxSPrate,2; bonus bLongAtkRate,getskilllv("WM_LESSON")/2; }
+24300:24313,{ bonus bMaxHPrate,2; bonus bMaxSPrate,2; bonus bLongAtkRate,getskilllv("WM_LESSON")/2; }
 2433:2537,{ bonus bMaxHPRate,6; }
 2434:2529,{ bonus bFlee,10; }
 2434:2530,{ bonus bFlee,10; }
 2434:2551,{ bonus bFlee,10; }
 2434:15058,{ bonus bAgi,2; bonus bFlee,5; }
+24402:24405,{ bonus2 bSkillCooldown,"RL_HEAT_BARREL",-4000; bonus2 bSkillCooldown,"RL_HAMMER_OF_GOD",-2000; }
+24402:24405:24283:24319,{ bonus bAllStats,7; bonus bMaxHPrate,3; bonus bMaxSPrate,3; }
+24403:24406,{ bonus2 bSkillCooldown,"KO_JYUMONJIKIRI",-1000; bonus bLongAtkRate,5; }
+24403:24406:24285:24314,{ bonus bAllStats,7; bonus bMaxHPrate,3; bonus bMaxSPrate,3; }
+24404:24407,{ bonus2 bSkillCooldown,"KO_ZANZOU",-3000; bonus2 bMagicAtkEle,Ele_Fire,5; bonus2 bMagicAtkEle,Ele_Water,5; bonus2 bMagicAtkEle,Ele_Wind,5; }
+24404:24407:24285:24314,{ bonus bAllStats,7; bonus bMaxHPrate,3; bonus bMaxSPrate,3; }
+24408:24409,{ bonus2 bSkillCooldown,"SU_LUNATICCARROTBEAT",-3000; }
+24408:24409:24287:24316,{ bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; bonus bAllStats,7; bonus bMaxHPrate,3; bonus bMaxSPrate,3; }
 2441:2546,{ bonus bFlee,5; }
+24410:24411,{ bonus2 bSkillCooldown,"SU_SV_STEMSPEAR",-1000; }
+24410:24411:24286:24317,{ bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; bonus bAllStats,7; bonus bMaxHPrate,3; bonus bMaxSPrate,3; }
+24412:24413,{ bonus2 bSkillCooldown,"SJ_DOCUMENT",-2000; }
+24412:24413:24284:24315,{ bonus bAllStats,7; bonus bMaxHPrate,3; bonus bMaxSPrate,3; }
+24414:24415,{ bonus2 bSkillCooldown,"SP_SOULREAPER",-2000; }
+24414:24415:24284:24315,{ bonus bAllStats,7; bonus bMaxHPrate,3; bonus bMaxSPrate,3; }
 2472:2570:15030:16013,{ bonus2 bAddRace,RC_Undead,15; bonus2 bMagicAddRace,RC_Undead,15; bonus2 bSkillAtk,"AB_ADORAMUS",200; bonus2 bSkillUseSP,"AB_ADORAMUS",-30; }
 2472:2570:15030:16018,{ bonus2 bAddRace,RC_Undead,30; bonus2 bMagicAddRace,RC_Undead,30; bonus2 bSkillAtk,"AB_ADORAMUS",200; bonus2 bSkillUseSP,"AB_ADORAMUS",-30; bonus2 bVariableCastrate,"AL_HOLYLIGHT",-50; bonus2 bVariableCastrate,"PR_TURNUNDEAD",-50; bonus2 bVariableCastrate,"PR_MAGNUS",-50; bonus2 bVariableCastrate,"AB_JUDEX",-50; bonus2 bVariableCastrate,"AB_ADORAMUS",-50; }
 2475:2574:2883:15036,{ bonus bMaxHPRate,14; bonus2 bSubEle,Ele_Neutral,10; bonus2 bSkillAtk,"RK_HUNDREDSPEAR",50; skill "CR_AUTOGUARD",1; bonus bUseSPrate,10; }
@@ -209,15 +279,23 @@
 2484:2586:15047,{ bonus bDex,5; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; }
 2485:2587:15048,{ bonus bInt,5; bonus bMdef,10; bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; }
 2507:15146,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bMaxSPrate,10+.@r; bonus bFlee,10+.@r; }
+2507:15163,{ bonus bVariableCastrate,-(2*getequiprefinerycnt(EQI_ARMOR)); bonus bNoCastCancel; }
 2509:15146,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bMaxHPrate,10+.@r; bonus bMatkRate,2+.@r; }
+2509:22170,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus bMatkRate,10; if (.@r>=7) { bonus2 bSubEle,Ele_Earth,15; bonus2 bSubEle,Ele_Wind,15; } if (.@r>=9) { bonus2 bSubEle,Ele_Earth,15; bonus2 bSubEle,Ele_Wind,15; } }
 2518:2648:2649:5126,{ bonus bInt,5; bonus bMdef,11; bonus bMaxSPrate,20; bonus bNoCastCancel; bonus bVariableCastrate,25; }
 2519:2650:2651:5127,{ bonus bStr,2; bonus bLuk,9; bonus bCritical,13; bonus bBaseAtk,18; bonus bFlee2,13; }
 2519:15147,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,15; bonus2 bIgnoreDefRaceRate,RC_Demon,15; bonus2 bIgnoreDefRaceRate,RC_Undead,15; bonus bLuk,3+.@r; bonus bCritical,10+.@r; }
+2519:15164,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bDefEle,Ele_Ghost; bonus bAgi,.@r; bonus bFlee,(2*.@r); }
+2524:4174:15164,{ bonus2 bSubEle,Ele_Neutral,-50; bonus2 bSubEle,Ele_Water,50; bonus2 bSubEle,Ele_Earth,50; bonus2 bSubEle,Ele_Fire,50; bonus2 bSubEle,Ele_Wind,50; bonus2 bSubEle,Ele_Poison,50; bonus2 bSubEle,Ele_Holy,50; bonus2 bSubEle,Ele_Dark,50; bonus2 bSubEle,Ele_Ghost,50; bonus2 bSubEle,Ele_Undead,50; }
 2524:15147,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,15; bonus2 bIgnoreDefRaceRate,RC_Demon,15; bonus2 bIgnoreDefRaceRate,RC_Undead,15; bonus bMaxHPrate,10+.@r; bonus2 bAddClass,Class_All,2+.@r; }
+2524:15164,{ .@r = getequiprefinerycnt(EQI_ARMOR); .@val = 10; bonus bVit,(5+.@r); bonus bLuk,.@r; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Dark,10; if (.@r >= 10) { .@val += 10; } bonus2 bSubEle,Ele_Neutral,.@val; }
+2525:15163,{ bonus bVariableCastrate,-(2*getequiprefinerycnt(EQI_ARMOR)); bonus bNoCastCancel; }
 2527:5467:13001,{ bonus2 bAddRace,RC_Dragon,25; }
 2527:5467:13030,{ bonus2 bAddRace,RC_Dragon,25; }
 2527:13001,{ bonus2 bAddRace,RC_Dragon,5; }
 2527:13030,{ bonus2 bAddRace,RC_Dragon,5; }
+2535:15163,{ bonus5 bAutoSpell,"AL_HEAL",1,(10*getequiprefinerycnt(EQI_ARMOR)),BF_MAGIC,0; }
+2584:5579,{ .@r = getequiprefinerycnt(EQI_GARMENT); if(.@r>=5) { skill "TF_DOUBLE",1; bonus bDoubleRate,25; } else if(.@r>=7) { .@bonus = max(getskilllv("TF_DOUBLE"),5); skill "TF_DOUBLE",.@bonus; bonus bDoubleRate,.@bonus*5; } }
 2597:28342,{ bonus bCritAtkRate,5; bonus bCritical,10; .@r = getequiprefinerycnt(EQI_GARMENT); if (.@r > 7) bonus bCritAtkRate,4; else if (.@r > 5) bonus bCritAtkRate,3; }
 //2598:Ramor Shield,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSubRace,RC_Undead,.@r; bonus2 bSubRace,RC_DemiHuman,.@r; }
 2607:2677,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
@@ -266,6 +344,16 @@
 2733:2772,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,3; bonus bHealPower,5; }
 2733:2773,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,3; bonus bHealPower,5; }
 2733:2774,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,3; bonus bHealPower,5; }
+27347:27028,{ bonus2 bMagicAddEle,Ele_Earth,8; }
+27351:4582,{ bonus bMaxHPrate,5; }
+27352:4127,{ bonus bMaxSPrate,10; }
+27352:4166,{ bonus2 bAddClass,Class_All,10; }
+27354:4133,{ bonus2 bAddClass,Class_All,5; bonus2 bSubEle,Ele_Neutral,10; }
+27355:4633,{ bonus bLongAtkRate,5; }
+27357:4226,{ bonus bDef,150; bonus bMdef,20; }
+27359:27122,{ bonus2 bMagicAddEle,Ele_Water,8; }
+27360:4670,{ bonus2 bMagicAddEle,Ele_Fire,8; }
+27363:4168,{ bonus2 bMagicAtkEle,Ele_Fire,15; bonus2 bSkillAtk,"WZ_METEOR",15; }
 2747:13061,{ bonus bHit,5; bonus bMatk,5; bonus2 bSkillUseSP,"SC_ENERVATION",20; bonus2 bSkillUseSP,"SC_GROOMY",20; }
 2751:2888,{ bonus bAspdRate,3; bonus bVariableCastrate,-3; }
 2777:2778:5479,{ bonus bMaxHP,10*getequiprefinerycnt(EQI_HEAD_TOP); bonus bMaxSP,2*getequiprefinerycnt(EQI_ACC_L); bonus bNoCastCancel; bonus bCastrate,15; }
@@ -276,18 +364,48 @@
 2780:2826:5577,{ autobonus "{ bonus bAspdRate,2; }",50,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bMaxHP,BaseLevel*15; bonus bMaxSP,(BaseLevel*12)/10; bonus2 bAddClass,Class_All,3; }
 2782:19156,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r < 4) { .@a = 4; } else { .@a = min(.@r,10); } bonus3 bAutoSpell,"WZ_WATERBALL",.@a,(.@a*10); }
 2826:2827:5577,{ autobonus "{ bonus bAspdRate,2; }",50,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bMaxHP,BaseLevel*15; bonus bMaxSP,(BaseLevel*12)/10; bonus2 bAddClass,Class_All,3; }
+28513:18848,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); .@a = min(.@r,10); bonus bAllStats,.@a; bonus bFixedCastrate,-50; if (.@r>=7) { bonus2 bMagicAddClass,Class_Boss,20; } }
+28513:18849,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bAllStats,.@r; bonus2 bMagicAddClass,Class_Boss,10; bonus bFixedCastrate,-50; if (.@r>=7) { bonus2 bMagicAddClass,Class_Boss,20; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; } if (.@r>=9) { bonus2 bMagicAddClass,Class_Boss,20; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } }
+28513:2980,{ bonus bBaseAtk,50; bonus bMatk,50; bonus bAspd,2; bonus3 bAutoSpell,"SO_EARTHGRAVE",1,20; bonus3 bAutoSpell,"SO_VARETYR_SPEAR",1,20; bonus3 bAutoSpell,"WL_RECOGNIZEDSPELL",1,10; bonus3 bAutoSpell,"WZ_QUAGMIRE",3,50; }
+28520:15061,{ .@r = getequiprefinerycnt(EQI_ARMOR); if (.@r >= 7) { .@val = 5000; } else { .@val = 2500; } bonus2 bResEff,Eff_Stun,.@val; bonus2 bResEff,Eff_Silence,.@val; }
+28520:15061:18728:20700:2495,{ bonus bFlee2,30; bonus2 bSubEle,Ele_Water,15; bonus2 bResEff,Eff_Freeze,10000; }
+28520:18728,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,5; bonus bAllStats,5; if (getequiprefinerycnt(EQI_HEAD_TOP)>=7) { bonus2 bAddClass,Class_All,5; bonus bMatkRate,5; bonus bAllStats,5; } }
+28520:20700,{ if (getequiprefinerycnt(EQI_GARMENT)>=7) .@val = 2; else .@val = 1; bonus2 bSubEle,Ele_Fire,25*.@val; bonus2 bSubEle,Ele_Water,25*.@val; }
+28520:2495,{ if (getequiprefinerycnt(EQI_SHOES)>=7) .@val = 2; else .@val = 1; bonus bMaxHPrate,10*.@val; bonus bMaxSPrate,10*.@val; }
+28520:4525,{ bonus bMdef,15; bonus bFlee,100; bonus bMaxHPrate,15; skill "RG_TUNNELDRIVE",1; bonus bIntravision; }
+28521:1387,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus2 bAddClass,Class_Boss,5; bonus2 bSkillAtk,"WS_CARTTERMINATION",5; } if (.@r>=9) { bonus2 bAddClass,Class_Boss,10; bonus2 bSkillAtk,"WS_CARTTERMINATION",10; } }
+28521:1490,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus2 bAddClass,Class_Boss,5; bonus2 bSkillAtk,"LK_SPIRALPIERCE",5; bonus2 bSkillAtk,"RK_SONICWAVE",5; } if (.@r>=9) { bonus2 bAddClass,Class_Boss,10; bonus2 bSkillAtk,"LK_SPIRALPIERCE",10; bonus2 bSkillAtk,"RK_SONICWAVE",10; } }
+28521:18122,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bLongAtkRate,2*(readparam(bStr)/10); if (.@r>=7) { bonus2 bAddClass,Class_Boss,5; bonus2 bSkillAtk,"RA_ARROWSTORM",5; bonus2 bSkillAtk,"RA_AIMEDBOLT",5; } if (.@r>=9) { bonus2 bAddClass,Class_Boss,10; bonus2 bSkillAtk,"RA_ARROWSTORM",10; bonus2 bSkillAtk,"RA_AIMEDBOLT",10; } }
 2855:5360,{ bonus bCritAtkRate,10; if(getequiprefinerycnt(EQI_HEAD_TOP)>5) bonus bCritical,5; }
 2913:2710,{ bonus bBaseAtk,10; }
+28910:20800,{ bonus bLongAtkDef,-35; }
+28918:2998,{ bonus2 bSubRace,RC_Undead,4; bonus2 bSubRace,RC_Demon,4; bonus2 bSubRace,RC_Demihuman,3; bonus2 bSubRace,RC_Player,3; }
+28929:4058,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_DemiHuman,5; if (.@r>=6) bonus2 bExpAddRace,RC_DemiHuman,5; if (.@r>=8) bonus2 bExpAddRace,RC_DemiHuman,5; }
+28929:4066,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Brute,5; if (.@r>=6) bonus2 bExpAddRace,RC_Brute,5; if (.@r>=8) bonus2 bExpAddRace,RC_Brute,5; }
+28929:4074,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Insect,5; if (.@r>=6) bonus2 bExpAddRace,RC_Insect,5; if (.@r>=8) bonus2 bExpAddRace,RC_Insect,5; }
+28929:4083,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Fish,5; if (.@r>=6) bonus2 bExpAddRace,RC_Fish,5; if (.@r>=8) bonus2 bExpAddRace,RC_Fish,5; }
+28929:4120,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Dragon,5; if (.@r>=6) bonus2 bExpAddRace,RC_Dragon,5; if (.@r>=8) bonus2 bExpAddRace,RC_Dragon,5; }
+28929:4136,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Demon,5; if (.@r>=6) bonus2 bExpAddRace,RC_Demon,5; if (.@r>=8) bonus2 bExpAddRace,RC_Demon,5; }
+28929:4138,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Angel,5; if (.@r>=6) bonus2 bExpAddRace,RC_Angel,5; if (.@r>=8) bonus2 bExpAddRace,RC_Angel,5; }
+28929:4314,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Formless,5; if (.@r>=6) bonus2 bExpAddRace,RC_Formless,5; if (.@r>=8) bonus2 bExpAddRace,RC_Formless,5; }
+28929:4340,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Undead,5; if (.@r>=6) bonus2 bExpAddRace,RC_Undead,5; if (.@r>=8) bonus2 bExpAddRace,RC_Undead,5; }
+28929:4515,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Plant,5; if (.@r>=6) bonus2 bExpAddRace,RC_Plant,5; if (.@r>=8) bonus2 bExpAddRace,RC_Plant,5; }
 2913:15040,{ bonus bBaseAtk,2*getequiprefinerycnt(EQI_ARMOR); }
 2913:2408,{ bonus bBaseAtk,getequiprefinerycnt(EQI_SHOES); }
 2913:5104,{ bonus bBaseAtk,10; }
+2935:2387,{ bonus bMaxHPrate,3; if (getequiprefinerycnt(EQI_ARMOR)>=7) { bonus bMaxSPrate,2; } }
+2935:2387:2440,{ bonus bVariableCastrate,-5; bonus bDelayRate,-5; }
+2935:2440,{ bonus bMaxSPrate,3; if (getequiprefinerycnt(EQI_SHOES)>=7) { bonus bMaxHPrate,2; } }
+2935:2744,{ bonus bVariableCastrate,-4; bonus bDelayRate,-4; }
 2950:15067:20709:22012,{ bonus2 bExpAddRace,RC_All,30; }
 2957:2958,{ bonus4 bAutoSpell,"MO_EXTREMITYFIST",1,3,1; bonus3 bAutoSpell,"PR_LEXAETERNA",1,20; bonus3 bAutoSpell,"AS_SONICBLOW",5,50; bonus3 bAutoSpell,"MO_INVESTIGATE",5,20; bonus3 bAutoSpell,"ASC_METEORASSAULT",2,50; }
 2959:18756,{ .@r = 3+(3*getequiprefinerycnt(EQI_HEAD_TOP)); autobonus "{ bonus2 bSPLossRate,5,1000; bonus bBaseAtk,30; }",.@r,5000,BF_WEAPON,"{ transform 1785,5000; specialeffect2 EF_POTION_BERSERK; }"; autobonus2 "{ bonus2 bSPLossRate,5,1000; bonus bBaseAtk,30; }",.@r,5000,BF_WEAPON,"{ transform 1785,5000; specialeffect2 EF_POTION_BERSERK; }"; }
 2963:15073,{ bonus bAspdRate,5; }
 2963:15074,{ bonus bDelayrate,-5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+2963:20944,{ bonus bDelayrate,-5; }
 2964:15073,{ bonus bDelayrate,-5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
 2964:15074,{ bonus bVariableCastrate,-5; }
+2964:20943,{ bonus bUseSPrate,-5; }
 2966:2967:13092,{ bonus bBaseAtk,-(getequiprefinerycnt(EQI_HAND_R)*10); }
 2966:2967:16026,{ bonus bBaseAtk,-(getequiprefinerycnt(EQI_HAND_R)*5); }
 2966:2967:18821,{ bonus2 bAddClass,Class_All, -(getequiprefinerycnt(EQI_HEAD_TOP)/2); }
@@ -307,18 +425,43 @@
 2968:18821,{ bonus bMatkRate,getequiprefinerycnt(EQI_HEAD_TOP)/2; }
 2969:13092,{ bonus bBaseAtk,getequiprefinerycnt(EQI_HAND_R)*10; }
 2969:18821,{ bonus bMatkRate,getequiprefinerycnt(EQI_HEAD_TOP)/2; }
+2977:2978,{ bonus5 bAutoSpell,"SO_PSYCHIC_WAVE",1,10,BF_WEAPON,1; bonus5 bAutoSpell,"HW_MAGICPOWER",1,10,BF_MAGIC,0; bonus5 bAutoSpell,"WZ_FROSTNOVA",10,10,BF_WEAPON|BF_MAGIC,0; bonus5 bAutoSpellWhenHit,"DC_SCREAM",1,10,BF_WEAPON|BF_MAGIC,0; }
 2979:18852,{ bonus bMaxHPrate,15; bonus2 bSubEle,Ele_Fire,10; bonus bLongAtkRate,30; }
 2979:18853,{ bonus bMaxHPrate,15; bonus2 bSubEle,Ele_Fire,10; bonus bLongAtkRate,30; }
+2980:32237,{ bonus bBaseAtk,50; bonus bMatk,50; bonus bAspd,1; }
 2983:4218,{ bonus bVit,-3; bonus bHPrecovRate,-20; bonus bMaxHP,1000; }
 2983:4218:4269,{ bonus bVit,-3; bonus bHPrecovRate,-20; bonus bMaxHP,1000; bonus bInt,-3; bonus bSPrecovRate,-20; bonus bMaxSP,150; }
 2983:4269,{ bonus bInt,-3; bonus bSPrecovRate,-20; bonus bMaxSP,150; }
-2984:4151:4164:4204:4221:4235:4239:4245:4249:4267:4275,{ bonus2 bExpAddRace,RC_All,2; }
+2984:4151,{ bonus2 bSubRace,RC_Plant,-10; bonus2 bExpAddRace,RC_Plant,5; }
+2984:4164,{ bonus2 bSubRace,RC_Fish,-10; bonus2 bExpAddRace,RC_Fish,5; }
+2984:4204,{ bonus2 bSubRace,RC_Brute,-10; bonus2 bExpAddRace,RC_Brute,5; }
+2984:4221,{ bonus2 bSubRace,RC_Insect,-10; bonus2 bExpAddRace,RC_Insect,5; }
+2984:4235,{ bonus2 bSubRace,RC_Angel,-10; bonus2 bExpAddRace,RC_Angel,5; }
+2984:4239,{ bonus2 bSubRace,RC_Formless,-10; bonus2 bExpAddRace,RC_Formless,5; }
+2984:4245,{ bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Player,-10; bonus2 bExpAddRace,RC_DemiHuman,5; }
+2984:4249,{ bonus2 bSubRace,RC_Demon,-10; bonus2 bExpAddRace,RC_Demon,5; }
+2984:4267,{ bonus2 bSubRace,RC_Dragon,-10; bonus2 bExpAddRace,RC_Dragon,5; }
+2984:4275,{ bonus2 bSubRace,RC_Undead,-10; bonus2 bExpAddRace,RC_Undead,5; }
 2986:2987:18872,{ bonus2 bAddMonsterDropItem,22559,50; }
 2986:18872,{ bonus bBaseAtk,BaseLevel/4; }
 2987:18872,{ bonus bMatk,BaseLevel/4; }
 2990:2991,{ bonus bAllStats,5; bonus5 bAutoSpellWhenHit,"SC_MAELSTROM",1,100,BF_MAGIC,0; }
 2995:15110,{ bonus2 bSkillAtk,"NC_AXEBOOMERANG",100; }
 2997:2999,{ bonus2 bAddClass,Class_All,10; bonus bMatkRate,10; }
+32242:18971,{ bonus2 bFixedCastrate,"RK_STORMBLAST",-100; }
+32242:18972,{ bonus bMaxHPRate,50; }
+32242:18973,{ bonus2 bSkillAtk,"NC_FLAMELAUNCHER",70; bonus2 bSkillAtk,"NC_COLDSLOWER",70; }
+32242:18974,{ bonus2 bSkillAtk,"NC_FLAMELAUNCHER",70; bonus2 bSkillAtk,"NC_COLDSLOWER",70; }
+32242:18975,{ bonus2 bSkillAtk,"SC_TRIANGLESHOT",70; }
+32242:18976,{ bonus2 bResEff,Eff_Freeze,10000; }
+32242:18977,{ bonus2 bVariableCastrate,"GN_MANDRAGORA",-100; }
+32242:18978,{ bonus bMatk,100; bonus2 bSkillCooldown,"WL_CRIMSONROCK",-500; }
+32242:18979,{ bonus2 bSkillAtk,"SR_RIDEINLIGHTNING",70; }
+32242:18980,{ skill "LG_TRAMPLE",3; }
+32242:18981,{ bonus2 bResEff,Eff_Stun,10000; }
+32242:18982,{ autobonus3 "{ bonus bStr,200; }",1000,20000,"GC_COUNTERSLASH","{}"; }
+32242:18983,{ bonus2 bSkillAtk,"LG_CANNONSPEAR",70; }
+32242:18984,{ bonus bCritical,70; bonus bCritAtkRate,70; }
 4001:4197,{ bonus bFlee,18; }
 4006:4266,{ bonus bFlee,18; }
 4009:4179,{ bonus bFlee,18; }
@@ -332,19 +475,28 @@
 4036:4186:4233:4281:4343,{ bonus bStr,4; bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus2 bSkillAtk,"MC_MAMMONITE",20; bonus bSPDrainValue,1; if(BaseJob==Job_Alchemist) { bonus3 bAutoSpell,"BS_ADRENALINE",1,10; bonus2 bAddMonsterDropItem,7139,3; bonus2 bAddMonsterDropItem,905,10; } }
 4039:4210:4230:4257:4348,{ bonus bStr,6; bonus bAgi,4; bonus2 bSkillAtk,"RG_BACKSTAP",10; if(getskilllv("RG_STRIPARMOR")==5) bonus3 bAutoSpell,"RG_STRIPARMOR",5,50; if(BaseJob==Job_Rogue) { bonus bUseSPrate,-20; bonus3 bAutoSpell,"RG_INTIMIDATE",1,-20; } }
 4045:28910,{ bonus bLongAtkDef,-35; }
+4047:27339,{ bonus2 bAddClass,Class_All,10; }
 4072:21013,{ bonus2 bSubSize,Size_All,15; }
 4074:4162,{ bonus2 bAddEffWhenHit,Eff_Blind,600; }
+4079:27338,{ bonus2 bAddClass,Class_All,7; bonus bHit,12; }
 4090:4212:4328,{ bonus bAllStats,1; }
+4090:27085,{ autobonus "{ bonus2 bAddEff,Eff_Stun,5000; }",2,5000,BF_SHORT; }
+4093:27120,{ bonus bMaxSP,50; }
+4094:27086,{ autobonus "{ bonus bAspd,1; }",20,5000,BF_WEAPON; }
+4100:27084,{ autobonus "{ bonus bSPrecovRate,100; }",20,5000,BF_MAGIC; }
 4106:4248,{ bonus bPerfectHitAddRate,20; }
 4127:4166,{ bonus2 bAddEffWhenHit,Eff_Curse,600; }
+4129:27335,{ bonus bCritAtkRate,15; }
+4131:27081,{ autobonus "{ bonus bFlee2,10; }",70,5000,BF_SHORT; }
 4139:18619,{ bonus3 bAutoSpell,"RG_SNATCHER",5,20; bonus bDex,2; bonus bAgi,1; bonus bInt,-1; }
+4144:20932,{ bonus bMaxHPrate,15; bonus2 bSubEle,Ele_Dark,100; bonus2 bSubEle,Ele_Fire,50; bonus2 bResEff,Eff_Curse,10000; }
 4152:5967,{ bonus2 bAddItemGroupHealRate,IG_Juice,1000; }
 4153:4247:4273,{ bonus3 bAddMonsterDropItem,544,RC_Fish,3000; bonus2 bAddEle,Ele_Water,30; }
 4153:18554,{ bonus2 bAddEle,Ele_Water,10; }
+4159:27082,{ autobonus "{ bonus bFlee,10; }",20,5000,BF_SHORT; }
 4163:5967,{ bonus bAspdRate,3; bonus bAspd,1; bonus2 bAddClass,Class_All,-5; if (getequiprefinerycnt(EQI_HAND_R) >= 10 && getiteminfo(getequipid(EQI_HAND_R),11) == 11) bonus bAspd,1; }
 4168:4169,{ bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bVariableCastrate,-10; }
 4169:4488,{ if(getequiprefinerycnt(EQI_SHOES) >= 15) { bonus bMaxHPrate,15; bonus bMaxSPrate,15; } else { bonus bMaxHPrate,10; bonus bMaxSPrate,10; } }
-4169:4488,{ if(getequiprefinerycnt(EQI_SHOES) >= 15) { bonus bMaxHPrate,15; bonus bMaxSPrate,15; } else { bonus bMaxHPrate,10; bonus bMaxSPrate,10; } }
 4172:4210:4230:4257:4272,{ bonus bAgi,5; bonus bStr,5; bonus bAspdRate,5; bonus bSpeedRate,25; bonus bSPDrainValue,1; if(BaseClass==Job_Thief) bonus bNoGemStone; }
 4178:4199:4234:4252:4297,{ bonus bAgi,5; bonus bDex,3; bonus bLongAtkRate,20; bonus bPerfectHitAddRate,20; if(BaseClass==Job_Archer) { bonus2 bExpAddRace,RC_Brute,5; bonus2 bComaRace,RC_Brute,100; } }
 4178:4234:4252:4297:4381,{ bonus bDex,5; bonus2 bSkillAtk,"CG_ARROWVULCAN",5; bonus2 bSkillAtk,"DC_THROWARROW",10; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",10; if(BaseJob==Job_Bard||BaseJob==Job_Dancer) bonus3 bAutoSpellWhenHit,"CG_TAROTCARD",2,50; }
@@ -355,8 +507,17 @@
 4193:4294,{ bonus bMaxHP,300; bonus bMaxSP,60; }
 4207:18865,{ bonus2 bAddSize,Size_All,5; bonus2 bMagicAddSize,Size_All,5; }
 4208:4258:4325:4327:4382,{ bonus bInt,3; bonus2 bSkillAtk,"WZ_HEAVENDRIVE",10; bonus2 bSkillAtk,"MG_THUNDERSTORM",10; if(BaseJob==Job_Sage) { bonus bMagicDamageReturn,20; bonus2 bAddMonsterDropItem,716,100; bonus2 bAddMonsterDropItem,715,100; bonus bVariableCastrate,-20; } }
+4212:27083,{ autobonus2 "{ bonus2 bAddDefMonster,1026,-100; }",20,5000,BF_SHORT; }
 4218:4269,{ bonus bHPrecovRate,30; bonus bSPrecovRate,30; bonus bVit,4; bonus bInt,4; }
 4220:4246:4311:4319:4331,{ bonus bStr,10; bonus bMaxHPrate,20; bonus bHPrecovRate,50; bonus3 bAutoSpell,"BS_WEAPONPERFECT",1,3; bonus2 bAddMonsterDropItem,501,500; if(BaseClass==Job_Swordman) bonus2 bAddItemGroupHealRate,IG_Potion,50; }
+4020:27328,{ bonus bBaseAtk,15; bonus2 bAddEle,Ele_Dark,20; }
+4023:27328,{ bonus bInt,3; bonus bMaxSP,100; bonus bMatkRate,5; }
+4066:27328,{ bonus2 bSubRace,RC_DemiHuman,15; bonus2 bSubRace,RC_Player,15; }
+4067:27328,{ bonus bDef,100; }
+4071:27328,{ bonus bHit,15; bonus bFlee,15; bonus bCritAtkRate,15; }
+4077:27328,{ bonus bVariableCastrate,-25; }
+4082:27328,{ bonus2 bAddSize,Size_Medium,15; bonus2 bAddSize,Size_Large,15; }
+4107:27328,{ bonus bMaxHPrate,4; bonus bMaxSPrate,4; }
 4229:4244:4299:4313,{ bonus bDef,3; bonus bMdef,3; }
 4237:4238,{ bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",5,20; }
 4247:18554,{ bonus2 bAddEle,Ele_Water,10; }
@@ -364,23 +525,26 @@
 4254:18865,{ bonus2 bAddSize,Size_All,5; bonus2 bMagicAddSize,Size_All,5; }
 4268:4277,{ bonus bBaseAtk,20; bonus bLuk,3; }
 4273:18554,{ bonus2 bAddEle,Ele_Water,10; }
+4305:27119,{ bonus2 bSubSize,Size_All,5; bonus bHit,25; bonus2 bAddSize,Size_All,20; }
 4311:4319:4331:4371,{ bonus bInt,1; bonus bStr,1; bonus bDef,2; bonus bSPrecovRate,10; bonus2 bSkillAtk,"PA_SHIELDCHAIN",10; bonus2 bSkillAtk,"PA_SACRIFICE",10; bonus bVariableCastrate,-10; if(BaseJob==Job_Crusader) bonus bDefEle,Ele_Holy; }
 4323:4324,{ bonus3 bAutoSpell,"MG_FROSTDIVER",3,250; }
 4435:4436,{ bonus2 bSPGainRace,RC_DemiHuman,2; bonus2 bSPGainRace,RC_Player,2; }
 4335:19156,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r < 4) { .@a = 4; } else { .@a = min(.@r,10); } bonus3 bAutoSpell,"WZ_EARTHSPIKE",.@a,(.@a*10); bonus3 bAutoSpell,"WZ_HEAVENDRIVE",.@a,(.@a*10); }
 4345:19156,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r < 4) { .@a = 4; } else { .@a = min(.@r,10); } bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",.@a,(.@a*10); bonus3 bAutoSpell,"MG_THUNDERSTORM",.@a,(.@a*10); }
 4350:19156,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r < 4) { .@a = 4; } else { .@a = min(.@r,10); } bonus3 bAutoSpell,"MG_COLDBOLT",.@a,(.@a*10); bonus3 bAutoSpell,"WZ_FROSTNOVA",.@a,(.@a*10); }
+4375:27328,{ bonus2 bSubEle,Ele_Neutral,5; bonus bFlee,5; }
 4380:19156,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r < 4) { .@a = 4; } else { .@a = min(.@r,10); } bonus3 bAutoSpell,"MG_FIREBOLT",.@a,(.@a*10); bonus3 bAutoSpell,"MG_FIREBALL",.@a,(.@a*10); }
 4335:21012,{ bonus5 bAutoSpell,"WZ_EARTHSPIKE",5,10+(getequiprefinerycnt(EQI_HAND_R)*10),BF_NORMAL|BF_WEAPON,1; /* Confirm: Success rate */ }
 4345:21012,{ bonus5 bAutoSpell,"MG_LIGHTNINGBOLT",5,10+(getequiprefinerycnt(EQI_HAND_R)*10),BF_NORMAL|BF_WEAPON,1; /* Confirm: Success rate */ }
 4350:21012,{ bonus5 bAutoSpell,"MG_COLDBOLT",5,10+(getequiprefinerycnt(EQI_HAND_R)*10),BF_NORMAL|BF_WEAPON,1; /* Confirm: Success rate */ }
 4380:21012,{ bonus5 bAutoSpell,"MG_FIREBOLT",5,10+(getequiprefinerycnt(EQI_HAND_R)*10),BF_NORMAL|BF_WEAPON,1; /* Confirm: Success rate */ }
 4388:21012,{ bonus5 bAutoSpell,"MG_SOULSTRIKE",5,10+(getequiprefinerycnt(EQI_HAND_R)*10),BF_NORMAL|BF_WEAPON,1; /* Confirm: Success rate */ }
+4513:27340,{ bonus bCritAtkRate,5; }
 4517:5967,{ bonus bInt,1; bonus bCritAtkRate,5 + (BaseClass == Job_Archer ? 15 : 0); }
 4545:18730,{ bonus bMatk,5; bonus bBaseAtk,5; }
 4605:4606,{ bonus2 bSubEle,Ele_Neutral,20; bonus bFlee,20; bonus2 bHPLossRate,100,6000; bonus2 bSPLossRate,6,6000; }
 4608:4609,{ bonus2 bAddSize,Size_Medium,15; bonus2 bAddSize,Size_Large,15; bonus2 bSubSize,Size_Medium,5; bonus2 bSubSize,Size_Large,5; }
-4610:27168,{ bonus bAtk,100; autobonus "{ active_transform 3190,6000; }",30,6000,BF_WEAPON; }
+4610:27168,{ bonus bAtk,100; autobonus "{}",30,6000,BF_WEAPON,"{ active_transform 3190,6000; }"; }
 4626:4628,{ bonus2 bIgnoreMdefRaceRate,RC_Demon,50; }
 4627:4628,{ bonus2 bIgnoreDefRaceRate,RC_Formless,50; bonus2 bIgnoreDefRaceRate,RC_Demon,50;}
 4629:4630,{ bonus3 bAutoSpell,"NPC_WIDECURSE",2,2; bonus2 bSubEle,Ele_Neutral,5; }
@@ -393,19 +557,19 @@
 4653:4654,{ bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Undead,5; bonus2 bIgnoreMdefRaceRate,RC_Brute,50; bonus2 bIgnoreMdefRaceRate,RC_Undead,50; }
 4653:4655,{ bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Undead,5; bonus2 bIgnoreDefRaceRate,RC_Brute,50; bonus2 bIgnoreDefRaceRate,RC_Undead,50; }
 4656:4657,{ /* Unofficial chance */ bonus3 bAutoSpellWhenHit,"NPC_WIDESLEEP",2,10; bonus2 bSubEle,Ele_Neutral,5; }
-4671:4692,{ autobonus "{ active_transform 3242,6000; bonus bMatk,100; }",30,6000,BF_MAGIC; }
-4672:4693,{ autobonus "{ active_transform 3243,6000; bonus bAtk,100; }",30,6000,BF_WEAPON; }
-4673:4696,{ autobonus "{ active_transform 3245,6000; bonus bAtk,100; }",30,6000,BF_WEAPON; }
-4674:4684,{ autobonus "{ active_transform 3220,6000; bonus bAtk,100; }",30,6000,BF_WEAPON; }
-4675:4685,{ autobonus "{ active_transform 3221,6000; bonus bMatk,100; }",30,6000,BF_MAGIC; }
-4676:4687,{ autobonus "{ active_transform 3222,6000; bonus bAtk,100; }",30,6000,BF_WEAPON; }
-4677:4688,{ autobonus "{ active_transform 3223,6000; bonus bAtk,100; }",30,6000,BF_WEAPON; }
-4678:4686,{ autobonus "{ active_transform 3224,6000; bonus bMatk,100; }",30,6000,BF_MAGIC; }
-4679:4689,{ autobonus "{ active_transform 3225,6000; bonus bAtk,100; }",30,6000,BF_WEAPON; }
-4680:4690,{ autobonus "{ active_transform 3240,6000; bonus bAtk,100; }",30,6000,BF_WEAPON; }
-4681:4691,{ autobonus "{ active_transform 3241,6000; bonus bAtk,100; }",30,6000,BF_WEAPON; }
-4682:4694,{ autobonus "{ active_transform 3244,6000; bonus bAtk,100; }",30,6000,BF_WEAPON; }
-4683:4695,{ autobonus "{ active_transform 3246,6000; bonus bAtk,100; }",30,6000,BF_WEAPON; }
+4671:4692,{ autobonus "{ bonus bMatk,100; }",30,6000,BF_MAGIC,"{ active_transform 3242,6000; }"; }
+4672:4693,{ autobonus "{ bonus bAtk,100; }",30,6000,BF_WEAPON,"{ active_transform 3243,6000; }"; }
+4673:4696,{ autobonus "{ bonus bAtk,100; }",30,6000,BF_WEAPON,"{ active_transform 3245,6000; }"; }
+4674:4684,{ autobonus "{ bonus bAtk,100; }",30,6000,BF_WEAPON,"{ active_transform 3220,6000; }"; }
+4675:4685,{ autobonus "{ bonus bMatk,100; }",30,6000,BF_MAGIC,"{ active_transform 3221,6000; }"; }
+4676:4687,{ autobonus "{ bonus bAtk,100; }",30,6000,BF_WEAPON,"{ active_transform 3222,6000; }"; }
+4677:4688,{ autobonus "{ bonus bAtk,100; }",30,6000,BF_WEAPON,"{ active_transform 3223,6000; }"; }
+4678:4686,{ autobonus "{ bonus bMatk,100; }",30,6000,BF_MAGIC,"{ active_transform 3224,6000; }"; }
+4679:4689,{ autobonus "{ bonus bAtk,100; }",30,6000,BF_WEAPON,"{ active_transform 3225,6000; }"; }
+4680:4690,{ autobonus "{ bonus bAtk,100; }",30,6000,BF_WEAPON,"{ active_transform 3240,6000; }"; }
+4681:4691,{ autobonus "{ bonus bAtk,100; }",30,6000,BF_WEAPON,"{ active_transform 3241,6000; }"; }
+4682:4694,{ autobonus "{ bonus bAtk,100; }",30,6000,BF_WEAPON,"{ active_transform 3244,6000; }"; }
+4683:4695,{ autobonus "{ bonus bAtk,100; }",30,6000,BF_WEAPON,"{ active_transform 3246,6000; }"; }
 4697:27012,{ bonus bNoMadoFuel; }
 4699:27012,{ bonus bNoMadoFuel; }
 4958:19050,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if( .@r >= 7 ){ bonus bDelayrate,-1 - ( .@r > 9 ) ? 1 : 0; } }
@@ -430,7 +594,7 @@
 5070:18576,{ bonus2 bSkillAtk,"MO_TRIPLEATTACK",5; bonus2 bSkillAtk,"MO_COMBOFINISH",5; bonus2 bSkillAtk,"CH_TIGERFIST",3; bonus2 bSkillAtk,"CH_CHAINCRUSH",3; if( getequiprefinerycnt(EQI_HEAD_TOP) < 10 ) bonus bUseSPrate, getequiprefinerycnt(EQI_HEAD_TOP); }
 5073:5574,{ bonus bDex,2; bonus bDef,2; }
 5074:5653,{ bonus bStr,1; bonus bAspdRate,2; }
-5074:18827,{ autobonus "{ transform 1765,5000; bonus2 bHPLossRate,30,1000; bonus bHit,-10; bonus bSplashRange,1; }",10+getequiprefinerycnt(EQI_HEAD_TOP),5000,BF_WEAPON,"{ specialeffect2 EF_NONE; }"; }
+5074:18827,{ autobonus "{ bonus2 bHPLossRate,30,1000; bonus bHit,-10; bonus bSplashRange,1; }",10+getequiprefinerycnt(EQI_HEAD_TOP),5000,BF_WEAPON,"{ transform 1765,5000; }"; }
 5086:18527,{ bonus2 bAddItemHealRate,12192,200; }
 5086:18656,{ bonus2 bAddItemHealRate,538,100; bonus2 bAddItemHealRate,12192,100; bonus2 bAddMonsterDropItem,538,400; bonus2 bAddMonsterDropItem,12192,400; }
 5170:19024,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r >= 7) bonus bAspdRate,5; if (.@r >= 9) bonus bMaxHPRate,5; }
@@ -449,13 +613,21 @@
 5548:5766,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bBaseAtk,min(.@r,10); bonus bMatk,min(.@r,10); }
 5917:1525,{ bonus bLongAtkDef,10; }
 5920:18542,{ bonus bHealPower,2*getequiprefinerycnt(EQI_HEAD_TOP); }
+5933:19112,{ bonus2 bAddSize,Size_All,1; bonus bLongAtkRate,1; if(readparam(bStr)>=108) { bonus2 bAddSize,Size_All,2; bonus bLongAtkRate,1; } if(readparam(bStr)>=120) { bonus2 bAddSize,Size_All,3; bonus bLongAtkRate,1; } }
 5967:28321,{ bonus2 bSubSkill,"HT_BLITZBEAT",200; }
 5918:19306,{ .@aspd = 1; .@crit_dmg = 2 + 2 * (readparam(bDex) / 10); .@sub_demi = 2; .@luk = readparam(bLuk); if (.@luk > 107) { .@aspd += 1; .@crit_dmg += 2; .@sub_demi += 2; } if (.@luk > 119) { .@aspd += 2; .@crit_dmg += 4; .@sub_demi += 4; bonus bSplashRange,1; } bonus bAspd,.@aspd; bonus bCritAtkRate,.@crit_dmg; bonus2 bSubRace,RC_DemiHuman,.@sub_demi; bonus2 bSubSkill,"NPC_CRITICALSLASH",100; }
 //9024:18832,{ bonus3 bAutoSpell,"BS_ADRENALINE",2,(GetPetRelationship >= 3)?15:10; }
 13027:15044,{ .@r = max(getequiprefinerycnt(EQI_ARMOR),1); bonus3 bAddMonsterDropItem,929,RC_DemiHuman,70*.@r; bonus3 bAddMonsterDropItem,970,RC_DemiHuman,50*.@r; bonus3 bAddMonsterDropItem,929,RC_Brute,70*.@r; bonus3 bAddMonsterDropItem,970,RC_Brute,50*.@r; }
 13034:13035,{ bonus bMaxSP,20; bonus bMaxHPRate,5; bonus bHit,10; bonus2 bAddSize,Size_Large,30; autobonus "{ bonus bAspdRate,100; }",1,7000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; }
+13215:28224,{ bonus bLongAtkRate,30; }
+13332:15178:20821,{ bonus2 bSkillCooldown,"KO_HUUMARANKA",-1000; bonus bLongAtkRate,15; }
+13337:19210,{ bonus bVariableCastrate,-15; .@eq = getequiprefinerycnt(EQI_HEAD_TOP); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { .@val = 25; } if ((.@eq + .@weapon) >= 18) { .@val += 25; if ((.@eq + .@weapon) >= 22) { bonus2 bSkillCooldown,"KO_HUUMARANKA",-1000; } } if (.@val) { bonus2 bSkillAtk,"KO_HUUMARANKA",.@val; } }
+13338:19210,{ bonus bBaseAtk,50;  .@eq = getequiprefinerycnt(EQI_HEAD_TOP); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { .@val = 30; } if ((.@eq + .@weapon) >= 18) { bonus bLongAtkRate,10; if ((.@eq + .@weapon) >= 22) { .@val += 20; } } if (.@val) { bonus2 bSkillAtk,"KO_HAPPOKUNAI",.@val; } }
+13469:20840,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_GARMENT); .@val = 100; if (.@weapon >= 7 && .@eq >= 7) { .@val += 50; } bonus bMatk,.@val; if ((.@weapon + .@eq) >= 18) { bonus3 bAutoSpell,"MG_COLDBOLT",3,50; bonus3 bAutoSpell,"MG_FIREBOLT",3,50; bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",3,50; /* fix me: unknown skill lvl/rates */ } if ((.@weapon + .@eq) >= 22) { autobonus "{ bonus2 bSkillAtk,\"WZ_STORMGUST\",30; bonus2 bSkillAtk,\"WZ_METEOR\",30; bonus2 bSkillAtk,\"WZ_VERMILION\",30; bonus2 bSkillAtk,\"WZ_HEAVENDRIVE\",30; }",20,10000; /* fix me: unknown rate/specialeffect (if any) */ } }
 15041:18659,{ bonus bInt,3; bonus bStr,3; bonus bMdef,10; bonus bDefEle,Ele_Fire; bonus2 bAddEle,Ele_Earth,10; }
 15068:20710,{ bonus bAgi,5; bonus bFlee,10; }
+15073:20944,{ .@val = 30; .@eq = getequiprefinerycnt(EQI_ARMOR); if (.@eq >= 11) { .@val += 40; bonus bDelayrate,-10; } bonus bBaseAtk,.@val; }
+15074:20943,{ .@val = 30; .@eq = getequiprefinerycnt(EQI_ARMOR); if (.@eq >= 11) { .@val += 40; bonus bVariableCastrate,-20; } bonus bMatk,.@val; }
 15088:18816:18818,{ bonus bMatk,BaseLevel/3; bonus2 bExpAddClass,Class_All,5; }
 15088:18817:18819,{ bonus bBaseAtk,BaseLevel/3; bonus2 bExpAddClass,Class_All,5; }
 15090:18820:20721:22033,{ bonus2 bSubEle,Ele_Neutral,15; bonus3 bAutoSpellWhenHit,"WL_DRAINLIFE",3,1; }
@@ -475,10 +647,22 @@
 15129:20789:22084:28381:28414,{ bonus bMaxHPrate,20; bonus bMaxSPrate,10; bonus bHealPower,20; skill "AL_HEAL",7,1; }
 15138:19026,{ bonus2 bSubRace,RC_Fish,(10+getequiprefinerycnt(EQI_ARMOR)); }
 15138:19026:20756:22059,{ bonus bMaxHP,1000; bonus bMaxSP,100; bonus2 bExpAddRace,RC_Fish,20; bonus2 bMagicAddRace,RC_Fish,50; bonus2 bSubEle,Ele_Water,50; }
+15145:18652,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r >= 9 ) { bonus2 bHPDrainRate,-60,-8; bonus2 bSPDrainRate,-20,-4; } else if (.@r >= 8 ) { bonus2 bHPDrainRate,-50,-5; bonus2 bSPDrainRate,-10,-2; } else if (.@r >= 7 ) { bonus2 bHPDrainRate,-30,-5; bonus2 bSPDrainRate,-10,-2; } else if (.@r >= 5 ) { bonus2 bHPDrainRate,-10,-3; bonus2 bSPDrainRate,-10,-1; } else { bonus2 bHPDrainRate,-10,-1; bonus2 bSPDrainRate,-10,-1; } }
+15145:2554,{ bonus2 bSPDrainRate,-10,1; }
+15145:5208,{ .@i = (getequiprefinerycnt(EQI_HEAD_TOP)>8)?2:1; bonus2 bHPDrainRate,-50,8*.@i; bonus2 bSPDrainRate,-10,4*.@i; }
 15156:20790:22085,{ bonus bMaxHP,4000; bonus bNoCastCancel; bonus bFixedCastrate,-25-(getequiprefinerycnt(EQI_ARMOR)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_SHOES)); }
 15156:20790:22085:28382:28418,{ bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus2 bSkillAtk,"SU_CN_METEOR",200; }
 15156:20790:22085:28380:28421,{ bonus bMaxHPrate,30; bonus bMaxSPrate,9; bonus2 bSkillAtk,"SU_LUNATICCARROTBEAT",200; }
 15156:20790:22085:28381:28415,{ bonus bMaxHPrate,25; bonus bMaxSPrate,15; bonus bHealPower,30; skill "AL_HEAL",9,1; }
+15166:1647,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bHealPower,4*.@r; }
+15166:5968,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bFlee2,.@r; bonus bHealPower,2*.@r; }
+15169:1649,{ .@r = getequiprefinerycnt(EQI_HAND_R); .@b = getequiprefinerycnt(EQI_ARMOR); bonus bMatk,(3*.@r); if(.@b >=7) { bonus bMatk,(5*.@r); } if(.@b >=8) { bonus bMatk,(7*.@r); } }
+15169:4054,{ if(getequiprefinerycnt(EQI_ARMOR) >=9) { bonus2 bResEff,Eff_Freeze,10000; } }
+15176:18145:28441,{ bonus2 bSkillAtk,"AC_DOUBLE",50; bonus2 bSkillUseSP,"SC_TRIANGLESHOT",10; }
+15177:20820:28608,{ bonus5 bAutoSpell,"MG_FIREBALL",max(5,getskilllv("MG_FIREBALL")),50,BF_MAGIC,1; autobonus3 "{ bonus bMatk,50; }",1000,60000,"PF_DOUBLECASTING","{ specialeffect2 EF_ENCHANCE; }"; }
+15178:20821:28721,{ bonus2 bSkillAtk,"KO_BAKURETSU",20; bonus2 bSkillAtk,"KO_HAPPOKUNAI",50; }
+15179:20822:28116,{ bonus2 bAddClass,Class_All,5; bonus bAspdRate,10; bonus bCritAtkRate,10; }
+15180:26200:28442,{ bonus bBaseAtk,30; bonus bAspd,1; bonus bCritAtkRate,20; }
 15181:28443:28444,{ bonus bAtk,20; bonus2 bSubEle,Ele_All,2; bonus2 bSubEle,Ele_Neutral,-2; }
 15182:28445:28446,{ bonus bAtk,40; bonus2 bSubEle,Ele_All,4; bonus2 bSubEle,Ele_Neutral,-4; }
 15183:28447:28448,{ bonus bAtk,40; bonus2 bSubEle,Ele_All,4; bonus2 bSubEle,Ele_Neutral,-4; bonus2 bExpAddClass,Class_All,2; }
@@ -494,6 +678,26 @@
 15183:28467:28468,{ bonus bAtk,40; bonus2 bSubEle,Ele_All,4; bonus2 bSubEle,Ele_Neutral,-4; bonus2 bExpAddClass,Class_All,2; }
 15184:28469:28470,{ bonus bAtk,50; bonus2 bSubEle,Ele_All,5; bonus2 bSubEle,Ele_Neutral,-5; bonus2 bExpAddClass,Class_All,2; }
 15185:28471:28472,{ bonus bAtk,50; bonus2 bSubEle,Ele_All,5; bonus2 bSubEle,Ele_Neutral,-5; bonus2 bExpAddClass,Class_All,2; bonus bNoCastCancel; }
+15189:20748,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus bBaseAtk,3*.@r; if (.@r >= 7) bonus bBaseAtk,5*(readparam(bStr)/10); if (.@r >= 8) bonus bBaseAtk,7*(readparam(bStr)/10); }
+15189:20749,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus bBaseAtk,3*.@r; if (.@r >= 7) bonus bBaseAtk,5*(readparam(bStr)/10); if (.@r >= 8) bonus bBaseAtk,7*(readparam(bStr)/10); }
+15189:4141,{ if (getequiprefinerycnt(EQI_ARMOR) >= 9) bonus2 bResEff,Eff_Curse,10000; }
+15195:16063,{ .@matk = 100; .@recovery = 20; .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_ARMOR); if (.@weapon >= 7 && .@eq >= 7) { .@matk += 50; } if ((.@weapon + .@eq) >= 18) { .@recovery += 15; if ((.@weapon + .@eq) >= 22) { bonus bDelayrate,-15; } } bonus bMatk,.@matk; bonus bHealPower2,.@recovery; }
+15195:19209,{ bonus bSpeedRate,25; /* unknown speed value */ bonus bHealPower,10; }
+15212:22141,{ bonus bAspdRate,getequiprefinerycnt(EQI_SHOES); }
+15205:4114,{ if (getequiprefinerycnt(EQI_ARMOR)>=9) { bonus2 bResEff,Eff_Freeze,10000; } }
+15212:20856,{ bonus bDelayrate,-getequiprefinerycnt(EQI_GARMENT); }
+15212:20856:22141,{ if ((getequiprefinerycnt(EQI_ARMOR)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_SHOES)) >= 39) { autobonus "{ bonus bIgnoreDefClass,Class_Normal; bonus bIgnoreDefClass,Class_Boss; }",50,5000; } }
+15348:19366:20923:22192,{ bonus bVit,5; bonus bMaxSPrate,5; bonus bDef,5; bonus bMdef,15; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Wind,10; .@hp = 15; .@r[0] = getequiprefinerycnt(EQI_ARMOR); .@r[1] = getequiprefinerycnt(EQI_HEAD_TOP); .@r[2] = getequiprefinerycnt(EQI_GARMENT); .@r[3] = getequiprefinerycnt(EQI_SHOES); .@sum = .@r[0]+.@r[1]+.@r[2]+.@r[3]; if (.@r[0] >= 7 && .@r[1] >= 7 && .@r[2] >= 7 && .@r[3] >= 7) { .@hp += 10; } bonus bMaxHPrate,.@hp; if (.@sum >= 36) { bonus bFixedCast,-700; if (.@sum >= 40) { bonus bDelayrate,-20; } } }
+15376:22196,{ bonus2 bAddClass,Class_All,5; }
+15376:22197,{ bonus bMaxSPRate,5; }
+15376:20933,{ bonus bBaseAtk,50; }
+15376:20934,{ bonus bDelayrate,-10; }
+15377:20933,{ bonus bAspdRate,10; }
+15377:20934,{ bonus bMatk,50; }
+15377:22196,{ bonus bAspdRate,5; }
+15377:22197,{ bonus bMatkRate,5; }
+15388:15389,{ .@r = getequiprefinerycnt(EQI_ARMOR) + getequiprefinerycnt(EQI_GARMENT); bonus bMaxHPrate,5; bonus bMaxSPrate,5; if(.@r > 21){ bonus bDelayrate,-15; } }
+16065:20838,{ bonus bAspdRate,10; .@eq = getequiprefinerycnt(EQI_GARMENT); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus2 bSkillAtk,"AB_DUPLELIGHT_MELEE",25; bonus2 bSkillAtk,"AB_DUPLELIGHT_MAGIC",25; } if ((.@eq + .@weapon) >= 18) { bonus bCritical,15; if ((.@eq + .@weapon) >= 22) { bonus bCritAtkRate,20; } } }
 18137:1752,{ bonus bLongAtkRate,25; }
 18137:1752:19048,{ bonus bLongAtkRate,20; bonus2 bSubEle,Ele_Fire,-10; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus bAspd,1; }
 18137:19019,{ bonus bLongAtkRate,45; }
@@ -504,31 +708,72 @@
 18139:1756:19048,{ bonus bLongAtkRate,20; bonus2 bAddEff,Eff_Stone,-1000; if (getequiprefinerycnt(EQI_HAND_R) >= 10) bonus bAspd,1; }
 18139:19019,{ bonus bLongAtkRate,45; }
 18140:1755,{ bonus bLongAtkRate,25; bonus3 bAutoSpell,"NJ_HUUJIN",5,(readparam(bInt)>39) ? 300 : 100; }
-18140:1755:19048,{ bonus bLongAtkRate,20; bonus3 bAutoSpell,"NJ_HUUJIN",5,(readparam(bInt)>39) ? -300 : -100;; if (getequiprefinerycnt(EQI_HAND_R) >= 10)  bonus bAspd,1; }
+18140:1755:19048,{ bonus bLongAtkRate,20; bonus3 bAutoSpell,"NJ_HUUJIN",5,(readparam(bInt)>39) ? -300 : -100; if (getequiprefinerycnt(EQI_HAND_R) >= 10)  bonus bAspd,1; }
 18140:19019,{ bonus bLongAtkRate,45; }
+18149:19210,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_HEAD_TOP); bonus bLongAtkRate,5; if (.@weapon >= 7 && .@eq >= 7) { .@val = 20; } if ((.@weapon + .@eq) >= 18) { bonus2 bAddClass,Class_All,10; } if ((.@weapon + .@eq) >= 22) { .@val += 30; } if (.@val) { bonus2 bSkillAtk,"RA_ARROWSTORM",.@val; } }
+18174:22190,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_SHOES); bonus2 bAddClass,Class_All,10; if (.@weapon >= 7 && .@eq >= 7) { bonus bAspd,2; } if ((.@weapon + .@eq) >= 18) { bonus bCritAtkRate,10; } if ((.@weapon + .@eq) >= 22) { autobonus "{ bonus bBaseAtk,100; bonus bCritAtkRate,15; bonus2 bAddRace,RC_Insect,50; bonus2 bAddRace,RC_Brute,50; }",20,10000,BF_LONG|BF_WEAPON|BF_NORMAL; /* fix me: unknown rates */ } }
 18507:18539,{ bonus bUseSPrate,-3; }
 18559:18560,{ bonus bCritAtkRate,5; }
 18563:18564,{ bonus bFixedCastrate,-10; }
+18652:32227,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r>=6) { bonus bDelayrate,-5; bonus bAspdRate,5; bonus2 bAddClass,Class_All,5; bonus2 bIgnoreDefClassRate,Class_All,25; } if (.@r>=8) { bonus bDelayrate,-10; bonus bAspdRate,10; bonus2 bAddClass,Class_All,5; bonus2 bIgnoreDefClassRate,Class_All,25; } }
 18776:20710,{ bonus bBaseAtk,10; }
 18776:22015,{ bonus bMatk,20; }
 18823:19246,{ .@atk = 40; .@aspd = 3; .@dmg = 2; .@agi = readparam(bAgi); if (.@agi > 107) { .@atk += 60; .@aspd += 5; .@dmg += 2; } if (.@agi > 119) { .@atk += 80; .@aspd += 7; .@dmg += 4; } bonus bBaseAtk,.@atk; bonus bAspdRate,.@aspd; bonus2 bSubRace,RC_Player,.@dmg; bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Silence,10000; }
 18823:28372,{ bonus2 bSkillVariableCast,"CR_GRANDCROSS",-1500; bonus2 bSkillAtk,"LG_RAYOFGENESIS",BaseLevel/30 + BaseLevel; bonus2 bSkillUseSP,"LG_RAYOFGENESIS",-10; }
 18823:28551,{ bonus2 bSkillDelay,"LG_OVERBRAND",-2000; bonus bLongAtkRate,getskilllv("LG_CANNONSPEAR") * 2; bonus bLongAtkRate,getskilllv("LG_OVERBRAND") * 2; bonus2 bSkillAtk,"LG_CANNONSPEAR",30; bonus2 bSkillAtk,"LG_OVERBRAND",20; }
+18849:32237,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bFixedCast,-300; if (.@r > 0) { bonus bMatk,(10*.@r); if (.@r >= 7) { bonus2 bMagicAddRace,RC_DemiHuman,10; bonus2 bMagicAddRace,RC_Player,10; bonus2 bMagicAddRace,RC_Demon,10; if (.@r >= 9) { bonus2 bMagicAtkEle,Ele_Water,10; bonus2 bMagicAtkEle,Ele_Wind,10; bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Fire,10; bonus2 bMagicAtkEle,Ele_Neutral,10; if (.@r >= 11) { bonus2 bMagicAddClass,Class_Boss,20; } } } } }
 18867:1720,{ bonus bLongAtkRate,3+(getequiprefinerycnt(EQI_HAND_R) > 6 ? 5:0); }
+18868:28320,{ bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; }
+18933:19082,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bSkillAtk,"GN_SPORE_EXPLOSION",(5*.@r); }
+18933:2268,{ bonus bDelayrate,-5; }
+18933:4229,{ bonus bVariableCastrate,-10; }
 18937:28302,{ bonus bInt,8; bonus bMaxSPrate,5;}
 18937:28303,{ bonus bInt,8; bonus bBaseAtk,20;}
 18937:28304,{ bonus bInt,8; bonus bFlee,15;}
 18937:28305,{ bonus bInt,8; bonus bHit,10;}
+18937:28352,{ bonus bMaxSPrate,5; if (BaseLevel>=20) { bonus bInt,(BaseLevel/20); } }
+18937:28353,{ bonus bMaxHPrate,5; if (BaseLevel>=20) { bonus bStr,(BaseLevel/20); } }
+18937:28357,{ bonus bAspdRate,5; if (BaseLevel>=20) { bonus bAgi,(BaseLevel/20); } }
+18937:28359,{ bonus bVariableCastrate,-5; if (BaseLevel>=20) { bonus bDex,(BaseLevel/20); } }
 18985:28321,{ bonus2 bSkillAtk,"HT_BLITZBEAT",100; }
 18985:28321:28322,{ bonus2 bSkillAtk,"HT_BLITZBEAT",200; }
 18985:28322,{ bonus2 bSkillAtk,"SN_FALCONASSAULT",50; }
 18997:28326:28327,{ bonus bSpeedRate,10; bonus bBaseAtk,50; bonus bMatk,50; if(getequiprefinerycnt(EQI_HEAD_TOP)>=9){ bonus bMaxHPrate,10; bonus bMaxSPrate,50; } }
-19026:20756,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSPGainRace,RC_Fish,10; bonus3 bAddMonsterDropItem,551,RC_Fish,(5+.@r); bonus2 bAddItemHealRate,551,5; bonus bHPrecovRate,(5+.@r); }
+19024:19381,{ bonus bMdef,5; bonus bDef,50; bonus bAspdRate,5; bonus bVit,5; bonus2 bSubRace,RC_Player,3; if (readparam(bVit)>=108) { bonus bMdef,5; bonus bDef,50; bonus bAspdRate,5; bonus bVit,5; } if (readparam(bVit)>=120) { bonus bMdef,10; bonus bDef,100; bonus bVit,10; } }
+19026:20756,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSPGainRace,RC_Fish,10; bonus3 bAddMonsterDropItem,544,RC_Fish,(5+.@r); bonus3 bAddMonsterDropItem,551,RC_Fish,(5+.@r); bonus2 bAddItemHealRate,544,5*(1+.@r); bonus2 bAddItemHealRate,551,5*(1+.@r); }
 19026:22059,{ bonus2 bCriticalAddRace,RC_Fish,(10+getequiprefinerycnt(EQI_SHOES)); }
 19038:19039,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP)+getequiprefinerycnt(EQI_HEAD_MID); if((.@r==7)||(.@r==8)){ bonus bCritical,12; bonus bHit,12; } if(.@r>=9){ bonus bMaxHP,1200; bonus bMaxSP,120; } }
+19082:18933:2268,{ bonus2 bSkillUseSP,"GN_SPORE_EXPLOSION",20; }
+19114:4226,{ bonus2 bSubSize,Size_All,10; }
+19114:5548,{ bonus2 bSubSize,Size_All,5; }
 19117:22101,{ bonus2 bDropAddRace,RC_All,5; bonus2 bExpAddRace,RC_All,5; if(getequiprefinerycnt(EQI_SHOES) >= 12) { bonus bFixedCast,-400; } }
 19118:22101,{ bonus2 bDropAddRace,RC_All,4; bonus2 bExpAddRace,RC_All,4; if(getequiprefinerycnt(EQI_SHOES) >= 12) { bonus bFixedCast,-400; } }
+19138:19327,{ .@cast = -(readparam(bInt)/8); .@sub = 2; .@heal = 5; if (.@i >= 120) { .@cast -= 10; .@sub += 6; .@heal += 25; } else if (.@i >= 108) { .@cast -= 4; .@sub += 2; .@heal += 10; } bonus bVariableCastrate,.@cast; bonus2 bSubRace,RC_DemiHuman,.@sub; bonus2 bSubRace,RC_Player,.@sub; bonus bHealPower,.@heal; bonus bAddItemHealRate,.@heal; bonus2 bVariableCastrate,"AB_CHEAL",-100; bonus2 bResEff,EFF_Bleeding,10000; bonus2 bResEff,Eff_Confusion,10000; }
+19139:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bVit,4; bonus bVariableCastrate,-6; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; bonus2 bMagicAtkEle,Ele_Earth,20; bonus2 bMagicAtkEle,Ele_Wind,20; if (.@r>=7) { bonus bVit,4; bonus bVariableCastrate,-6; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; } if (.@r>=9) { bonus bVit,4; bonus bVariableCastrate,-6; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; } }
+19139:20813,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus bFixedCastrate,-50; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; if (.@r>=5) { bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } if (.@r>=7) { bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } }
+19139:22170,{ bonus bVit,4; bonus bInt,5; bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; }
+19172:28500,{ bonus bDelayrate,-15; }
+19172:4403,{ bonus bDelayrate,30; }
+19247:28762,{ bonus bMatk,50; .@eq = getequiprefinerycnt(EQI_HEAD_TOP); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus bVariableCastrate,-10; } if ((.@eq + .@weapon) >= 18) { bonus2 bMagicAddSize,Size_Small,15; bonus2 bMagicAddSize,Size_Medium,15; if ((.@eq + .@weapon) >= 22) { autobonus "{ bonus bMatk,50; bonus2 bMagicAtkEle,Ele_Fire,20; }",5,10000,BF_MAGIC; /* unknown rate */ } } }
+19272:4365,{ bonus bVariableCastrate,-100; bonus2 bSkillCooldown,"WL_TELEKINESIS_INTENSE",-120000; }
+19299:4463,{ .@type = getiteminfo(getequipid(EQI_COMPOUND_ON),11); if (.@type == W_BOOK || .@type == W_STAFF || .@type == W_2HSTAFF) { bonus2 bMagicAddRace,RC_Player, getequiprefinerycnt(EQI_HAND_R)*2; } }
+19299:5966,{ .@a = readparam(bDex); bonus bMatk,10; bonus bVariableCastrate,-2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; if (.@a>=108) { bonus bMatk,20; bonus bVariableCastrate,-3; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } if (.@a>=120) { bonus bMatk,30; bonus bVariableCastrate,-5; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; } }
+19326:4187,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_DEMON,5; if (.@r>=6) bonus2 bExpAddRace,RC_DEMON,5; if (.@r>=8) bonus2 bExpAddRace,RC_DEMON,5; }
+19326:4190,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_Undead,5; if (.@r>=6) bonus2 bExpAddRace,RC_Undead,5; if (.@r>=8) bonus2 bExpAddRace,RC_Undead,5; }
+19326:4224,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_Brute,5; if (.@r>=6) bonus2 bExpAddRace,RC_Brute,5; if (.@r>=8) bonus2 bExpAddRace,RC_Brute,5; }
+19326:4256,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_DemiHuman,5; if (.@r>=6) bonus2 bExpAddRace,RC_DemiHuman,5; if (.@r>=8) bonus2 bExpAddRace,RC_DemiHuman,5; }
+19326:4262,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_PLANT,5; if (.@r>=6) bonus2 bExpAddRace,RC_PLANT,5; if (.@r>=8) bonus2 bExpAddRace,RC_PLANT,5; }
+19326:4344,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_Insect,5; if (.@r>=6) bonus2 bExpAddRace,RC_Insect,5; if (.@r>=8) bonus2 bExpAddRace,RC_Insect,5; }
+19326:4347,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_FISH,5; if (.@r>=6) bonus2 bExpAddRace,RC_FISH,5; if (.@r>=8) bonus2 bExpAddRace,RC_FISH,5; }
+19326:4377,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_FORMLESS,5; if (.@r>=6) bonus2 bExpAddRace,RC_FORMLESS,5; if (.@r>=8) bonus2 bExpAddRace,RC_FORMLESS,5; }
+19326:4385,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_DRAGON,5; if (.@r>=6) bonus2 bExpAddRace,RC_DRAGON,5; if (.@r>=8) bonus2 bExpAddRace,RC_DRAGON,5; }
+19326:4391,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_ANGEL,5; if (.@r>=6) bonus2 bExpAddRace,RC_ANGEL,5; if (.@r>=8) bonus2 bExpAddRace,RC_ANGEL,5; }
+19344:28244,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bAddClass,Class_All,10; if (.@weapon >= 7 && .@eq >= 7) { bonus bAspd,2; } if ((.@weapon + .@eq) >= 18) { bonus bLongAtkRate,10; if ((.@weapon + .@eq) >= 22) { bonus2 bSkillAtk,"GS_SPREADATTACK",30; } } }
+19344:32301,{ bonus bBaseAtk,30; .@eq = getequiprefinerycnt(EQI_HEAD_TOP); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus2 bAddClass,Class_All,5; } if ((.@eq + .@weapon) >= 18) { bonus2 bSubSize,Size_Small,20; bonus2 bSubSize,Size_Medium,20; if ((.@eq + .@weapon) >= 22) { autobonus3 "{ bonus bBaseAtk,100; bonus bLongAtkRate,15; }",5,10000,"RL_FIREDANCE"; /* unknown rate */ } } }
+19428:20948:32238:32239,{ bonus bInt,5; bonus bMaxSPrate,10; bonus bDef,100; bonus2 bMagicAtkEle,Ele_Water,10; bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Neutral,10; .@head = getequiprefinerycnt(EQI_HEAD_TOP); .@garment = getequiprefinerycnt(EQI_GARMENT); if (.@head >= 7 && .@garment >= 7) { .@matk = 40; } if ((.@head + .@garment) >= 18) { .@matk += 40; bonus2 bMagicAtkEle,Ele_Ghost,15; bonus2 bMagicAtkEle,Ele_Wind,15; bonus2 bMagicAtkEle,Ele_Holy,15; if ((.@head + .@garment) >= 22) { bonus bMatkRate,10; bonus2 bIgnoreMdefRaceRate,RC_Formless,50; bonus2 bIgnoreMdefRaceRate,RC_Demon,50; bonus2 bIgnoreMdefRaceRate,RC_Brute,50; } } bonus bMatk,.@matk; }
 20135:20136,{ bonus bAllStats,12; }
+20701:2165,{ .@a = getequiprefinerycnt(EQI_GARMENT); .@b = getequiprefinerycnt(EQI_HAND_L); bonus2 bAddEle,Ele_Earth,.@b; bonus2 bSubRace,RC_Fish,.@a; }
+20714:28320,{ .@val = min(12,getequiprefinerycnt(EQI_GARMENT)); bonus2 bAddRace,RC_DemiHuman,.@val; bonus2 bAddRace,RC_Player,.@val; }
 20717:22000,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
 20717:22001,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
 20717:22002,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
@@ -577,8 +822,62 @@
 20718:22116,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
 20718:22117,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
 20718:22118,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
+20725:2189,{ .@a = getequiprefinerycnt(EQI_GARMENT); autobonus "{ bonus2 bHPLossRate,30,1000; bonus bMatk,5*("+.@a+"/3); }",30+.@a,10000,BF_MAGIC,"{ active_transform 1930,10000; specialeffect2 EF_POTION_BERSERK; /*Confirm Special Effect*/ }"; .@b = getequiprefinerycnt(EQI_HAND_L); if(.@b>=7) bonus2 bSubEle,Ele_All,2*.@b; }
+20778:4606,{ bonus bSPGainValue,-1*(20+(getequiprefinerycnt(EQI_GARMENT)/2)); bonus bMaxSPrate,44; }
+20783:4174,{ bonus2 bSubEle,Ele_Neutral,-50; }
 20797:2339,{ bonus bInt,15; bonus bMaxHPrate,5; bonus bMaxSPrate,5; if (getequiprefinerycnt(EQI_ARMOR) > 6) bonus bNoCastCancel; }
 20797:4174,{ bonus2 bSubEle,Ele_All,50; bonus2 bSubEle,Ele_Neutral,-50; }
+20799:1752:1730,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSkillAtk,"RA_ARROWSTORM",(5*.@r); bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",(5*.@r); if(getequiprefinerycnt(EQI_HAND_R)>=10) { bonus bAspd,1; } }
+20799:1754:1731,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSkillAtk,"RA_ARROWSTORM",(5*.@r); bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",(5*.@r); if(getequiprefinerycnt(EQI_HAND_R)>=10) { bonus bAspd,1; } }
+20799:1755:1733,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSkillAtk,"RA_ARROWSTORM",(5*.@r); bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",(5*.@r); if(getequiprefinerycnt(EQI_HAND_R)>=10) { bonus bAspd,1; } }
+20799:1756:1732,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSkillAtk,"RA_ARROWSTORM",(5*.@r); bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",(5*.@r); if(getequiprefinerycnt(EQI_HAND_R)>=10) { bonus bAspd,1; } }
+20800:4045,{ bonus bLongAtkDef,-35; }
+20813:22170,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus bMatkRate,10; if (.@r>=7) { bonus2 bSubEle,Ele_Earth,15; bonus2 bSubEle,Ele_Wind,15; } if (.@r>=9) { bonus2 bSubEle,Ele_Earth,15; bonus2 bSubEle,Ele_Wind,15; } }
+20813:4174,{ bonus2 bSubEle,Ele_Neutral,-30; }
+20814:4588,{ bonus bBaseAtk,-5*readparam(bStr)/10; }
+20819:5397,{ bonus bAspd,1; bonus bNoCastCancel; }
+20831:4596,{ bonus bMatk,-5*(readparam(bInt)/10); }
+20838:26109,{ bonus2 bSkillAtk,"SO_PSYCHIC_WAVE",10; .@eq = getequiprefinerycnt(EQI_GARMENT); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus2 bSkillAtk,"SO_EARTHGRAVE",40; } if ((.@eq + .@weapon) >= 18) { bonus2 bMagicAtkEle,Ele_Neutral,10; bonus2 bMagicAtkEle,Ele_Earth,10; if ((.@eq + .@weapon) >= 22) { bonus2 bMagicAtkEle,Ele_Water,10; } } }
+20840:28725,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_GARMENT); .@val = 80; if (.@weapon >= 7 && .@eq >= 7) { .@val += 80; } if ((.@weapon + .@eq) >= 18) { .@val += 40; } if ((.@weapon + .@eq) >= 22) { bonus2 bMagicAtkEle,Ele_Fire,15; } bonus bMatk,.@val; }
+20846:22000,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bBaseAtk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22001,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bMatk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22002,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAspdRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22003,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAddItemHealRate,10; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22004,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bLongAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22005,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bCritAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22006,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bBaseAtk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22007,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAddItemHealRate,10; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22008,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bLongAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22009,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bMatk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22010,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAspdRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22011,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bCritAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20847:28745,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_GARMENT); .@val = 10; if (.@weapon >= 7 && .@eq >= 7) { bonus bCritAtkRate,15; } if ((.@weapon + .@eq) >= 18) { .@val += 15; if ((.@weapon + .@eq) >= 22) { skill "TF_DOUBLE",4; bonus bDoubleRate,20; } } bonus bAspdRate,.@val; }
+20859:4121,{ bonus bPerfectHitAddRate,50; bonus2 bResEff,Eff_Stone,10000; }
+20863:4593,{ bonus bLongAtkRate,-1*readparam(bDex)/10; }
+20922:4306,{ bonus2 bSubEle,Ele_Neutral,20; bonus bMaxHPrate,10; bonus bMdef,10; }
+20925:22035,{ bonus bAgi,10; bonus bInt,10; bonus bVariableCastrate,-10; bonus2 bSubRace,RC_Player,5; }
+20925:22036,{ bonus bStr,10; bonus bDex,10; bonus bDelayrate,-20; bonus2 bSubRace,RC_Player,5; }
+20925:22037,{ bonus bVit,10; bonus bLuk,10; bonus bHealPower,20; bonus2 bSubRace,RC_Player,5; bonus bUseSPrate,-10; }
+20931:1752,{ bonus2 bSubEle,Ele_Fire,75; }
+20931:1754,{ bonus2 bSubEle,Ele_Water,75; }
+20931:1755,{ bonus2 bSubEle,Ele_Wind,75; }
+20931:1756,{ bonus2 bSubEle,Ele_Earth,75; }
+20933:22196,{ bonus bCritAtkRate,10; }
+20933:22197,{ bonus bVariableCastrate,-10; }
+20934:22196,{ bonus bLongAtkRate,10; }
+20934:22197,{ bonus2 bMagicAtkEle,Ele_All,10; }
+20935:22199,{ bonus bHit,5; }
+20935:22199:15378,{ bonus2 bAddClass,Class_All,2; .@a = getequiprefinerycnt(EQI_GARMENT); .@b = getequiprefinerycnt(EQI_SHOES); .@c = getequiprefinerycnt(EQI_ARMOR); if (.@a>=7 && .@b>=7 &&.@c>=7) bonus2 bAddClass,Class_All,3; if (.@a+.@b+.@c >= 27) bonus bDelayrate,-20; }
+20936:22200,{ bonus bCritAtkRate,5; }
+20936:22200:15379,{ bonus2 bAddClass,Class_All,2; .@a = getequiprefinerycnt(EQI_GARMENT); .@b = getequiprefinerycnt(EQI_SHOES); .@c = getequiprefinerycnt(EQI_ARMOR); if (.@a>=7 && .@b>=7 &&.@c>=7) bonus2 bAddClass,Class_All,3; if (.@a+.@b+.@c >= 27) bonus bCritAtkRate,20; }
+20937:22201,{ bonus bVariableCastrate,-5; }
+20937:22201:15380,{ bonus bMatkRate,2; .@a = getequiprefinerycnt(EQI_GARMENT); .@b = getequiprefinerycnt(EQI_SHOES); .@c = getequiprefinerycnt(EQI_ARMOR); if (.@a>=7 && .@b>=7 &&.@c>=7) bonus bMatkRate,3; if (.@a+.@b+.@c >= 27) bonus2 bMagicAtkEle,Ele_Fire,15; }
+20941:4197,{ bonus bFlee,20; bonus bMaxHPrate,10; bonus bMdef,10; }
+20969:1752,{ bonus2 bSubEle,Ele_Fire,75; }
+20969:1754,{ bonus2 bSubEle,Ele_Water,75; }
+20969:1755,{ bonus2 bSubEle,Ele_Wind,75; }
+20969:1756,{ bonus2 bSubEle,Ele_Earth,75; }
+21050:22190,{ bonus bLongAtkRate,3; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus bVariableCastrate,-10; } if ((.@eq + .@weapon) >= 18) { bonus bFixedCast,-500; if ((.@eq + .@weapon) >= 22) { bonus2 bSkillAtk,"RK_DRAGONBREATH",20; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",20; } } }
 22069:2195,{ bonus2 bSubEle,Ele_Neutral,5; bonus2 bAddEle,Ele_Neutral,getequiprefinerycnt(EQI_HAND_L); }
 22069:20753,{ bonus2 bAddEle,Ele_Neutral,5; .@r = getequiprefinerycnt(EQI_GARMENT); bonus bMaxHPrate,.@r; bonus bMaxSPrate,.@r; }
 22101:29148,{ bonus bMaxHPRate,5; bonus bMaxSPRate,5; .@r = getequiprefinerycnt(EQI_SHOES); if(.@r >= 7) { bonus2 bAddClass,Class_All,2; } if(.@r >= 9) { bonus2 bAddClass,Class_All,3; } if(.@r >= 12) { bonus bDelayrate,-5; } }
@@ -587,7 +886,12 @@
 22101:29151,{ bonus bMaxHPRate,5; bonus bMaxSPRate,5; .@r = getequiprefinerycnt(EQI_SHOES); if(.@r >= 7) { bonus2 bSubEle,Ele_Neutral,2; } if(.@r >= 9) { bonus2 bSubEle,Ele_Neutral,3; } if(.@r >= 12) { bonus bDelayrate,-5; } }
 22101:29152,{ bonus bMaxHPRate,5; bonus bMaxSPRate,5; .@r = getequiprefinerycnt(EQI_SHOES); if(.@r >= 7) { bonus bLongAtkRate,2; } if(.@r >= 9) { bonus bLongAtkRate,3; } if(.@r >= 12) { bonus bDelayrate,-5; } }
 22101:29153,{ bonus bMaxHPRate,5; bonus bMaxSPRate,5; .@r = getequiprefinerycnt(EQI_SHOES); if(.@r >= 7) { bonus bCritAtkRate,2; } if(.@r >= 9) { bonus bCritAtkRate,3; } if(.@r >= 12) { bonus bDelayrate,-5; } }
+22104:1646,{ .@r = getequiprefinerycnt(EQI_HAND_R); .@b = getskilllv("WZ_FROSTNOVA"); .@c = getskilllv("WZ_WATERBALL"); bonus2 bMagicAtkEle,Ele_Water,4*.@r; bonus2 bIgnoreMdefClassRate,Class_Normal,5*.@b; bonus2 bIgnoreMdefClassRate,Class_Boss,5*.@b; bonus2 bSkillAtk,"WZ_WATERBALL",(30*.@c)+(20*.@r); }
+22106:1387,{ .@r = getequiprefinerycnt(EQI_SHOES); .@b = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { bonus2 bSubRace,RC_DemiHuman,30; bonus2 bSubRace,RC_Player,30; if (.@b>=7) { bonus2 bSkillAtk,"WS_CARTTERMINATION",8; bonus2 bAddClass,Class_Boss,20; } if (.@b>=9) { bonus2 bSkillAtk,"WS_CARTTERMINATION",12; bonus2 bAddClass,Class_Boss,30; } } }
+22106:1490,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,40; bonus2 bSubRace,RC_Player,40; bonus4 bAutoSpellOnSkill,"LK_SPIRALPIERCE","RK_SONICWAVE",getskilllv("RK_SONICWAVE"),10000; if (.@r>=7) { bonus2 bSkillAtk,"RK_SONICWAVE",20; bonus2 bSkillAtk,"LK_SPIRALPIERCE",20; bonus2 bSubClass,Class_Boss,20; } if (.@r>=9) { bonus2 bSkillAtk,"RK_SONICWAVE",30; bonus2 bSkillAtk,"LK_SPIRALPIERCE",30; bonus2 bSubClass,Class_Boss,30; } }
+22106:18122,{ .@r = getequiprefinerycnt(EQI_SHOES); .@b = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { bonus bLongAtkRate,3*(readparam(bStr)/10); if (.@b>=7) { bonus2 bSkillAtk,"RA_ARROWSTORM",20; bonus2 bSkillAtk,"RA_AIMEDBOLT",20; bonus2 bAddClass,Class_Boss,20; } if (.@b>=9) { bonus2 bSkillAtk,"RA_ARROWSTORM",30; bonus2 bSkillAtk,"RA_AIMEDBOLT",30; bonus2 bAddClass,Class_Boss,30; } } }
 22106:2160,{ .@r = getequiprefinerycnt(EQI_SHOES); if (.@r > 6) { bonus2 bSubSize,Size_Large,2; bonus2 bSubClass,Class_Boss,2; } if (.@r > 8) { bonus2 bSubSize,Size_Large,2; bonus2 bSubClass,Class_Boss,2; } }
+22120:1631,{ .@r = getequiprefinerycnt(EQI_HAND_R); .@cast = -5*getskilllv("AB_ORATIO"); bonus2 bVariableCastrate,"AB_JUDEX",.@cast; bonus2 bVariableCastrate,"AB_ADORAMUS",.@cast; if (.@r >= 7) { .@magic = 30; if (.@r >= 9) { .@magic += 20; .@dmg = 20; } bonus2 bMagicAddRace,RC_Demon,.@magic; bonus2 bMagicAddRace,RC_Undead,.@magic; bonus2 bMagicAddEle,Ele_Undead,.@magic; bonus2 bMagicAddEle,Ele_Dark,.@magic; } bonus2 bSkillAtk,"AB_ADORAMUS",.@dmg + 10*(getskilllv("AB_LAUDAAGNUS")+getskilllv("AB_LAUDARAMUS")+getskilllv("AB_CLEARANCE")); }
 22122:28443:28444,{ bonus bAspdRate,4; bonus bHit,4; }
 22123:28445:28446,{ bonus bAspdRate,8; bonus bHit,8; }
 22124:28447:28448,{ bonus bAspdRate,8; bonus bHit,8; bonus2 bExpAddClass,Class_All,2; }
@@ -603,13 +907,35 @@
 22124:28467:28468,{ bonus bAspdRate,8; bonus bHit,8; bonus2 bExpAddClass,Class_All,2; }
 22125:28469:28470,{ bonus bAspdRate,10; bonus bHit,10; bonus2 bExpAddClass,Class_All,2; }
 22126:28471:28472,{ bonus bAspdRate,10; bonus bHit,10; bonus2 bExpAddClass,Class_All,2; bonus bSpeedAddRate,25; }
+22133:26007,{ bonus bAspdRate,8; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { .@val = 20; } if ((.@eq + .@weapon) >= 18) { bonus bLongAtkRate,10; if ((.@eq + .@weapon) >= 22) { .@val += 30; } } if (.@val) { bonus2 bSkillAtk,"LG_BANISHINGPOINT",.@val; } }
+22133:32005,{ bonus bBaseAtk,40; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { .@val = 20; } if ((.@eq + .@weapon) >= 18) { bonus2 bAddClass,Class_All,10; if ((.@eq + .@weapon) >= 22) { .@val += 20; } } if (.@val) { bonus2 bSkillAtk,"RK_HUNDREDSPEAR",.@val; } }
+22138:20815,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bSubEle,Ele_Holy,30-(2*getskilllv("CR_TRUST")); bonus2 bSubEle,Ele_Dark,30; bonus bFixedCastrate,-50; if (.@r > 8) .@val = 20; else if (.@r > 6) .@val = 10; bonus2 bMagicAtkEle,Ele_Fire,.@val; bonus2 bMagicAtkEle,Ele_Neutral,.@val; bonus2 bMagicAtkEle,Ele_Dark,.@val; }
+22138:20815:1643,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bMagicAtkEle,Ele_Fire,4*getskilllv("WZ_FIREPILLAR"); bonus2 bMagicAtkEle,Ele_Neutral,6*getskilllv("HW_GRAVITATION"); if (.@r > 8) .@val = 2; else if (.@r > 6) .@val = 1; bonus2 bSkillAtk,"WL_HELLINFERNO",100*.@val; bonus2 bMagicAddRace,RC_DemiHuman,20*.@val; bonus2 bMagicAddRace,RC_Player,20*.@val; }
+22138:4876,{ bonus2 bMagicAtkEle,Ele_Fire,-50; bonus2 bMagicAtkEle,Ele_Neutral,-50; bonus2 bMagicAtkEle,Ele_Dark,-50; }
+22170:1618,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bIgnoreMdefClassRate,Class_All,50; if (.@r>=10) { bonus2 bMagicAtkEle,Ele_Neutral,80; bonus2 bMagicAddRace,RC_Demihuman,20; bonus2 bMagicAddRace,RC_Player,20; bonus2 bSkillCooldown,"WL_EARTHSTRAIN",-2400; bonus2 bSkillCooldown,"WL_CHAINLIGHTNING",-1000; autobonus "{ bonus2 bSkillAtk,\"WL_CHAINLIGHTNING\",100; }",60,5000,BF_MAGIC; } }
+22170:1620,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bIgnoreMdefClassRate,Class_All,50; if (.@r>=10) { bonus2 bMagicAtkEle,Ele_Neutral,80; bonus2 bMagicAddRace,RC_Demihuman,20; bonus2 bMagicAddRace,RC_Player,20; bonus2 bSkillCooldown,"WL_EARTHSTRAIN",-2400; bonus2 bSkillCooldown,"WL_CHAINLIGHTNING",-1000; autobonus "{ bonus2 bSkillAtk,\"WL_CHAINLIGHTNING\",100; }",60,5000,BF_MAGIC; } }
+22170:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Wind,10; if (.@r>=7) { bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Wind,10; } if (.@r>=9) { bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Wind,10; } }
+22171:13345,{ autobonus "{ bonus bStr,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
+//22171:26154,{ autobonus "{ bonus bInt,20; bonus bMatkRate,15; }",20,7000,BF_MAGIC; /* unknown rate */ }
+22171:26155,{ autobonus "{ bonus bLuk,20; bonus bMatkRate,15; bonus2 bAddClass,Class_All,15; }",20,7000,BF_MAGIC|BF_WEAPON; /* unknown rate */ }
+22171:28255,{ autobonus "{ bonus bInt,20; bonus2 bMagicAtkEle,Ele_Ghost,10; }",20,7000,BF_MAGIC; /* unknown rate */ }
+22171:28256,{ autobonus "{ bonus bDex,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
+22171:28257,{ autobonus "{ bonus bDex,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
+22171:28258,{ autobonus "{ bonus bDex,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
+//22171:28631,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,15; }",3,7000,BF_WEAPON; /* unknown rate */ }
+22171:28763:28764,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
+22171:32302,{ autobonus "{ bonus bDex,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
+22172:15042,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bSpeedRate,25; bonus bCritAtkRate,4*(readparam(bluk)/20); if (.@r>=7) { bonus bAspdRate,8; bonus2 bSubRace,RC_DemiHuman,8; bonus2 bSubRace,RC_Player,8; bonus2 bSkillAtk,"HT_BLITZBEAT",40; bonus2 bSkillAtk,"SN_SHARPSHOOTING",50; } if (.@r>=9) { bonus bAspdRate,4; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; bonus2 bSkillAtk,"HT_BLITZBEAT",20; bonus2 bSkillAtk,"SN_SHARPSHOOTING",25; } }
+22172:15043,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bHPGainValue,500; bonus bSpeedRate,25; bonus2 bSkillAtk,"RA_CLUSTERBOMB",30*(readparam(bint)/20); bonus2 bSkillUseSP,"RA_ELECTRICSHOCKER",30; if (.@r>=7) { bonus bFlee2,6; bonus2 bSubRace,RC_DemiHuman,8; bonus2 bSubRace,RC_Player,8; bonus2 bSkillAtk,"RA_CLUSTERBOMB",400; bonus2 bSkillAtk,"RA_AIMEDBOLT",20; } if (.@r>=9) { bonus bFlee2,3; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; bonus2 bSkillAtk,"RA_CLUSTERBOMB",200; bonus2 bSkillAtk,"RA_AIMEDBOLT",10; } }
+22190:28254,{ bonus2 bAddClass,Class_All,10; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus bLongAtkRate,5; } if ((.@eq + .@weapon) >= 18) { bonus2 bSkillAtk,"RL_FIRE_RAIN",20; bonus2 bSkillCooldown,"RL_FIRE_RAIN",-2000; if ((.@eq + .@weapon) >= 22) { autobonus3 "{ bonus bBaseAtk,50; bonus2 bAddRace,RC_Brute,50; bonus2 bAddRace,RC_Demon,50; }",5,10000,"RL_R_TRIP"; /* unknown rate */ } } }
 24012:24013:24014:24015:24016:24017,{ bonus bAllStats,3; }
 24018:24019:24020,{ if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) + getequiprefinerycnt(EQI_SHADOW_WEAPON) >= 23) { bonus2 bAddClass,Class_All,1; } }
 24021:24022:24023,{ if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) + getequiprefinerycnt(EQI_SHADOW_WEAPON) >= 23) { bonus bMatkRate,1; } }
 24025:24028,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus bMaxHP,.@r; bonus bMaxSP,.@r; if(.@r >= 15) { bonus bMaxHPrate,1; } }
-24026:24027,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHIELD); bonus bDef,.@r; if(.@r >= 15) { bonus2 bSubEle,0,1; } }
+24026:24027,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHIELD); bonus bDef,.@r; if(.@r >= 15) { bonus2 bSubEle,Ele_Neutral,1; } }
 24029:24031,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_WEAPON); bonus bBaseAtk,.@r; if(.@r >= 15) { bonus bLongAtkRate,1; } }
 24030:24032,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_WEAPON); bonus bCritical,.@r; bonus bBaseAtk,.@r; if(.@r >= 15) { bonus bCritAtkRate,1; } }
+24033:24366:24367,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES); .@val = 5; if (.@r >= 25) { .@val += 15; } bonus bHealPower,.@val; }
 24034:24040,{ bonus bLuk,1; }
 24035:24041,{ bonus bStr,1; }
 24036:24042,{ bonus bInt,1; }
@@ -631,8 +957,12 @@
 24073:24076,{ bonus bMaxHPrate,1; bonus bMaxSPrate,1; }
 24074:24077,{ bonus bMaxHPrate,1; bonus bMaxSPrate,1; }
 24078:24079:24080,{ bonus2 bSPDrainRate,10,1+(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)/10); }
+24079:24080:24324,{ bonus2 bSPDrainRate,10,1+(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L))/10; }
+24079:24080:24329,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if (.@r >= 25) { bonus bMatkRate,2; } else if (.@r >= 20) { bonus bMatkRate,1; } bonus bMatk,10; }
 24081:24082:24083,{ bonus2 bHPDrainRate,40,2+(getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)/5); }
+24082:24083:24325,{ bonus2 bHPDrainRate,40,2+(getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES))/5; }
 24084:24085:24086:24087:24088:24089,{ bonus bAllStats,1; .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if (.@r >= 45) { bonus bNoGemStone; } bonus bUseSPrate,100-.@r; }
+24084:24085:24086:24087:24089:24322,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); bonus bAllStats,1; if (.@r >= 45) { bonus bNoGemStone; bonus bUseSPrate,(100-.@r); } }
 24090:24091:24092,{ bonus bDef,5; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHOES) >= 20) bonus2 bResEff,Eff_Stone,10000; }
 24090:24093:24094,{ bonus bDef,5; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHOES) >= 20) bonus2 bResEff,Eff_Sleep,10000; }
 24090:24095:24096,{ bonus bDef,5; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHOES) >= 20) bonus2 bResEff,Eff_Silence,10000; }
@@ -641,8 +971,17 @@
 24090:24102:24103,{ bonus bDef,5; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ACC_L)+getequiprefinerycnt(EQI_SHADOW_ACC_R) >= 20) bonus2 bResEff,Eff_Bleeding,10000; }
 24090:24104:24105:24106,{ bonus bDef,4; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_L)+getequiprefinerycnt(EQI_SHADOW_ACC_R) >= 30) bonus2 bResEff,Eff_Stun,10000; }
 24090:24107:24108,{ bonus bDef,5; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ACC_L)+getequiprefinerycnt(EQI_SHADOW_ACC_R) >= 20) bonus2 bResEff,Eff_Curse,10000; }
+24090:24352,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,50; if (.@r >= 15) { bonus2 bResEff,Eff_Stone,10000; } }
+24090:24353,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus bDef,50; if (.@r >= 15) { bonus2 bResEff,Eff_Sleep,10000; } }
+24090:24354,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,50; if (.@r >= 15) { bonus2 bResEff,Eff_Silence,10000; } }
+24090:24355,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus bDef,50; if (.@r >= 15) { bonus2 bResEff,Eff_Blind,10000; } }
+24090:24356,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_WEAPON); bonus bDef,50; if (.@r >= 15) { bonus2 bResEff,Eff_Freeze,10000; } }
+24090:24357,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_ACC_R); bonus bDef,50; if (.@r >= 15) { bonus2 bResEff,Eff_Bleeding,10000; } }
+24090:24358,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_WEAPON); bonus bDef,50; if (.@r >= 15) { bonus2 bResEff,Eff_Stun,10000; } }
+24090:24359,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_ACC_L); bonus bDef,50; if (.@r >= 15) { bonus2 bResEff,Eff_Curse,10000; } }
 24048:24109:24110,{ bonus bNoCastCancel2; bonus bVariableCastrate,40-(getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)); }
 24111:24112:24113,{ bonus bNoCastCancel; bonus bUseSPrate,40-getequiprefinerycnt(EQI_SHADOW_SHIELD)-getequiprefinerycnt(EQI_SHADOW_ARMOR)-getequiprefinerycnt(EQI_SHADOW_SHOES); }
+24111:24112:24323,{ bonus bNoCastCancel; bonus bUseSPrate,40-getequiprefinerycnt(EQI_SHADOW_SHIELD)-getequiprefinerycnt(EQI_SHADOW_ARMOR)-getequiprefinerycnt(EQI_SHADOW_SHOES); }
 24150:24151,{ bonus2 bAddClass,Class_All,1; if (getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L) >= 15) bonus bNoSizeFix; }
 24152:24153,{ bonus bAtk,getequiprefinerycnt(EQI_SHADOW_WEAPON); if (getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R) >= 15) bonus bUnbreakableWeapon; }
 24154:24155,{ bonus bDef,getequiprefinerycnt(EQI_SHADOW_ARMOR); if (getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_ACC_L) >= 15) bonus bUnbreakableArmor; }
@@ -656,6 +995,8 @@
 24163:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Formless; }
 24164:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Undead; }
 24165:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Plant; }
+24166:24167:24328,{ if (getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L) >= 25) { bonus bIgnoreDefRace,RC_DemiHuman; } }
+24168:24169:24329,{ if (getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L) >= 25) { bonus bIgnoreMDefRace,RC_DemiHuman; } }
 24168:24169:24170,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_DemiHuman; }
 24168:24169:24171,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Demon; }
 24168:24169:24172,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Brute; }
@@ -666,7 +1007,9 @@
 24168:24169:24177,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Formless; }
 24168:24169:24178,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Undead; }
 24168:24169:24179,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMDefRace,RC_Plant; }
-24180:24181:24182:24183:24184:24185,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); bonus bAllStats,1; if(.@r>=45) { bonus bMaxHPrate,(.@r-60); sc_start4 SC_ENDURE,1,10,0,0,1;} }
+24168:24169:24345:24346:24423:24424,{ if ((getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)) >= 54) { bonus2 bIgnoreDefClassRate,Class_Normal,20; } }
+24180:24181:24182:24183:24184:24185,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); bonus bAllStats,1; if(.@r>=45) { bonus bMaxHPrate,(.@r-60); bonus bNoWalkDelay; } }
+24180:24181:24182:24183:24184:24321,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); bonus bAllStats,1; if (.@r >= 45) { bonus bMaxHPrate,(.@r-60); bonus bNoWalkDelay; } }
 24186:24198,{ bonus2 bSubEle,Ele_Neutral,2; }
 24187:24199,{ bonus2 bSubEle,Ele_Dark,2; }
 24188:24200,{ bonus2 bSubEle,Ele_Water,2; }
@@ -678,38 +1021,151 @@
 24194:24206,{ bonus2 bSubEle,Ele_Ghost,2; }
 24195:24207,{ bonus2 bSubEle,Ele_Undead,2; }
 24196:24197,{ bonus bFlee,5; if(getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ARMOR)>=15) bonus bSpeedAddRate,3; }
+24197:24320,{ bonus bFlee,5; if ((getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHOES)) >= 15) { bonus bSpeedRate,25; /* unknown value */ } }
 24208:24209,{ bonus2 bExpAddRace,RC_All,((getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD))>=15?10:1); }
 24210:24211,{ bonus2 bExpAddRace,RC_All,((getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD))>=15?20:10); }
 24212:24213,{ bonus2 bExpAddRace,RC_All,((getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD))>=15?10:5); }
 24214:24215,{ bonus2 bExpAddRace,RC_All,((getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD))>=15?4:2); }
 24217:24218,{ if(getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=15) bonus bAspd,1; }
-24223:24225:24226,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@r)>=25 {bonus2 bAddClass,Class_All,2;} else if(.@r)>=20 {bonus2 bAddClass,Class_All,1;} bonus2 bAddClass,Class_All,1; }
-24224:24225:24226,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@r)>=25 {bonus2 bAddClass,Class_All,2;} else if(.@r)>=20 {bonus2 bAddClass,Class_All,1;} bonus bAtk2,10; }
-24227:24229:24230,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@r)>=25 {bonus bMatkRate,2;} else if(.@r)>=20 {bonus bMatkRate,1;} bonus bMatkRate,1; }
-24228:24229:24230,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@r)>=25 {bonus bMatkRate,2;} else if(.@r)>=20 {bonus bMatkRate,1;} bonus bMatk,10; }
+24223:24225:24226,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@r>=25) {bonus2 bAddClass,Class_All,2;} else if(.@r>=20) {bonus2 bAddClass,Class_All,1;} bonus2 bAddClass,Class_All,1; }
+24224:24225:24226,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@r>=25) {bonus2 bAddClass,Class_All,2;} else if(.@r>=20) {bonus2 bAddClass,Class_All,1;} bonus bAtk2,10; }
+24225:24226:24328,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if (.@r >= 25) { bonus2 bAddClass,Class_All,2; } else if (.@r >= 20) { bonus2 bAddClass,Class_All,1; } bonus bBaseAtk,10; }
+24227:24229:24230,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@r>=25) {bonus bMatkRate,2;} else if(.@r>=20) {bonus bMatkRate,1;} bonus bMatkRate,1; }
+24228:24229:24230,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@r>=25) {bonus bMatkRate,2;} else if(.@r>=20) {bonus bMatkRate,1;} bonus bMatk,10; }
 24231:24232,{ bonus bFlee,5; if (getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD)>=15) { bonus bAspd,1; } }
 24234:24235,{ bonus bBaseAtk,5; if (getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=15) { bonus2 bAddSize,Size_Large,2; bonus2 bMagicAddSize,Size_Large,2; } }
 24236:24237,{ bonus bBaseAtk,5; if (getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=15) { bonus2 bAddSize,Size_Medium,2; bonus2 bMagicAddSize,Size_Medium,2; } }
 24238:24239,{ bonus bBaseAtk,5; if (getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=15) { bonus2 bAddSize,Size_Small,2; bonus2 bMagicAddSize,Size_Small,2; } }
-24240:24241:24242,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bVariableCastrate,-.@r/5; if(.@r)>=25 { bonus bUseSPrate,-2; } else bonus bUseSPrate,-1; }
-24240:24241:24330,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bVariableCastrate,-.@r/5; if(.@r)>=25 { bonus bUseSPrate,-2; } else bonus bUseSPrate,-1; }
+24240:24241:24242,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bVariableCastrate,-.@r/5; if(.@r>=25) { bonus bUseSPrate,-2; } else bonus bUseSPrate,-1; }
+24240:24241:24330,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bVariableCastrate,-.@r/5; if(.@r>=25) { bonus bUseSPrate,-2; } else bonus bUseSPrate,-1; }
 24243:24244:24245,{ bonus bDelayrate,(getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR)>=25?-5:-1); }
+24243:24244:24331,{ bonus bDelayrate,(getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR)>=25?-6:-1); }
 24246:24250,{ bonus2 bAddRace,RC_All,1; bonus bMaxHPrate,1; if (getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=10) { bonus2 bAddRace,RC_All,2; bonus bMaxHPrate,2; } }
 24247:24251,{ bonus2 bAddRace,RC_All,1; bonus bMaxHPrate,1; if (getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=10) { bonus2 bAddRace,RC_All,2; bonus bMaxHPrate,2; } }
 24248:24252,{ bonus2 bMagicAddRace,RC_All,1; bonus bMaxSPrate,1; if (getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=10) { bonus2 bMagicAddRace,RC_All,2; bonus bMaxSPrate,2; } }
 24249:24254,{ bonus2 bMagicAddRace,RC_All,1; bonus bMaxSPrate,1; if (getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=10) { bonus2 bMagicAddRace,RC_All,2; bonus bMaxSPrate,2; } }
-24253:28391,{ bonus2 bAddRace,RC_All,1; bonus bMaxHPrate,1; if (getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=10) { bonus2 bAddRace,RC_All,2; bonus bMaxHPrate,2; } }
-24255:28392,{ bonus2 bAddRace,RC_All,1; bonus bMaxHPrate,1; if (getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=10) { bonus2 bAddRace,RC_All,2; bonus bMaxHPrate,2; } }
+24251:24247:24259:24272:24291:24304,{ bonus bAllStats,10; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; }
+24251:24247:24271:24258:24303:24290,{ bonus bAllStats,10; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; }
+24252:24248:24260:24273:24292:24305,{ bonus bAllStats,10; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; }
+24252:24248:24261:24274:24293:24306,{ bonus bAllStats,10; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; }
+24253:28391,{ .@val = 1; if ((getequiprefinerycnt(EQI_SHADOW_ACC_L)+getequiprefinerycnt(EQI_SHADOW_ACC_R)) >= 10) { .@val += 2; } bonus2 bAddClass,Class_All,.@val; bonus bMaxHPrate,.@val; }
+24253:28391:24262:24275:24294:24307,{ bonus bAllStats,10; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; }
+24253:28391:24263:24276:24295:24308,{ bonus bAllStats,10; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; }
+24254:24249:24264:24277:24296:24309,{ bonus bAllStats,10; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; }
+24254:24249:24265:24278:24297:24310,{ bonus bAllStats,10; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bIgnoreDefClassRate,Class_Normal,50; bonus2 bIgnoreMDefClassRate,Class_Normal,50; }
+24255:28392,{ .@val = 1; if ((getequiprefinerycnt(EQI_SHADOW_ACC_L)+getequiprefinerycnt(EQI_SHADOW_ACC_R)) >= 10) { .@val += 2; } bonus2 bAddClass,Class_All,.@val; bonus bMaxHPrate,.@val; }
+24321:24337:24338,{ bonus bAllStats,1; .@r = getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ACC_L) + getequiprefinerycnt(EQI_SHADOW_ARMOR); if (.@r >= 25) { bonus bNoWalkDelay; bonus bMaxHPrate,.@r-35; } }
+24326:24327,{ .@r1 = getequiprefinerycnt(EQI_SHADOW_ARMOR) .@r2 = getequiprefinerycnt(EQI_SHADOW_SHIELD); if ((.@r1+.@r2) >= 17) { bonus bLuk,1; bonus bVit,1; bonus bHit,.@r1; bonus bDef,5*.@r2; if (BaseClass == Job_Swordman || BaseClass == Job_Thief || (BaseClass == Job_Taekwon && BaseJob != Job_Soul_Linker)) { bonus bBaseAtk,15; bonus bAspd,1; } else if (BaseClass == Job_Merchant || BaseClass == Job_Archer || BaseClass == Job_Gunslinger) { bonus bFlee,15; bonus bLongAtkRate,3; } else if (BaseClass == Job_Mage || BaseClass == Job_Acolyte || BaseClass == Job_Ninja || BaseJob == Job_Soul_Linker) { bonus bMatk,15; bonus bMaxSPrate,2; bonus bHealPower,3; } else if (BaseClass == Job_Novice || BaseJob == Job_Summoner) { bonus bAspdRate,5; bonus bMaxHP,1000; bonus bVariableCastrate,-5; bonus bMaxSP,300; } } }
+24332:24333,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_SHIELD); bonus bBaseAtk,.@r; if (.@r >= 15) { bonus bCritAtkRate,1; } }
+24322:24335:24336,{ bonus bAllStats,1; .@r = getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_SHIELD); if (.@r >= 25) { bonus bNoGemStone; bonus bUseSPrate,70-.@r; } }
+24341:24342,{ bonus2 bExpAddClass,Class_All,3; }
+24343:24344,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,.@r; if (.@r >= 15) { bonus bAspd,1; bonus bDelayrate,-1; } }
+24345:24346:24347,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_DemiHuman; bonus bIgnoreMDefRace,RC_Undead; } }
+24345:24346:24348,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_Demon; bonus bIgnoreMDefRace,RC_Angel; } }
+24345:24346:24349,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_Formless; bonus bIgnoreMDefRace,RC_Dragon; } }
+24345:24346:24350,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_Plant; bonus bIgnoreMDefRace,RC_Brute; } }
+24345:24346:24351,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bMDef,5; if (.@r >= 25) { bonus bIgnoreMDefRace,RC_Fish; bonus bIgnoreMDefRace,RC_Insect; } }
+24360:24361:24362,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); .@rate = 20 + 10*(.@r/10); if (.@r >= 25) { .@hp = 500; } else { .@hp = 100; } autobonus "{ bonus2 bHPRegenRate,"+.@hp+",1000; }",.@rate,5000; }
+24363:24364:24365,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); .@rate = 10 + 10*(.@r/15); if (.@r >= 25) { .@hp = 250; } else { .@hp = 100; } autobonus "{ bonus2 bHPRegenRate,"+.@hp+",1000; }",.@rate,5000,BF_MAGIC; }
+24368:24369,{ if ((getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L)) >= 15) { bonus bHPrecovRate,50; bonus bSPrecovRate,50; } }
+24370:24371:24372,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); .@val = 2; if (.@r >= 25) { .@val += 10; if (.@r >= 30) { bonus bAspd,3; } } bonus bCritAtkRate,.@val; }
+24373:24374:24375,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_DemiHuman; bonus bIgnoreDefRace,RC_Undead; } }
+24373:24374:24376,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_Demon; bonus bIgnoreDefRace,RC_Angel; } }
+24373:24374:24377,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_Formless; bonus bIgnoreDefRace,RC_Dragon; } }
+24373:24374:24378,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_Plant; bonus bIgnoreDefRace,RC_Brute; } }
+24373:24374:24379,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_ARMOR); bonus bDef,5; if (.@r >= 25) { bonus bIgnoreDefRace,RC_Fish; bonus bIgnoreDefRace,RC_Insect; } }
+24380:24381:24382,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); .@rate = 20 + 10*(.@r/10); if (.@r >= 25) { .@sp = 30; } else { .@sp = 10; } autobonus "{ bonus2 bSPRegenRate,"+.@sp+",1000; }",.@rate,5000; }
+24383:24384:24385,{ .@r = getequiprefinerycnt(EQI_SHADOW_WEAPON) + getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L); .@rate = 10 + 10*(.@r/15); if (.@r >= 25) { .@sp = 30; } else { .@sp = 10; } autobonus "{ bonus2 bSPRegenRate,"+.@sp+",1000; }",.@rate,5000,BF_MAGIC; }
+24387:24388:24389:24390:24391:24392,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); .@val = 20 + min(30,.@r); if (BaseLevel >= 130) { .@val += 6; } else if (BaseLevel >= 125) { .@val += 3; } bonus2 bIgnoreDefRaceRate,RC_All,.@val; bonus2 bIgnoreMdefRaceRate,RC_All,.@val; bonus2 bIgnoreDefRaceRate,RC_Player,-.@val; bonus2 bIgnoreMdefRaceRate,RC_Player,-.@val; }
+24393:24394:24395,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus bBaseAtk,.@r*2; if (.@r >= 25) { bonus2 bAddClass,Class_All,5; } else if (.@r >= 23) { bonus2 bAddClass,Class_All,2; } }
+24396:24397:24398,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus bMatk,.@r*2; if (.@r >= 25) { bonus bMatkRate,5; } else if (.@r >= 23) { bonus bMatkRate,2; } }
+24399:24400,{ .@r = getequiprefinerycnt(EQI_SHADOW_SHIELD) + getequiprefinerycnt(EQI_SHADOW_SHOES); if (.@r >= 16) { bonus bDef,100; bonus bMaxHPrate,4; bonus bMaxSPrate,4; } else { bonus bDef,50; bonus bMaxHPrate,2; bonus bMaxSPrate,2; } }
+24416:24417:24418:24419:24420:24421,{ bonus bAspd,2; bonus bVariableCastrate,-10; bonus2 bIgnoreDefRaceRate,RC_All,70; bonus2 bIgnoreMdefRaceRate,RC_All,70; bonus2 bIgnoreDefRaceRate,RC_Player,-70; bonus2 bIgnoreMdefRaceRate,RC_Player,-70; }
+27101:28510,{ bonus bMatkRate,(getrefine()/3); }
+27102:28510,{ bonus bFlee2,5; }
+27103:28510,{ bonus2 bAddClass,Class_All,(getrefine()/3); }
+27104:28510,{ bonus2 bHPRegenRate,30,3000; bonus2 bSPRegenRate,1,3000; }
+27104:27105,{ if (getequiprefinerycnt(EQI_GARMENT) >= 9) { bonus bMaxHP,2000; bonus bMaxSP,100; } else { bonus bMaxHP,1000; bonus bMaxSP,50; } }
+27105:28510,{ bonus bMatk,30; }
+27107:27108,{ bonus2 bSkillAtk,"WM_METALICSOUND",50; bonus2 bSkillAtk,"WM_REVERBERATION",50; }
+// 27107:27108:27109,{ autobonus "{ heal 2000,0; bonus2 bAddEle,Ele_Neutral,200; bonus2 bMagicAddEle,Ele_Neutral,200; }",20,6000,BF_WEAPON|BF_MAGIC,"{ active_transform 3073,6000; }"; /* fix me: mob 3073 not implemented */ }
+27110:27111,{ bonus2 bSubSize,Size_Small,20; }
+27111:27112,{ bonus2 bSubSize,Size_Medium,20; }
+27114:27115,{ bonus bMaxHPrate,(getequiprefinerycnt(EQI_ARMOR)/3); bonus bMaxSP,(5*(getequiprefinerycnt(EQI_HEAD_TOP)/2)); }
+27116:27117,{ bonus bCritical,2; bonus bCritAtkRate,2; }
 27147:27148,{ bonus bDelayrate,-3; }
 27163:27165,{ bonus bDelayrate,-3; bonus bVit,2; bonus bInt,2; bonus bAgi,2; bonus bDex,2; }
 27166:27167,{ bonus2 bSubEle,Ele_Neutral,5; bonus2 bMagicAddSize,Size_All,10; }
+27170:27171,{ bonus bStr,3; bonus2 bAddClass,Class_All,3; }
+27170:27172,{ bonus2 bAddSize,Size_Small,15; bonus2 bMagicAddSize,Size_Small,15; }
+27170:27173,{ bonus2 bSkillAtk,"GS_SPREADATTACK",50; }
+27171:27174,{ bonus2 bSkillAtk,"GS_RAPIDSHOWER",50; }
+27172:27175,{ bonus2 bAddSize,Size_Small,10; bonus2 bMagicAddSize,Size_Small,10; }
+27196:27199,{ bonus2 bMagicAddSize,Size_Small,5; bonus2 bMagicAddRace,RC_Brute,5; }
+27196:27331,{ bonus bDelayrate,-3; }
+27197:27198,{ bonus2 bAddSize,Size_Small,5; bonus2 bAddRace,RC_Brute,5; }
+27197:27333,{ bonus2 bAddClass,Class_All,5; }
+// 27321:27326,{ bonus bMaxHPrate,50; }
+27322:27323,{ bonus bMaxSPrate,5; bonus bMaxHPrate,5; }
+27324:27325,{ bonus2 bMagicAtkEle,Ele_Water,10; bonus2 bSubDefEle,Ele_Fire,10; }
+28022:28509,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bAspdRate,10; if (.@r >= 9) { bonus bCritAtkRate,10; if (.@r >= 11) { bonus2 bAddRace,RC_Brute,25; } } }
 28315:28317,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; }
 28316:28318,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; }
+28320:22016,{ .@val = min(12,getequiprefinerycnt(EQI_SHOES)); bonus2 bAddRace,RC_DemiHuman,.@val; bonus2 bAddRace,RC_Player,.@val; }
 28321:28322,{ bonus bUseSPrate,-(getskilllv("HT_BEASTBANE") * 2); }
 28326:28327,{ bonus bInt,8; bonus bStr,8; }
 28358:18521,{ skill "AS_CLOAKING",1; }
+28430:4803,{ bonus bLuk,2; bonus bFlee2,5; bonus bUseSPrate,-5; bonus bHealPower,3; bonus2 bSkillUseSP,"AB_EPICLESIS",100; bonus2 bSkillCooldown,"AB_EPICLESIS",-10000; }
+28430:4804,{ bonus bLuk,2; bonus bFlee2,5; bonus bUseSPrate,-5; bonus bHealPower,3; bonus2 bVariableCastrate,"AB_CHEAL",-100; bonus2 bSkillUseSP,"AB_CHEAL",20; }
+28430:4805,{ bonus bLuk,2; bonus bFlee2,5; bonus bUseSPrate,-5; bonus bHealPower,3; bonus2 bVariableCastrate,"AB_HIGHNESSHEAL",-100; }
+28430:4850,{ bonus bLuk,2; bonus bFlee2,5; bonus bUseSPrate,-5; bonus bHealPower,3; bonus2 bSkillCooldown,"AB_HIGHNESSHEAL",-1000; }
+28433:4817,{ bonus bCritAtkRate,10; }
+28433:4818,{ bonus bCritAtkRate,10; }
+28434:4810,{ bonus bMaxSP,100; bonus2 bAddClass,Class_All,5; }
+28434:4811,{ bonus bMaxSP,100; bonus2 bAddClass,Class_All,5; }
+28437:4814,{ bonus bVariableCastrate,-5; bonus2 bMagicAddRace,RC_All,5; }
+28437:4815,{ bonus bVariableCastrate,-5; bonus2 bMagicAddRace,RC_All,5; }
+28438:4832,{ bonus bDelayrate,-5; bonus bLongAtkRate,5; }
+28438:4833,{ bonus bDelayrate,-5; bonus bLongAtkRate,5; }
+28491:4817,{ bonus bHit,15; bonus bCriticalLong,10; }
+28491:4818,{ bonus bHit,15; bonus bCriticalLong,10; }
 28499:28920,{ bonus bFlee2,10; }
+28501:4807,{ bonus bAspd,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Brute,1; bonus2 bSubRace,RC_Fish,1; bonus2 bSubRace,RC_Player,1; bonus2 bSubRace,RC_Demon,1; bonus2 bSubRace,RC_Undead,1; }
+28501:4842,{ bonus bAspd,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Brute,1; bonus2 bSubRace,RC_Fish,1; bonus2 bSubRace,RC_Player,1; bonus2 bSubRace,RC_Demon,1; bonus2 bSubRace,RC_Undead,1; }
+28502:2201,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player,((2*.@b)+2); bonus bHealPower,10*.@c; }
+28502:2202,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player,((2*.@b)+2); bonus bHealPower,10*.@c; }
+28502:2203,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player,((2*.@b)+2); bonus bHealPower,10*.@c; }
+28502:2204,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player,((2*.@b)+2); bonus bHealPower,10*.@c; }
+28506:1414,{ .@r = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { .@val = 30; if (.@r>=9) { @val += 20; bonus2 bAddClass,Class_Boss,.@val; bonus2 bAddEle,Ele_Water,.@val; bonus2 bAddEle,Ele_Wind,.@val; bonus2 bAddRace,RC_Fish,.@val; bonus2 bAddRace,RC_Insect,.@val; bonus2 bSkillAtk,"RK_WINDCUTTER",.@val; if (.@r>=10) { bonus2 bVariableCastrate,"RK_WINDCUTTER",-50; } } } }
+28506:1449,{ .@r = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { .@val = 30; if (.@r>=9) { @val += 20; bonus2 bAddClass,Class_Boss,.@val; bonus2 bAddEle,Ele_Water,.@val; bonus2 bAddEle,Ele_Wind,.@val; bonus2 bAddRace,RC_Fish,.@val; bonus2 bAddRace,RC_Insect,.@val; bonus2 bSkillAtk,"RK_WINDCUTTER",.@val; if (.@r>=10) { bonus2 bVariableCastrate,"RK_WINDCUTTER",-50; } } } }
+28506:15037,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus2 bResEff,Eff_Freeze,10000; bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus bMaxHPrate,15; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } if (.@r>=9) { bonus bMaxHPrate,15; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } }
+28506:15037:2476:2575:2884,{ autobonus3 "{bonus bDelayrate,-70;}",1000,10000,"LK_AURABLADE","{specialeffect2 EF_ENHANCE;}"; }
+28506:2476,{ .@r = getequiprefinerycnt(EQI_SHOES); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus bAspdRate,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; } if (.@r>=9) { bonus bAspdRate,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; } }
+28506:2575,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSkillUseSP,"RK_WINDCUTTER",18; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus bLongAtkDef,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; } if (.@r>=9) { bonus bLongAtkDef,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; } }
+28506:2884,{ bonus2 bAddClass,Class_All,5; bonus bMaxSPrate,5; bonus bAspdRate,5; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; }
+28508:28612,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bAspdRate,8; bonus bCritAtkRate,(5*(.@r/2)); if (.@r >= 9) { bonus bCritical,15; bonus2 bResEff,Eff_Curse,10000; if (.@r >= 11) { bonus bBaseAtk,100; } } }
+28509:28626,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bAspdRate,8; bonus bCritAtkRate,(5*(.@r/2)); if (.@r >= 9) { bonus bCritical,15; if (.@r >= 11) { bonus bBaseAtk,100; } } }
+28594:4875,{ bonus bStr,40; bonus bMaxHPrate,10; }
+28594:4876,{ bonus bInt,40; bonus bMaxSPrate,10; }
+28594:4877,{ bonus bDelayrate,-30; bonus bFlee,40; }
+28594:4878,{ bonus bMdef,40; bonus bVariableCastrate,-20; }
+28594:4879,{ bonus bDex,40; bonus bHit,50; }
+28594:4880,{ bonus bLuk,40; bonus bCritAtkRate,30; }
+28763:28764,{ .@r = getequiprefinerycnt(EQI_HAND_R) + getequiprefinerycnt(EQI_HAND_L); bonus bBaseAtk,10*(.@r/3); bonus2 bAddClass,Class_All,2*(.@r/5); if (.@r >= 14) { .@val = 25; if (.@r >= 16) { bonus2 bSkillCooldown,"KO_JYUMONJIKIRI",-2000; if (.@r >= 18) { .@lvl = max(getskilllv("KG_KAGEHUMI"),getskilllv("OB_ZANGETSU")); skill "KG_KAGEHUMI",.@lvl; skill "OB_ZANGETSU",.@lvl; if (.@r >= 20) { .@val += 25; } } } bonus2 bSkillAtk,"KO_JYUMONJIKIRI",.@val; } }
 28906:2998,{ bonus bLongAtkRate,10; }
 28907:2998,{ bonus bSpeedRate,25; }
 28908:2998,{ bonus bDelayrate,-10; }
 28909:2998,{ bonus bUseSPrate,-10; bonus bMaxSPrate,10; }
+32228:15388:15389,{ bonus bBaseAtk,25; bonus bHit,10; }
+32229:15388:15389,{ bonus bMatk,25; bonus bVariableCastrate,-8; }
+32230:15388:15389,{ bonus bCritAtkRate,7; bonus2 bAddClass,Class_All,5; }
+32231:15388:15389,{ bonus bMaxHPrate,5; bonus bDelayrate,-5; }
+32232:15388:15389,{ bonus bAspdRate,3; bonus bCritical,7; }
+32233:15388:15389,{ bonus bLongAtkRate,7; bonus bAspd,1; }
+32204:2027,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bInt,2*.@r; bonus2 bSkillAtk,"WL_CRIMSONROCK",.@r; if (.@r>=9) { bonus bMagicHPGainValue,500; bonus bHPGainValue,500; autobonus "{ bonus2 bMagicAtkEle,Ele_Fire,50; }",10,10000,BF_MAGIC,"{ specialeffect2 255; }"; } }
+32204:21018,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bCritAtkRate,3*.@r; if (.@r>=9) { bonus bCritical,50; bonus2 bAddClass,Class_Boss,25; } }
+32204:28010,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bAddClass,Class_All,5*.@r; if (.@r>=9) bonus4 bAutoSpellOnSkill,"GC_ROLLINGCUTTER","AB_ORATIO",10,100; }
+32222:15093,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus5 bAutoSpell,"AL_HEAL",10,-(50+.@r),BF_SHORT,0; bonus5 bAutoSpell,"WZ_STORMGUST",10,-(50+.@r),BF_SHORT,1; bonus2 bSkillAtk,"RK_STORMBLAST",5*.@r; bonus2 bSkillAtk,"LG_BANISHINGPOINT",5*.@r; }
+32222:15095,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus5 bAutoSpell,"PR_KYRIE",10,-(50+.@r),BF_SHORT,0; bonus2 bSkillAtk,"AB_JUDEX",5*.@r; bonus2 bSkillAtk,"AB_ADORAMUS",5*.@r; bonus2 bSkillAtk,"SR_DRAGONCOMBO",5*.@r; bonus2 bSkillAtk,"SR_SKYNETBLOW",5*.@r; bonus2 bSkillAtk,"SR_EARTHSHAKER",5*.@r; }
+32222:15096,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bAllStats,2*.@r; bonus3 bAddEff,Eff_Stun,.@r*50,ATF_SHORT; bonus3 bAddEff,Eff_Curse,.@r*50,ATF_SHORT; bonus3 bAddEff,Eff_Poison,.@r*50,ATF_SHORT; bonus3 bAddEff,Eff_Silence,.@r*50,ATF_SHORT; /* Unknow rates */ }
+32238:32239,{ bonus bVariableCastrate,-10; bonus bMatkRate,10;  }

Файловите разлики са ограничени, защото са твърде много
+ 262 - 196
db/re/item_db.txt


+ 7 - 1
db/re/item_delay.txt

@@ -16,7 +16,7 @@
 //        12659 cannot be used when this delay is active.
 //     Since this is optional, default is -1 will ignores the
 //     delay group and the delay will be stored in character's
-//     data that has limit set in src/map/itemdb.h as MAX_ITEMDELAYS.
+//     data that has limit set in src/map/itemdb.hpp as MAX_ITEMDELAYS.
 
 // SC_REUSE_REFRESH
 12725,120000,SC_REUSE_REFRESH	//Runstone_Nosiege
@@ -45,6 +45,7 @@
 // SC_REUSE_LIMIT_G
 608,3000,SC_REUSE_LIMIT_G	//Yggdrasil_Seed
 22559,3000,SC_REUSE_LIMIT_G	//Mock_Strawberry
+23042,3000,SC_REUSE_LIMIT_G	//S_Seed_Of_Yggdrasil
 
 // SC_REUSE_LIMIT_H
 11525,5000,SC_REUSE_LIMIT_H	//Mora_Hip_Tea
@@ -93,4 +94,9 @@
 //12206,60000	//Luk_Dish10_
 //12207,60000	//Vit_Dish10_
 22508,1200000	//Para_Team_Mark_
+
+// Bed of Honor
+22687,5000,SC_REUSE_LIMIT_F	// Pieces_Of_Sentiment
+
 23277,180000	//Mado_Box
+

+ 6 - 0
db/re/item_flag.txt

@@ -8,6 +8,12 @@
 //  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'
+// 64 - Item will be displayed with a client side defined drop
+// 128 - Item will be displayed with a white pillar drop effect
+// 256 - Item will be displayed with a blue pillar drop effect
+// 512 - Item will be displayed with a yellow pillar drop effect
+// 1024 - Item will be displayed with a purple pillar drop effect
+// 2048 - Item will be displayed with a orange pillar drop effect
 // 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

+ 7 - 0
db/re/item_misc.txt

@@ -1400,3 +1400,10 @@ IG_PrizeOfHero,15098,1		// Hero_Taget_Suits
 IG_PrizeOfHero,22035,2		// Vet_Nepen_Heel
 IG_PrizeOfHero,22036,2		// Vet_SliverFox_Boots
 IG_PrizeOfHero,22037,2		// Vet_Ungo_Boots
+// Private Airship items
+IG_PRIVATE_AIRSHIP,6909,1 // Actinidia_Cat_Fruit
+IG_PRIVATE_AIRSHIP,25464,1 // World_Moving_Rights
+// Token of Siegfried
+IG_Token_Of_Siegfried,6293,1	// F_Token_Of_Siegfried
+IG_Token_Of_Siegfried,6316,1	// E_Token_Of_Siegfried
+IG_Token_Of_Siegfried,7621,1	// Token_Of_Siegfried

+ 1 - 0
db/re/item_noequip.txt

@@ -126,6 +126,7 @@
 13416,16	// Krieger_Onehand_Sword1
 13417,16	// Krieger_Onehand_Sword2
 13418,16	// Krieger_Onehand_Sword3
+28918,16	// Shield_of_Chaos
 
 // Vellum Gear
 1293,16		// Velum_Jamadhar

Файловите разлики са ограничени, защото са твърде много
+ 265 - 117
db/re/item_trade.txt


+ 6 - 6
db/re/job_db1.txt

@@ -52,7 +52,7 @@
 // Super Novice
 23,	20000,0    ,500  ,100  ,40  ,55  ,57  ,200 ,200 ,200 ,50  ,200 ,50  ,55  ,65  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,65  ,10
 // Gunslinger
-24,	28000,90   ,650  ,469  ,50  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,45  ,55  ,50  ,90  ,100 ,200 ,200 ,6
+24,	28000,90   ,650  ,469  ,54  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,49  ,59  ,54  ,94  ,104 ,200 ,200 ,6
 // Ninja
 25,	26000,75   ,500  ,540  ,40  ,43  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,55  ,200 ,6
 // Novice High
@@ -270,11 +270,11 @@
 // Oboro
 4212,	26000,75   ,500  ,540  ,40  ,45  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,50  ,200 ,3
 // Rebellion
-4215,	28000,90   ,650  ,469  ,50  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,45  ,55  ,50  ,90  ,100 ,200 ,200 ,6
+4215,	28000,90   ,650  ,469  ,54  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,49  ,59  ,54  ,94  ,104 ,200 ,200 ,6
 // Summoner
-4218,	20000,70   ,500  ,500  ,45  ,55  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,55  ,200 ,200 ,200 ,200 ,43  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,55  ,5
+4218,	20000,70   ,500  ,500  ,40  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,60  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,7
 // Baby Summoner
-4220,	20000,100  ,700  ,200  ,45  ,55  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,55  ,200 ,200 ,200 ,200 ,43  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,55  ,5
+4220,	20000,100  ,700  ,200  ,40  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,60  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,7
 // Baby Ninja
 4222,	26000,75   ,500  ,540  ,40  ,43  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,55  ,200 ,6
 // Baby Kagerou
@@ -288,9 +288,9 @@
 // Baby Soul Linker
 4227,	24000,75   ,500  ,900  ,50  ,50  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,53  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,55  ,8
 // Baby Gunslinger
-4228,	28000,90   ,650  ,469  ,50  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,45  ,55  ,50  ,90  ,100 ,200 ,200 ,6
+4228,	28000,90   ,650  ,469  ,54  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,49  ,59  ,54  ,94  ,104 ,200 ,200 ,6
 // Baby Rebellion
-4229,	28000,90   ,650  ,469  ,50  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,45  ,55  ,50  ,90  ,100 ,200 ,200 ,6
+4229,	28000,90   ,650  ,469  ,54  ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,200 ,49  ,59  ,54  ,94  ,104 ,200 ,200 ,6
 // Baby Star Gladiator (Union)
 4238,	28000,90   ,650  ,470  ,40  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,50  ,6
 // Star Emperor

Файловите разлики са ограничени, защото са твърде много
+ 849 - 849
db/re/mob_db.txt


+ 17 - 0
db/re/mob_race2_db.txt

@@ -34,3 +34,20 @@ RC2_SCARABA,2083,2084,2085,2086,2087,2088,2089,2090,2091,2144,2145,2161,2162,216
 RC2_OGH_ATK_DEF,2475,2476
 // Old Glast Heim - SC_GLASTHEIM_HIDDEN
 RC2_OGH_HIDDEN,2337,2343//,2495
+// Nightmare Biolab - SC_LHZ_DUN_N
+RC2_BIO5_SWORDMAN_THIEF,1640,2228,3213,3219,3226,3233,1641,2232,3208,3214,3230,3237					// Swordman, Thief monsters
+RC2_BIO5_ACOLYTE_MERCHANT,1643,2231,3209,3215,3229,3236,1642,2229,3212,3218,3227,3234				// Acolyte, Merchant monsters
+RC2_BIO5_MAGE_ARCHER,1645,2230,3210,3216,3228,3235,3211,1644,2233,2234,3217,3231,3232,3238,3239		// Mage, Archer monsters
+RC2_BIO5_MVP,3220,3221,3222,3223,3224,3225,3240,3241,3242,3243,3244,3245,3246						// MvPs
+// THANATOS
+RC2_THANATOS,1704,1705,1706,1707,1708,1709,1710,1711,1712
+// Faceworm
+RC2_FACEWORM,2528,2529,2530,2532,2533,2534,2535,2540,2541
+// Clock Tower (Need to confirm: Owl duke, Owl baron, Nightmare Mimic, Nightmare Rideword)
+RC2_CLOCKTOWER,1193,1199,1269,1270,1295,2870,2871,2910,2916,2917,2918,2919,2920,2921,2922,2923,3074
+// Rock Ridge
+RC2_ROCKRIDGE,3736,3737,3738,3739,3740,3741,3742,3743,3744,3745,3746,3747,3748,3749
+// Heart Hunter
+//RC2_HEARTHUNTER,3626,3627,3628,3629
+// Werner Laboratory
+//RC2_WERNER_LAB,3621,3622,3631,3632,3633 // miss ID 3826 - YSF Seyren monster

+ 741 - 45
db/re/mob_skill_db.txt

@@ -8970,51 +8970,51 @@
 //2542,Irene Elder@NPC_MILLENNIUMSHIELD,chase,707,1,5000,1000,30000,no,self,always,0,,,,,,,
 
 //Geffen Magic Tournament
-2549,[PH] 게펜마법사1@MG_FIREBOLT,attack,19,5,3000,1000,3000,yes,target,always,0,,,,,,,
-2549,[PH] 게펜마법사1@MG_FIREWALL,attack,18,1,3000,2000,3000,yes,target,always,0,,,,,,,
-2550,[PH] 게펜마법사2@MG_FROSTDIVER,attack,15,5,3000,1000,3000,yes,target,always,0,,,,,,,
-2550,[PH] 게펜마법사2@MG_THUNDERSTORM,attack,21,3,3000,2000,3000,yes,target,always,0,,,,,,,
-2551,[PH] 게펜마법사3 1@NPC_COMBOATTACK,attack,171,2,5000,0,3000,yes,target,always,0,,,,,,,
-2551,[PH] 게펜마법사3 1@MG_STONECURSE,attack,16,5,5000,1000,5000,yes,target,always,0,,,,,,,
-2551,[PH] 게펜마법사3 1@TF_POISON,attack,52,3,3000,0,5000,yes,target,always,0,,,,,,,
-2552,[PH] 게펜마법사3 2@BS_HAMMERFALL,attack,110,5,5000,1000,10000,yes,target,always,0,,,,,,,
-2552,[PH] 게펜마법사3 2@NPC_POWERUP,attack,349,5,5000,1000,25000,yes,self,always,0,,,,,,,
-2553,[PH] 게펜마법사3 3@ASC_BREAKER,attack,379,1,3000,1000,5000,yes,target,always,0,,,,,,,
-2553,[PH] 게펜마법사3 3@AS_VENOMDUST,attack,140,10,3000,1000,5000,yes,target,always,0,,,,,,,
-2554,[PH] 게펜마법사4@AL_INCAGI,idle,29,10,10000,1000,10000,yes,self,always,0,,,,,,,
-2554,[PH] 게펜마법사4@AL_INCAGI,attack,29,10,3000,1000,10000,yes,self,always,0,,,,,,,
-2554,[PH] 게펜마법사4@AL_DECAGI,attack,30,48,3000,1000,10000,yes,target,always,0,,,,,,,
-2554,[PH] 게펜마법사4@NPC_COMBOATTACK,attack,171,3,5000,0,3000,yes,target,always,0,,,,,,,
-2555,[PH] 게펜마법사5@MG_COLDBOLT,attack,14,5,3000,1000,5000,yes,target,always,0,,,,,,,
-2555,[PH] 게펜마법사5@WZ_STORMGUST,attack,89,1,3000,3000,10000,yes,target,always,0,,,,,,,
-2555,[PH] 게펜마법사5@WZ_FROSTNOVA,attack,88,5,3000,1000,5000,yes,self,always,0,,,,,,,
-2556,[PH] 게펜마법사6@CR_AUTOGUARD,attack,249,5,3000,500,5000,yes,self,always,0,,,,,,,
-2556,[PH] 게펜마법사6@CR_GRANDCROSS,attack,254,5,3000,1000,10000,yes,self,always,0,,,,,,,
-2557,[PH] 게펜마법사7@NPC_BLEEDING,attack,660,5,5000,0,10000,yes,target,always,0,,,,,,,
-2557,[PH] 게펜마법사7@NPC_WIDESOULDRAIN,attack,680,3,3000,500,10000,no,self,always,0,,,,,,,
-2557,[PH] 게펜마법사7@NPC_COMBOATTACK,attack,171,10,3000,1000,10000,yes,target,always,0,,,,,,,
-2557,[PH] 게펜마법사7@NPC_INVISIBLE,attack,353,1,2000,1000,60000,yes,self,always,0,,,,,,,
-2558,[PH] 게펜마법사8@LK_SPIRALPIERCE,attack,397,5,3000,1000,10000,yes,target,always,0,,,,,,,
-2558,[PH] 게펜마법사8@SM_ENDURE,attack,8,10,3000,0,10000,yes,self,always,0,,,,,,,
-2558,[PH] 게펜마법사8@SM_MAGNUM,attack,7,25,3000,500,5000,yes,self,always,0,,,,,,,
-//2558,[PH] 게펜마법사8@NPC_MILLENNIUMSHIELD,attack,707,1,3000,1000,10000,yes,self,always,0,,,,,,,
-2559,[PH] 게펜마법사9@NPC_HOLYATTACK,attack,189,10,3000,500,5000,yes,target,always,0,,,,,,,
-2559,[PH] 게펜마법사9@AL_HEAL,attack,28,8,3000,0,5000,yes,self,always,0,,,,,,,
-2559,[PH] 게펜마법사9@AL_PNEUMA,attack,25,1,3000,1000,10000,yes,self,always,0,,,,,,,
-2560,[PH] 게펜마법사10@NPC_MENTALBREAKER,attack,159,4,2000,1500,10000,no,target,always,0,,,,,,,
-2560,[PH] 게펜마법사10@AC_DOUBLE,attack,46,5,3000,500,5000,yes,target,always,0,,,,,,,
-2560,[PH] 게펜마법사10@HT_ANKLESNARE,attack,117,1,2000,1000,10000,yes,around2,always,0,,,,,,,
-2560,[PH] 게펜마법사10@HT_FLASHER,attack,120,1,2000,1000,10000,yes,around2,always,0,,,,,,,
-2561,[PH] 게펜마법사11@MG_FIREBOLT,attack,19,5,1000,500,15000,yes,target,always,0,,,,,,,
-2561,[PH] 게펜마법사11@MG_COLDBOLT,attack,14,5,1000,500,15000,yes,target,always,0,,,,,,,
-2561,[PH] 게펜마법사11@MG_LIGHTNINGBOLT,attack,20,5,1000,500,10000,yes,target,always,0,,,,,,,
-2561,[PH] 게펜마법사11@WZ_EARTHSPIKE,attack,90,5,1000,500,15000,yes,target,always,0,,,,,,,
-2561,[PH] 게펜마법사11@PF_SPIDERWEB,attack,405,1,1000,1000,15000,yes,target,always,0,,,,,,,
-2561,[PH] 게펜마법사11@RG_STRIPSHIELD,attack,216,5,3000,1000,30000,yes,target,always,0,,,,,,,
-2562,[PH] 게펜마법사12@NPC_SLOWCAST,attack,672,5,1000,1000,15000,yes,self,always,0,,,,,,,
-2562,[PH] 게펜마법사12@MG_SOULSTRIKE,attack,13,10,1000,500,10000,yes,target,always,0,,,,,,,
-2562,[PH] 게펜마법사12@WZ_FIREPILLAR,attack,80,5,3000,500,5000,yes,around2,always,0,,,,,,,
-2562,[PH] 게펜마법사12@WZ_VERMILION,attack,85,5,1000,2000,15000,yes,target,always,0,,,,,,,
+2549,Arhi@MG_FIREBOLT,attack,19,5,3000,1000,3000,yes,target,always,0,,,,,,,
+2549,Arhi@MG_FIREWALL,attack,18,1,3000,2000,3000,yes,target,always,0,,,,,,,
+2550,Dio Anemos@MG_FROSTDIVER,attack,15,5,3000,1000,3000,yes,target,always,0,,,,,,,
+2550,Dio Anemos@MG_THUNDERSTORM,attack,21,3,3000,2000,3000,yes,target,always,0,,,,,,,
+2551,Geffen Shoplifter@NPC_COMBOATTACK,attack,171,2,5000,0,3000,yes,target,always,0,,,,,,,
+2551,Geffen Shoplifter@MG_STONECURSE,attack,16,5,5000,1000,5000,yes,target,always,0,,,,,,,
+2551,Geffen Shoplifter@TF_POISON,attack,52,3,3000,0,5000,yes,target,always,0,,,,,,,
+2552,Geffen Bully@BS_HAMMERFALL,attack,110,5,5000,1000,10000,yes,target,always,0,,,,,,,
+2552,Geffen Bully@NPC_POWERUP,attack,349,5,5000,1000,25000,yes,self,always,0,,,,,,,
+2553,Geffen Gang Member@ASC_BREAKER,attack,379,1,3000,1000,5000,yes,target,always,0,,,,,,,
+2553,Geffen Gang Member@AS_VENOMDUST,attack,140,10,3000,1000,5000,yes,target,always,0,,,,,,,
+2554,Faymont@AL_INCAGI,idle,29,10,10000,1000,10000,yes,self,always,0,,,,,,,
+2554,Faymont@AL_INCAGI,attack,29,10,3000,1000,10000,yes,self,always,0,,,,,,,
+2554,Faymont@AL_DECAGI,attack,30,48,3000,1000,10000,yes,target,always,0,,,,,,,
+2554,Faymont@NPC_COMBOATTACK,attack,171,3,5000,0,3000,yes,target,always,0,,,,,,,
+2555,Ordre@MG_COLDBOLT,attack,14,5,3000,1000,5000,yes,target,always,0,,,,,,,
+2555,Ordre@WZ_STORMGUST,attack,89,1,3000,3000,10000,yes,target,always,0,,,,,,,
+2555,Ordre@WZ_FROSTNOVA,attack,88,5,3000,1000,5000,yes,self,always,0,,,,,,,
+2556,Blut Hase@CR_AUTOGUARD,attack,249,5,3000,500,5000,yes,self,always,0,,,,,,,
+2556,Blut Hase@CR_GRANDCROSS,attack,254,5,3000,1000,10000,yes,self,always,0,,,,,,,
+2557,Kuro Akuma@NPC_BLEEDING,attack,660,5,5000,0,10000,yes,target,always,0,,,,,,,
+2557,Kuro Akuma@NPC_WIDESOULDRAIN,attack,680,3,3000,500,10000,no,self,always,0,,,,,,,
+2557,Kuro Akuma@NPC_COMBOATTACK,attack,171,10,3000,1000,10000,yes,target,always,0,,,,,,,
+2557,Kuro Akuma@NPC_INVISIBLE,attack,353,1,2000,1000,60000,yes,self,always,0,,,,,,,
+2558,Ifodes@LK_SPIRALPIERCE,attack,397,5,3000,1000,10000,yes,target,always,0,,,,,,,
+2558,Ifodes@SM_ENDURE,attack,8,10,3000,0,10000,yes,self,always,0,,,,,,,
+2558,Ifodes@SM_MAGNUM,attack,7,25,3000,500,5000,yes,self,always,0,,,,,,,
+//2558,Ifodes@NPC_MILLENNIUMSHIELD,attack,707,1,3000,1000,10000,yes,self,always,0,,,,,,,
+2559,Licheniyes@NPC_HOLYATTACK,attack,189,10,3000,500,5000,yes,target,always,0,,,,,,,
+2559,Licheniyes@AL_HEAL,attack,28,8,3000,0,5000,yes,self,always,0,,,,,,,
+2559,Licheniyes@AL_PNEUMA,attack,25,1,3000,1000,10000,yes,self,always,0,,,,,,,
+2560,Odoric@NPC_MENTALBREAKER,attack,159,4,2000,1500,10000,no,target,always,0,,,,,,,
+2560,Odoric@AC_DOUBLE,attack,46,5,3000,500,5000,yes,target,always,0,,,,,,,
+2560,Odoric@HT_ANKLESNARE,attack,117,1,2000,1000,10000,yes,around2,always,0,,,,,,,
+2560,Odoric@HT_FLASHER,attack,120,1,2000,1000,10000,yes,around2,always,0,,,,,,,
+2561,Ju@MG_FIREBOLT,attack,19,5,1000,500,15000,yes,target,always,0,,,,,,,
+2561,Ju@MG_COLDBOLT,attack,14,5,1000,500,15000,yes,target,always,0,,,,,,,
+2561,Ju@MG_LIGHTNINGBOLT,attack,20,5,1000,500,10000,yes,target,always,0,,,,,,,
+2561,Ju@WZ_EARTHSPIKE,attack,90,5,1000,500,15000,yes,target,always,0,,,,,,,
+2561,Ju@PF_SPIDERWEB,attack,405,1,1000,1000,15000,yes,target,always,0,,,,,,,
+2561,Ju@RG_STRIPSHIELD,attack,216,5,3000,1000,30000,yes,target,always,0,,,,,,,
+2562,Dwigh@NPC_SLOWCAST,attack,672,5,1000,1000,15000,yes,self,always,0,,,,,,,
+2562,Dwigh@MG_SOULSTRIKE,attack,13,10,1000,500,10000,yes,target,always,0,,,,,,,
+2562,Dwigh@WZ_FIREPILLAR,attack,80,5,3000,500,5000,yes,around2,always,0,,,,,,,
+2562,Dwigh@WZ_VERMILION,attack,85,5,1000,2000,15000,yes,target,always,0,,,,,,,
 2563,Fei Kanabian@AM_DEMONSTRATION,attack,229,5,2000,500,15000,yes,target,always,0,,,,,,,
 2563,Fei Kanabian@AM_ACIDTERROR,attack,230,5,2000,1000,15000,yes,target,always,0,,,,,,,
 2563,Fei Kanabian@AM_POTIONPITCHER,attack,231,4,3000,1000,10000,yes,self,always,0,,,,,,,
@@ -10954,6 +10954,31 @@
 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,,,,,,
 
+// Devil Tower Memorial
+2939,Evil Shadow@NPC_PIERCINGATT,chase,158,1,4000,0,5000,yes,target,always,0,,,,,,,
+2939,Evil Shadow@NPC_CURSEATTACK,attack,181,5,3500,0,20000,yes,target,always,0,,,,,,,
+2940,Evil Shadow@NPC_DARKSTRIKE,attack,340,1,3000,0,5000,yes,target,always,0,,,,,,,
+2941,Evil Shadow@NPC_CRITICALSLASH,chase,170,1,3000,0,5000,yes,target,always,0,,,,,,,
+2941,Evil Shadow@NPC_PETRIFYATTACK,attack,180,5,3500,0,5000,yes,target,always,0,,,,,,,
+2942,Evil Fanatics@NPC_INVINCIBLE,idle,685,1,10000,0,20000,yes,self,myhpltmaxrate,100,,,,,,,42
+2942,Evil Fanatics@NPC_INVINCIBLE,attack,685,1,10000,0,20000,yes,self,myhpltmaxrate,100,,,,,,,42
+2942,Evil Fanatics@NPC_INVINCIBLE,attack,685,1,10000,0,20000,yes,self,myhpltmaxrate,90,,,,,,,42
+2942,Evil Fanatics@NPC_INVINCIBLE,attack,685,1,10000,0,20000,yes,self,myhpltmaxrate,80,,,,,,,42
+2942,Evil Fanatics@NPC_INVINCIBLE,attack,685,1,10000,0,20000,yes,self,myhpltmaxrate,70,,,,,,,42
+2942,Evil Fanatics@NPC_INVINCIBLE,attack,685,1,10000,0,20000,yes,self,myhpltmaxrate,60,,,,,,,42
+2942,Evil Fanatics@NPC_INVINCIBLE,attack,685,1,10000,0,20000,yes,self,myhpltmaxrate,50,,,,,,,42
+2942,Evil Fanatics@NPC_INVINCIBLE,attack,685,1,10000,0,20000,yes,self,myhpltmaxrate,40,,,,,,,42
+2942,Evil Fanatics@NPC_INVINCIBLE,attack,685,1,10000,0,20000,yes,self,myhpltmaxrate,30,,,,,,,42
+2942,Evil Fanatics@NPC_INVINCIBLE,attack,685,1,10000,0,20000,yes,self,myhpltmaxrate,20,,,,,,,42
+2942,Evil Fanatics@NPC_INVINCIBLE,attack,685,1,10000,0,20000,yes,self,myhpltmaxrate,10,,,,,,,42
+// 2942,Evil Fanatics@NPC_DANCINGBLADE,attack,713,1,1000,0,15000,yes,self,always,0,,,,,,,
+// 2942,Evil Fanatics@NPC_PULSESTRIKE2,attack,712,1,800,0,15000,yes,self,always,0,,,,,,,
+// 2942,Evil Fanatics@NPC_DARKPIERCING,attack,715,1,2500,0,60000,yes,self,always,0,,,,,,,
+2943,Icemine@NPC_INVISIBLE,idle,353,1,10000,0,300000,no,self,always,0,,,,,,,
+2943,Icemine@NPC_ICEMINE,idle,709,1,10000,0,300000,no,self,always,,,,,,,,
+2960,Flamecross@NPC_INVISIBLE,idle,353,1,10000,0,300000,no,self,always,0,,,,,,,
+2960,Flamecross@NPC_FLAMECROSS,idle,711,1,10000,0,300000,no,self,always,,,,,,,,
+
 // 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,,,,,,,
@@ -11163,6 +11188,27 @@
 // 3038,Hidden Mob 7@NPC_HELLBURNING,idle,719,1,10000,0,3000,yes,self,always,0,,,,,,,
 // 3038,Hidden Mob 7@NPC_HELLBURNING,attack,719,1,10000,0,3000,yes,self,always,0,,,,,,,
 
+// Jitterbug instance
+3069,Ferre@NPC_GROUNDATTACK,attack,185,5,1000,0,5000,no,target,always,0,,,,,,,
+3069,Ferre@NPC_EMOTION,idle,197,1,2000,0,5000,no,self,always,0,44,0x3885,,,,,
+3070,Ferre@NPC_MAGICALATTACK,attack,192,1,500,0,10000,no,target,always,0,,,,,,,
+3070,Ferre@NPC_REVERBERATION,idle,725,3,2000,1000,4000,yes,around1,always,0,,,,,,9,
+3070,Ferre@NPC_REVERBERATION,attack,725,3,2000,1000,4000,yes,around1,always,0,,,,,,,
+3070,Ferre@NPC_EMOTION,idle,197,1,2000,0,5000,no,self,always,0,44,0x3885,,,,,
+3071,Ferre@SM_BASH,attack,5,5,1000,0,5000,no,target,always,0,,,,,,,
+3071,Ferre@BS_HAMMERFALL,chase,110,5,1000,0,5000,no,target,always,0,,,,,,,
+3071,Ferre@BS_HAMMERFALL,attack,110,5,2000,0,5000,no,target,always,0,,,,,,,
+3071,Ferre@SM_ENDURE,attack,8,1,2000,0,10000,no,self,always,0,,,,,,,
+3071,Ferre@SM_ENDURE,chase,8,1,2000,0,10000,no,self,always,0,,,,,,,
+3071,Ferre@NPC_EMOTION,idle,197,1,2000,0,5000,no,self,always,0,44,0x3885,,,,,
+3072,Ferre@NPC_WATERATTACK,attack,184,5,1000,0,5000,no,target,always,0,,,,,,6,
+3072,Ferre@NPC_ENERGYDRAIN,attack,200,1,1000,100,10000,no,target,always,0,,,,,,,
+3072,Ferre@NPC_EMOTION,idle,197,1,2000,0,5000,no,self,always,0,44,0x3885,,,,,
+3073,Grand Pere@NPC_LEX_AETERNA,attack,727,5,5000,2000,10000,yes,self,always,0,,,,,,,
+3073,Grand Pere@NPC_DARKNESSBREATH,attack,658,10,2000,2000,5000,yes,target,always,0,,,,,,,
+3073,Grand Pere@NPC_WIDESILENCE,attack,663,5,2000,1000,10000,yes,self,always,0,,,,,,,
+3073,Grand Pere@NPC_WIDECONFUSE,attack,667,5,3000,2000,10000,yes,self,always,0,,,,,,,
+
 3074,Time Holder@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
 3074,Time Holder@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
 3074,Time Holder@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,,,,,,,,
@@ -11175,11 +11221,657 @@
 3074,Time Holder@NPC_SUMMONSLAVE,attack,196,5,1000,700,10000,no,self,slavele,0,2917,,,,,,
 3074,Time Holder@NPC_SUMMONSLAVE,idle,196,5,1000,700,10000,no,self,slavele,0,2917,,,,,,
 
+// Jitterbug instance
+3108,Jitterbug@NPC_WIDESILENCE,attack,663,5,3000,1000,10000,yes,self,always,0,,,,,,,
+3108,Jitterbug@NPC_LEX_AETERNA,attack,727,3,2000,2000,10000,yes,self,always,0,,,,,,,
+3108,Jitterbug@NPC_DARKNESSBREATH,attack,658,5,1000,2000,5000,yes,target,always,0,,,,,,,
+3109,Jitterbug@NPC_WIDECONFUSE,attack,667,5,3000,2000,10000,yes,self,always,0,,,,,,,
+3109,Jitterbug@NPC_REVERBERATION,attack,725,3,2000,1000,4000,yes,around1,always,0,,,,,,,
+3109,Jitterbug@NPC_LEX_AETERNA,attack,727,3,2000,2000,10000,yes,self,always,0,,,,,,,
+
 3200,Wicked Chimera@WZ_HEAVENDRIVE,attack,91,5,500,1200,5000,yes,target,always,0,,,,,,6,
 3200,Wicked Chimera@WZ_HEAVENDRIVE,chase,91,5,500,1200,5000,yes,target,always,0,,,,,,6,
 3200,Wicked Chimera@CR_AUTOGUARD,attack,249,5,500,0,300000,yes,self,always,0,,,,,,,
 3200,Wicked Chimera@CR_AUTOGUARD,chase,249,5,2000,0,300000,yes,self,longrangeattacked,,,,,,,,
 
+// Nightmare Biolab
+3208,V_EREMES@AS_VENOMDUST,idle,140,1,200,0,50000,yes,target,always,,,,,,,29,
+3208,V_EREMES@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3208,V_EREMES@AS_GRIMTOOTH,chase,137,5,200,0,0,yes,target,always,,,,,,,,
+3208,V_EREMES@AS_CLOAKING,chase,135,1,200,200,10000,yes,self,always,,,,,,,,
+3208,V_EREMES@AS_GRIMTOOTH,chase,137,5,1000,0,0,yes,target,skillused,18,,,,,,6,
+3208,V_EREMES@ASC_BREAKER,chase,379,10,200,0,10000,yes,target,always,,,,,,,,
+3208,V_EREMES@ASC_METEORASSAULT,attack,406,10,200,1000,10000,no,self,always,,,,,,,,
+3208,V_EREMES@AS_SONICBLOW,attack,136,8,100,0,10000,yes,target,always,,,,,,,6,
+3208,V_EREMES@AS_VENOMDUST,attack,140,1,200,0,50000,yes,target,always,,,,,,,29,
+3208,V_EREMES@NPC_MAXPAIN,attack,716,5,300,1000,60000,no,self,always,,,,,,,,
+3208,V_EREMES@NPC_POISONATTACK,attack,188,5,100,0,10000,yes,target,always,,,,,,,,
+// 3208,V_EREMES@NPC_VENOMIMPRESS,attack,738,1,200,0,30000,yes,target,always,,,,,,,,
+3208,V_EREMES@NPC_SUMMONSLAVE,attack,196,1,50,0,600000,yes,self,slavele,0,1645,,,,,,
+3208,V_EREMES@NPC_STOP,attack,342,1,100,0,10000,yes,target,always,,,,,,,,
+3209,V_MAGALETA@HP_ASSUMPTIO,idle,361,5,1000,1000,10000,no,self,myhpltmaxrate,99,,,,,,,
+3209,V_MAGALETA@HP_ASSUMPTIO,idle,361,5,1000,1000,10000,no,friend,friendhpltmaxrate,99,,,,,,,
+3209,V_MAGALETA@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3209,V_MAGALETA@AL_PNEUMA,idle,25,1,1000,0,0,yes,self,longrangeattacked,,,,,,,,
+3209,V_MAGALETA@PR_LEXDIVINA,idle,76,10,1000,0,10000,yes,target,casttargeted,,,,,,,18,
+// 3209,V_MAGALETA@NPC_CHEAL,idle,729,5,300,0,2000,yes,friend,friendhpltmaxrate,99,,,,,,3,
+3209,V_MAGALETA@AL_HEAL,idle,28,9,300,0,2000,yes,self,myhpltmaxrate,99,,,,,,3,
+3209,V_MAGALETA@HP_ASSUMPTIO,chase,361,5,1000,1000,10000,no,self,myhpltmaxrate,99,,,,,,,
+3209,V_MAGALETA@HP_ASSUMPTIO,chase,361,5,1000,1000,10000,no,friend,friendhpltmaxrate,99,,,,,,,
+3209,V_MAGALETA@AL_DECAGI,chase,30,10,200,0,10000,yes,target,always,,,,,,,,
+3209,V_MAGALETA@NPC_MAXPAIN,chase,716,5,1000,1000,60000,no,self,longrangeattacked,,,,,,,19,
+3209,V_MAGALETA@PR_LEXDIVINA,chase,76,10,500,0,10000,yes,target,casttargeted,,,,,,,18,
+3209,V_MAGALETA@PR_LEXAETERNA,chase,78,1,100,0,10000,yes,target,always,,,,,,,29,
+3209,V_MAGALETA@AL_HEAL,chase,28,9,300,0,2000,yes,friend,friendhpltmaxrate,99,,,,,,3,
+3209,V_MAGALETA@AL_HEAL,chase,28,9,300,0,2000,yes,self,myhpltmaxrate,99,,,,,,3,
+3209,V_MAGALETA@AL_PNEUMA,attack,25,1,500,0,10000,yes,self,longrangeattacked,,,,,,,19,
+3209,V_MAGALETA@AL_INCAGI,attack,29,10,200,0,240000,yes,self,always,,,,,,,2,
+3209,V_MAGALETA@MG_SAFETYWALL,attack,12,10,100,0,10000,yes,self,always,,,,,,,,
+3209,V_MAGALETA@PR_LEXAETERNA,attack,78,1,100,0,10000,yes,target,always,,,,,,,29,
+3209,V_MAGALETA@NPC_HOLYATTACK,attack,189,10,100,0,10000,yes,target,always,,,,,,,,
+// 3209,V_MAGALETA@NPC_CHEAL,attack,729,5,200,0,3000,yes,friend,friendhpltmaxrate,99,,,,,,3,
+// 3209,V_MAGALETA@NPC_CHEAL,attack,729,5,200,0,3000,yes,self,myhpltmaxrate,99,,,,,,3,
+3209,V_MAGALETA@NPC_SUMMONSLAVE,attack,196,1,50,0,600000,yes,self,slavele,0,1640,,,,,,
+// 3209,V_MAGALETA@NPC_LEX_AETERNA,attack,727,2,300,500,5000,no,target,always,,,,,,,,
+3209,V_MAGALETA@NPC_WIDESILENCE,attack,663,2,300,500,5000,no,self,always,,,,,,,,
+3210,V_KATRINN@MG_SIGHT,idle,10,1,200,0,10000,yes,self,always,,,,,,,,
+3210,V_KATRINN@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3210,V_KATRINN@WZ_JUPITEL,chase,84,10,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@WZ_WATERBALL,chase,86,5,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@NPC_DARKSTRIKE,chase,340,10,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@MG_FIREWALL,chase,18,10,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@MG_FROSTDIVER,chase,15,10,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@HW_NAPALMVULCAN,chase,400,5,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@WZ_FROSTNOVA,chase,88,10,300,0,10000,yes,target,longrangeattacked,,,,,,,,
+3210,V_KATRINN@WL_EARTHSTRAIN,chase,2216,5,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@WZ_QUAGMIRE,chase,92,5,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@HW_GANBANTEIN,attack,483,1,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@NPC_DARKTHUNDER,attack,341,10,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@WZ_WATERBALL,attack,86,5,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@NPC_WIDEFREEZE,attack,664,3,300,500,10000,no,self,always,,,,,,,,
+3210,V_KATRINN@NPC_DARKSTRIKE,attack,340,10,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@WL_TETRAVORTEX,attack,2217,2,300,500,10000,no,target,always,,,,,,,,
+3210,V_KATRINN@WZ_JUPITEL,attack,84,10,300,0,10000,yes,target,always,,,,,,,,
+3210,V_KATRINN@WL_EARTHSTRAIN,attack,2216,3,300,500,10000,no,target,always,,,,,,,,
+3210,V_KATRINN@WZ_SIGHTRASHER,attack,81,10,300,0,10000,yes,self,always,,,,,,,,
+3210,V_KATRINN@NPC_SUMMONSLAVE,attack,196,1,50,0,600000,yes,self,slavele,0,1641,,,,,,
+3210,V_KATRINN@MG_SAFETYWALL,attack,12,10,300,0,10000,no,self,always,,,,,,,,
+3211,V_SHECIL@NPC_AGIUP,idle,350,1,1000,0,35000,yes,self,always,,,,,,,,
+3211,V_SHECIL@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3211,V_SHECIL@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3211,V_SHECIL@AC_DOUBLE,attack,46,10,200,0,3000,yes,target,always,,,,,,,6,
+3211,V_SHECIL@AC_CHARGEARROW,attack,148,1,100,0,3000,yes,target,always,,,,,,,6,
+3211,V_SHECIL@NPC_CRITICALWOUND,attack,673,1,100,0,10000,no,target,always,,,,,,,5,
+3211,V_SHECIL@NPC_AGIUP,attack,350,1,200,0,25000,yes,self,always,,,,,,,,
+3211,V_SHECIL@SN_SHARPSHOOTING,attack,382,5,300,500,1500,no,target,always,,,,,,,,
+3211,V_SHECIL@NPC_BLEEDING,attack,660,5,50,0,10000,yes,target,always,,,,,,,,
+3211,V_SHECIL@NPC_WIDECURSE,attack,677,3,100,0,10000,yes,self,always,,,,,,,,
+3211,V_SHECIL@NPC_SUMMONSLAVE,attack,196,1,50,0,600000,yes,self,slavele,0,1642,,,,,,
+// 3211,V_SHECIL@NPC_ARROWSTORM,attack,728,3,300,500,7000,no,target,always,,,,,,,,
+3212,V_HARWORD@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3212,V_HARWORD@NPC_EARTHQUAKE,chase,653,5,500,500,10000,no,self,always,,,,,,,,
+3212,V_HARWORD@BS_ADRENALINE,attack,111,10,200,0,150000,yes,self,always,,,,,,,,
+3212,V_HARWORD@BS_MAXIMIZE,attack,114,1,100,0,60000,yes,self,always,,,,,,,,
+3212,V_HARWORD@MC_MAMMONITE,attack,42,9,200,0,10000,yes,target,always,,,,,,,23,
+3212,V_HARWORD@NPC_HELMBRAKE,attack,345,5,200,0,10000,yes,target,always,,,,,,,,
+3212,V_HARWORD@NPC_POWERUP,attack,349,1,200,0,100000,yes,self,always,,,,,,,,
+3212,V_HARWORD@NPC_SPLASHATTACK,attack,174,1,500,0,0,yes,target,attackpcge,2,,,,,,,
+3212,V_HARWORD@NPC_ARMORBRAKE,attack,344,10,100,0,10000,yes,target,always,,,,,,,19,
+3212,V_HARWORD@NPC_SUMMONSLAVE,attack,196,1,50,0,600000,yes,self,slavele,0,1644,,,,,,
+3212,V_HARWORD@NPC_WIDESTUN,attack,678,2,100,1000,10000,no,self,always,,,,,,,,
+// 3212,V_HARWORD@NPC_MAGMA_ERUPTION,attack,733,3,500,1000,10000,no,target,always,,,,,,,,
+3213,V_SEYREN@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3213,V_SEYREN@SM_PROVOKE,chase,6,10,100,0,10000,yes,target,always,,,,,,,29,
+3213,V_SEYREN@KN_SPEARBOOMERANG,chase,59,5,500,0,0,yes,target,longrangeattacked,,,,,,,6,
+3213,V_SEYREN@SM_ENDURE,chase,8,10,200,0,30000,yes,self,always,,,,,,,,
+3213,V_SEYREN@SM_BASH,attack,5,10,100,0,10000,yes,target,always,,,,,,,,
+3213,V_SEYREN@SM_MAGNUM,attack,7,9,100,0,0,yes,self,attackpcge,2,,,,,,,
+3213,V_SEYREN@NPC_POWERUP,attack,349,1,200,0,30000,yes,self,always,,,,,,,,
+3213,V_SEYREN@LK_SPIRALPIERCE,attack,397,5,200,0,10000,yes,target,always,,,,,,,,
+3213,V_SEYREN@NPC_SUMMONSLAVE,attack,196,1,50,0,600000,yes,self,slavele,0,1643,,,,,,
+3213,V_SEYREN@NPC_CRITICALWOUND,attack,673,2,200,0,10000,no,target,always,,,,,,,5,
+// 3213,V_SEYREN@NPC_DRAGONBREATH,attack,731,8,400,500,5000,no,target,always,,,,,,,,
+// 3213,V_SEYREN@NPC_DRAGONBREATH,attack,731,3,400,500,5000,no,target,always,,,,,,,,
+3213,V_SEYREN@NPC_MAXPAIN,attack,716,5,100,1000,60000,no,self,always,,,,,,,,
+3213,V_SEYREN@NPC_EARTHQUAKE,attack,653,5,500,1000,6000,no,self,always,,,,,,,,
+3213,V_SEYREN@NPC_WIDEBLEEDING,attack,665,2,100,1000,10000,no,self,always,,,,,,,,
+3214,V_G_EREMES@AS_VENOMDUST,idle,140,1,200,0,10000,yes,target,always,,,,,,,29,
+3214,V_G_EREMES@AS_GRIMTOOTH,chase,137,5,200,0,0,yes,target,always,,,,,,,,
+3214,V_G_EREMES@AS_GRIMTOOTH,chase,137,5,1000,0,0,yes,target,skillused,18,,,,,,6,
+3214,V_G_EREMES@ASC_BREAKER,chase,379,10,200,0,10000,yes,target,always,,,,,,,,
+3214,V_G_EREMES@NPC_INVISIBLE,chase,353,1,200,0,30000,yes,self,always,,,,,,,,
+3214,V_G_EREMES@NPC_INVISIBLE,attack,353,1,200,0,30000,yes,self,always,,,,,,,,
+3214,V_G_EREMES@NPC_AGIUP,attack,350,5,200,0,25000,yes,self,always,,,,,,,,
+3214,V_G_EREMES@AS_SONICBLOW,attack,136,10,200,0,10000,yes,target,always,,,,,,,6,
+3214,V_G_EREMES@ASC_METEORASSAULT,attack,406,10,200,0,10000,yes,self,always,,,,,,,,
+3214,V_G_EREMES@NPC_POISONATTACK,attack,188,10,100,500,10000,no,target,always,,,,,,,,
+3214,V_G_EREMES@AS_VENOMDUST,attack,140,1,200,0,10000,yes,target,always,,,,,,,29,
+3214,V_G_EREMES@NPC_MAXPAIN,attack,716,7,300,1000,30000,no,self,always,,,,,,,,
+3214,V_G_EREMES@NPC_DRAGONFEAR,attack,659,1,100,0,10000,yes,self,always,,,,,,,,
+3214,V_G_EREMES@NPC_VENOMFOG,attack,706,2,100,2000,30000,no,self,always,,,,,,,,
+// 3214,V_G_EREMES@NPC_VENOMIMPRESS,attack,738,4,100,0,30000,yes,target,always,,,,,,,,
+3215,V_G_MAGALETA@HP_ASSUMPTIO,idle,361,5,1000,1000,10000,no,self,myhpltmaxrate,99,,,,,,,
+3215,V_G_MAGALETA@HP_ASSUMPTIO,idle,361,5,1000,1000,10000,no,friend,friendhpltmaxrate,99,,,,,,,
+3215,V_G_MAGALETA@AL_PNEUMA,idle,25,1,1000,0,0,yes,self,longrangeattacked,,,,,,,,
+3215,V_G_MAGALETA@PR_LEXDIVINA,idle,76,10,1000,0,10000,yes,target,casttargeted,,,,,,,18,
+// 3215,V_G_MAGALETA@NPC_CHEAL,idle,729,5,300,0,1500,yes,friend,friendhpltmaxrate,99,,,,,,3,
+// 3215,V_G_MAGALETA@NPC_CHEAL,idle,729,5,300,0,1500,yes,self,myhpltmaxrate,99,,,,,,3,
+// 3215,V_G_MAGALETA@NPC_LEX_AETERNA,chase,727,3,100,3000,10000,no,target,always,,,,,,,29,
+3215,V_G_MAGALETA@HP_ASSUMPTIO,chase,361,5,1000,1000,10000,no,self,myhpltmaxrate,99,,,,,,,
+3215,V_G_MAGALETA@HP_ASSUMPTIO,chase,361,5,1000,1000,10000,no,friend,friendhpltmaxrate,99,,,,,,,
+3215,V_G_MAGALETA@AL_INCAGI,chase,29,10,200,0,240000,yes,self,always,,,,,,,2,
+3215,V_G_MAGALETA@AL_DECAGI,chase,30,10,200,0,10000,yes,target,always,,,,,,,,
+3215,V_G_MAGALETA@NPC_WIDESILENCE,chase,663,2,500,0,10000,yes,target,casttargeted,,,,,,,18,
+3215,V_G_MAGALETA@AL_PNEUMA,chase,25,1,500,0,10000,yes,self,longrangeattacked,,,,,,,19,
+3215,V_G_MAGALETA@AL_HEAL,chase,28,10,300,0,1500,yes,friend,friendhpltmaxrate,99,,,,,,3,
+3215,V_G_MAGALETA@AL_HEAL,chase,28,10,300,0,1500,yes,self,myhpltmaxrate,99,,,,,,3,
+3215,V_G_MAGALETA@AL_INCAGI,attack,29,10,200,0,240000,yes,self,always,,,,,,,2,
+3215,V_G_MAGALETA@MG_SAFETYWALL,attack,12,10,100,0,10000,yes,self,always,,,,,,,,
+3215,V_G_MAGALETA@AL_PNEUMA,attack,25,1,500,0,10000,yes,self,longrangeattacked,,,,,,,19,
+3215,V_G_MAGALETA@NPC_WIDESILENCE,attack,663,5,500,1000,6000,no,target,casttargeted,,,,,,,18,
+// 3215,V_G_MAGALETA@NPC_LEX_AETERNA,attack,727,5,300,1000,6000,no,target,always,,,,,,,29,
+// 3215,V_G_MAGALETA@NPC_CHEAL,attack,729,5,100,0,1500,yes,friend,friendhpltmaxrate,99,,,,,,3,
+// 3215,V_G_MAGALETA@NPC_CHEAL,attack,729,5,100,0,1500,yes,self,myhpltmaxrate,99,,,,,,3,
+3215,V_G_MAGALETA@NPC_MAXPAIN,attack,716,7,300,1000,30000,no,self,always,,,,,,,,
+3215,V_G_MAGALETA@NPC_ALLHEAL,attack,687,1,100,3000,60000000,no,self,myhpltmaxrate,10,,,,,,,
+3215,V_G_MAGALETA@NPC_SLOWCAST,attack,672,5,100,0,240000,yes,self,always,,,,,,,,
+// 3216,V_G_KATRINN@NPC_STORMGUST2,idle,723,3,100,3000,10000,no,target,always,,,,,,,,
+3216,V_G_KATRINN@MG_SIGHT,idle,10,1,50,0,10000,yes,self,always,,,,,,,,
+3216,V_G_KATRINN@MG_SIGHT,idle,10,1,1000,0,10000,yes,self,skillused,137,,,,,,,
+3216,V_G_KATRINN@NPC_WIDEFREEZE,chase,664,5,300,3000,10000,no,self,always,,,,,,,,
+3216,V_G_KATRINN@HW_NAPALMVULCAN,chase,400,5,200,1000,2000,no,target,always,,,,,,,,
+// 3216,V_G_KATRINN@NPC_STORMGUST2,chase,723,3,300,1000,10000,no,target,always,,,,,,,,
+3216,V_G_KATRINN@WZ_VERMILION,chase,85,10,300,1000,10000,no,target,always,,,,,,,,
+3216,V_G_KATRINN@WZ_METEOR,chase,83,10,300,1000,10000,no,target,always,,,,,,,,
+3216,V_G_KATRINN@NPC_COMET,attack,708,5,300,1000,7000,no,self,always,,,,,,,,
+// 3216,V_G_KATRINN@NPC_STORMGUST2,attack,723,3,200,1000,10000,no,target,always,,,,,,,,
+3216,V_G_KATRINN@NPC_WIDESTONE,attack,666,1,200,1000,10000,no,self,always,,,,,,,,
+3216,V_G_KATRINN@HW_GANBANTEIN,attack,483,1,300,500,10000,no,target,always,,,,,,,,
+3216,V_G_KATRINN@WL_EARTHSTRAIN,attack,2216,5,300,1000,7000,no,target,always,,,,,,,,
+3216,V_G_KATRINN@WZ_JUPITEL,attack,84,10,200,1000,10000,no,target,always,,,,,,,,
+3216,V_G_KATRINN@WL_TETRAVORTEX,attack,2217,5,300,1000,7000,no,target,always,,,,,,,,
+3216,V_G_KATRINN@NPC_WIDEFREEZE,attack,664,5,200,1000,10000,no,self,always,,,,,,,,
+3217,V_G_SHECIL@NPC_AGIUP,idle,350,1,1000,0,600000,yes,self,always,,,,,,,,
+3217,V_G_SHECIL@NPC_EXPULSION,attack,674,1,10,3000,10000,no,target,always,,,,,,,,
+3217,V_G_SHECIL@AC_CHARGEARROW,attack,148,1,200,0,3000,yes,target,always,,,,,,,6,
+3217,V_G_SHECIL@NPC_POWERUP,attack,349,5,200,0,100000,yes,self,always,,,,,,,,
+3217,V_G_SHECIL@AC_DOUBLE,attack,46,10,200,0,3000,yes,target,always,,,,,,,6,
+3217,V_G_SHECIL@NPC_AGIUP,attack,350,5,200,0,30000,yes,self,always,,,,,,,,
+3217,V_G_SHECIL@NPC_WIDECURSE,attack,677,5,100,1000,10000,yes,self,always,,,,,,,,
+3217,V_G_SHECIL@NPC_CRITICALWOUND,attack,673,1,100,0,10000,no,target,always,,,,,,,5,
+3217,V_G_SHECIL@SN_SHARPSHOOTING,attack,382,5,300,500,1500,no,target,always,,,,,,,,
+3217,V_G_SHECIL@NPC_WIDECONFUSE,attack,667,5,1000,1000,20000,no,target,myhpltmaxrate,30,,,,,,,
+// 3217,V_G_SHECIL@NPC_ARROWSTORM,attack,728,5,300,500,7000,no,target,always,,,,,,,,
+3218,V_G_HARWORD@NPC_SELFDESTRUCTION,attack,173,1,200,2000,0,no,self,myhpltmaxrate,10,,,,,,,
+3218,V_G_HARWORD@BS_ADRENALINE,attack,111,10,200,0,150000,yes,self,always,,,,,,,,
+3218,V_G_HARWORD@BS_MAXIMIZE,attack,114,1,100,0,60000,yes,self,always,,,,,,,,
+3218,V_G_HARWORD@MC_MAMMONITE,attack,42,10,200,0,10000,yes,target,always,,,,,,,23,
+3218,V_G_HARWORD@BS_HAMMERFALL,attack,110,10,200,0,30000,yes,target,always,,,,,,,,
+3218,V_G_HARWORD@NPC_POWERUP,attack,349,5,200,0,100000,yes,self,always,,,,,,,,
+3218,V_G_HARWORD@NPC_SPLASHATTACK,attack,174,1,100,0,0,yes,target,attackpcge,2,,,,,,,
+3218,V_G_HARWORD@NPC_HELMBRAKE,attack,345,10,100,0,10000,yes,target,always,,,,,,,19,
+3218,V_G_HARWORD@NPC_EARTHQUAKE,attack,653,7,300,1000,60000,yes,self,always,,,,,,,,
+3218,V_G_HARWORD@NPC_WIDESTUN,attack,678,4,100,1000,20000,no,self,always,,,,,,,,
+3218,V_G_HARWORD@NPC_PULSESTRIKE,attack,661,5,100,1000,1000,no,self,always,,,,,,,,
+3218,V_G_HARWORD@NPC_MAXPAIN,attack,716,7,300,1000,30000,no,self,always,,,,,,,,
+// 3218,V_G_HARWORD@NPC_MAGMA_ERUPTION,attack,733,5,500,1000,10000,no,target,always,,,,,,,,
+3219,V_G_SEYREN@KN_SPEARBOOMERANG,chase,59,5,1000,0,0,yes,target,skillused,18,,,,,,6,
+3219,V_G_SEYREN@SM_PROVOKE,chase,6,10,100,0,10000,yes,target,always,,,,,,,29,
+3219,V_G_SEYREN@SM_ENDURE,chase,8,10,500,0,30000,yes,self,longrangeattacked,,,,,,,6,
+// 3219,V_G_SEYREN@NPC_DARKPIERCING,chase,715,1,100,0,10000,yes,target,always,,,,,,,,
+3219,V_G_SEYREN@KN_TWOHANDQUICKEN,attack,60,10,1000,0,300000,yes,self,always,,,,,,,2,
+3219,V_G_SEYREN@LK_SPIRALPIERCE,attack,397,5,200,0,10000,yes,target,always,,,,,,,,
+3219,V_G_SEYREN@NPC_POWERUP,attack,349,5,200,0,25000,yes,self,myhpltmaxrate,30,,,,,,,
+// 3219,V_G_SEYREN@NPC_DRAGONBREATH,attack,731,5,300,500,10000,no,target,always,,,,,,,,
+// 3219,V_G_SEYREN@NPC_DRAGONBREATH,attack,731,10,300,500,10000,no,target,always,,,,,,,,
+3219,V_G_SEYREN@NPC_PULSESTRIKE,attack,661,5,200,1000,30000,no,self,always,,,,,,,,
+3219,V_G_SEYREN@NPC_MAXPAIN,attack,716,7,300,1000,30000,no,self,always,,,,,,,,
+3219,V_G_SEYREN@NPC_EARTHQUAKE,attack,653,10,500,0,6000,yes,self,rudeattacked,,,,,,,,
+3219,V_G_SEYREN@NPC_WIDEBLEEDING,attack,665,3,100,2000,10000,no,self,always,,,,,,,,
+3220,V_B_EREMES@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3220,V_B_EREMES@NPC_CALLSLAVE,idle,352,1,500,0,10000,yes,self,always,,,,,,,,
+3220,V_B_EREMES@NPC_SUMMONSLAVE,idle,196,1,1000,700,10000,no,self,slavele,3,3219,3218,3215,3216,3217,,
+3220,V_B_EREMES@NPC_MAXPAIN,idle,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3220,V_B_EREMES@NPC_MAXPAIN,chase,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3220,V_B_EREMES@AS_GRIMTOOTH,chase,137,5,200,0,0,yes,target,always,,,,,,,,
+3220,V_B_EREMES@ASC_BREAKER,chase,379,10,200,0,10000,yes,target,always,,,,,,,,
+3220,V_B_EREMES@AS_GRIMTOOTH,chase,137,5,1000,0,0,yes,target,skillused,18,,,,,,6,
+3220,V_B_EREMES@NPC_INVISIBLE,chase,353,1,200,0,30000,yes,self,always,,,,,,,,
+3220,V_B_EREMES@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3220,V_B_EREMES@NPC_MAXPAIN,attack,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3220,V_B_EREMES@NPC_CALLSLAVE,attack,352,1,500,0,10000,yes,self,always,,,,,,,,
+3220,V_B_EREMES@NPC_SUMMONSLAVE,attack,196,1,1000,700,10000,no,self,slavele,3,3219,3218,3215,3216,3217,,
+3220,V_B_EREMES@NPC_INVISIBLE,attack,353,1,200,0,30000,yes,self,always,,,,,,,,
+3220,V_B_EREMES@NPC_AGIUP,attack,350,5,200,0,25000,yes,self,always,,,,,,,,
+3220,V_B_EREMES@AS_SONICBLOW,attack,136,10,200,0,10000,yes,target,always,,,,,,,6,
+3220,V_B_EREMES@ASC_METEORASSAULT,attack,406,10,200,2000,10000,no,self,always,,,,,,,,
+3220,V_B_EREMES@NPC_POISONATTACK,attack,188,10,100,0,10000,yes,target,always,,,,,,,,
+3220,V_B_EREMES@NPC_MAXPAIN,attack,716,9,300,1000,30000,no,self,always,,,,,,,,
+// 3220,V_B_EREMES@NPC_VENOMIMPRESS,attack,738,5,100,0,10000,yes,target,always,,,,,,,,
+3220,V_B_EREMES@NPC_PULSESTRIKE,attack,661,5,100,2000,30000,no,self,always,,,,,,,,
+3220,V_B_EREMES@NPC_DRAGONFEAR,attack,659,5,100,2000,30000,no,self,always,,,,,,,,
+3220,V_B_EREMES@NPC_VENOMFOG,attack,706,5,100,2000,30000,no,self,always,,,,,,,,
+3220,V_B_EREMES@NPC_EARTHQUAKE,attack,653,10,1000,4000,60000000,yes,self,myhpltmaxrate,30,,,,,,,
+3221,V_B_MAGALETA@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3221,V_B_MAGALETA@NPC_CALLSLAVE,idle,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3221,V_B_MAGALETA@NPC_SUMMONSLAVE,idle,196,1,1000,700,10000,no,self,slavele,3,3219,3214,3218,3216,3217,,
+// 3221,V_B_MAGALETA@NPC_CHEAL,idle,729,5,300,0,1500,yes,friend,friendhpltmaxrate,99,,,,,,3,
+// 3221,V_B_MAGALETA@NPC_CHEAL,idle,729,5,300,0,1500,yes,self,myhpltmaxrate,99,,,,,,3,
+3221,V_B_MAGALETA@NPC_MAXPAIN,idle,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+// 3221,V_B_MAGALETA@NPC_CHEAL,chase,729,5,300,0,1500,yes,friend,friendhpltmaxrate,99,,,,,,3,
+// 3221,V_B_MAGALETA@NPC_CHEAL,chase,729,5,300,0,1500,yes,self,myhpltmaxrate,99,,,,,,3,
+3221,V_B_MAGALETA@NPC_WIDESILENCE,chase,663,5,500,1000,30000,no,target,always,,,,,,,18,
+// 3221,V_B_MAGALETA@NPC_LEX_AETERNA,chase,727,5,100,0,10000,yes,target,always,,,,,,,29,
+3221,V_B_MAGALETA@NPC_MAXPAIN,chase,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3221,V_B_MAGALETA@NPC_MAXPAIN,attack,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3221,V_B_MAGALETA@NPC_CALLSLAVE,attack,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3221,V_B_MAGALETA@NPC_SUMMONSLAVE,attack,196,1,1000,700,10000,no,self,slavele,3,3219,3214,3218,3216,3217,,
+3221,V_B_MAGALETA@NPC_SUMMONMONSTER,attack,209,1,1000,700,60000000,yes,self,myhpltmaxrate,30,3219,3214,3218,3216,3217,,
+3221,V_B_MAGALETA@AL_INCAGI,attack,29,10,200,0,240000,yes,self,always,,,,,,,2,
+3221,V_B_MAGALETA@MG_SAFETYWALL,attack,12,10,100,0,10000,yes,self,always,,,,,,,,
+3221,V_B_MAGALETA@AL_PNEUMA,attack,25,1,500,0,10000,yes,self,longrangeattacked,,,,,,,19,
+// 3221,V_B_MAGALETA@NPC_CHEAL,attack,729,5,100,0,1500,yes,friend,friendhpltmaxrate,99,,,,,,3,
+// 3221,V_B_MAGALETA@NPC_CHEAL,attack,729,5,100,0,1500,yes,self,myhpltmaxrate,99,,,,,,3,
+3221,V_B_MAGALETA@NPC_MAXPAIN,attack,716,10,300,1000,30000,no,self,always,,,,,,,,
+3221,V_B_MAGALETA@NPC_ALLHEAL,attack,687,1,100,3000,60000000,no,self,myhpltmaxrate,10,,,,,,,
+3221,V_B_MAGALETA@NPC_SLOWCAST,attack,672,5,100,0,240000,yes,self,always,,,,,,,,
+3221,V_B_MAGALETA@NPC_WIDESILENCE,attack,663,5,500,1000,6000,no,target,casttargeted,,,,,,,18,
+// 3221,V_B_MAGALETA@NPC_LEX_AETERNA,attack,727,5,300,1000,6000,no,target,always,,,,,,,29,
+3221,V_B_MAGALETA@NPC_WIDECONFUSE,attack,667,5,200,1000,60000,no,target,always,,,,,,,,
+3222,V_B_SHECIL@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3222,V_B_SHECIL@NPC_AGIUP,idle,350,5,200,0,60000,yes,self,always,,,,,,,,
+3222,V_B_SHECIL@NPC_SUMMONSLAVE,idle,196,1,1000,700,10000,no,self,slavele,3,3219,3214,3218,3215,3216,,
+3222,V_B_SHECIL@NPC_MAXPAIN,idle,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3222,V_B_SHECIL@NPC_CALLSLAVE,idle,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3222,V_B_SHECIL@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3222,V_B_SHECIL@NPC_MAXPAIN,chase,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3222,V_B_SHECIL@NPC_MAXPAIN,attack,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3222,V_B_SHECIL@NPC_CALLSLAVE,attack,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3222,V_B_SHECIL@NPC_SUMMONSLAVE,attack,196,1,1000,700,10000,no,self,slavele,3,3219,3214,3218,3215,3216,,
+3222,V_B_SHECIL@NPC_SUMMONMONSTER,attack,209,1,1000,700,60000000,no,self,myhpltmaxrate,30,3219,3214,3218,3215,3216,,
+// 3222,V_B_SHECIL@NPC_ARROWSTORM,attack,728,5,200,0,3000,yes,target,always,,,,,,,6,
+3222,V_B_SHECIL@NPC_POWERUP,attack,349,5,200,0,20000,yes,self,always,,,,,,,,
+3222,V_B_SHECIL@NPC_AGIUP,attack,350,5,200,0,20000,yes,self,always,,,,,,,,
+3222,V_B_SHECIL@AC_DOUBLE,attack,46,10,200,0,10000,yes,target,always,,,,,,,,
+3222,V_B_SHECIL@NPC_CRITICALWOUND,attack,673,5,50,0,10000,no,target,always,,,,,,,5,
+3222,V_B_SHECIL@SN_SHARPSHOOTING,attack,382,5,200,500,1500,no,target,always,,,,,,,,
+3222,V_B_SHECIL@NPC_WIDEBLEEDING,attack,665,5,1000,1000,10000,no,self,myhpltmaxrate,30,,,,,,,
+3222,V_B_SHECIL@NPC_WIDECURSE,attack,677,5,1000,1000,10000,no,self,myhpltmaxrate,30,,,,,,,
+3223,V_B_HARWORD@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3223,V_B_HARWORD@NPC_CALLSLAVE,idle,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3223,V_B_HARWORD@NPC_SUMMONSLAVE,idle,196,1,1000,700,10000,no,self,slavele,3,3219,3214,3215,3216,3217,,
+3223,V_B_HARWORD@NPC_MAXPAIN,idle,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3223,V_B_HARWORD@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3223,V_B_HARWORD@BS_HAMMERFALL,chase,110,10,200,0,10000,yes,target,always,,,,,,,,
+3223,V_B_HARWORD@NPC_MAXPAIN,chase,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3223,V_B_HARWORD@NPC_MAXPAIN,attack,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3223,V_B_HARWORD@NPC_CALLSLAVE,attack,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3223,V_B_HARWORD@NPC_SUMMONSLAVE,attack,196,1,1000,700,10000,no,self,slavele,3,3219,3214,3215,3216,3217,,
+3223,V_B_HARWORD@NPC_SUMMONMONSTER,attack,209,1,1000,700,60000000,yes,self,myhpltmaxrate,30,3219,3214,3215,3216,3217,,
+3223,V_B_HARWORD@BS_ADRENALINE,attack,111,10,200,0,150000,yes,self,always,,,,,,,,
+3223,V_B_HARWORD@BS_MAXIMIZE,attack,114,1,100,0,60000,yes,self,always,,,,,,,,
+3223,V_B_HARWORD@MC_MAMMONITE,attack,42,10,200,0,10000,yes,target,always,,,,,,,23,
+3223,V_B_HARWORD@BS_HAMMERFALL,attack,110,10,200,0,10000,yes,target,always,,,,,,,,
+3223,V_B_HARWORD@NPC_POWERUP,attack,349,5,200,0,100000,yes,self,always,,,,,,,,
+3223,V_B_HARWORD@NPC_MAXPAIN,attack,716,10,500,1000,10000,no,self,always,,,,,,,19,
+3223,V_B_HARWORD@NPC_WATERATTACK,attack,184,10,100,0,10000,yes,target,always,,,,,,,,
+// 3223,V_B_HARWORD@NPC_MAGMA_ERUPTION,attack,733,5,500,0,10000,yes,target,always,,,,,,,,
+3223,V_B_HARWORD@NPC_WIDESTUN,attack,678,5,200,2000,10000,no,self,always,,,,,,,,
+3223,V_B_HARWORD@NPC_PULSESTRIKE,attack,661,5,200,1000,30000,no,self,always,,,,,,,,
+3223,V_B_HARWORD@NPC_EARTHQUAKE,attack,653,10,1000,4000,60000000,yes,self,myhpltmaxrate,30,,,,,,,
+3224,V_B_KATRINN@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3224,V_B_KATRINN@NPC_CALLSLAVE,idle,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3224,V_B_KATRINN@NPC_SUMMONSLAVE,idle,196,1,1000,700,10000,no,self,slavele,3,3219,3214,3218,3215,3217,,
+3224,V_B_KATRINN@MG_SIGHT,idle,10,1,1000,0,10000,yes,self,skillused,137,,,,,,,
+3224,V_B_KATRINN@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3224,V_B_KATRINN@NPC_CALLSLAVE,attack,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3224,V_B_KATRINN@NPC_SUMMONSLAVE,attack,196,1,1000,700,10000,no,self,slavele,3,3219,3214,3218,3215,3217,,
+3224,V_B_KATRINN@NPC_SUMMONMONSTER,attack,209,1,1000,700,60000000,no,self,myhpltmaxrate,30,3219,3214,3218,3215,3217,,
+3224,V_B_KATRINN@NPC_COMET,attack,708,5,300,1000,7000,no,self,always,,,,,,,,
+// 3224,V_B_KATRINN@NPC_STORMGUST2,attack,723,3,200,1000,10000,no,target,always,,,,,,,,
+3224,V_B_KATRINN@NPC_WIDESTONE,attack,666,1,200,1000,10000,no,self,always,,,,,,,,
+3224,V_B_KATRINN@HW_GANBANTEIN,attack,483,1,300,500,10000,no,target,always,,,,,,,,
+3224,V_B_KATRINN@WL_EARTHSTRAIN,attack,2216,5,300,1000,7000,no,target,always,,,,,,,,
+3224,V_B_KATRINN@WZ_JUPITEL,attack,84,10,200,1000,10000,no,target,always,,,,,,,,
+3224,V_B_KATRINN@WL_TETRAVORTEX,attack,2217,5,300,1000,7000,no,target,always,,,,,,,,
+3224,V_B_KATRINN@NPC_WIDEFREEZE,attack,664,5,200,1000,10000,no,self,always,,,,,,,,
+3224,V_B_KATRINN@NPC_WIDESILENCE,attack,663,5,200,1000,10000,no,self,always,,,,,,,,
+3225,V_B_SEYREN@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3225,V_B_SEYREN@NPC_CALLSLAVE,idle,352,1,500,0,10000,yes,self,always,,,,,,,,
+3225,V_B_SEYREN@NPC_SUMMONSLAVE,idle,196,1,1000,700,10000,no,self,slavele,3,3214,3218,3215,3216,3217,,
+3225,V_B_SEYREN@NPC_MAXPAIN,idle,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3225,V_B_SEYREN@KN_SPEARBOOMERANG,chase,59,5,1000,0,0,yes,target,always,,,,,,,6,
+3225,V_B_SEYREN@SM_ENDURE,chase,8,10,500,0,30000,yes,self,longrangeattacked,,,,,,,6,
+3225,V_B_SEYREN@NPC_MAXPAIN,chase,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3225,V_B_SEYREN@NPC_MAXPAIN,attack,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3225,V_B_SEYREN@NPC_CALLSLAVE,attack,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3225,V_B_SEYREN@NPC_SUMMONSLAVE,attack,196,1,1000,700,10000,no,self,slavele,3,3214,3218,3215,3216,3217,,
+3225,V_B_SEYREN@KN_TWOHANDQUICKEN,attack,60,10,1000,0,300000,yes,self,always,,,,,,,2,
+3225,V_B_SEYREN@LK_SPIRALPIERCE,attack,397,5,200,0,10000,yes,target,always,,,,,,,,
+// 3225,V_B_SEYREN@NPC_DRAGONBREATH,attack,731,10,300,500,10000,no,target,always,,,,,,,,
+// 3225,V_B_SEYREN@NPC_DRAGONBREATH,attack,731,5,300,500,10000,no,target,always,,,,,,,,
+3225,V_B_SEYREN@NPC_POWERUP,attack,349,5,200,0,100000,yes,self,always,,,,,,,,
+3225,V_B_SEYREN@NPC_CRITICALSLASH,attack,170,1,100,0,10000,yes,target,always,,,,,,,,
+3225,V_B_SEYREN@NPC_COMBOATTACK,attack,171,5,100,0,10000,yes,target,always,,,,,,,,
+3225,V_B_SEYREN@NPC_MAXPAIN,attack,716,9,300,1000,30000,no,self,always,,,,,,,,
+3225,V_B_SEYREN@NPC_WIDEBLEEDING,attack,665,5,100,1000,10000,no,self,always,,,,,,,,
+3225,V_B_SEYREN@NPC_PULSESTRIKE,attack,661,5,200,1000,30000,no,self,always,,,,,,,,
+3225,V_B_SEYREN@NPC_CRITICALWOUND,attack,673,5,200,0,30000,no,target,always,,,,,,,,
+3225,V_B_SEYREN@NPC_EARTHQUAKE,attack,653,10,1000,4000,60000000,yes,self,myhpltmaxrate,30,,,,,,,
+3226,V_RANDEL@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3226,V_RANDEL@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3226,V_RANDEL@PA_PRESSURE,attack,367,1,200,0,10000,no,target,always,,,,,,,,
+3226,V_RANDEL@CR_SHIELDCHARGE,attack,250,5,100,0,10000,yes,target,always,,,,,,,9,
+3226,V_RANDEL@CR_REFLECTSHIELD,attack,252,5,50,0,200000,yes,self,always,,,,,,,32,
+3226,V_RANDEL@CR_REFLECTSHIELD,attack,252,5,1000,0,200000,yes,self,casttargeted,,,,,,,32,
+3226,V_RANDEL@NPC_DARKCROSS,attack,338,10,100,0,5000,yes,target,always,,,,,,,,
+3226,V_RANDEL@NPC_GRANDDARKNESS,attack,339,10,200,500,5000,no,self,attackpcge,2,,,,,,,
+3226,V_RANDEL@CR_GRANDCROSS,attack,254,10,200,500,5000,no,self,always,,,,,,,,
+3226,V_RANDEL@NPC_DEFENDER,attack,205,5,500,0,10000,yes,self,longrangeattacked,,,,,,,,
+3226,V_RANDEL@NPC_POWERUP,attack,349,1,200,0,100000,yes,self,always,,,,,,,,
+3226,V_RANDEL@NPC_SUMMONSLAVE,attack,196,1,50,0,600000,yes,self,slavele,0,2232,,,,,,
+// 3226,V_RANDEL@NPC_RAYOFGENESIS,attack,737,3,200,500,10000,yes,target,always,,,,,,,9,
+3227,V_FLAMEL@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3227,V_FLAMEL@AM_POTIONPITCHER,idle,231,4,1000,0,10000,yes,friend,friendhpltmaxrate,60,,,,,,5,
+3227,V_FLAMEL@AM_POTIONPITCHER,idle,231,4,1000,0,10000,yes,self,myhpltmaxrate,30,,,,,,5,
+3227,V_FLAMEL@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3227,V_FLAMEL@AM_ACIDTERROR,chase,230,5,200,0,10000,yes,target,always,,,,,,,29,
+3227,V_FLAMEL@AM_POTIONPITCHER,chase,231,5,500,0,10000,yes,friend,friendhpltmaxrate,60,,,,,,5,
+3227,V_FLAMEL@AM_POTIONPITCHER,chase,231,5,500,0,10000,yes,self,myhpltmaxrate,30,,,,,,5,
+3227,V_FLAMEL@CR_ACIDDEMONSTRATION,attack,490,5,100,1000,30000,no,target,always,,,,,,,,
+3227,V_FLAMEL@AM_DEMONSTRATION,attack,229,1,200,500,10000,no,target,always,,,,,,,,
+3227,V_FLAMEL@NPC_AGIUP,attack,350,1,200,0,100000,yes,self,always,,,,,,,,
+3227,V_FLAMEL@AM_POTIONPITCHER,attack,231,5,500,0,10000,yes,friend,friendhpltmaxrate,60,,,,,,5,
+// 3227,V_FLAMEL@NPC_MANDRAGORA,attack,735,3,500,500,10000,no,self,always,,,,,,,,
+3227,V_FLAMEL@AM_POTIONPITCHER,attack,231,5,500,0,10000,yes,self,myhpltmaxrate,30,,,,,,5,
+3227,V_FLAMEL@NPC_WIDESLEEP,attack,668,3,300,1000,10000,no,self,always,,,,,,,,
+3227,V_FLAMEL@NPC_MAXPAIN,attack,716,5,300,1000,60000,no,self,always,,,,,,,,
+3227,V_FLAMEL@NPC_SUMMONSLAVE,attack,196,1,50,0,600000,yes,self,slavele,0,2230,,,,,,
+3227,V_FLAMEL@NPC_WIDESTUN,attack,678,3,300,1000,10000,no,self,always,,,,,,,,
+3228,V_CELIA@MG_SIGHT,idle,10,1,200,0,10000,yes,self,always,,,,,,,,
+3228,V_CELIA@MG_SIGHT,idle,10,1,1000,0,10000,yes,self,skillused,137,,,,,,,
+3228,V_CELIA@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3228,V_CELIA@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+// 3228,V_CELIA@NPC_WIDEWEB,chase,721,1,500,1000,10000,no,self,always,,,,,,,,
+// 3228,V_CELIA@NPC_PSYCHIC_WAVE,chase,736,1,500,0,10000,no,target,always,,,,,,,,
+3228,V_CELIA@SA_DISPELL,chase,289,5,50,0,10000,yes,target,always,,,,,,,,
+3228,V_CELIA@MG_THUNDERSTORM,chase,21,10,300,500,10000,no,target,always,,,,,,,,
+3228,V_CELIA@NPC_WIDESOULDRAIN,chase,680,4,300,0,10000,no,self,always,,,,,,,,
+3228,V_CELIA@NPC_MENTALBREAKER,attack,159,3,50,800,10000,no,target,always,,,,,,,,
+3228,V_CELIA@SA_DISPELL,attack,289,5,300,0,10000,yes,target,always,,,,,,,,
+// 3228,V_CELIA@NPC_PSYCHIC_WAVE,attack,736,4,500,1000,7000,no,target,always,,,,,,,,
+3228,V_CELIA@MG_SAFETYWALL,attack,12,10,100,0,10000,yes,self,always,,,,,,,,
+3228,V_CELIA@NPC_SUMMONSLAVE,attack,196,1,50,0,600000,yes,self,slavele,0,2231,,,,,,
+// 3228,V_CELIA@NPC_WIDEWEB,attack,721,1,300,0,7000,no,self,always,,,,,,,,
+3228,V_CELIA@NPC_WIDESTONE,attack,666,5,100,1000,10000,no,self,always,,,,,,,,
+3228,V_CELIA@NPC_WIDESOULDRAIN,attack,680,2,100,500,10000,no,self,always,,,,,,,,
+3229,V_CHEN@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3229,V_CHEN@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3229,V_CHEN@MO_BODYRELOCATION,chase,264,1,200,500,5000,no,target,always,,,,,,,28,
+3229,V_CHEN@AL_DECAGI,chase,30,10,200,0,10000,yes,target,always,,,,,,,,
+3229,V_CHEN@MO_BALKYOUNG,attack,1016,1,10,0,10000,no,target,always,,,,,,,19,
+3229,V_CHEN@MO_EXTREMITYFIST,attack,271,1,500,1000,6000,no,target,always,,,,,,,,
+3229,V_CHEN@NPC_CRITICALSLASH,attack,170,1,100,0,10000,yes,target,always,,,,,,,,
+3229,V_CHEN@NPC_CHANGEUNDEAD,attack,348,3,100,0,10000,yes,target,always,,,,,,,,
+// 3229,V_CHEN@NPC_CURSEDCIRCLE,attack,730,2,300,0,5000,yes,self,always,,,,,,,3,
+3229,V_CHEN@NPC_SUMMONSLAVE,attack,196,1,50,0,600000,yes,self,slavele,0,2229,,,,,,
+3229,V_CHEN@NPC_WIDEBLEEDING,attack,665,4,300,1000,10000,yes,self,always,,,,,,,,
+3230,V_GERTIE@AS_CLOAKING,attack,135,1,200,200,10000,yes,self,always,,,,,,,,
+3230,V_GERTIE@AS_CLOAKING,idle,135,1,200,200,10000,yes,self,always,,,,,,,,
+3230,V_GERTIE@AS_CLOAKING,chase,135,1,200,200,10000,yes,self,always,,,,,,,,
+3230,V_GERTIE@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3230,V_GERTIE@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3230,V_GERTIE@ST_FULLSTRIP,attack,476,5,500,0,60000,yes,target,myhpltmaxrate,50,,,,,,,
+3230,V_GERTIE@NPC_PULSESTRIKE,attack,661,2,200,0,10000,yes,self,always,,,,,,,,
+3230,V_GERTIE@NPC_CRITICALSLASH,attack,170,1,300,0,5000,yes,target,always,,,,,,,,
+3230,V_GERTIE@NPC_WIDECONFUSE,attack,667,3,100,1000,10000,yes,target,always,,,,,,,,
+// 3230,V_GERTIE@NPC_FATALMENACE,attack,732,3,300,0,7000,,no,target,always,,,,,,,43,
+3230,V_GERTIE@NPC_VENOMFOG,attack,706,1,100,0,10000,yes,self,always,,,,,,,,
+3230,V_GERTIE@NPC_AGIUP,attack,350,1,200,0,100000,yes,self,always,,,,,,,,
+3230,V_GERTIE@NPC_SUMMONSLAVE,attack,196,1,50,0,600000,yes,self,slavele,0,2228,,,,,,
+3230,V_GERTIE@RG_CLOSECONFINE,attack,1005,1,100,0,5000,yes,target,always,,,,,,,,
+3231,V_ALPHOCCIO@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3231,V_ALPHOCCIO@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+// 3231,V_ALPHOCCIO@NPC_DISSONANCE,attack,2540,3,100,1000,30000,no,self,always,,,,,,,,
+3231,V_ALPHOCCIO@NPC_PULSESTRIKE,attack,661,3,100,1000,10000,no,self,always,,,,,,,,
+3231,V_ALPHOCCIO@NPC_WIDEFREEZE,attack,664,3,200,1000,10000,no,self,always,,,,,,,,
+3231,V_ALPHOCCIO@NPC_SLOWCAST,attack,672,1,200,800,30000,no,self,always,,,,,,,36,
+// 3231,V_ALPHOCCIO@NPC_REVERBERATION,attack,725,3,100,0,10000,yes,target,always,,,,,,,,
+3231,V_ALPHOCCIO@NPC_SUMMONSLAVE,attack,196,1,50,0,600000,yes,self,slavele,0,2234,,,,,,
+// 3231,V_ALPHOCCIO@NPC_DANCINGBLADE,attack,713,1,100,0,10000,yes,target,always,,,,,,,,
+3232,V_TRENTINI@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3232,V_TRENTINI@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+// 3232,V_TRENTINI@NPC_UGLYDANCE,attack,2541,5,100,1000,100000,no,self,always,,,,,,,,
+3232,V_TRENTINI@NPC_AGIUP,attack,350,1,200,0,100000,yes,self,always,,,,,,,,
+3232,V_TRENTINI@NPC_CRITICALSLASH,attack,170,1,100,0,10000,yes,target,always,,,,,,,,
+// 3232,V_TRENTINI@NPC_REVERBERATION,attack,725,1,100,0,10000,yes,target,always,,,,,,,,
+3232,V_TRENTINI@NPC_SUMMONSLAVE,attack,196,1,50,0,600000,yes,self,slavele,0,2233,,,,,,
+// 3232,V_TRENTINI@NPC_DISSONANCE,attack,2540,3,100,1000,30000,no,self,always,,,,,,,,
+3233,V_G_RANDEL@NPC_DEFENDER,attack,205,5,500,0,10000,yes,self,longrangeattacked,,,,,,,,
+3233,V_G_RANDEL@PA_PRESSURE,attack,367,5,100,0,10000,no,target,always,,,,,,,,
+3233,V_G_RANDEL@CR_SHIELDCHARGE,attack,250,5,100,0,10000,yes,target,always,,,,,,,9,
+3233,V_G_RANDEL@CR_REFLECTSHIELD,attack,252,5,50,0,200000,yes,self,always,,,,,,,32,
+3233,V_G_RANDEL@CR_REFLECTSHIELD,attack,252,5,1000,0,200000,yes,self,casttargeted,,,,,,,32,
+3233,V_G_RANDEL@NPC_DARKCROSS,attack,338,10,50,0,10000,yes,target,always,,,,,,,,
+3233,V_G_RANDEL@NPC_GRANDDARKNESS,attack,339,10,200,500,10000,no,self,attackpcge,2,,,,,,,
+3233,V_G_RANDEL@NPC_POWERUP,attack,349,5,200,0,100000,yes,self,always,,,,,,,,
+3233,V_G_RANDEL@NPC_POWERUP,attack,349,5,500,0,25000,yes,self,myhpltmaxrate,30,,,,,,,
+// 3233,V_G_RANDEL@NPC_RAYOFGENESIS,attack,737,7,200,500,10000,yes,target,always,,,,,,,9,
+3233,V_G_RANDEL@NPC_WIDESLEEP,attack,668,5,200,1000,10000,no,self,always,,,,,,,,
+3233,V_G_RANDEL@NPC_WIDESILENCE,attack,663,5,200,1000,10000,no,self,always,,,,,,,,
+3234,V_G_FLAMEL@AM_POTIONPITCHER,idle,231,5,1000,500,10000,yes,friend,friendhpltmaxrate,60,,,,,,5,
+3234,V_G_FLAMEL@AM_POTIONPITCHER,idle,231,5,1000,500,10000,yes,self,myhpltmaxrate,30,,,,,,5,
+3234,V_G_FLAMEL@AM_POTIONPITCHER,chase,231,5,1000,500,10000,yes,friend,friendhpltmaxrate,60,,,,,,5,
+3234,V_G_FLAMEL@AM_POTIONPITCHER,chase,231,5,1000,500,10000,yes,self,myhpltmaxrate,30,,,,,,5,
+3234,V_G_FLAMEL@AM_DEMONSTRATION,chase,229,5,200,0,10000,yes,target,always,,,,,,,,
+3234,V_G_FLAMEL@AM_ACIDTERROR,chase,230,5,150,0,10000,yes,target,always,,,,,,,29,
+3234,V_G_FLAMEL@NPC_AGIUP,attack,350,5,200,0,100000,yes,self,always,,,,,,,,
+3234,V_G_FLAMEL@NPC_AGIUP,attack,350,5,200,0,25000,yes,self,myhpltmaxrate,30,,,,,,,
+3234,V_G_FLAMEL@AM_POTIONPITCHER,attack,231,5,1000,500,10000,yes,friend,friendhpltmaxrate,60,,,,,,5,
+3234,V_G_FLAMEL@AM_POTIONPITCHER,attack,231,5,1000,500,10000,yes,self,myhpltmaxrate,30,,,,,,5,
+3234,V_G_FLAMEL@NPC_MAXPAIN,attack,716,7,300,1000,60000,no,self,myhpltmaxrate,3,,,,,,,
+3234,V_G_FLAMEL@CR_ACIDDEMONSTRATION,attack,490,3,100,1000,300000,no,target,always,,,,,,,,
+3234,V_G_FLAMEL@AM_DEMONSTRATION,attack,229,5,200,0,10000,yes,target,always,,,,,,,,
+3234,V_G_FLAMEL@NPC_CRITICALWOUND,attack,673,3,100,0,30000,no,target,always,,,,,,,,
+// 3234,V_G_FLAMEL@NPC_MANDRAGORA,attack,735,3,500,500,10000,no,self,always,,,,,,,,
+3234,V_G_FLAMEL@NPC_WIDESLEEP,attack,668,5,300,1000,10000,no,self,always,,,,,,,,
+3234,V_G_FLAMEL@NPC_WIDESTUN,attack,678,5,300,1000,10000,no,self,always,,,,,,,,
+3235,V_G_CELIA@MG_FIREBOLT,chase,19,10,300,0,10000,yes,target,always,,,,,,,,
+3235,V_G_CELIA@SA_DISPELL,chase,289,5,50,0,10000,yes,target,always,,,,,,,,
+3235,V_G_CELIA@NPC_WIDESOULDRAIN,attack,680,5,200,1000,10000,no,self,always,,,,,,,,
+3235,V_G_CELIA@NPC_MENTALBREAKER,attack,159,3,50,800,10000,no,target,always,,,,,,,,
+// 3235,V_G_CELIA@NPC_PSYCHIC_WAVE,attack,736,5,300,500,5000,no,target,always,,,,,,,,
+3235,V_G_CELIA@SA_DISPELL,attack,289,5,50,0,30000,yes,target,always,,,,,,,,
+3235,V_G_CELIA@SA_LANDPROTECTOR,attack,288,5,300,1000,10000,no,target,always,,,,,,,,
+// 3235,V_G_CELIA@NPC_WIDEWEB,attack,721,1,500,0,7000,yes,self,always,,,,,,,,
+3235,V_G_CELIA@NPC_WIDESTONE,attack,666,5,100,1000,10000,no,self,always,,,,,,,,
+3235,V_G_CELIA@NPC_WIDESOULDRAIN,attack,680,4,100,1000,10000,no,self,always,,,,,,,,
+// 3235,V_G_CELIA@NPC_PSYCHIC_WAVE,attack,736,5,300,1000,5000,no,target,always,,,,,,,,
+3235,V_G_CELIA@NPC_WIDECONFUSE,attack,667,3,300,1000,10000,no,target,always,,,,,,,,
+3235,V_G_CELIA@NPC_MAXPAIN,attack,716,7,300,1000,30000,yes,self,always,,,,,,,,
+// 3235,V_G_CELIA@NPC_PSYCHIC_WAVE,attack,736,7,300,3000,30000,no,target,always,,,,,,,,
+3236,V_G_CHEN@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3236,V_G_CHEN@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3236,V_G_CHEN@NPC_WIDEBLEEDING,attack,665,5,300,1000,10000,yes,self,always,,,,,,,,
+3236,V_G_CHEN@MO_BALKYOUNG,attack,1016,1,10,0,10000,no,target,always,,,,,,,19,
+3236,V_G_CHEN@MO_EXTREMITYFIST,attack,271,5,500,1000,7000,no,target,always,,,,,,,,
+3236,V_G_CHEN@NPC_AGIUP,attack,350,5,200,0,100000,yes,self,always,,,,,,,,
+3236,V_G_CHEN@NPC_CRITICALSLASH,attack,170,1,100,0,10000,yes,target,always,,,,,,,,
+3236,V_G_CHEN@NPC_ARMORBRAKE,attack,344,1,100,0,10000,yes,target,always,,,,,,,,
+3236,V_G_CHEN@NPC_PULSESTRIKE,attack,661,5,100,0,10000,yes,self,always,,,,,,,,
+// 3236,V_G_CHEN@NPC_CURSEDCIRCLE,attack,730,4,100,0,5000,yes,self,always,,,,,,,,
+// 3236,V_G_CHEN@NPC_DARKPIERCING,attack,715,1,100,0,10000,yes,target,always,,,,,,,,
+3237,V_G_GERTIE@NPC_PULSESTRIKE,attack,661,5,200,0,10000,yes,self,always,,,,,,,,
+3237,V_G_GERTIE@NPC_CRITICALSLASH,attack,170,1,300,0,5000,yes,target,always,,,,,,,,
+3237,V_G_GERTIE@NPC_AGIUP,attack,350,1,300,0,300000,yes,self,always,,,,,,,,
+3237,V_G_GERTIE@ST_FULLSTRIP,attack,476,5,50,0,30000,yes,target,myhpltmaxrate,30,,,,,,,
+// 3237,V_G_GERTIE@NPC_FATALMENACE,attack,732,5,300,0,20000,no,target,always,,,,,,,34,
+3237,V_G_GERTIE@NPC_WIDECONFUSE,attack,667,5,100,1000,30000,no,target,always,,,,,,,,
+3237,V_G_GERTIE@RG_CLOSECONFINE,attack,1005,1,100,0,30000,yes,target,always,,,,,,,,
+3237,V_G_GERTIE@NPC_VENOMFOG,attack,706,3,200,0,30000,yes,self,always,,,,,,,,
+3237,V_G_GERTIE@NPC_WIDECURSE,attack,677,5,100,1000,30000,no,self,always,,,,,,,,
+3237,V_G_GERTIE@NPC_INVISIBLE,attack,353,1,100,200,30000,yes,self,always,,,,,,,,
+// 3238,V_G_ALPHOCCIO@NPC_DISSONANCE,attack,2540,3,100,1000,120000,no,self,always,,,,,,,,
+3238,V_G_ALPHOCCIO@NPC_PULSESTRIKE,attack,661,5,100,1000,10000,no,self,always,,,,,,,,
+// 3238,V_G_ALPHOCCIO@NPC_REVERBERATION,attack,725,3,100,0,10000,yes,target,always,,,,,,,,
+3238,V_G_ALPHOCCIO@NPC_WIDESLEEP,attack,668,5,100,1000,10000,no,self,always,,,,,,,,
+3238,V_G_ALPHOCCIO@NPC_WIDEFREEZE,attack,664,5,100,1000,10000,no,self,always,,,,,,,,
+3238,V_G_ALPHOCCIO@NPC_SLOWCAST,attack,672,3,100,1000,10000,no,self,always,,,,,,,36,
+3238,V_G_ALPHOCCIO@NPC_WIDESOULDRAIN,attack,680,6,100,1000,10000,no,self,always,,,,,,,,
+// 3239,V_G_TRENTINI@NPC_UGLYDANCE,attack,2541,5,100,1000,120000,no,self,always,,,,,,,,
+3239,V_G_TRENTINI@NPC_PULSESTRIKE,attack,661,3,100,1000,10000,no,self,always,,,,,,,,
+3239,V_G_TRENTINI@NPC_AGIUP,attack,350,5,200,0,100000,yes,self,always,,,,,,,,
+3239,V_G_TRENTINI@NPC_MAXPAIN,attack,716,5,300,1000,20000,no,self,always,,,,,,,,
+3239,V_G_TRENTINI@NPC_WIDESILENCE,attack,663,5,100,1000,20000,no,self,always,,,,,,,,
+3239,V_G_TRENTINI@NPC_WIDESTUN,attack,678,5,100,1000,20000,no,self,always,,,,,,,,
+3239,V_G_TRENTINI@NPC_WIDEFREEZE,attack,664,5,100,1000,20000,no,self,always,,,,,,,,
+3239,V_G_TRENTINI@NPC_WIDECURSE,attack,677,5,100,1000,20000,no,self,always,,,,,,,,
+3240,V_B_RANDEL@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3240,V_B_RANDEL@NPC_SUMMONSLAVE,idle,196,1,1000,700,10000,no,self,slavele,3,3234,3235,3236,3237,3238,3239,
+3240,V_B_RANDEL@NPC_CALLSLAVE,idle,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3240,V_B_RANDEL@NPC_MAXPAIN,idle,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3240,V_B_RANDEL@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3240,V_B_RANDEL@NPC_MAXPAIN,chase,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3240,V_B_RANDEL@NPC_MAXPAIN,attack,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3240,V_B_RANDEL@NPC_CALLSLAVE,attack,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3240,V_B_RANDEL@NPC_SUMMONSLAVE,attack,196,1,1000,700,10000,no,self,slavele,3,3234,3235,3236,3237,3238,3239,
+3240,V_B_RANDEL@NPC_SUMMONMONSTER,attack,209,1,1000,700,60000000,no,self,myhpltmaxrate,30,3234,3235,3236,3237,3238,3239,
+3240,V_B_RANDEL@PA_PRESSURE,attack,367,5,200,0,10000,no,target,always,,,,,,,,
+3240,V_B_RANDEL@CR_REFLECTSHIELD,attack,252,5,10,0,200000,yes,self,always,,,,,,,32,
+3240,V_B_RANDEL@CR_REFLECTSHIELD,attack,252,5,1000,0,200000,yes,self,casttargeted,,,,,,,32,
+3240,V_B_RANDEL@CR_GRANDCROSS,attack,254,10,300,500,10000,no,self,always,,,,,,,,
+3240,V_B_RANDEL@NPC_GRANDDARKNESS,attack,339,10,200,500,10000,no,self,always,,,,,,,,
+3240,V_B_RANDEL@NPC_POWERUP,attack,349,5,200,0,100000,yes,self,always,,,,,,,,
+3240,V_B_RANDEL@NPC_POWERUP,attack,349,5,200,0,25000,yes,self,myhpltmaxrate,30,,,,,,,
+// 3240,V_B_RANDEL@NPC_RAYOFGENESIS,attack,737,10,200,500,7000,yes,target,always,,,,,,,9,
+3240,V_B_RANDEL@NPC_HELLJUDGEMENT,attack,662,10,100,1000,30000,no,self,always,,,,,,,,
+3240,V_B_RANDEL@NPC_WIDESILENCE,attack,663,5,100,1000,10000,no,self,always,,,,,,,,
+3240,V_B_RANDEL@NPC_WIDESLEEP,attack,668,5,100,1000,10000,no,self,always,,,,,,,,
+3241,V_B_FLAMEL@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3241,V_B_FLAMEL@NPC_CALLSLAVE,idle,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3241,V_B_FLAMEL@NPC_SUMMONSLAVE,idle,196,1,1000,700,10000,no,self,slavele,3,3233,3235,3236,3237,3238,3239,
+3241,V_B_FLAMEL@NPC_MAXPAIN,idle,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3241,V_B_FLAMEL@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3241,V_B_FLAMEL@AM_DEMONSTRATION,chase,229,5,200,0,10000,yes,target,always,,,,,,,,
+3241,V_B_FLAMEL@NPC_MAXPAIN,chase,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3241,V_B_FLAMEL@NPC_MAXPAIN,attack,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3241,V_B_FLAMEL@NPC_CALLSLAVE,attack,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3241,V_B_FLAMEL@NPC_SUMMONSLAVE,attack,196,1,1000,700,10000,no,self,slavele,3,3233,3235,3236,3237,3238,3239,
+3241,V_B_FLAMEL@NPC_MAXPAIN,attack,716,10,100,1000,30000,no,self,always,,,,,,,,
+3241,V_B_FLAMEL@NPC_SUMMONMONSTER,attack,209,1,1000,700,60000000,no,self,myhpltmaxrate,30,3233,3235,3236,3237,3238,3239,
+3241,V_B_FLAMEL@CR_ACIDDEMONSTRATION,attack,490,5,100,1000,5000,no,target,always,,,,,,,,
+3241,V_B_FLAMEL@NPC_PULSESTRIKE,attack,661,5,100,0,5000,yes,self,always,,,,,,,,
+3241,V_B_FLAMEL@NPC_AGIUP,attack,350,5,200,0,100000,yes,self,always,,,,,,,,
+3241,V_B_FLAMEL@NPC_MAGICMIRROR,attack,671,10,200,0,100000,yes,self,always,,,,,,,,
+3241,V_B_FLAMEL@AM_DEMONSTRATION,attack,229,5,200,0,10000,yes,target,always,,,,,,,,
+// 3241,V_B_FLAMEL@NPC_MANDRAGORA,attack,735,5,500,500,10000,no,self,always,,,,,,,,
+3241,V_B_FLAMEL@NPC_WIDESLEEP,attack,668,5,300,1000,10000,no,self,always,,,,,,,,
+3241,V_B_FLAMEL@NPC_WIDESTUN,attack,678,5,300,1000,10000,no,self,always,,,,,,,,
+3242,V_B_CELIA@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3242,V_B_CELIA@NPC_CALLSLAVE,idle,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3242,V_B_CELIA@NPC_SUMMONSLAVE,idle,196,1,1000,700,10000,no,self,slavele,3,3233,3234,3236,3237,3238,3239,
+3242,V_B_CELIA@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3242,V_B_CELIA@NPC_MENTALBREAKER,chase,159,5,100,0,10000,yes,target,always,,,,,,,7,
+3242,V_B_CELIA@SA_DISPELL,chase,289,5,500,0,30000,yes,target,always,,,,,,,,
+3242,V_B_CELIA@NPC_DARKTHUNDER,chase,341,10,200,500,10000,no,target,always,,,,,,,,
+3242,V_B_CELIA@MG_COLDBOLT,chase,14,10,300,0,5000,yes,target,always,,,,,,,,
+3242,V_B_CELIA@MG_FIREBOLT,chase,19,10,300,0,5000,yes,target,always,,,,,,,,
+3242,V_B_CELIA@MG_LIGHTNINGBOLT,chase,20,10,300,0,5000,yes,target,always,,,,,,,,
+3242,V_B_CELIA@NPC_WIDESTONE,chase,666,5,300,1000,10000,no,self,always,,,,,,,,
+3242,V_B_CELIA@NPC_CALLSLAVE,attack,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3242,V_B_CELIA@NPC_SUMMONSLAVE,attack,196,1,1000,700,10000,no,self,slavele,3,3233,3234,3236,3237,3238,3239,
+3242,V_B_CELIA@NPC_SUMMONMONSTER,attack,209,1,1000,700,60000000,no,self,myhpltmaxrate,30,3233,3234,3236,3237,3238,3239,
+3242,V_B_CELIA@SA_LANDPROTECTOR,attack,288,5,300,0,20000,yes,target,always,,,,,,,,
+3242,V_B_CELIA@NPC_MENTALBREAKER,attack,159,5,50,0,10000,yes,target,always,,,,,,,7,
+3242,V_B_CELIA@SA_DISPELL,attack,289,5,1000,0,30000,yes,target,always,,,,,,,,
+3242,V_B_CELIA@NPC_DARKTHUNDER,attack,341,10,300,1000,10000,no,target,always,,,,,,,,
+3242,V_B_CELIA@MG_SAFETYWALL,attack,12,10,300,0,10000,yes,self,always,,,,,,,,
+// 3242,V_B_CELIA@NPC_WIDEWEB,attack,721,1,500,0,7000,yes,self,always,,,,,,,,
+3242,V_B_CELIA@NPC_WIDESTONE,attack,666,5,100,1000,10000,no,self,always,,,,,,,,
+3242,V_B_CELIA@NPC_WIDESOULDRAIN,attack,680,5,100,2000,10000,no,self,always,,,,,,,,
+// 3242,V_B_CELIA@NPC_PSYCHIC_WAVE,attack,736,7,500,500,5000,no,target,always,,,,,,,,
+// 3242,V_B_CELIA@NPC_PSYCHIC_WAVE,attack,736,10,300,3000,10000,no,target,always,,,,,,,9,
+3243,V_B_CHEN@NPC_CALLSLAVE,idle,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3243,V_B_CHEN@NPC_SUMMONSLAVE,idle,196,1,1000,700,10000,no,self,slavele,3,3233,3234,3235,3237,3238,3239,
+3243,V_B_CHEN@NPC_MAXPAIN,idle,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3243,V_B_CHEN@NPC_MAXPAIN,chase,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3243,V_B_CHEN@NPC_MAXPAIN,attack,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3243,V_B_CHEN@NPC_CALLSLAVE,attack,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3243,V_B_CHEN@NPC_SUMMONSLAVE,attack,196,1,1000,700,10000,no,self,slavele,3,3233,3234,3235,3237,3238,3239,
+3243,V_B_CHEN@NPC_SUMMONMONSTER,attack,209,1,1000,700,60000000,no,self,myhpltmaxrate,30,3233,3234,3235,3237,3238,3239,
+3243,V_B_CHEN@MO_EXTREMITYFIST,attack,271,5,300,1000,7000,no,target,always,,,,,,,,
+3243,V_B_CHEN@MO_EXTREMITYFIST,attack,271,5,100,1000,3000,no,target,myhpltmaxrate,10,,,,,,,
+3243,V_B_CHEN@NPC_POWERUP,attack,349,5,200,0,100000,yes,self,always,,,,,,,,
+3243,V_B_CHEN@NPC_POWERUP,attack,349,5,200,0,25000,yes,self,myhpltmaxrate,30,,,,,,,
+3243,V_B_CHEN@NPC_AGIUP,attack,350,5,200,0,100000,yes,self,always,,,,,,,,
+3243,V_B_CHEN@NPC_AGIUP,attack,350,5,200,0,25000,yes,self,myhpltmaxrate,30,,,,,,,
+3243,V_B_CHEN@NPC_MAXPAIN,attack,716,10,300,1000,20000,no,self,always,,,,,,,,
+// 3243,V_B_CHEN@NPC_DARKPIERCING,attack,715,1,100,0,10000,yes,target,always,,,,,,,,
+3243,V_B_CHEN@NPC_PULSESTRIKE,attack,661,5,100,0,10000,yes,self,always,,,,,,,,
+3243,V_B_CHEN@NPC_WIDEBLEEDING,attack,665,5,100,1000,10000,no,self,always,,,,,,,,
+3243,V_B_CHEN@NPC_WIDESILENCE,attack,663,5,100,1000,10000,no,self,always,,,,,,,,
+3244,V_B_GERTIE@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3244,V_B_GERTIE@NPC_SUMMONSLAVE,idle,196,1,1000,700,10000,no,self,slavele,3,3233,3234,3235,3236,3238,3239,
+3244,V_B_GERTIE@NPC_CALLSLAVE,idle,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3244,V_B_GERTIE@NPC_MAXPAIN,idle,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3244,V_B_GERTIE@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3244,V_B_GERTIE@NPC_MAXPAIN,chase,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3244,V_B_GERTIE@NPC_MAXPAIN,attack,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3244,V_B_GERTIE@NPC_CALLSLAVE,attack,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3244,V_B_GERTIE@NPC_SUMMONSLAVE,attack,196,1,1000,700,10000,no,self,slavele,3,3233,3234,3235,3236,3238,3239,
+3244,V_B_GERTIE@NPC_SUMMONMONSTER,attack,209,1,1000,700,60000000,no,self,myhpltmaxrate,30,3233,3234,3235,3236,3238,3239,
+3244,V_B_GERTIE@NPC_AGIUP,attack,350,5,200,0,100000,yes,self,always,,,,,,,,
+3244,V_B_GERTIE@NPC_AGIUP,attack,350,5,200,0,25000,yes,self,myhpltmaxrate,30,,,,,,,
+3244,V_B_GERTIE@RG_STRIPSHIELD,attack,216,5,50,0,2000,yes,target,myhpltmaxrate,90,,,,,,,
+3244,V_B_GERTIE@RG_STRIPARMOR,attack,217,5,50,0,2000,yes,target,myhpltmaxrate,70,,,,,,,
+3244,V_B_GERTIE@RG_STRIPWEAPON,attack,215,5,50,0,2000,yes,target,myhpltmaxrate,50,,,,,,,
+3244,V_B_GERTIE@ST_FULLSTRIP,attack,476,5,50,0,20000,yes,target,myhpltmaxrate,30,,,,,,,
+3244,V_B_GERTIE@NPC_PULSESTRIKE,attack,661,5,200,0,7000,yes,self,always,,,,,,,,
+3244,V_B_GERTIE@NPC_CRITICALSLASH,attack,170,1,300,0,5000,yes,target,always,,,,,,,,
+// 3244,V_B_GERTIE@NPC_FATALMENACE,attack,732,5,100,0,30000,,no,target,always,,,,,,,37,
+3244,V_B_GERTIE@NPC_HELLJUDGEMENT,attack,662,10,100,1000,30000,no,self,always,,,,,,,,
+3244,V_B_GERTIE@NPC_WIDESLEEP,attack,668,10,100,1000,30000,no,self,always,,,,,,,,
+3245,V_B_ALPHOCCIO@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3245,V_B_ALPHOCCIO@NPC_CALLSLAVE,idle,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3245,V_B_ALPHOCCIO@NPC_SUMMONSLAVE,idle,196,1,1000,700,10000,no,self,slavele,3,3233,3234,3235,3236,3237,3239,
+3245,V_B_ALPHOCCIO@NPC_SLOWCAST,chase,672,5,200,300,10000,no,self,always,,,,,,,36,
+3245,V_B_ALPHOCCIO@NPC_MAXPAIN,idle,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3245,V_B_ALPHOCCIO@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3245,V_B_ALPHOCCIO@NPC_MAXPAIN,chase,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3245,V_B_ALPHOCCIO@NPC_MAXPAIN,attack,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3245,V_B_ALPHOCCIO@NPC_CALLSLAVE,attack,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3245,V_B_ALPHOCCIO@NPC_SUMMONSLAVE,attack,196,1,1000,700,10000,no,self,slavele,3,3233,3234,3235,3236,3237,3239,
+3245,V_B_ALPHOCCIO@NPC_SUMMONMONSTER,attack,209,1,1000,700,60000000,no,self,myhpltmaxrate,30,3233,3234,3235,3236,3237,3239,
+// 3245,V_B_ALPHOCCIO@NPC_ASSASSINCROSS,attack,2539,10,100,1000,150000,no,self,always,,,,,,,,
+3245,V_B_ALPHOCCIO@NPC_POWERUP,attack,349,5,200,0,100000,yes,self,always,,,,,,,,
+3245,V_B_ALPHOCCIO@NPC_POWERUP,attack,349,5,200,0,25000,yes,self,myhpltmaxrate,30,,,,,,,
+3245,V_B_ALPHOCCIO@NPC_MAXPAIN,attack,716,9,300,1000,20000,no,self,always,,,,,,,47,
+3245,V_B_ALPHOCCIO@NPC_WIDESLEEP,attack,668,5,100,1000,30000,no,self,always,,,,,,,,
+3245,V_B_ALPHOCCIO@NPC_WIDEFREEZE,attack,664,5,100,1000,30000,no,self,always,,,,,,,,
+3245,V_B_ALPHOCCIO@NPC_PULSESTRIKE,attack,661,5,100,1000,10000,no,self,always,,,,,,,,
+3245,V_B_ALPHOCCIO@NPC_WIDESOULDRAIN,attack,680,10,100,1000,60000,no,self,always,,,,,,,,
+3246,V_B_TRENTINI@AL_TELEPORT,idle,26,1,1000,0,0,yes,self,rudeattacked,,,,,,,,
+3246,V_B_TRENTINI@NPC_SUMMONSLAVE,idle,196,1,1000,700,10000,no,self,slavele,3,3233,3234,3235,3236,3237,3238,
+3246,V_B_TRENTINI@NPC_CALLSLAVE,idle,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3246,V_B_TRENTINI@NPC_MAXPAIN,idle,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3246,V_B_TRENTINI@AL_TELEPORT,walk,26,1,500,0,10000,yes,self,rudeattacked,,,,,,,,
+3246,V_B_TRENTINI@NPC_MAXPAIN,chase,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3246,V_B_TRENTINI@NPC_MAXPAIN,attack,716,5,1000,0,10000,yes,self,skillused,490,,,,,,8,
+3246,V_B_TRENTINI@NPC_CALLSLAVE,attack,352,1,1000,0,10000,yes,self,always,,,,,,,,
+3246,V_B_TRENTINI@NPC_SUMMONSLAVE,attack,196,1,1000,700,10000,no,self,slavele,3,3233,3234,3235,3236,3237,3238,
+3246,V_B_TRENTINI@NPC_SUMMONMONSTER,attack,209,1,1000,700,60000000,no,self,myhpltmaxrate,30,3233,3234,3235,3236,3237,3238,
+// 3246,V_B_TRENTINI@NPC_UGLYDANCE,attack,2541,5,100,1000,70000,no,self,always,,,,,,,,
+3246,V_B_TRENTINI@NPC_MAXPAIN,attack,716,9,300,1000,20000,no,self,always,,,,,,,47,
+3246,V_B_TRENTINI@NPC_PULSESTRIKE,attack,661,3,100,0,10000,yes,self,always,,,,,,,,
+3246,V_B_TRENTINI@NPC_WIDESILENCE,attack,663,5,100,1000,20000,no,self,always,,,,,,,,
+3246,V_B_TRENTINI@NPC_WIDESTUN,attack,678,5,100,1000,20000,no,self,always,,,,,,,,
+3246,V_B_TRENTINI@NPC_WIDEFREEZE,attack,664,5,100,1000,20000,no,self,always,,,,,,,,
+3246,V_B_TRENTINI@NPC_WIDECURSE,attack,677,5,100,1000,20000,no,self,always,,,,,,,,
+3246,V_B_TRENTINI@NPC_WIDEBLEEDING,attack,665,5,100,1000,20000,no,self,always,,,,,,,,
+3246,V_B_TRENTINI@NPC_WIDESTONE,attack,666,5,100,1000,20000,no,self,always,,,,,,,,
+3246,V_B_TRENTINI@NPC_WIDESLEEP,attack,668,5,100,1000,20000,no,self,always,,,,,,,,
+3246,V_B_TRENTINI@NPC_WIDECONFUSE,attack,667,5,100,1000,20000,no,target,always,,,,,,,,
+
 //=================================================================
 // Phantasmagorika 15.2 Mob Skills Placeholder (Gathered from jRO)
 //=================================================================
@@ -11236,3 +11928,7 @@
 3254,T_W_O@NPC_WIDESTONE,attack,666,5,600,0,30000,no,self,always,0,,,,,,,
 3254,T_W_O@NPC_WIDESOULDRAIN,attack,680,10,1000,0,60000,no,self,always,0,,,,,,,
 3254,T_W_O@NPC_CRITICALWOUND,attack,673,5,150,500,45000,no,target,always,,,,,,,,
+
+3505,DR_BIG_EGGRING@NPC_SUMMONSLAVE,attack,196,4,10000,2000,10000,no,self,slavele,3,3508,,,,,,
+3505,DR_BIG_EGGRING@NPC_SUMMONSLAVE,idle,196,4,10000,2000,10000,no,self,slavele,3,3508,,,,,,
+

+ 0 - 110
db/re/pet_db.txt

@@ -1,110 +0,0 @@
-// Pet Database
-//
-// Structure of Database:
-// MobID,Name,JName,LureID,EggID,EquipID,FoodID,Fullness,HungryDelay,R_Hungry,R_Full,Intimate,Die,Capture,Speed,S_Performance,talk_convert_class,attack_rate,defence_attack_rate,change_target_rate,pet_script,loyal_script
-//
-// 01. MobID			Monster ID of the pet.
-// 02. Name			Name of the monster as defined in the database.
-// 03. JName			The display name of the monster when hatched.
-// 04. LureID			Pet Tame Item ID.
-// 05. EggID			Pet Egg ID.
-// 06. EquipID			Pet Accessory ID.
-// 07. FoodID			Pet Food ID.
-// 08. Fullness			The amount Hunger is decreased every [HungryDelay] seconds.
-// 09. HungryDelay		The amount of time it takes for hunger to decrease after feeding. (Default: 60 seconds)
-// 10. R_Hungry			Amount of Intimacy that is increased when fed.
-// 11. R_Full			Amount of Intimacy that is decreased when over-fed.
-// 12. Intimate			Amount of Intimacy the pet starts with.
-// 13. Die			Amount of Intimacy that is decreased when the pet owner dies.
-// 14. Capture			Capture succes rate (10000 = 100%)
-// 15. Speed			Pet's walk speed. (Defaul: 150)
-// 16. S_Performance		Special Performance. (Yes = 1, No = 0)
-// 17. talk_convert_class	Disables pet talk (instead of talking they emote  with /!.)
-// 18. attack_rate			Rate of which the pet will attack (requires at least pet_support_min_friendly intimacy).
-// 19. defence_attack_rate	Rate of which the pet will retaliate when master is being attacked (requires at least pet_support_min_friendly intimacy).
-// 20. change_target_rate	Rate of which the pet will change its attack target.
-// 21. pet_script		Script to execute when the pet is hatched.
-// 22. loyal_script		Script to execute when the pet is hatched (requires at least pet_equip_min_friendly intimacy, independent of pet_script).
-//NOTE: The max value (100%) of attack_rate, defense_rate & change_target_rate is 10000.
-
-//In theory you can use any valid script, but it is run only once upon pet
-//loading, so it is recommended you use the specific pet scripts.
-//Please see "The Pet AI commands" in 'doc/script_commands.txt'.
-
-1002,PORING,Poring,619,9001,10013,531,80,60,50,100,250,20,2000,150,1,0,350,400,800,{ petloot 10; },{ bonus bLuk,2; bonus bCritical,1; }
-1113,DROPS,Drops,620,9002,10013,508,80,60,40,100,250,20,1500,150,1,0,300,400,500,{ petloot 10; },{ bonus bHit,3; bonus bAtk,3; }
-1031,POPORING,Poporing,621,9003,10013,511,80,60,30,100,250,20,1000,150,1,0,300,500,400,{ petloot 15; },{ bonus bLuk,2; bonus2 bSubEle,Ele_Poison,10; }
-1063,LUNATIC,Lunatic,622,9004,10007,534,80,60,40,100,250,20,1500,150,0,0,300,300,1000,{ petskillbonus bLuk,3,10,50; },{ bonus bCritical,2; bonus bAtk,2; }
-1049,PICKY,Picky,623,9005,10012,507,80,60,40,100,250,20,2000,150,1,0,500,600,50,{ petskillbonus bStr,3,10,50;},{ bonus bStr,1; bonus bAtk,5; }
-1011,CHONCHON,ChonChon,624,9006,10002,537,80,60,30,100,250,20,1500,150,1,0,500,500,250,{ petskillbonus bAgi,4,10,50; },{ bonus bAgi,1; bonus bFlee,2; }
-1042,STEEL_CHONCHON,Steel ChonChon,625,9007,10002,1002,80,60,20,100,250,20,1000,150,1,0,500,500,200,{ petskillbonus bAgiVit,4,20,40; },{ bonus bFlee,6; bonus bAgi,-1; }
-1035,HUNTER_FLY,Hunter Fly,626,9008,10002,716,80,60,10,100,250,20,500,150,1,0,500,500,200,{ petskillattack2 "NPC_WINDATTACK",888,2,0,10; },{ bonus bFlee,-5; bonus bFlee2,2; }
-1167,SAVAGE_BABE,Savage Babe,627,9009,10015,537,80,60,40,100,250,20,1500,150,0,0,500,500,200,{ petskillbonus bVit,4,10,50; },{ bonus bVit,1; bonus bMaxHP,50; }
-1107,DESERT_WOLF_B,Baby Desert Wolf,628,9010,10003,537,80,60,40,100,250,20,1000,150,0,0,400,400,400,{ petskillattack "SM_PROVOKE",1,0,5;},{ bonus bInt,1; bonus bMaxSP,50; }
-1052,ROCKER,Rocker,629,9011,10014,537,80,60,30,100,250,20,1500,150,0,0,350,350,600,{ petskillbonus bAllStats,1,10,50; },{ bonus bHPrecovRate,5; bonus bMaxHP,25; }
-1014,SPORE,Spore,630,9012,10017,537,80,60,30,100,250,20,1500,150,0,0,350,500,500,{ petrecovery SC_POISON,60; },{ bonus bHit,5; bonus bAtk,-2; }
-1077,POISON_SPORE,Poison Spore,631,9013,10017,537,80,60,20,100,250,20,1000,150,0,0,600,200,400,{ petskillattack "NPC_POISON",20,0,10; },{ bonus bStr,1; bonus bInt,1; }
-1019,PECOPECO,PecoPeco,632,9014,10010,537,80,60,30,100,250,20,1000,150,1,0,400,500,800,{ petskillbonus bSpeedRate,25,20,20; },{ bonus bMaxHP,150; bonus bMaxSP,-10; }
-1056,SMOKIE,Smokie,633,9015,10019,537,80,60,30,100,250,20,1000,150,1,0,600,600,100,{ petskillbonus bPerfectHide,1,3600,0; },{ bonus bAgi,1; bonus bFlee2,1; }
-1057,YOYO,Yoyo,634,9016,10018,532,80,60,20,100,250,20,1000,150,1,0,300,800,400,{ petloot 20; },{ bonus bCritical,3; bonus bLuk,-1; }
-1023,ORK_WARRIOR,Orc Warrior,635,9017,10009,537,80,60,20,100,250,20,500,150,1,0,600,200,300,{ petskillattack2 "NPC_PIERCINGATT",100,1,0,10; },{ bonus bAtk,10; bonus bDef,-3; }
-1026,MUNAK,Munak,636,9018,10008,537,80,60,20,100,250,20,500,150,0,0,300,750,300,{ petskillattack2 "NPC_DARKNESSATTACK",444,1,0,10; },{ bonus bInt,1; bonus bDef,1; }
-1110,DOKEBI,Dokebi,637,9019,10005,537,80,60,20,100,250,20,500,150,0,0,300,300,800,{ petskillattack "BS_HAMMERFALL",1,0,10; },{ bonus bMatkRate,1; bonus2 bAddClass,Class_All,-1; }
-1170,SOHEE,Sohee,638,9020,10016,537,80,60,10,100,250,20,500,150,0,0,100,1000,200,{ petskillsupport "AL_HEAL",5,60,33,100; },{ bonus bStr,1; bonus bDex,1; }
-1029,ISIS,Isis,639,9021,10006,537,80,60,10,100,250,20,500,150,0,0,650,450,150,{ petskillsupport "PR_MAGNIFICAT",2,60,50,50; },{ bonus bMatkRate,-1; bonus2 bAddClass,Class_All,1; }
-1155,PETIT,Petite,640,9022,10011,537,80,60,20,100,250,20,500,150,0,0,800,400,100,{ petskillattack2 "WZ_HEAVENDRIVE",500,1,0,10; },{ bonus bDef,-2; bonus bMdef,-2; bonus bAspdRate,1; }
-1109,DEVIRUCHI,Deviruchi,641,9023,10004,711,80,60,10,100,250,20,500,150,0,0,800,200,100,{ petskillbonus bAgiDexStr,6,20,40; },{ bonus bMatkRate,1; bonus2 bAddClass,Class_All,1; bonus bMaxHPrate,-3; bonus bMaxSPrate,-3; }
-1101,BAPHOMET_,Baphomet Jr.,642,9024,10001,518,80,60,10,100,250,20,200,150,0,0,1000,100,200,{ petskillattack2 "NPC_DARKNESSATTACK",1776,4,0,5; },{ bonus bDef,1; bonus bMdef,1; bonus2 bResEff,Eff_Stun,-100; }
-1188,BON_GUN,Bon Gun,659,9025,10020,537,80,60,30,100,250,20,500,150,1,0,600,200,400,{ petskillattack2 "NPC_DARKNESSATTACK",555,1,1,1; },{ bonus bVit,1; bonus2 bResEff,Eff_Stun,100; }
-1200,ZHERLTHSH,Zealotus,660,9026,0,929,80,60,10,100,250,20,300,150,0,0,1000,100,500,{ petskillattack "AS_SONICBLOW",1,0,3; },{ bonus2 bAddRace,RC_Demihuman,2; bonus2 bMagicAddRace,RC_DemiHuman,2; }
-1275,ALICE,Alice,661,9027,0,504,80,60,20,100,250,20,800,150,0,0,100,1000,200,{ petskillsupport "AL_HEAL",5,60,25,100; },{ bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1; }
-1815,EVENT_RICECAKE,Rice Cake,0,9028,0,511,80,60,50,100,250,20,2000,150,1,0,500,500,200,{ petskillsupport "CR_DEFENDER",3,240,50,100; },{ bonus2 bSubEle,Ele_Neutral,1; bonus bMaxHPrate,-1; }
-1245,GOBLINE_XMAS,Christmas Goblin,12225,9029,0,911,80,60,50,100,250,20,2000,150,0,0,300,300,800,{ petskillattack "MG_SIGHT",5,5,5; },{ bonus bMaxHP,30; bonus2 bSubEle,Ele_Water,1; }
-
-1519,CHUNG_E,Green Maiden,12395,9030,0,6115,80,60,50,100,250,20,2000,150,0,0,300,300,800,{ petskillattack "CR_SHIELDCHARGE",5,5,5; },{ bonus bDef,1; bonus2 bSubRace,RC_DemiHuman,1; }
-1879,ECLIPSE_P,Spring Rabbit,0,9031,0,7766,80,60,50,100,250,20,2000,150,0,0,300,300,800,{ petskillattack "TF_THROWSTONE",1,5,5; },{}
-1122,GOBLIN_1,Goblin,14569,9032,0,7821,80,60,50,100,250,20,800,150,0,0,300,300,800,{ petskillattack "NPC_WINDATTACK",5,5,5; },{}
-1123,GOBLIN_2,Goblin,14570,9033,0,7821,80,60,50,100,250,20,800,150,0,0,300,300,800,{ petskillattack "NPC_FIREATTACK",5,5,5; },{}
-1125,GOBLIN_4,Goblin,14571,9034,0,7821,80,60,50,100,250,20,800,150,0,0,300,300,800,{ petskillattack "NPC_GROUNDATTACK",5,5,5; },{}
-1385,DELETER_,Deleter,14572,9035,0,7822,80,60,20,100,250,20,800,150,0,0,300,300,800,{ petskillattack "SM_MAGNUM",5,5,5; },{}
-1382,DIABOLIC,Diabolic,14573,9036,0,7823,80,60,10,100,250,20,800,150,0,0,300,300,800,{ petskillattack "WZ_METEOR",2,5,5; },{}
-1208,WANDER_MAN,Wanderer,14574,9037,0,7824,80,60,20,100,250,20,800,150,0,0,300,300,800,{ petskillattack "NPC_UNDEADATTACK",5,5,5; },{ bonus bAgi,3; bonus bDex,1; }
-
-1963,P_CHUNG_E,New Year Doll,0,9038,0,554,80,60,30,100,250,20,800,150,0,0,300,300,800,{ petskillattack "CR_SHIELDCHARGE",5,5,5; },{}
-
-// New pets JapanRO Mobile
-1040,GOLEM,Golem,12371,9053,10035,6111,80,60,20,100,250,20,500,150,0,0,300,300,800,{},{ bonus bMaxHP,100; bonus bFlee,-5; }
-1143,MARIONETTE,Marionette,12361,9043,10025,6098,80,60,10,100,250,20,500,150,0,0,300,300,800,{},{ bonus bSPrecovRate,3; }
-1148,MEDUSA,Medusa,12368,9050,10032,6108,80,60,10,100,250,20,200,150,0,0,300,300,800,{},{ bonus bVit,1; bonus2 bResEff,Eff_Stone,500; }
-1179,WHISPER,Whisper,12363,9045,10027,6100,80,60,20,100,250,20,500,150,0,0,300,300,800,{},{ bonus bFlee,7; bonus bDef,-3; }
-1299,GOBLIN_LEADER,Goblin Leader,12364,9046,10028,6104,80,60,10,100,250,20,50,150,0,0,300,300,800,{},{ bonus2 bAddRace,RC_DemiHuman,3; }
-1370,SUCCUBUS,Succubus,12373,9055,10037,6113,80,60,10,100,250,20,200,150,0,0,300,300,800,{ bonus2 bHPDrainRate,10,5; },{ bonus2 bHPDrainRate,30,5; bonus bMaxHPrate,1; }
-1374,INCUBUS,Incubus,12370,9052,10034,6110,80,60,10,100,250,20,50,150,0,0,300,300,800,{ bonus bMaxSPRate,3; bonus2 bSPDrainRate,10,1; },{ bonus bMaxSPRate,5; bonus2 bSPDrainRate,30,1; }
-1379,NIGHTMARE_TERROR,Nightmare Terror,12372,9054,10036,6112,80,60,10,100,250,20,200,150,0,0,300,300,800,{},{ bonus2 bResEff,Eff_Sleep,10000; }
-1401,SHINOBI,Shinobi,12362,9044,10026,6099,80,60,20,100,250,20,500,150,0,0,300,300,800,{},{ bonus bAgi,2; }
-1404,MIYABI_NINGYO,Miyabi Doll,12366,9048,10030,6106,80,60,15,100,250,20,200,150,0,0,300,300,800,{},{ bonus bInt,1; bonus bCastrate,-3; }
-1416,WICKED_NYMPH,Evil Nymph,12365,9047,10029,6105,80,60,15,100,250,20,500,150,0,0,300,300,800,{},{ bonus bMaxSP,30; bonus bSPrecovRate,5; }
-1495,STONE_SHOOTER,Stone Shooter,12369,9051,10033,6109,80,60,20,100,250,20,500,150,0,0,300,300,800,{},{ bonus2 bSubEle,Ele_Fire,3; }
-1504,DULLAHAN,Dullahan,12367,9049,10031,6107,80,60,10,100,250,20,200,150,0,0,300,300,800,{},{ bonus bCritAtkRate,5; }
-1505,LOLI_RURI,Loli Ruri,12360,9042,10024,6097,80,60,15,100,250,20,200,150,0,0,300,300,800,{},{ bonus bMaxHPRate,3; bonus3 bAutoSpellWhenHit,"AL_HEAL",1,10; }
-1513,CIVIL_SERVANT,Mao Guai,12358,9040,10022,6095,80,60,10,100,250,20,500,150,0,0,300,300,800,{},{ bonus bMaxSP,10; }
-1586,LEAF_CAT,Leaf Cat,12359,9041,10023,6096,80,60,20,100,250,20,200,150,0,0,300,300,800,{},{ bonus2 bSubRace,RC_Brute,3; }
-1630,BACSOJIN_,White Lady,12357,9039,10021,6094,80,60,10,100,250,20,2000,150,0,0,300,300,800,{},{}
-1837,IMP,Fire Imp,12374,9056,10038,6114,80,60,10,100,250,20,200,150,0,0,300,300,800,{},{ bonus2 bSubEle,Ele_Fire,2; bonus2 bAddEle,Ele_Fire,2; }
-
-// Brasilis Quest - Suspicious Beach [UNHATCHABLE]
-2057,E_CRAMP,Strange Cramp,12408,6221,0,0,0,0,0,0,0,0,50,0,0,0,350,400,800,{},{} // kRO version
-2081,E_HYDRA,Strange Hydra,12408,6221,0,0,0,0,0,0,0,0,50,0,0,0,350,400,800,{},{} // iRO/cRO version
-
-// New pets (FIX ME: pet bonuses for 2210 and 2313 do not require loyalty)
-2200,J_TAINI,Tiny,0,9057,0,512,80,60,10,100,250,20,0,150,1,0,300,300,800,{},{}
-2210,XMAS_LUNATIC,Christmas Snow Rabbit,0,9058,0,529,80,60,10,100,250,20,0,150,1,0,300,300,800,{},{ bonus2 bExpAddRace,RC_All,5; }
-2313,TIKBALANG,Tikbalang,12699,9059,0,528,80,60,10,100,250,20,1000,150,1,0,300,300,800,{},{ bonus2 bAddDamageClass,2320,10; bonus2 bAddDamageClass,2321,10; bonus2 bAddDamageClass,2322,10; bonus2 bAddDamageClass,2317,10; bonus2 bAddDamageClass,2318,10; bonus2 bAddDamageClass,2327,10; bonus2 bAddDamageClass,2319,10; bonus2 bAddDamageClass,2333,10; bonus2 bAddDamageClass,2332,10; }
-1242,MARIN,Marin,12789,9061,10039,6534,80,60,50,100,250,20,2000,150,1,0,300,300,800,{},{}
-2398,LITTLE_PORING,Novice Poring,12846,9062,0,531,80,60,1000,0,250,0,5000,150,0,0,300,300,800,{},{ bonus bHPrecovRate,50; }
-
-// New pets from kRO 2014-10-08 (Needs more info)
-//1090,MASTERING,Mastering,<LureID>,9069,<EquipID>,<FoodID>,<Fullness>,<HungryDelay>,<R_Hungry>,<R_Full>,<Intimate>,<Die>,<Capture>,<Speed>,<S_Performance>,<talk_convert_class>,<attack_rate>,<defence_attack_rate>,<change_target_rate>,<pet_script>,{ set .@i,getpetinfo(3); /*Awkward=LUK + 2, CRI + 1; Neutral=LUK + 3, CRI + 1; Cordial=LUK + 3, CRI + 2; Best Friend=LUK + 3, CRI + 3;*/ }
-//1166,SAVAGE,Savage,<LureID>,9070,<EquipID>,<FoodID>,<Fullness>,<HungryDelay>,<R_Hungry>,<R_Full>,<Intimate>,<Die>,<Capture>,<Speed>,<S_Performance>,<talk_convert_class>,<attack_rate>,<defence_attack_rate>,<change_target_rate>,<pet_script>,{ set .@i,getpetinfo(3); /*Awkward=VIT + 1, MHP + 50; Neutral=VIT + 2, MHP + 50; Cordial=VIT + 2, MHP + 100; Best Friend=VIT + 2, MHP + 200;*/ }
-//1369,GRAND_PECO,Grand Peco,<LureID>,9071,<EquipID>,<FoodID>,<Fullness>,<HungryDelay>,<R_Hungry>,<R_Full>,<Intimate>,<Die>,<Capture>,<Speed>,<S_Performance>,<talk_convert_class>,<attack_rate>,<defence_attack_rate>,<change_target_rate>,<pet_script>,{ set .@i,getpetinfo(3); /*Awkward=MHP + 150; Neutral=MHP + 200; Cordial=MHP + 300; Best Friend=MHP + 400;*/ }
-//1213,HIGH_ORC,High Orc,<LureID>,9087,<EquipID>,<FoodID>,<Fullness>,<HungryDelay>,<R_Hungry>,<R_Full>,<Intimate>,<Die>,<Capture>,<Speed>,<S_Performance>,<talk_convert_class>,<attack_rate>,<defence_attack_rate>,<change_target_rate>,<pet_script>,{ set .@i,getpetinfo(3); /*Awkward=ATK + 10; Neutral=ATK + 15; Cordial=ATK + 20; Best Friend=ATK + 25;*/ }

+ 1733 - 0
db/re/pet_db.yml

@@ -0,0 +1,1733 @@
+# This file is a part of rAthena.
+#   Copyright(C) 2019 rAthena Development Team
+#   https://rathena.org - https://github.com/rathena
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+###########################################################################
+# Renewal Pet Database
+###########################################################################
+#
+# Pet Settings
+#
+###########################################################################
+# - Mob                      Monster that can be used as pet
+#   TameItem                 Pet Tame Item.
+#   EggItem                  Pet Egg Item.
+#   EquipItem                Pet Accessory Item. (Default: 0)
+#   FoodItem                 Pet Food Item. (Default: 0)
+#   Fullness                 The amount of hunger is decreased every [HungryDelay] seconds.
+#   HungryDelay              The amount of time in seconds it takes for hunger to decrease after feeding. (Default: 60)
+#   HungerIncrease           The amount of hunger that is increased every time the pet is fed (Default: 20)
+#   IntimacyStart            Amount of Intimacy the pet starts with. (Default: 250)
+#   IntimacyFed              Amount of Intimacy that is increased when fed. (Default: 50)
+#   IntimacyOverfed          Amount of Intimacy that is increased when over-fed. (Default: -100)
+#   IntimacyHungry           Amount of Intimacy that is increased when the pet is hungry. (Default: -5)
+#   IntimacyOwnerDie         Amount of Intimacy that is increased when the pet owner dies. (Default: -20)
+#   CaptureRate              Capture success rate. (10000 = 100%)
+#   SpecialPerformance       If a pet has a Special Performance. (Default: true)
+#   AttackRate               Rate of which the pet will attack [requires at least pet_support_min_friendly intimacy]. (10000 = 100%)
+#   RetaliateRate            Rate of which the pet will retaliate when master is being attacked [requires at least pet_support_min_friendly intimacy]. (10000 = 100%)
+#   ChangeTargetRate         Rate of which the pet will change its attack target. (10000 = 100%)
+#   AllowAutoFeed            Allows turning automatic pet feeding on. (Default: false)
+#   Script                   Bonus script to execute when the pet is alive. (Default: null)
+#   SupportScript            Bonus script to execute when pet_status_support is enabled. (Default: null)
+#   Evolution:               Pet evolution settings. (Optional) (Default: null)
+#     - Target               Mob this pet can evolve to.
+#       ItemRequirements:      Item requirements for evolving this pet.
+#         - Item               Self-explanatory
+#           Amount
+###########################################################################
+
+Header:
+  Type: PET_DB
+  Version: 1
+
+Body:
+  - Mob: PORING
+    TameItem: Unripe_Apple
+    EggItem: Poring_Egg
+    EquipItem: Backpack
+    FoodItem: Apple_Juice
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 2000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bLuk,2;
+        bonus bCritical,1;
+      }
+    Evolution:
+      - Target: MASTERING
+        ItemRequirements:
+          - Item: Leaf_Of_Yggdrasil
+            Amount: 10
+          - Item: Unripe_Apple
+            Amount: 3
+
+  - Mob: DROPS
+    TameItem: Orange_Juice
+    EggItem: Drops_Egg
+    EquipItem: Backpack
+    FoodItem: Yellow_Herb
+    Fullness: 4
+    IntimacyFed: 40
+    CaptureRate: 1500
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bHit,3;
+        bonus bAtk,3;
+      }
+    Evolution:
+      - Target: DR_EGGRING
+        ItemRequirements:
+          - Item: Piece_Of_Egg_Shell
+            Amount: 20
+          - Item: Old_Frying_Pan
+            Amount: 10
+          - Item: Apple_Juice
+            Amount: 3
+          - Item: Eggring_Card
+            Amount: 1
+      - Target: SWEETS_DROPS
+        ItemRequirements:
+          - Item: Sweets_Festival_Coin
+            Amount: 500
+          - Item: Candy
+            Amount: 50
+          - Item: Candy_Striper
+            Amount: 50
+          - Item: Drops_Card
+            Amount: 1
+  - Mob: POPORING
+    TameItem: Bitter_Herb
+    EggItem: Poporing_Egg
+    EquipItem: Backpack
+    FoodItem: Green_Herb
+    Fullness: 5
+    IntimacyFed: 30
+    CaptureRate: 1000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bLuk,2;
+        bonus2 bSubEle,Ele_Poison,10;
+      }
+  - Mob: LUNATIC
+    TameItem: Rainbow_Carrot
+    EggItem: Lunatic_Egg
+    EquipItem: Silk_Ribbon
+    FoodItem: Carrot_Juice
+    Fullness: 4
+    IntimacyFed: 40
+    CaptureRate: 1500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bCritical,2;
+        bonus bAtk,2;
+      }
+    Evolution:
+      - Target: DR_LUNATIC
+        ItemRequirements: 
+          - Item: Great_Leaf
+            Amount: 100
+          - Item: Clover
+            Amount: 250
+          - Item: Four_Leaf_Clover
+            Amount: 30
+          - Item: Leaf_Lunatic_Card
+            Amount: 1
+
+  - Mob: PICKY
+    TameItem: Earthworm_The_Dude
+    EggItem: Picky_Egg
+    EquipItem: Tiny_Egg_Shell
+    FoodItem: Red_Herb
+    Fullness: 4
+    IntimacyFed: 40
+    CaptureRate: 2000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bStr,1;
+        bonus bAtk,5;
+      }
+  - Mob: CHONCHON
+    TameItem: Rotten_Fish
+    EggItem: Chonchon_Egg
+    EquipItem: Monster_Oxygen_Mask
+    FoodItem: Pet_Food
+    Fullness: 6
+    IntimacyFed: 30
+    CaptureRate: 1500
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bAgi,1;
+        bonus bFlee,2;
+      }
+  - Mob: STEEL_CHONCHON
+    TameItem: Lusty_Iron
+    EggItem: Steel_Chonchon_Egg
+    EquipItem: Monster_Oxygen_Mask
+    FoodItem: Iron_Ore
+    Fullness: 5
+    IntimacyFed: 20
+    CaptureRate: 1000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bFlee,6;
+        bonus bAgi,-1;
+      }
+  - Mob: HUNTER_FLY
+    TameItem: Monster_Juice
+    EggItem: Hunter_Fly_Egg
+    EquipItem: Monster_Oxygen_Mask
+    FoodItem: Red_Gemstone
+    Fullness: 5
+    IntimacyFed: 10
+    CaptureRate: 500
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bFlee,-5;
+        bonus bFlee2,2;
+      }
+  - Mob: SAVAGE_BABE
+    TameItem: Sweet_Milk
+    EggItem: Savage_Bebe_Egg
+    EquipItem: Green_Lace
+    FoodItem: Pet_Food
+    Fullness: 7
+    IntimacyFed: 40
+    CaptureRate: 1500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bVit,1;
+        bonus bMaxHP,50;
+      }
+    Evolution:
+      - Target: SAVAGE
+        ItemRequirements:
+          - Item: Pet_Food
+            Amount: 10
+          - Item: Sweet_Milk
+            Amount: 3
+          - Item: Meat
+            Amount: 100
+          - Item: Feather
+            Amount: 50
+  - Mob: DESERT_WOLF_B
+    TameItem: Well_Dried_Bone
+    EggItem: Baby_Desert_Wolf_Egg
+    EquipItem: Transparent_Headgear
+    FoodItem: Pet_Food
+    Fullness: 6
+    IntimacyFed: 40
+    CaptureRate: 1000
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bInt,1;
+        bonus bMaxSP,50;
+      }
+  - Mob: ROCKER
+    TameItem: Singing_Flower
+    EggItem: Rocker_Egg
+    EquipItem: Rocker_Glasses
+    FoodItem: Pet_Food
+    Fullness: 1
+    IntimacyFed: 30
+    CaptureRate: 1500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bHPrecovRate,5;
+        bonus bMaxHP,25;
+      }
+    Evolution:
+      - Target: METALLER
+        ItemRequirements:
+          - Item: Singing_Plant
+            Amount: 3
+          - Item: Grasshopper's_Leg
+            Amount: 777
+          - Item: Yellow_Herb
+            Amount: 200
+          - Item: Metaller_Card
+            Amount: 1
+  - Mob: SPORE
+    TameItem: Dew_Laden_Moss
+    EggItem: Spore_Egg
+    EquipItem: Bark_Shorts
+    FoodItem: Pet_Food
+    Fullness: 3
+    IntimacyFed: 30
+    CaptureRate: 1500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bHit,5;
+        bonus bAtk,-2;
+      }
+  - Mob: POISON_SPORE
+    TameItem: Deadly_Noxious_Herb
+    EggItem: Poison_Spore_Egg
+    EquipItem: Bark_Shorts
+    FoodItem: Pet_Food
+    Fullness: 3
+    IntimacyFed: 20
+    CaptureRate: 1000
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bStr,1;
+        bonus bInt,1;
+      }
+  - Mob: PECOPECO
+    TameItem: Fatty_Chubby_Earthworm
+    EggItem: PecoPeco_Egg
+    EquipItem: Battered_Pot
+    FoodItem: Pet_Food
+    Fullness: 4
+    IntimacyFed: 30
+    CaptureRate: 1000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxHP,150;
+        bonus bMaxSP,-10;
+      }
+    Evolution:
+      - Target: GRAND_PECO
+        ItemRequirements:
+          - Item: Pet_Food
+            Amount: 10
+          - Item: Fatty_Chubby_Earthworm
+            Amount: 3
+          - Item: Peco_Wing_Feather
+            Amount: 300
+          - Item: Pecopeco_Card
+            Amount: 1
+          - Item: Fruit_Of_Mastela
+            Amount: 10
+  - Mob: SMOKIE
+    TameItem: Baked_Yam
+    EggItem: Smokie_Egg
+    EquipItem: Red_Muffler
+    FoodItem: Pet_Food
+    Fullness: 4
+    IntimacyFed: 30
+    CaptureRate: 1000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bAgi,1;
+        bonus bFlee2,1;
+      }
+  - Mob: YOYO
+    TameItem: Tropical_Banana
+    EggItem: Yoyo_Egg
+    EquipItem: Monkey_Circlet
+    FoodItem: Banana_Juice
+    Fullness: 5
+    IntimacyFed: 20
+    CaptureRate: 1000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bCritical,3;
+        bonus bLuk,-1;
+      }
+    Evolution:
+      - Target: CHOCO
+        ItemRequirements:
+          - Item: Tropical_Banana
+            Amount: 3
+          - Item: Monkey_Doll
+            Amount: 2
+          - Item: Cacao
+            Amount: 300
+          - Item: Yoyo_Card
+            Amount: 1
+  - Mob: ORK_WARRIOR
+    TameItem: Horror_Of_Tribe
+    EggItem: Orc_Warrior_Egg
+    EquipItem: Wild_Flower
+    FoodItem: Pet_Food
+    Fullness: 5
+    IntimacyFed: 20
+    CaptureRate: 500
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bAtk,10;
+        bonus bDef,-3;
+      }
+    Evolution:
+      - Target: HIGH_ORC
+        ItemRequirements:
+          - Item: Horror_Of_Tribe
+            Amount: 3
+          - Item: Orcish_Sword
+            Amount: 1
+          - Item: Orcish_Voucher
+            Amount: 500
+          - Item: Cigar
+            Amount: 1
+          - Item: Orc_Warrior_Card
+            Amount: 1
+  - Mob: MUNAK
+    TameItem: No_Recipient
+    EggItem: Munak_Egg
+    EquipItem: Punisher
+    FoodItem: Pet_Food
+    Fullness: 3
+    IntimacyFed: 20
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bInt,1;
+        bonus bDef,1;
+      }
+  - Mob: DOKEBI
+    TameItem: Old_Broom
+    EggItem: Dokkaebi_Egg
+    EquipItem: Wig
+    FoodItem: Pet_Food
+    Fullness: 4
+    IntimacyFed: 20
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMatkRate,1;
+        bonus bAtkRate,-1;
+      }
+    Evolution:
+      - Target: AM_MUT
+        ItemRequirements:
+          - Item: Old_Broom
+            Amount: 3
+          - Item: Violet_Dyestuffs
+            Amount: 3
+          - Item: Dokkaebi_Horn
+            Amount: 300
+          - Item: Gold
+            Amount: 3
+  - Mob: SOHEE
+    TameItem: Silver_Knife_Of_Chaste
+    EggItem: Sohee_Egg
+    EquipItem: Golden_Bell
+    FoodItem: Pet_Food
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bStr,1;
+        bonus bDex,1;
+      }
+  - Mob: ISIS
+    TameItem: Armlet_Of_Obedience
+    EggItem: Isis_Egg
+    EquipItem: Queen's_Hair_Ornament
+    FoodItem: Pet_Food
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMatkRate,-1;
+        bonus bAtkRate,1;
+      }
+    Evolution:
+      - Target: LITTLE_ISIS
+        ItemRequirements:
+          - Item: Armlet_Of_Obedience
+            Amount: 3
+          - Item: Crystal_Jewel__
+            Amount: 6
+          - Item: Queen's_Hair_Ornament
+            Amount: 1
+          - Item: Shining_Scales
+            Amount: 300
+  - Mob: PETIT
+    TameItem: Shining_Stone
+    EggItem: Green_Petite_Egg
+    EquipItem: Stellar_Hairpin
+    FoodItem: Pet_Food
+    Fullness: 4
+    IntimacyFed: 20
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bDef,-2;
+        bonus bMdef,-2;
+        bonus bAspdRate,1;
+      }
+    Evolution:
+      - Target: DELETER_2
+        ItemRequirements:
+          - Item: Shining_Stone
+            Amount: 3
+          - Item: Petti_Tail
+            Amount: 100
+          - Item: Aloebera
+            Amount: 150
+          - Item: Deleter_Card
+            Amount: 1
+  - Mob: DEVIRUCHI
+    TameItem: Contracts_In_Shadow
+    EggItem: Deviruchi_Egg
+    EquipItem: Pacifier
+    FoodItem: Shoot
+    Fullness: 2
+    IntimacyFed: 10
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMatkRate,1;
+        bonus bAtkRate,1;
+        bonus bMaxHPrate,-3;
+        bonus bMaxSPrate,-3;
+      }
+    Evolution:
+      - Target: DIABOLIC2
+        ItemRequirements:
+          - Item: Contracts_In_Shadow
+            Amount: 3
+          - Item: Petite_DiablOfs_Wing
+            Amount: 250
+          - Item: Sacred_Marks
+            Amount: 30
+          - Item: Deviruchi_Card
+            Amount: 1
+  - Mob: BAPHOMET_
+    TameItem: Book_Of_Devil
+    EggItem: Bapho_Jr._Egg
+    EquipItem: Skull_Helm
+    FoodItem: Honey
+    Fullness: 2
+    IntimacyFed: 10
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bDef,1;
+        bonus bMdef,1;
+        bonus2 bResEff,Eff_Stun,-100;
+      }
+  - Mob: BON_GUN
+    TameItem: Heart_Of_Her
+    EggItem: Bongun_Egg
+    EquipItem: Sword_Of_Grave_Keeper
+    FoodItem: Pet_Food
+    Fullness: 4
+    IntimacyFed: 30
+    CaptureRate: 500
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bVit,1;
+        bonus2 bResEff,Eff_Stun,100;
+      }
+    Evolution:
+      - Target: HYEGUN
+        ItemRequirements:
+          - Item: Hyegun_Hat
+            Amount: 1
+          - Item: Munak_Doll
+            Amount: 100
+          - Item: Old_Portrait
+            Amount: 50
+          - Item: Hyegun_Card
+            Amount: 1
+  - Mob: ZHERLTHSH
+    TameItem: Prohibition_Red_Candle
+    EggItem: Zherlthsh_Egg
+    FoodItem: Immortal_Heart
+    Fullness: 7
+    IntimacyFed: 10
+    CaptureRate: 300
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bAddRace,RC_Demihuman,2;
+        bonus2 bMagicAddRace,RC_DemiHuman,2;
+        bonus2 bAddRace,RC_Player,2;
+        bonus2 bMagicAddRace,RC_Player,2;
+      }
+  - Mob: ALICE
+    TameItem: Sway_Apron
+    EggItem: Alice_Egg
+    FoodItem: White_Potion
+    Fullness: 2
+    IntimacyFed: 20
+    CaptureRate: 800
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMdef,1;
+        bonus2 bSubRace,RC_DemiHuman,1;
+        bonus2 bSubRace,RC_Player,1;
+      }
+  - Mob: EVENT_RICECAKE
+    EggItem: Rice_Cake_Egg
+    FoodItem: Green_Herb
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 2000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bSubEle,Ele_Neutral,1;
+        bonus bMaxHPrate,-1;
+      }
+  - Mob: GOBLINE_XMAS
+    TameItem: Sweet_Candy_Striper
+    EggItem: Santa_Goblin_Egg
+    FoodItem: Scell
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 2000
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxHP,30;
+        bonus2 bSubEle,Ele_Water,1;
+      }
+  - Mob: CHUNG_E
+    TameItem: Tantanmen
+    EggItem: Chung_E_Egg
+    FoodItem: Bun_
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 2000
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bDef,1;
+        bonus2 bSubRace,RC_DemiHuman,1;
+        bonus2 bSubRace,RC_Player,1;
+      }
+  - Mob: ECLIPSE_P
+    EggItem: Spring_Rabbit_Egg
+    FoodItem: Bok_Choy
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 2000
+    SpecialPerformance: false
+  - Mob: GOBLIN_1
+    TameItem: Knife_Goblin_Ring
+    EggItem: Knife_Goblin_Egg
+    FoodItem: Green_Apple
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 800
+    SpecialPerformance: false
+  - Mob: GOBLIN_2
+    TameItem: Flail_Goblin_Ring
+    EggItem: Flail_Goblin_Egg
+    FoodItem: Green_Apple
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 800
+    SpecialPerformance: false
+  - Mob: GOBLIN_4
+    TameItem: Hammer_Goblin_Ring
+    EggItem: Hammer_Goblin_Egg
+    FoodItem: Green_Apple
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 800
+    SpecialPerformance: false
+  - Mob: DELETER_
+    TameItem: Holy_Marble
+    EggItem: Red_Deleter_Egg
+    FoodItem: Whole_Barbecue
+    Fullness: 4
+    IntimacyFed: 20
+    CaptureRate: 800
+    SpecialPerformance: false
+  - Mob: DIABOLIC
+    TameItem: Red_Burning_Stone
+    EggItem: Diabolic_Egg
+    FoodItem: Meat_Veg_Skewer
+    Fullness: 2
+    IntimacyFed: 10
+    CaptureRate: 800
+    SpecialPerformance: false
+  - Mob: WANDER_MAN
+    TameItem: Skull_Of_Vagabond
+    EggItem: Wanderer_Egg
+    FoodItem: Spirit_Liquor
+    Fullness: 2
+    IntimacyFed: 20
+    CaptureRate: 800
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bAgi,3;
+        bonus bDex,1;
+      }
+  - Mob: P_CHUNG_E
+    EggItem: New_Year_Doll_Egg
+    FoodItem: Mojji
+    Fullness: 3
+    IntimacyFed: 30
+    CaptureRate: 800
+    SpecialPerformance: false
+  - Mob: GOLEM
+    TameItem: Magical_Lithography
+    EggItem: Golem_Egg
+    EquipItem: Windup_Spring
+    FoodItem: Mystic_Stone
+    Fullness: 7
+    IntimacyFed: 20
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxHP,100;
+        bonus bFlee,-5;
+      }
+  - Mob: MARIONETTE
+    TameItem: Delicious_Shaved_Ice
+    EggItem: Marionette_Egg
+    EquipItem: Star_Hairband
+    FoodItem: Small_Snow_Flower
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bSPrecovRate,3;
+      }
+  - Mob: MEDUSA
+    TameItem: Splendid_Mirror
+    EggItem: Medusa_Egg
+    EquipItem: Queen's_Coronet
+    FoodItem: Apple_Pudding
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bVit,1;
+        bonus2 bResEff,Eff_Stone,500;
+      }
+  - Mob: WHISPER
+    TameItem: Fit_Pipe
+    EggItem: Whisper_Egg
+    EquipItem: Spirit_Chain_
+    FoodItem: Damp_Darkness
+    Fullness: 7
+    IntimacyFed: 20
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bFlee,7;
+        bonus bDef,-3;
+      }
+  - Mob: GOBLIN_LEADER
+    TameItem: Staff_Of_Leader
+    EggItem: Goblin_Leader_Egg
+    EquipItem: Nice_Badge
+    FoodItem: Big_Cell
+    Fullness: 7
+    IntimacyFed: 10
+    CaptureRate: 50
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bAddRace,RC_DemiHuman,3;
+        bonus2 bAddRace,RC_Player,3;
+      }
+  - Mob: SUCCUBUS
+    TameItem: Boy's_Naivety
+    EggItem: Succubus_Egg
+    EquipItem: Black_Butterfly_Mask
+    FoodItem: Vital_Flower_
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bHPDrainRate,30,5;
+        bonus bMaxHPrate,1;
+      }
+  - Mob: INCUBUS
+    TameItem: Gril's_Naivety
+    EggItem: Incubus_Egg
+    EquipItem: Ball_Mask
+    FoodItem: Vital_Flower
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 50
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxSPRate,5;
+        bonus2 bSPDrainRate,30,1;
+      }
+  - Mob: NIGHTMARE_TERROR
+    TameItem: Hell_Contract
+    EggItem: Nightmare_Terror_Egg
+    EquipItem: Hell_Horn
+    FoodItem: Fresh_Plant
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bResEff,Eff_Sleep,10000;
+      }
+  - Mob: SHINOBI
+    TameItem: Kuloren
+    EggItem: Shinobi_Egg
+    EquipItem: Wine_On_Sleeve
+    FoodItem: Grilled_Rice_Cake
+    Fullness: 7
+    IntimacyFed: 20
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bAgi,2;
+      }
+  - Mob: MIYABI_NINGYO
+    TameItem: Gril_Doll
+    EggItem: Miyabi_Ningyo_Egg
+    EquipItem: Summer_Fan
+    FoodItem: Well_Ripened_Berry
+    Fullness: 3
+    IntimacyFed: 15
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bInt,1;
+        bonus bCastrate,-3;
+      }
+  - Mob: WICKED_NYMPH
+    TameItem: Charming_Lotus
+    EggItem: Wicked_Nymph_Egg
+    EquipItem: Jade_Trinket
+    FoodItem: Morning_Dew
+    Fullness: 3
+    IntimacyFed: 15
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxSP,30;
+        bonus bSPrecovRate,5;
+      }
+  - Mob: STONE_SHOOTER
+    TameItem: Oilpalm_Coconut
+    EggItem: Stone_Shooter_Egg
+    EquipItem: Apro_Hair
+    FoodItem: Plant_Neutrient
+    Fullness: 7
+    IntimacyFed: 20
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bSubEle,Ele_Fire,3;
+      }
+  - Mob: DULLAHAN
+    TameItem: Luxury_Whisky_Bottle
+    EggItem: Dullahan_Egg
+    EquipItem: Death_Coil
+    FoodItem: Sunset_On_The_Rock
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bCritAtkRate,5;
+      }
+  - Mob: LOLI_RURI
+    TameItem: Very_Red_Juice
+    EggItem: Loli_Ruri_Egg
+    EquipItem: Fashionable_Glasses
+    FoodItem: Pumpkin_Pie_
+    Fullness: 3
+    IntimacyFed: 15
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxHPRate,3;
+        bonus3 bAutoSpellWhenHit,"AL_HEAL",1,10;
+      }
+  - Mob: CIVIL_SERVANT
+    TameItem: Fan_Of_Wind
+    EggItem: Civil_Servant_Egg
+    EquipItem: Golden_Earing
+    FoodItem: Flavored_Alcohol
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 500
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxSP,10;
+      }
+  - Mob: LEAF_CAT
+    TameItem: Very_Soft_Plant
+    EggItem: Leaf_Cat_Egg
+    EquipItem: Green_Lucky_Bag
+    FoodItem: Fish_With_Blue_Back
+    Fullness: 7
+    IntimacyFed: 20
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bSubRace,RC_Brute,3;
+      }
+  - Mob: BACSOJIN_
+    TameItem: Shiny_Wing_Gown
+    EggItem: Bacsojin_Egg
+    EquipItem: Round_Hair_Ornament
+    FoodItem: Traditional_Cookie
+    Fullness: 7
+    IntimacyFed: 10
+    CaptureRate: 2000
+    SpecialPerformance: false
+  - Mob: IMP
+    TameItem: Flaming_Ice
+    EggItem: Imp_Egg
+    EquipItem: Horn_Protector
+    FoodItem: Flame_Gemstone
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 200
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bSubEle,Ele_Fire,2;
+        bonus2 bAddEle,Ele_Fire,2;
+      }
+  - Mob: E_CRAMP
+    TameItem: Leaf_Cat_Ball
+    EggItem: Mystic_Leaf_Cat_Ball
+    Fullness: 0
+    HungryDelay: 0
+    IntimacyStart: 0
+    IntimacyFed: 0
+    IntimacyOverfed: 0
+    IntimacyOwnerDie: 0
+    CaptureRate: 50
+    SpecialPerformance: false
+  - Mob: E_HYDRA
+    TameItem: Leaf_Cat_Ball
+    EggItem: Mystic_Leaf_Cat_Ball
+    Fullness: 0
+    HungryDelay: 0
+    IntimacyStart: 0
+    IntimacyFed: 0
+    IntimacyOverfed: 0
+    IntimacyOwnerDie: 0
+    CaptureRate: 50
+    SpecialPerformance: false
+  - Mob: J_TAINI
+    EggItem: Egg_Of_Tiny
+    FoodItem: Apple
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 0
+  - Mob: XMAS_LUNATIC
+    EggItem: Snow_Rabbit_Egg
+    FoodItem: Candy
+    Fullness: 3
+    IntimacyFed: 10
+    CaptureRate: 0
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bExpAddRace,RC_All,5;
+      }
+  - Mob: TIKBALANG
+    TameItem: Tikbalang_Belt
+    EggItem: Tikbalang_Pet
+    FoodItem: Monster's_Feed
+    Fullness: 8
+    IntimacyFed: 10
+    CaptureRate: 1000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus2 bAddDamageClass,2317,10;
+        bonus2 bAddDamageClass,2318,10;
+        bonus2 bAddDamageClass,2319,10;
+        bonus2 bAddDamageClass,2320,10;
+        bonus2 bAddDamageClass,2321,10;
+        bonus2 bAddDamageClass,2322,10;
+        bonus2 bAddDamageClass,2327,10;
+        bonus2 bAddDamageClass,2332,10;
+        bonus2 bAddDamageClass,2333,10;
+      }
+  - Mob: MARIN
+    TameItem: Juicy_Fruit
+    EggItem: Marin_Egg
+    EquipItem: Tw_Backpack
+    FoodItem: Fruit_Sundae
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 2000
+  - Mob: LITTLE_PORING
+    TameItem: Unripe_Apple2
+    EggItem: Novice_Poring_Egg
+    FoodItem: Apple_Juice
+    Fullness: 3
+    IntimacyFed: 1000
+    IntimacyOverfed: 0
+    IntimacyOwnerDie: 0
+    CaptureRate: 5000
+    SpecialPerformance: false
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bHPrecovRate,50;
+      }
+  - Mob: NINE_TAIL
+    TameItem: Sap_Liquid
+    EggItem: Nine_Tail_Egg
+    FoodItem: Suspicious_Bottle
+    Fullness: 4
+    IntimacyFed: 50
+    CaptureRate: 2000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bCritical,3;
+        bonus bHit,2;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bCritical,2;
+        bonus bHit,2;
+      }
+    Evolution:
+      - Target: CAT_O_NINE_TAIL
+        ItemRequirements:
+          - Item: Sap_Liquid
+            Amount: 3
+          - Item: Fox_Tail
+            Amount: 999
+          - Item: Punisher
+            Amount: 1
+          - Item: Nine_Tail_Card
+            Amount: 1
+  - Mob: GREMLIN
+    TameItem: Unprocessed_Parts
+    EggItem: Gremlin_Egg
+    FoodItem: Cheap_Lubricant
+    Fullness: 4
+    IntimacyFed: 50
+    CaptureRate: 2000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus Dex,2;
+        bonus bHit,1;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bDex,1;
+        bonus bHit,1;
+      }
+    Evolution:
+      - Target: HODREMLIN
+        ItemRequirements:
+          - Item: Unprocessed_Parts
+            Amount: 3
+          - Item: Damp_Darkness
+            Amount: 50
+          - Item: Will_Of_Darkness
+            Amount: 200
+          - Item: Hodremlin_Card
+            Amount: 1
+  - Mob: MUMMY
+    TameItem: Elixir_Bandages
+    EggItem: Mummy_Egg
+    FoodItem: Mementos
+    Fullness: 7
+    IntimacyFed: 50
+    CaptureRate: 2000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bHit,5;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bHit,4;
+      }
+    Evolution:
+      - Target: ANCIENT_MUMMY
+        ItemRequirements:
+          - Item: Elixir_Bandages
+            Amount: 3
+          - Item: Rune_Of_Darkness
+            Amount: 200
+          - Item: Gold
+            Amount: 30
+          - Item: Ancient_Mummy_Card
+            Amount: 1
+  - Mob: TEDDY_BEAR
+    TameItem: Small_Needle_Kit
+    EggItem: Teddy_Bear_Egg
+    FoodItem: Cotton_Tufts
+    Fullness: 3
+    IntimacyFed: 50
+    CaptureRate: 2000
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bMaxSP,150;
+      }
+    Evolution:
+      - Target: XM_TEDDY_BEAR
+        ItemRequirements:
+          - Item: Small_Needle_Kit
+            Amount: 3
+          - Item: Cursed_Seal
+            Amount: 300
+          - Item: Cardinal_Jewel_
+            Amount: 50
+          - Item: Teddy_Bear_Card
+            Amount: 1
+
+  # Pet Evolution, most are dummy values
+  - Mob: MASTERING
+    EggItem: Mastering_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bLuk,3;
+        bonus bCritical,3;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bLuk,3;
+        bonus bCritical,2;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bLuk,3;
+        bonus bCritical,1;
+      }else{
+        bonus bLuk,2;
+        bonus bCritical,1;
+      }
+    Evolution:
+      - Target: ANGELING
+        ItemRequirements:
+          - Item: Yellow_Potion
+            Amount: 20
+          - Item: Spirit_Chain
+            Amount: 1
+          - Item: White_Herb
+            Amount: 50
+          - Item: Jellopy
+            Amount: 200
+  - Mob: METALLER
+    EggItem: Metaller_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bHPrecovRate,20;
+        bonus bMaxHP,70;
+        bonus2 bAddRace,RC_Plant,6;
+        bonus2 bMagicAddRace,RC_Plant,6;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bHPrecovRate,15;
+        bonus bMaxHP,55;
+        bonus2 bAddRace,RC_Plant,3;
+        bonus2 bMagicAddRace,RC_Plant,3;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bHPrecovRate,10;
+        bonus bMaxHP,38;
+      }else{
+        bonus bHPrecovRate,5;
+        bonus bMaxHP,25;
+      }
+  - Mob: ANGELING
+    EggItem: Angeling_Egg
+    FoodItem: Pet_Food
+    Fullness: 1
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxHPrate,2;
+        bonus bHealPower,8;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bMaxHPrate,2;
+        bonus bHealPower,6;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bMaxHPrate,1;
+        bonus bHealPower,4;
+      }else{
+        bonus bMaxHPrate,1;
+        bonus bHealPower,2;
+      }
+  - Mob: MOONLIGHT
+    EggItem: Moonlight_Egg
+    FoodItem: Luxurious_Pet_Food
+    Fullness: 1
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bCritical,6;
+        bonus bHit,6;
+        autobonus "{ bonus bHPRegenRate,500,1000; bonus bSPRegenRate,20,1000; }",30,5000,BF_WEAPON|BF_SHORT;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bCritical,5;
+        bonus bHit,5;
+        autobonus "{ bonus bHPRegenRate,400,1000; bonus bSPRegenRate,10,1000; }",30,5000,BF_WEAPON|BF_SHORT;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bCritical,4;
+        bonus bHit,4;
+        autobonus "{ bonus bHPRegenRate,300,1000; }",20,5000,BF_WEAPON|BF_SHORT;
+      }else{
+        bonus bCritical,3;
+        bonus bHit,3;
+      }
+  - Mob: SAVAGE
+    EggItem: Savage_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxHP,200;
+        bonus bVit,2;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bMaxHP,100;
+        bonus bVit,2;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bMaxHP,50;
+        bonus bVit,2;
+      }else{
+        bonus bMaxHP,50;
+        bonus bVit,1;
+      }
+  - Mob: HIGH_ORC
+    EggItem: High_Orc_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxHP,200;
+        bonus bVit,2;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bMaxHP,100;
+        bonus bVit,2;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bMaxHP,50;
+        bonus bVit,2;
+      }else{
+        bonus bMaxHP,50;
+        bonus bVit,1;
+      }
+  - Mob: CHOCO
+    EggItem: Choco_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bCritical,9;
+        bonus bLongAtkRate,3;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bCritical,7;
+        bonus bLongAtkRate,2;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bCritical,5;
+        bonus bLongAtkRate,1;
+      }else{
+        bonus bCritical,3;
+      }
+  - Mob: ANCIENT_MUMMY
+    EggItem: Ancient_Mummy_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bHit,6;
+        bonus2 bAddClass,Class_All,6;
+        bonus2 bMagicAddClass,Class_All,6;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bHit,6;
+        bonus2 bAddClass,Class_All,3;
+        bonus2 bMagicAddClass,Class_All,3;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bHit,5;
+      }else{
+        bonus bHit,4;
+      }
+  - Mob: AM_MUT
+    EggItem: Am_Mut_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMatkRate,4;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bMatkRate,3;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bMatkRate,2;
+      }else{
+        bonus bMatkRate,1;
+      }
+  - Mob: CAT_O_NINE_TAIL
+    EggItem: Cat_o_Nine_Tail_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bCritical,5;
+        bonus bHit,5;
+        autobonus "{ bonus bHPRegenRate,400,1000; }",20,5000,BF_WEAPON|BF_SHORT;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bCritical,4;
+        bonus bHit,4;
+        autobonus "{ bonus bHPRegenRate,300,1000; }",20,5000,BF_WEAPON|BF_SHORT;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bCritical,3;
+        bonus bHit,3;
+      }else{
+        bonus bCritical,2;
+        bonus bHit,2;
+      }
+    Evolution:
+      - Target: MOONLIGHT
+        ItemRequirements:
+          - Item: Powerful_Soul_Essence
+            Amount: 30
+          - Item: Nine_Tail_Card
+            Amount: 10
+          - Item: Sohee_Card
+            Amount: 10
+          - Item: Munak_Card
+            Amount: 10
+  - Mob: GRAND_PECO
+    EggItem: Grand_Peco_Peco_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxHP,400;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bMaxHP,300;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bMaxHP,200;
+      }else{
+        bonus bMaxHP,150;
+      }
+  - Mob: HYEGUN
+    EggItem: Hyegun_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bVit,4;
+        bonus2 bResEff,Eff_Stun,400;
+        bonus2 bSPDrainRate,20,1;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bVit,3;
+        bonus2 bResEff,Eff_Stun,300;
+        bonus2 bSPDrainRate,10,1;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bVit,2;
+        bonus2 bResEff,Eff_Stun,200;
+      }else{
+        bonus bVit,1;
+        bonus2 bResEff,Eff_Stun,100;
+      }
+  - Mob: HODREMLIN
+    EggItem: Hodremlin_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bDex,2;
+        bonus bHit,2;
+        bonus bCritAtkRate,9;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bDex,2;
+        bonus bHit,2;
+        bonus bCritAtkRate,7;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bDex,2;
+        bonus bHit,1;
+      }else{
+        bonus bDex,1;
+        bonus bHit,1;
+      }
+  - Mob: XM_TEDDY_BEAR
+    EggItem: Xm_Teddy_Bear_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bMaxSP,150;
+        autobonus "{ bonus bSPRegenRate,40,1000; }",30,5000,BF_MAGIC;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bMaxSP,150;
+        autobonus "{ bonus bSPRegenRate,30,1000; }",30,5000,BF_MAGIC;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bMaxSP,100;
+      }else{
+        bonus bMaxSP,50;
+      }
+  - Mob: DR_EGGRING
+    EggItem: Eggring_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bHit,9;
+        bonus bAtk,9;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bHit,7;
+        bonus bAtk,7;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bHit,5;
+        bonus bAtk,5;
+      }else{
+        bonus bHit,3;
+        bonus bAtk,3;
+      }
+  - Mob: DR_LUNATIC
+    EggItem: Dr_Lunatic_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bCritical,5;
+        bonus bAtk,5;
+        bonus2 bAddRace,RC_Formless,6;
+        bonus2 bMagicAddRace,RC_Formless,6;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bCritical,4;
+        bonus bAtk,4;
+        bonus2 bAddRace,RC_Formless,3;
+        bonus2 bMagicAddRace,RC_Formless,3;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bCritical,3;
+        bonus bAtk,3;
+      }else{
+        bonus bCritical,2;
+        bonus bAtk,2;
+      }
+  - Mob: LITTLE_ISIS
+    EggItem: Little_Isis_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bAtkRate,4;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bAtkRate,3;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bAtkRate,2;
+      }else{
+        bonus bAtkRate,1;
+      }
+  - Mob: DIABOLIC2
+    EggItem: Diabolic_2_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bAtkRate,2;
+        bonus bMatkRate,2;
+        bonus bMaxHPrate,1;
+        bonus bMaxSPrate,1;
+        bonus5 bAutoSpell,"MG_FIREBOLT",3,50,BF_WEAPON|BF_SHORT,1;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bAtkRate,1;
+        bonus bMatkRate,1;
+        bonus bMaxHPrate,1;
+        bonus bMaxSPrate,1;
+      }else{
+        bonus bAtkRate,1;
+        bonus bMatkRate,1;
+      }
+  - Mob: DELETER_2
+    EggItem: Fire_Deleter_Egg
+    FoodItem: Pet_Food
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_LOYAL ){
+        bonus bAspdRate,3;
+        bonus bAgi,3;
+      }else if( .@i >= PET_INTIMATE_CORDIAL ){
+        bonus bAspdRate,2;
+        bonus bAgi,2;
+      }else if( .@i >= PET_INTIMATE_NEUTRAL ){
+        bonus bAspdRate,2;
+        bonus bAgi,1;
+      }else{
+        bonus bAspdRate,1;
+      }
+  - Mob: SWEETS_DROPS
+    EggItem: Sweet_Drops_Egg
+    FoodItem: Candy
+    Fullness: 2
+    HungryDelay: 120
+    IntimacyFed: 15
+    CaptureRate: 0
+    SpecialPerformance: false
+    AllowAutoFeed: true
+    Script: >
+      .@i = getpetinfo(PETINFO_INTIMATE);
+      
+      if( .@i >= PET_INTIMATE_CORDIAL ){
+        /* bonus2 bExpAddClass,Class_All,3; */
+        bonus2 bExpAddClass,Class_All,1;
+      }

+ 173 - 43
db/re/quest_db.txt

@@ -140,6 +140,23 @@
 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"
 
+// Rockridge
+1298,0,3740,20,0,0,0,0,0,0,0,0,0,0,0,0,0,"Gas! Gas!"
+1299,4:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Patrol Once a Day"
+
+1321,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Spotty and Her Ring"
+1322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Found Something"
+1323,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Spotty, No!"
+1324,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Spotty, No!"
+1325,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Spotty, No!"
+1326,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Spotty, No!"
+1327,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Spotty, No!"
+1328,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Found Missing Items"
+1329,4:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Spotty in the Dreamland"
+1330,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Spotty's Holes"
+1331,0,3736,3,3737,3,3738,3,0,0,0,0,0,0,0,0,0,"Avenging Spotty"
+1332,4:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Blood for Blood"
+
 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"
 2002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Job Change to Blacksmith"
@@ -1575,6 +1592,36 @@
 7563,72000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Standby for Kafragaten Challenge 1"
 7564,72000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Standby for Kafragaten Challenge 2"
 
+// Devil Tower Memorial
+7568,5400,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Explore the tower"
+7569,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Treat the injured"
+7570,0,2939,7,2940,7,2941,7,0,0,0,0,0,0,0,0,0,"Destroy the demons"
+7571,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Tower Expedition"
+7572,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Lucile...?"
+7573,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Magic Swordman Thanatos"
+7574,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Thanatos Tower"
+7576,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Morocc castle seal"
+7577,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Space distortion"
+
+// Episode 14.3
+7578,0,3061,1,0,0,0,0,3061,6392,10000,0,0,0,0,0,0,"Rampaging Box"
+7579,0,3061,10,0,0,0,0,3061,6392,10000,0,0,0,0,0,0,"Collecting Bradiums"
+7580,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Collecting Every Day"
+7581,0,3039,1,3040,1,3041,1,0,0,0,0,0,0,0,0,0,"Eliminating Risks"
+7582,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Daily Cleaning"
+7583,0,0,0,0,0,0,0,3039,6708,10000,3040,6708,10000,3041,6708,10000,"Collecting Mana"
+7584,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Unending Battle"
+
+// Episode 14.3 part 2 - End of morocc
+7593,0,3097,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Demon God Subjugation"
+7594,0,3091,1,3092,1,0,0,0,0,0,0,0,0,0,0,0,"Frost Spider and Fire Wolf"
+7595,0,3101,3,3102,3,3103,3,0,0,0,0,0,0,0,0,0,"Wandering Orb Magic"
+// 7596,0,0,0,0,0,0,0,3105,6713,10000,3106,6714,10000,0,0,0,"Qualifications of the Guests"
+7597,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Fall of the False God"
+7598,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Caged God"
+7599,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Unending Hunt"
+7600,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Promising Tomorrow"
+
 // Episode 15.1 Verus City
 7606,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Phantasmagorika Excavator Recruitment"
 7607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Eden Group Leader"
@@ -1661,6 +1708,28 @@
 7722,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"EMT"
 7723,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The potential within"
 
+// Rockridge
+7790,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Rock Ridge, Land of Opportunities"
+7791,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Problems in Rock Ridge"
+7792,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Problems in Rock Ridge 2"
+7793,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Good News"
+7794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Expected Response"
+7795,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Negotiation on the Railroad"
+7796,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Unexpected Arrest"
+7797,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Hear Me Out 1"
+7798,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Perfectly Prime"
+7799,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Shawn McCurdy's Weapon 1"
+7800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Shawn McCurdy's Weapon 2"
+7801,0,0,0,0,0,0,0,3742,25247,10000,0,0,0,0,0,0,"Shawn McCurdy's Weapon 3"
+7802,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Hear Me Out 2"
+7803,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Happy for Broken Trust"
+7804,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Location of the Ores"
+7805,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Location of the Ores 2"
+7806,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Location of the Ores 3"
+7807,0,3736,3,3737,3,3738,3,0,0,0,0,0,0,0,0,0,"Ace up Our Sleeve"
+7808,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Case Solved"
+7809,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Collecting Ores"
+
 8000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Quitting Job Change"
 8001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Job Change to Assassin"
 8002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Job Change to Assassin"
@@ -2046,39 +2115,39 @@
 9270,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The way to be a strong Mage - 4"
 
 //Geffen Magic Tournament
-9284,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9285,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9292,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9293,0,1106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9295,0,2549,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9296,0,2550,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9297,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9298,0,2553,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9299,0,2554,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9300,0,2555,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9301,0,2556,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9302,0,2557,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9303,0,2558,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9304,0,2559,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9305,0,2560,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9306,0,2561,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9307,0,2562,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9308,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9311,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9313,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9315,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
-9316,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen"
+9284,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Stopping Geffen Gangsters"
+9285,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Beating Geffen Gangsters"
+9286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Stop Geffen Gangsters"
+9287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Defeating Geffen Gangsters"
+9288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Catch a Geffen thief"
+9289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Get things back from the thief"
+9290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Participate in Magic competitions"
+9291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Participate in Magic competitions"
+9292,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Participate in Magic competitions"
+9293,0,1106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Register in Magic Competition"
+9294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Registration Complete"
+9295,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"1st match of the Tournament has started"
+9296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"2nd match of the Competition has started"
+9297,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"3rd match of the Competition has started"
+9298,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"4th match of the Competition has started"
+9299,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"5th match of the Competition has started"
+9300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"6th match of the Competition has started"
+9301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"7th match of the Competition has started"
+9302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"8th match of the Competition has started"
+9303,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"9th match of the Competition has started"
+9304,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"10th match of the Competition has started"
+9305,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"11th match of the Competition has started"
+9306,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"12th match of the Competition has started"
+9307,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Final match of the Competition has started"
+9308,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Magic Competition Win~!"
+9309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Magic Tournament defeat"
+9310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Encounter Iris"
+9311,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Encounter Chaos"
+9312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Encounter Lydia"
+9313,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Encounter Fenrir"
+9314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Encounter Loki"
+9315,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Exploring the dimensional gap"
+9316,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Re-exploring the crack of spaces"
 
 // EP14.3 Morse's Cave
 9318,0,3000,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Pursuing Hiding Morroc"
@@ -2098,6 +2167,13 @@
 9336,604800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Go back to Professor Bernhard"
 9337,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Wrapping up the Adventure"
 
+// Rockridge
+9457,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Solved Anyway"
+9458,0,3743,20,0,0,0,0,0,0,0,0,0,0,0,0,0,"Pipe Cleaning"
+9459,4:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Too Early for Pipe Cleaning"
+9460,0,0,0,0,0,0,0,3736,25260,5000,3737,25260,5000,3739,25260,5000,"Collecting Ore Fragments"
+9461,4:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Enough Ores"
+
 10000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"To the Prontera Royal Court"
 10001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Qualification Test"
 10002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Qualification Review"
@@ -2986,6 +3062,38 @@
 // Banquet Quests
 12369,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Secret Business Relation"
 
+// Rockridge
+12381,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"New Continent's Food Supplier"
+12382,4:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Distributing Food"
+12383,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Sweet Potato Delivery"
+12384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Meat Delivery"
+12385,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Carrot Delivery"
+12386,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Banana Delivery"
+12387,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Pumpkin Delivery"
+12388,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Mushroom Delivery"
+12389,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Guardian of Rock Ridge"
+12390,4:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Relieved for Now"
+12391,0,3736,15,0,0,0,0,0,0,0,0,0,0,0,0,0,"Buffaloes with Rifles"
+12392,0,3737,15,0,0,0,0,0,0,0,0,0,0,0,0,0,"Punishing the Red Masks"
+12393,0,3738,15,0,0,0,0,0,0,0,0,0,0,0,0,0,"Eye Patch Desperadoes"
+12394,0,3739,20,0,0,0,0,0,0,0,0,0,0,0,0,0,"Exterminate Gray Four-legged Beasts"
+12395,0,3787,10,0,0,0,0,0,0,0,0,0,0,0,0,0,"Exterminate Swamp Arclouzes"
+12396,0,3788,10,0,0,0,0,0,0,0,0,0,0,0,0,0,"Exterminate Brown Rats"
+12398,4:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"You're Good"
+12399,0,3747,10,0,0,0,0,0,0,0,0,0,0,0,0,0,"Hunt Heinous Criminals"
+12400,0,3748,10,0,0,0,0,0,0,0,0,0,0,0,0,0,"Hunt Heinous Criminals"
+12401,0,3749,10,0,0,0,0,0,0,0,0,0,0,0,0,0,"Hunt Heinous Criminals"
+12402,0,3740,10,0,0,0,0,0,0,0,0,0,0,0,0,0,"Eliminate Dangerous Gas"
+12403,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Laborers of Rock Ridge"
+12404,4:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Are You Not Tired?"
+12405,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Maintain the Red Pipe"
+12406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Maintain the Blue Pipe"
+12407,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Maintain the Yellow Pipe"
+12408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Maintain the White Pipe"
+12409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Pipes Maintained"
+12410,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Contract with the Wealthy Merchant"
+12411,4:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Come Back Tomorrow"
+
 13000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"RWC2011Card Gathering"
 13001,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"RWC2011Card Gathering - Hold"
 
@@ -3369,6 +3477,17 @@
 14591,0,3501,10,0,0,0,0,0,0,0,0,0,0,0,0,0,"Secret Ingredient"
 14592,04:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Resting Time"
 
+// Rock Ridge
+14672,0,3740,15,0,0,0,0,0,0,0,0,0,0,0,0,0,"Preparing for the Firework Festival"
+14673,4:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Time to Make Bombs"
+
+// A Bed Of Honor
+14683,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Mysterious Device"
+14684,3600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Mysterious Device"
+14685,3600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Mysterious Device"
+14686,3600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Mysterious Device"
+14687,3600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Mysterious Device"
+
 // Academy 14.2
 15000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Experiencing abnormal statuses"
 15001,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Hold your breath"
@@ -3496,16 +3615,27 @@
 16075,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Serin's Ambitions"
 16076,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Witch's Tonic"
 16077,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Serin's Release"
-16078,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Visit with Lady Hell"
-16079,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Sign"
-16080,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Dark Lord's return"
-16081,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Serin's Ambitions"
-16082,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Dark Lord's return"
-16083,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Serin's Realization"
-16084,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Sign"
-16085,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Sign"
-16086,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Sign"
-16087,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"The Sign"
+
+// Rock Ridge
+16078,0,3739,30,0,0,0,0,0,0,0,0,0,0,0,0,0,"Peace of the Family"
+16079,4:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Back for More Coyotes Tomorrow"
+16080,0,3739,30,0,0,0,0,0,0,0,0,0,0,0,0,0,"Hunting Coyotes Again"
+16081,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Failed to Get Juice Mix Package"
+16082,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Discovered Suspicious Sand Pile"
+16083,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Discovered Wasteland Cactuten"
+16084,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Discovered Suspicious Sand Pile"
+16085,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Discovered Coyote"
+16086,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Discovered Suspicious Sand Pile"
+16087,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Discovered Cactus Girl"
+16088,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Discovered Coyote"
+16089,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Discovered Suspicious Sand Pile"
+16090,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Discovered Suspicious Sand Pile"
+16091,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Discovered Suspicious Sand Pile"
+16092,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Discovered Suspicious Sand Pile"
+16093,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Discovered Suspicious Sand Pile"
+16094,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Discovered Suspicious Sand Pile"
+16095,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Discovered Suspicious Sand Pile"
+
 16101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Kiel Hyre Academy"
 16102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Kiel Hyre Academy"
 16103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Kiel Hyre Academy"

+ 33 - 21
db/re/skill_cast_db.txt

@@ -21,7 +21,7 @@
 //-- SM_PROVOKE
 6,0,0,0,30000,0,0,0
 //-- SM_MAGNUM
-7,0,2000,0,2000,10000,0,0
+7,0,2000,0,0,10000,2000,0
 //-- SM_ENDURE
 8,0,0,0,10000:13000:16000:19000:22000:25000:28000:31000:34000:37000,10000,10000,0
 //==========================================
@@ -167,8 +167,6 @@
 85,9600:9280:8960:8640:8320:8000:7680:7360:7040:6720,5000,0,4000,20000,0,2400:2320:2240:2160:2080:2000:1920:1840:1760:1680
 //-- WZ_WATERBALL
 86,640:1280:1920:2560:3200,0,0,10000,0,0,160:320:480:640:800
-//-- WZ_ICEWALL
-87,0,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,0,0,0
 //-- WZ_FROSTNOVA
 88,640:640:576:576:512:512:448:448:384:384,200,0,0,4000:5500:7000:8500:10000:11500:13000:14500:16000:17500,0,160:160:144:144:128:128:112:112:96:96
 //-- WZ_STORMGUST
@@ -671,7 +669,7 @@
 
 //===== Taekwon ============================
 //-- TK_RUN
-411,3000:2500:2000:1500:1000:500:0:0:0:0,300,0,1000,150000,0,3000:2500:2000:1500:1000:500:-1-1-1-1
+411,3000:2500:2000:1500:1000:500:0:0:0:0,300,0,1000,150000,0,3000:2500:2000:1500:1000:500:-1:-1:-1:-1
 //-- TK_DOWNKICK
 415,0,0,0,0,3000,0,0
 //-- TK_TURNKICK
@@ -1045,10 +1043,18 @@
 //===== New Monster Skills (12.1) ==========
 //-- NPC_VENOMFOG
 706,0,0,0,3000,0,0,-1
+//-- NPC_ICEMINE
+709,0,0,0,10000,0,0,-1
+//-- NPC_FLAMECROSS
+711,0,0,0,3000,0,0,-1
+//-- NPC_DARKPIERCING
+715,0,2000,0,0,0,0,-1
 //-- NPC_MAXPAIN
 716,0,0,0,10000,0,0,0
 //-- NPC_JACKFROST
 720,0,0,0,12500:17500:22500:27500:32500,0,0,-1
+//-- NPC_REVERBERATION
+725,0,0,0,9000:10000:11000:12000:13000,0,0,-1
 
 //===== 2nd Jobs Quest Skills ==============
 //-- KN_CHARGEATK
@@ -1201,6 +1207,10 @@
 2057,4000,0,0,20000:30000:40000:50000:60000,0,15000,-1
 //-- AB_OFFERTORIUM
 5011,5000:4000:3000:2000:1000,500,0,90000,0,0,-1
+//-- AB_VITUPERATUM
+5072,1000,1000,0,600000,0,5000,3000:2500:2000:1500:1000
+//-- AB_CONVENIO
+5073,2000,1000,0,0,0,5000,2000
 //==========================================
 
 //===== Warlock ============================
@@ -1339,7 +1349,9 @@
 //-- NC_DISJOINT
 2283,2000,0,0,0,0,0,-1
 //-- NC_MAGMA_ERUPTION
-5006,1000,500,0,5000,42000,10000:9000:8000:7000:6000,-1
+5006,1000,500,0,5000,5000,10000:9000:8000:7000:6000,-1
+//-- NC_MAGMA_ERUPTION_DOTDAMAGE
+5015,0,0,0,0,20000,0,-1
 //==========================================
 
 //===== Shadow Chaser ======================
@@ -1651,20 +1663,16 @@
 //==========================================
 
 //===== Rebellion Skills ===================
-//-- RL_GLITTERING_GREED
-//2551,0,0,0,0,0,0,-1
 //-- RL_RICHS_COIN
 2552,0,1000,0,600000,0,3000,-1
 //-- RL_MASS_SPIRAL
-2553,2000,1000,0,0,30000,2000,1000
+2553,1000,1000,0,120000,0,2000,2000
 //-- RL_BANISHING_BUSTER
-2554,3000:2500:2000:1500:1000,2000,0,0,0,10000,-1
+2554,3000:2500:2000:1500:1000,0,0,0,0,2000,1000
 //-- RL_B_TRAP
-2555,0,2500:2000:1500:1000:500,0,10000,9000:14000:19000:24000:29000,10000,-1
-//-- RL_FLICKER
-2556,0,0,0,0,0,10000,-1
+2555,2000:1600:1200:800:400,2500:2000:1500:1000:500,0,10000,10000:11000:12000:13000:14000,10000,-1
 //-- RL_S_STORM
-2557,3000:2500:2000:1500:1000,2000,0,0,0,2000,1000
+2557,3000:2500:2000:1500:1000,0,0,0,0,2000,1000
 //-- RL_E_CHAIN
 2558,1000,1000,0,45000:60000:75000:90000:105000:120000:135000:150000:165000:180000,0,0,-1
 //-- RL_QD_SHOT
@@ -1672,11 +1680,11 @@
 //-- RL_C_MARKER
 2560,0,0,0,30000,0,1000,-1
 //-- RL_FIREDANCE
-2561,0,500,0,0,0,5000,-1
+2561,0,500,0,0,0,0,-1
 //-- RL_H_MINE
 2562,1000,1000,0,50000,15000,5000:4500:4000:3500:3000,-1
 //-- RL_P_ALTER
-2563,0,0,0,30000:45000:60000:75000:90000,0,0,-1
+2563,2000,0,0,42000:54000:66000:78000:90000,0,0,-1
 //-- RL_FALLEN_ANGEL
 2564,0,0,0,2000,0,0,-1
 //-- RL_R_TRIP
@@ -1693,12 +1701,6 @@
 2570,5000:6000:7000:8000:9000,1000,0,0,2000,5000,1000
 //-- RL_HAMMER_OF_GOD
 2571,0,2000,0,0,3000:3000:4000:4000:5000,30000,-1
-//-- RL_R_TRIP_PLUSATK
-//2572,0,0,0,0,0,0,-1
-//-- RL_B_FLICKER_ATK
-//2573,0,0,0,0,0,0,-1
-//-- RL_GLITTERING_GREED_ATK
-//2574,0,0,0,0,0,0,-1
 //==========================================
 
 //==== Kagerou & Oboro Skills ==============
@@ -1807,6 +1809,10 @@
 5040,0,1000,0,60000:90000:120000:150000:180000,120000,10000,0
 //-- SU_FRESHSHRIMP
 5041,0,1000,0,120000,0,6000:5000:4000:3000:2000,0
+//-- SU_CN_METEOR2
+5042,0,0,0,1500:2000:2500:3000:3500,20000,0,-1
+//-- SU_LUNATICCARROTBEAT2
+5043,0,0,0,0,5000,0,-1
 //-- SU_POWEROFFLOCK
 5045,5000:4000:3000:2000:1000,1000,0,15000,10000,100000,-1
 //-- SU_SVG_SPIRIT
@@ -1836,6 +1842,10 @@
 5064,1500,0,0,0,0,0,1500
 //-- WE_CHEERUP
 5065,1500,0,0,60000,0,0,1500
+
+//-- ALL_EQSWITCH
+5067,0,0,0,0,0,10000,60
+
 //==========================================
 
 //===== Homunculus Skills ==================
@@ -1980,6 +1990,8 @@
 8239,0,0,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0,0
 //-- MER_INCAGI
 8240,1000,1000,0,60000:80000:100000:120000:140000:160000:180000:200000:220000:240000,0,0,0
+//-- MER_INVINCIBLEOFF2
+8241,0,0,0,10000,0,30000,0
 //==========================================
 
 //===== Elemental Skills =======================

Някои файлове не бяха показани, защото твърде много файлове са промени