Merge branch 'master' into feature/array_sort

This commit is contained in:
Lemongrass3110 2018-02-02 17:31:05 +01:00
commit 0bf92ab14f
46 changed files with 2103 additions and 739 deletions

View File

@ -63,7 +63,7 @@ Suggesting Enhancements
#### How to create Pull Requests :pencil: #### How to create Pull Requests :pencil:
1. Make sure you have a [GitHub account](https://github.com/signup/free). 1. Make sure you have a [GitHub account](https://github.com/signup/free).
2. Next, you will need to [fork rAthena](https://help.github.com/articles/fork-a-repo/#step-3-configure-git-to-sync-your-fork-with-the-original-spoon-knife-repository) to your account. 2. Next, you will need to [fork rAthena](https://help.github.com/articles/fork-a-repo/#fork-an-example-repository) to your account.
3. Before making changes, make sure you [create a new branch](https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/) for your working tree. 3. Before making changes, make sure you [create a new branch](https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/) for your working tree.
4. After completing your changes, commit and push it to your branch. 4. After completing your changes, commit and push it to your branch.
5. Now you are ready to [create a Pull Request](https://help.github.com/articles/creating-a-pull-request/) for rAthena! 5. Now you are ready to [create a Pull Request](https://help.github.com/articles/creating-a-pull-request/) for rAthena!

View File

@ -1,36 +1,157 @@
language: cpp language: cpp
compiler:
- clang
- gcc
dist: trusty dist: trusty
sudo: false
matrix:
include:
# First check if all our options are good
# Renewal without VIP
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env:
- MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
- CONFIGURE_FLAGS="--enable-prere=no --enable-vip=no --enable-buildbot=yes"
# Renewal with VIP
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env:
- MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
- CONFIGURE_FLAGS="--enable-prere=yes --enable-vip=no --enable-buildbot=yes"
# Pre-Renewal without VIP
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env:
- MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
- CONFIGURE_FLAGS="--enable-prere=no --enable-vip=yes --enable-buildbot=yes"
# Pre-Renewal with VIP
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env:
- MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
- CONFIGURE_FLAGS="--enable-prere=yes --enable-vip=yes --enable-buildbot=yes"
# After that check all different compilers and compiler versions
# GCC
# Version 6
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
env:
- MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
- CONFIGURE_FLAGS="--enable-prere=no --enable-vip=no --enable-buildbot=yes"
# Version 7
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
env:
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"
- CONFIGURE_FLAGS="--enable-prere=no --enable-vip=no --enable-buildbot=yes"
# Clang
# Version 3.9
- os: linux
addons:
apt:
sources:
- llvm-toolchain-trusty-3.9
packages:
- clang-3.9
env:
- MATRIX_EVAL="CC=clang-3.9 && CXX=clang++-3.9"
- CONFIGURE_FLAGS="--enable-prere=no --enable-vip=no --enable-buildbot=yes"
# Version 4
- os: linux
addons:
apt:
sources:
- llvm-toolchain-trusty-4.0
packages:
- clang-4.0
env:
- MATRIX_EVAL="CC=clang-4.0 && CXX=clang++-4.0"
- CONFIGURE_FLAGS="--enable-prere=no --enable-vip=no --enable-buildbot=yes"
# Version 5
- os: linux
addons:
apt:
sources:
- llvm-toolchain-trusty-5.0
packages:
- clang-5.0
env:
- MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0"
- CONFIGURE_FLAGS="--enable-prere=no --enable-vip=no --enable-buildbot=yes"
# LLVM on OSX
# - os: osx
# osx_image: xcode9.2
# install:
# - brew update
# - brew install mysql
# - brew tap homebrew/services
# - brew services start mysql
## MySQL takes a while to start...
# - brew services list
# - launchctl list | grep mysql
# before_install: false
# env:
# - CONFIGURE_FLAGS="--enable-prere=no --enable-vip=no --enable-buildbot=yes --enable-lto=no"
# script:
# - ./configure $CONFIGURE_FLAGS
## MacOS default MySQL configuration does not like our card seller(only full group by)
# - ./tools/ci/npc.sh
# - make clean
# - make server
# - ./login-server --run-once
# - ./char-server --run-once
# - ./map-server --run-once
# CMake
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env:
- MATRIX_EVAL="CC=gcc-5 && CXX=g++-5"
script:
- mkdir cbuild
- cd cbuild
- cmake -G "Unix Makefiles" ..
- make
before_install:
- eval "${MATRIX_EVAL}"
before_script: before_script:
- uname -a - uname -a
- mysql -u $DB_ROOT -e "CREATE DATABASE $DB_NAME;" || aborterror "Unable to create database." - ./tools/ci/sql.sh
- mysql -u $DB_ROOT $DB_NAME < sql-files/main.sql || aborterror "Unable to import main database."
- mysql -u $DB_ROOT $DB_NAME < sql-files/logs.sql || aborterror "Unable to import logs database."
- mysql -u $DB_ROOT $DB_NAME < sql-files/item_cash_db.sql || aborterror "Unable to import cash item table."
- mysql -u $DB_ROOT $DB_NAME < sql-files/item_cash_db2.sql || aborterror "Unable to import cash item 2 table."
- mysql -u $DB_ROOT $DB_NAME < sql-files/item_db.sql || aborterror "Unable to import pre-renewal item table."
- mysql -u $DB_ROOT $DB_NAME < sql-files/item_db2.sql || aborterror "Unable to import pre-renewal item 2 table."
- mysql -u $DB_ROOT $DB_NAME < sql-files/item_db_re.sql || aborterror "Unable to import renewal item table."
- mysql -u $DB_ROOT $DB_NAME < sql-files/item_db2_re.sql || aborterror "Unable to import renewal item 2 table."
- mysql -u $DB_ROOT $DB_NAME < sql-files/mob_db.sql || aborterror "Unable to import pre-renewal monster table."
- mysql -u $DB_ROOT $DB_NAME < sql-files/mob_db2.sql || aborterror "Unable to import pre-renewal monster 2 table."
- mysql -u $DB_ROOT $DB_NAME < sql-files/mob_db_re.sql || aborterror "Unable to import renewal monster table."
- mysql -u $DB_ROOT $DB_NAME < sql-files/mob_db2_re.sql || aborterror "Unable to import renewal monster 2 table."
- mysql -u $DB_ROOT $DB_NAME < sql-files/mob_skill_db.sql || aborterror "Unable to import pre-renewal monster skill table."
- mysql -u $DB_ROOT $DB_NAME < sql-files/mob_skill_db2.sql || aborterror "Unable to import pre-renewal monster skill 2 table."
- mysql -u $DB_ROOT $DB_NAME < sql-files/mob_skill_db_re.sql || aborterror "Unable to import renewal monster skill table."
- mysql -u $DB_ROOT $DB_NAME < sql-files/mob_skill_db2_re.sql || aborterror "Unable to import renewal monster skill 2 table."
- mysql -u $DB_ROOT $DB_NAME < sql-files/roulette_default_data.sql || aborterror "Unable to import roulette table."
- mysql -u $DB_ROOT -e "GRANT ALL ON *.* TO '$DB_USER'@'$DB_HOST' IDENTIFIED BY '$DB_PASS';"
- sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
- sudo apt-get update -q
- sudo apt-get install gcc-5 -y
- sudo apt-get install g++-5 -y
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 1
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 1
script: script:
- ./configure $CONFIGURE_FLAGS - ./configure $CONFIGURE_FLAGS
@ -48,11 +169,6 @@ env:
- DB_NAME="ragnarok" - DB_NAME="ragnarok"
- DB_USER="ragnarok" - DB_USER="ragnarok"
- DB_PASS="ragnarok" - DB_PASS="ragnarok"
matrix:
- CONFIGURE_FLAGS="--enable-prere=no --enable-vip=no --enable-buildbot=yes"
- CONFIGURE_FLAGS="--enable-prere=yes --enable-vip=no --enable-buildbot=yes"
- CONFIGURE_FLAGS="--enable-prere=no --enable-vip=yes --enable-buildbot=yes"
- CONFIGURE_FLAGS="--enable-prere=yes --enable-vip=yes --enable-buildbot=yes"
notifications: notifications:
email: false email: false

View File

@ -42,26 +42,9 @@ test_script:
set MYSQL="C:\Program Files\MySql\MySQL Server 5.7\bin\mysql.exe" set MYSQL="C:\Program Files\MySql\MySQL Server 5.7\bin\mysql.exe"
rem Setting creation
cd C:\projects\rathena cd C:\projects\rathena
echo map_server_ip: %DB_HOST%>> conf\import\inter_conf.txt rem TODO should be replace with tools\ci\sql.bat as soon as possible
echo map_server_id: %DB_USER%>> conf\import\inter_conf.txt
echo map_server_pw: %DB_PASS%>> conf\import\inter_conf.txt
echo map_server_db: %DB_NAME%>> conf\import\inter_conf.txt
echo log_db_ip: %DB_HOST%>> conf\import\inter_conf.txt
echo log_db_id: %DB_USER%>> conf\import\inter_conf.txt
echo log_db_pw: %DB_USERPW%>> conf\import\inter_conf.txt
echo log_db_db: %DB_NAME%>> conf\import\inter_conf.txt
rem MySQL database setup rem MySQL database setup
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% -e "CREATE DATABASE %DB_NAME%;" %MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% -e "CREATE DATABASE %DB_NAME%;"
@ -100,7 +83,7 @@ test_script:
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\roulette_default_data.sql" %MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\roulette_default_data.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% -e "GRANT ALL ON *.* TO '%DB_USER%'@'%DB_HOST%' IDENTIFIED BY '%DB_USERPW%';" %MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% -e "GRANT SELECT,INSERT,UPDATE,DELETE ON %DB_NAME%.* TO '%DB_USER%'@'%DB_HOST%' IDENTIFIED BY '%DB_USERPW%';"
rem Activate all custom and test scripts rem Activate all custom and test scripts

View File

@ -71,7 +71,7 @@ wedding_modifydisplay: no
save_clothcolor: yes save_clothcolor: yes
// Save body styles. (Note 1) // Save body styles. (Note 1)
// Note: Don't turn this on unless you know what your doing. // Note: Don't turn this on unless you know what you are doing.
// Sprites are not released officially. // Sprites are not released officially.
save_body_style: no save_body_style: no

View File

@ -2,20 +2,16 @@
// Configuración de mensajes // Configuración de mensajes
// Si vas a traducirlo simplemente tienes que cambiar el msg de la segunda línea, no tienes que modificar el código fuente, // Si vas a traducirlo simplemente tienes que cambiar el msg de la segunda línea, no tienes que modificar el código fuente,
// aunque también puedes utilizar conf/import/map_msg_spn_conf.txt // aunque también puedes utilizar conf/import/map_msg_spn_conf.txt
// El formato es el siguiente: //
// // Mensaje en inglés // Formato:
// msg_number: mensaje traducido // msg_number: mensaje traducido (tamaño máximo: 255 caracteres)
//
// Del 0 al 410 están reservados para comandos de GM (Game Master)
// Del 500-900 están reservados para otros usos
// Del 900 al 1300 son mensajes de @atcommand
// Si quieres desactivar una variable (%s) de una cadena de texto, haz que su tamaño máximo sea 0: // Si quieres desactivar una variable (%s) de una cadena de texto, haz que su tamaño máximo sea 0:
// Por ejemplo: // Por ejemplo:
// 270: *%s %s* (Este es el formato de texto para el comando @me) // 270: *%s %s* (Este es el formato de texto para el comando @me)
// 270: *%.0s%s* (Si pones esto no se mostrará el nombre del personaje) // 270: *%.0s%s* (Si pones esto no se mostrará el nombre del personaje)
// Aquí empiezan los mensajes relacionados con los comandos de GM // Mensajes de comandos de GM
// ----------------------- // -----------------------
0: Te has teletransportado. 0: Te has teletransportado.
@ -90,10 +86,10 @@
69: Has reducido el nivel de oficio de ese personaje. 69: Has reducido el nivel de oficio de ese personaje.
70: Has adquirido esa habilidad. 70: Has adquirido esa habilidad.
71: Has olvidado esa habilidad. 71: Has olvidado esa habilidad.
72: Ha comenzado la Guerra del Emperium. 72: Ha comenzado la guerra de clanes.
73: En estos momentos ya hay una Guerra del Emperium. 73: En estos momentos ya hay una guerra de clanes.
74: La Guerra del Emperium ha finalizado. 74: La guerra de clanes ha finalizado.
75: En estos momentos no hay ninguna Guerra del Emperium. 75: En estos momentos no hay ninguna guerra de clanes.
76: Se han añadido todas las habilidades a tu árbol de habilidades. 76: Se han añadido todas las habilidades a tu árbol de habilidades.
77: Estos son los resultados de la búsqueda de '%s' (nombre: ID): 77: Estos son los resultados de la búsqueda de '%s' (nombre: ID):
78: %s: %d 78: %s: %d
@ -131,9 +127,9 @@
110: El NPC ha sido cargado con éxito. 110: El NPC ha sido cargado con éxito.
111: Ese NPC no existe. 111: Ese NPC no existe.
112: El NPC ha sido desactivado. 112: El NPC ha sido desactivado.
113: Un GM te ha eliminado %d objeto(s). 113: Un GM te ha eliminado esta cantidad de objetos: %d.
114: Se han eliminado %d objeto(s) del jugador. 114: Objetos eliminados del jugador: %d.
115: Se han eliminado %d objeto(s). El jugador sólo tenía %d de %d objetos. 115: Objetos eliminados: %d. El jugador sólo tenía %d de %d objetos.
116: Ese personaje no tiene el objeto que has introducido. 116: Ese personaje no tiene el objeto que has introducido.
117: Un GM te ha enviado a la cárcel. 117: Un GM te ha enviado a la cárcel.
118: Has enviado al jugador a la cárcel. 118: Has enviado al jugador a la cárcel.
@ -158,7 +154,7 @@
141: Has quitado el disfraz de ese personaje. 141: Has quitado el disfraz de ese personaje.
142: Ese personaje no lleva ningún disfraz. 142: Ese personaje no lleva ningún disfraz.
143: No puedes utilizar ese comando en este mapa. 143: No puedes utilizar ese comando en este mapa.
144: La dirección de correo electrónico no es válida, si no sabes cual es prueba a@a.com 144: La dirección de correo electrónico no es válida, si no sabes cuál es prueba a@a.com
145: La dirección de correo electrónico no es válida. Introduce una de verdad. 145: La dirección de correo electrónico no es válida. Introduce una de verdad.
146: Debes introducir una dirección de correo electrónico de verdad. 146: Debes introducir una dirección de correo electrónico de verdad.
147: La nueva dirección de correo electrónico debe ser distinta a la actual. 147: La nueva dirección de correo electrónico debe ser distinta a la actual.
@ -259,7 +255,7 @@
242: Ahora cualquier jugador puede atacarte. 242: Ahora cualquier jugador puede atacarte.
243: Ya no se pueden utilizar habilidades en este mapa. 243: Ya no se pueden utilizar habilidades en este mapa.
244: Ahora se pueden utilizar habilidades en este mapa. 244: Ahora se pueden utilizar habilidades en este mapa.
245: El servidor lleva en marcha %ld días, %ld horas, %ld minutos, %ld segundos. 245: Tiempo de conexión del servidor: Días: %ld. Horas: %ld. Minutos: %ld. Segundos: %ld.
246: Tu nivel de GM no está autorizado para realizar esa acción. 246: Tu nivel de GM no está autorizado para realizar esa acción.
247: No tienes permiso para ir a ese mapa. 247: No tienes permiso para ir a ese mapa.
248: No tienes permiso para salir de este mapa. 248: No tienes permiso para salir de este mapa.
@ -310,6 +306,13 @@
290: Ahora nadie puede atacar a ese jugador. 290: Ahora nadie puede atacar a ese jugador.
291: Los efectos climáticos desaparecerán al teletransportarse o al utilizar @refresh. 291: Los efectos climáticos desaparecerán al teletransportarse o al utilizar @refresh.
292: Has restablecido la condición de asesino. 292: Has restablecido la condición de asesino.
// Sistema de ligado de objetos
293: Este objeto está ligado y no puede intercambiarse.
294: Este objeto está ligado y no puede almacenarse.
295: Introduce el nombre de un objeto o su ID (instrucciones: @item <nombre/ID> <cantidad> <ligado>).
296: Introduce todos los parámetros (instrucciones: @item2 <nombre/ID> <cantidad>)
297: <identificado> <refinamiento> <atributo> <carta1> <carta2> <carta3> <carta4> <ligado>).
298: El ligado del objeto no es válido. Tipos válidos: 1-Cuenta, 2-Clan, 3-Grupo, 4-Personaje.
// Número de los castillos // Número de los castillos
// -------------------- // --------------------
//299: ?? castillos //299: ?? castillos
@ -352,14 +355,15 @@
//Plantillas para el resultado de @who //Plantillas para el resultado de @who
343: Nombre: %s 343: Nombre: %s
344: (%s) 344: (%s)
345: | Grupo: '%s' 345: | Grupo: '%s'
346: | Clan: '%s' 346: | Clan: '%s'
//Si eliminas el último %s no verás el oficio de tus jugadores. //Si eliminas el último %s no verás el oficio de tus jugadores.
347: | Nv:%d/%d | Oficio: %s 347: | Nv:%d/%d | Oficio: %s
//Si eliminas los 2 últimos %d no verás las coordenadas de tus jugadores, tan solo el nombre el mapa donde están //Si eliminas los 2 últimos %d no verás las coordenadas de tus jugadores, tan solo el nombre el mapa donde están
348: | Ubicación: %s %d %d 348: | Ubicación: %s %d %d
// @fullstrip
349: Introduce el nombre de un jugador (instrucciones: @fullstrip <personaje/ID>).
// @duel (1ª parte) // @duel (1ª parte)
350: Duelo: No puedes usar @invite porque no estás en un duelo. 350: Duelo: No puedes usar @invite porque no estás en un duelo.
351: Duelo: Se ha alcanzado el límite máximo de jugadores para este duelo. 351: Duelo: Se ha alcanzado el límite máximo de jugadores para este duelo.
@ -392,7 +396,15 @@
380: Ha ocurrido un error. El objeto [%s] no puede usarse todavía. Espera %d segundos. 380: Ha ocurrido un error. El objeto [%s] no puede usarse todavía. Espera %d segundos.
381: La habilidad ha fallado. Para utilizar [%s] necesitas %dx %s. 381: La habilidad ha fallado. Para utilizar [%s] necesitas %dx %s.
382: Estás demasiado cerca de un emperium o una piedra guardián. 382: Estás demasiado cerca de un emperium o una piedra guardián.
//383-389 vacíos 383: No puedes crear un punto de guardado en una instancia.
384: No puedes hacer memo en una instancia.
//Comprobación de emblemas
385: No se puede cambiar el emblema durante una guerra de clanes.
386: El emblema que has elegido no es válido.
387: El emblema que has elegido tiene demasiada transparencia (límite=%d)
//etc
388: No puedes utilizar este objeto con el almacén abierto.
389: La velocidad ha vuelto a la normalidad.
//NoAsk (rechazar invitaciones) //NoAsk (rechazar invitaciones)
390: Rechazas todas las invitaciones de manera automática. 390: Rechazas todas las invitaciones de manera automática.
391: Ya no rechazas todas las invitaciones de manera automática. 391: Ya no rechazas todas las invitaciones de manera automática.
@ -406,11 +418,11 @@
400: Instrucciones @jailfor <tiempo> <nombre del personaje> 400: Instrucciones @jailfor <tiempo> <nombre del personaje>
401: Tu pena de prisión es de %d años, %d meses, %d días, %d horas y %d minutos. 401: Tu pena de prisión es de %d años, %d meses, %d días, %d horas y %d minutos.
402: %s estará en la cárcel durante %d años, %d meses, %d días, %d horas y %d minutos. 402: %s estará en la cárcel durante %d años, %d meses, %d días, %d horas y %d minutos.
// WoE SE (@agitstart2) Guerra del Emperium, 2ª edición. // WoE SE (@agitstart2) guerra de clanes, 2ª edición.
403: Ha dado comienzo la Guerra del Emperium de la 2ª edición. 403: Ha dado comienzo la guerra de clanes de la 2ª edición.
404: Hay una Guerra del Emperium de la 2ª edición en marcha. 404: Hay una guerra de clanes de la 2ª edición en marcha.
405: Ha finalizado la Guerra del Emperium de la 2ª edición. 405: Ha finalizado la guerra de clanes de la 2ª edición.
406: No hay ninguna Guerra del Emperium de la 2ª edición en marcha. 406: No hay ninguna guerra de clanes de la 2ª edición en marcha.
//407 free //407 free
//Mensajes de chrif //Mensajes de chrif
408: Necesitas desconectarte para realizar el cambio de sexo. 408: Necesitas desconectarte para realizar el cambio de sexo.
@ -436,15 +448,21 @@
430: desbloquear 430: desbloquear
431: desbloquear 431: desbloquear
432: cambiar el sexo de 432: cambiar el sexo de
433: Este personaje tiene el acceso bloqueado hasta
434: El char-server va a %s al personaje '%.*s'.
435: Introduce el nombre de un jugador (instrucciones: %s <nombre de personaje>).
436: VIP
437: Un GM no puede ser VIP.
438: Ya no eres VIP.
// Mensajes de homúnculos // Mensajes de homúnculos
450: Ya tienes un homúnculo. 450: Ya tienes un homúnculo.
// Return pet to egg message // Mensaje al devolver la mascota al huevo
451: No puedes devolver tu pet al huevo porque tu inventario está lleno. 451: No puedes devolver tu mascota al huevo porque tu inventario está lleno.
// Sistema de mensajería // Sistema de mensajería
460: Introduce un idioma válido (Instrucciones: @langtype <idioma>) 460: Introduce un idioma válido (instrucciones: @langtype <idioma>)
461: Has establecido %s como idioma. 461: Has establecido %s como idioma.
462: Ese idioma está desactivado. 462: Ese idioma está desactivado.
463: Se ha actualizado la configuración de los mensajes. 463: Se ha actualizado la configuración de los mensajes.
@ -458,7 +476,7 @@
485:    Usuarios: %d/%d | Contraseña: %s | Abierto: %s 485:    Usuarios: %d/%d | Contraseña: %s | Abierto: %s
486: Sí 486: Sí
487: No 487: No
488: Introduce un valor de la lista (Instrucciones: @mapinfo <0-3> <mapa>). 488: Introduce un valor de la lista (instrucciones: @mapinfo <0-3> <mapa>).
489: NPC %d: %s::%s | Dirección: %s | Sprite: %d | Ubicación: %d %d 489: NPC %d: %s::%s | Dirección: %s | Sprite: %d | Ubicación: %d %d
490: NPC %d: %s | Dirección: %s | Sprite: %d | Ubicación: %d %d 490: NPC %d: %s | Dirección: %s | Sprite: %d | Ubicación: %d %d
491: Norte 491: Norte
@ -479,35 +497,65 @@
503: Está activado el modo nocturno. 503: Está activado el modo nocturno.
//Mensajes de los puntos de cash //Mensajes de los puntos de cash
504: Has utilizado %d puntos Kafra y %d puntos de cash. Te quedan %d puntos Kafra y %d puntos de cash. 504: Puntos utilizados: Kafra: %d. Cash: %d. Puntos restantes: Kafra: %d. Cash: %d.
505: Has obtenido %d puntos de cash. Tienes un total de %d puntos. 505: Puntos de cash obtenidos: %d. Puntos totales: %d.
506: Has obtenido %d puntos Kafra. Tienes un total de %d puntos. 506: Puntos de Kafra obtenidos %d. Puntos totales: %d.
410: Se han eliminado %d puntos de cash. Quedan %d puntos. 410: Puntos de cash eliminados: %d. Puntos restantes: %d.
411: Se han eliminado %d puntos Kafra. Quedan %d puntos. 411: Puntos de Kafra eliminados: %d. Puntos restantes: %d.
// Mensajes del sistema de intercambio de objetos // Bloqueo de personajes
507: Este jugador ha sido expulsado durante %d minuto(s). 507: Este jugador ha sido bloqueado durante estos minutos: %d.
508: Este jugador no ha sido expulsado (La opción está desactivada). 508: Este jugador no ha sido bloqueado (el bloqueo está desactivado).
//509 vacío
509: Comandos de scripts ligados:
// Sistema de correo // Sistema de correo
//---------------------- 510: Correos nuevos: %d (%d sin leer).
510: Tienes un total de %d cartas nuevas (%d sin leer).
//Instancing
515: Tu instancia se ha recargado.
516: Se ha recargado la base de datos de instancias.
// @auction
517: El sistema de subastas está desactivado.
//@itemlist -- continuación
518: Adorno para la boca,
519: Adorno para la cabeza,
520: Adorno para la cabeza y la boca,
521: Adorno para los ojos,
522: Adorno para ojos y boca,
523: Adorno para toda la cara,
524: Ropa decorativa,
525: Suelo decorativo,
526: Armadura,
527: Cuerpo sombrío,
528: Mano derecha sombría,
529: Mano izquierda sombría,
530: Sombra en ambas manos,
531: Zapatos sombríos,
532: Accesorio derecho sombrío,
533: Accesorio izquierdo sombrío,
534: ¡No quedan existencias! Vuelve más tarde.
// Mensajes de detección de bots (sin uso) // Mensajes de detección de bots (sin uso)
535: Se ha detectado un posible bot (99% de probabilidades) o un cliente modificado: '%s' (cuenta: %d, char_id: %d). Este jugador te pregunta el nombre si estás escondido. 535: Se ha detectado un posible bot (99% de probabilidades) o un cliente modificado: '%s' (cuenta: %d, char_id: %d). Este jugador te pregunta el nombre si estás escondido.
536: El personaje '%s' (cuenta: %d) está intentando utilizar un bot (intentando detectar a un jugador falso). 536: El personaje '%s' (cuenta: %d) está intentando utilizar un bot (intentando detectar a un jugador falso).
537: El personaje '%s' (cuenta: %d) está intentando utilizar un bot (intentando detectar a un monstruo falso). 537: El personaje '%s' (cuenta: %d) está intentando utilizar un bot (intentando detectar a un monstruo falso).
// Mensajes del sistema de intercambio de objetos // Mensajes del sistema de intercambio de objetos
538: Se ha detectado una irregularidad en el intercambio de objetos del personaje '%s' (cuenta: %d), está intentando intercambiar más de lo que tiene. 538: Se ha detectado una irregularidad en el intercambio de objetos del personaje '%s' (cuenta: %d), está intentando intercambiar más de lo que tiene.
539: Ese jugador tiene %d unidades del objeto (id: %hu), pero ha intentado intercambiar %d. 539: Ese jugador tiene %d unidades del objeto (id: %hu), pero ha intentado intercambiar %d.
540: Ese jugador ha sido bloqueado. 540: Ese jugador ha sido bloqueado.
// Anuncios de consecución de objetos poco comunes y robos de objetos. // Anuncios de consecución de objetos poco comunes y robos de objetos.
541: '%s' ha conseguido de %s un %s (probabilidad: %0.02f%%) 541: '%s' ha conseguido de %s un %s (probabilidad: %0.02f%%)
//541: %.0s%.0s alguien ha conseguido %s //541: %.0s%.0s alguien ha conseguido %s
542: '%s' ha robado de %s un %s (probabilidad: %0.02f%%) 542: '%s' ha robado de %s un %s (probabilidad: %0.02f%%)
//542: %.0s%.0s alguien ha robado%s //542: %.0s%.0s alguien ha robado%s
//543~548 no se utilizan (pertenecían a @away) //543~548 no se utilizan (pertenecían a @away)
// @autotrade // @autotrade
549: Debes abrir una tienda para poder utilizar @autotrade. 549: Debes abrir una tienda para poder utilizar @autotrade.
@ -639,7 +687,7 @@
663: Duelo: No puedes utilizar ese objeto en pleno duelo. 663: Duelo: No puedes utilizar ese objeto en pleno duelo.
664: No puedes utilizar ese comando estando muerto. 664: No puedes utilizar ese comando estando muerto.
665: No puedes crear una sala de chat en este mapa. 665: No puedes crear una sala de chat en este mapa.
666: Las mascotas están prohibidas en la Guerra del Emperium. 666: Las mascotas están prohibidas en la guerra de clanes.
667: No estás muerto. 667: No estás muerto.
668: Tus puntos de memorización actuales son los siguientes: 668: Tus puntos de memorización actuales son los siguientes:
669: Has roto el arma de tu enemigo. 669: Has roto el arma de tu enemigo.
@ -649,12 +697,11 @@
673: No puedes realizar esa acción en estos momentos. Inténtalo más tarde. 673: No puedes realizar esa acción en estos momentos. Inténtalo más tarde.
674: Se ha eliminado de tu lista de amigos. 674: Se ha eliminado de tu lista de amigos.
675: No puedes enviar tantos correos seguidos. 675: No puedes enviar tantos correos seguidos.
676: No se pueden establecer alianzas durante una Guerra del Emperium. 676: No se pueden establecer alianzas durante una guerra de clanes.
677: No se puede romper una alianza durante una Guerra del Emperium. 677: No se puede romper una alianza durante una guerra de clanes.
678: Ya no eres el líder del clan. 678: Ya no eres el líder del clan.
679: Te has convertido en el líder del clan. 679: Te has convertido en el líder del clan.
680: Te has recuperado. 680: Te has recuperado.
//681-899 vacíos
681: Rune Knight T 681: Rune Knight T
682: Warlock T 682: Warlock T
@ -676,6 +723,86 @@
698: Baby Summoner 698: Baby Summoner
699: Baby Ninja 699: Baby Ninja
// @vip
700: Instrucciones: @vip <tiempo> <nombre del personaje>
701: El tiempo introducido no es válido.
702: El formato del tiempo es +/-<valor>. y/a = Año, m = Mes, d/j = Día, h = Horas, n/mn = Minutos, s = Segundos.
703: Un GM te ha retirado el VIP.
704: El jugador ya no es VIP.
705: Tiempo restante como VIP: Años: %d. Meses: %d. Días: %d. Horas: %d. Minutos: %d.
706: El jugador '%s' será VIP durante: Años: %d. Meses: %d. Días: %d. Horas: %d. Minutos: %d.
707: Serás VIP hasta: %s
708: El jugador será VIP hasta: %s
709: El objeto %hu ha sido eliminado de tu inventario.
710: El objeto %hu ha sido eliminado de tu carro.
711: El objeto %hu ha sido eliminado de tu almacén.
// Item shop
712: No tienes suficientes %s (%hu).
713: No tienes suficientes '%s'.
714: Listado de la tienda de objetos: %s (%hu)
715: Listado de puntos de la tienda: '%s'
716: Tu '%s' ahora es: %d
// MVP EXP reward message
717: ¡Enhorabuena! ¡Eres todo un MVP! ¡¡Puntos de experiencia obtenidos: %u!!
// @showrate
718: La información de ratio personal no se mostrará.
719: Ahora se mostrará la información de ratio personal.
//Skill messages
//720: Vacío
721: [%s] Se ha imbuido el arma con veneno.
//722: Vacío
// @costume
723: No existe el disfraz '%s'.
724: Ya llevas puesto el disfraz '%s', escribe '@costume' para quitártelo.
725: -- %s
726: - Disfraces disponibles
727: Disfraz '%s' eliminado.
// Monster Transformation
728: ¡¡Traaaansformación!! ¡¡Forma %s!!
729: No puedes transformarte en un monstruo si llevas un disfraz.
730: El personaje no puede disfrazarse si está transformado en un monstruo.
731: No puedes transformarte en monstruo durante la guerra de clanes.
732: No puedes abrir el objeto porque tu inventario está lleno.
733: Introduce la ruta de archivo de un NPC (instrucciones: @reloadnpcfile <ruta>).
// @cloneequip/@clonestat
734: No puedes clonar tu propio %s.
735: Instrucciones: %s <personaje/ID>
736: No se puede clonar el %s de ese jugador.
737: '%s' (%d) no se puede clonar, límite (%d).
738: Clonación de '%s' realizada.
// @bodystyle
739: Introduce un estilo de cuerpo (instrucciones: @bodystyle <ID de cuerpo: %d-%d>).
740: Este oficio no tiene estilos de cuerpo alternativos.
// @showexp
741: Obtenida
742: Perdida
743: Experiencia %s Base:%ld (%0.2f%%) Oficio:%ld (%0.2f%%)
// @adopt
744: El bebé ya está adoptado o está en proceso de adopción.
745: Necesitas estar casado y dentro de un grupo con tu pareja y el bebé para adoptarlo.
746: El padre y la madre deben equiparse sus anillos de boda.
747: El bebé no es un Novice.
748: Falta uno de los padres o el bebé.
// Guerra de clanes de entrenamiento (@agitstart3/@agitend3)
749: Ha empezado la guerra de clanes de entrenamiento.
750: La guerra de clanes de entrenamiento ya ha sido iniciada.
751: Ha terminado la guerra de clanes de entrenamiento.
752: La guerra de clanes de entrenamiento no ha sido iniciada.
// Expanded Baby Jobs // Expanded Baby Jobs
753: Baby Kagerou 753: Baby Kagerou
754: Baby Oboro 754: Baby Oboro
@ -685,6 +812,27 @@
758: Baby Gunslinger 758: Baby Gunslinger
759: Baby Rebellion 759: Baby Rebellion
// Channel System
760: No puedes unirte al canal '%s'. Se ha llegado al límite de %d usuarios.
761: %s %s se ha unido al canal.
762: No puedes abandonar el canal '%s'.
763: %s %s ha abandonado el canal.
764: No puedes modificar el color del canal '%s'.
765: No tienes permisos para bloquear a nadie.
766: No puedes expulsar a nadie del canal '%s'.
767: No puedes expulsar a nadie del canal.
768: Se ha expulsado a %s %s del canal.
769: Se ha bloqueado a %s %s del canal.
770: Se ha desbloqueado a %s %s del canal.
//@reloadachievementdb
771: Se ha recargado la base de datos de logros.
// Achievements
772: Los logros están desactivados.
//773-899 vacíos
//------------------------------------ //------------------------------------
// Más mensajes relacionados con comandos // Más mensajes relacionados con comandos
//------------------------------------ //------------------------------------
@ -701,13 +849,13 @@
908: Has introducido un valor desconocido en: 908: Has introducido un valor desconocido en:
// @rura // @rura
909: Introduce un nombre de mapa (Instrucciones: @warp/@rura/@mapmove <nombre de mapa> <x> <y>). 909: Introduce un nombre de mapa (instrucciones: @warp/@rura/@mapmove <nombre de mapa> <x> <y>).
// @where // @where
910: Introduce el nombre de algún jugador (Instrucciones: @where <personaje>). 910: Introduce el nombre de algún jugador (instrucciones: @where <personaje>).
// @jumpto // @jumpto
911: Introduce el nombre de algún jugador (Instrucciones: @jumpto/@warpto/@goto <personaje/ID>). 911: Introduce el nombre de algún jugador (instrucciones: @jumpto/@warpto/@goto <personaje/ID>).
// @who // @who
912: (CID:%d/AID:%d) 912: (CID:%d/AID:%d)
@ -720,7 +868,7 @@
917: Ninguno 917: Ninguno
// @speed // @speed
918: Introduce un valor para tu velocidad (Instrucciones: @speed <%d-%d>). 918: Introduce un valor para tu velocidad (instrucciones: @speed <%d-%d>).
// @storage // @storage
919: Has abierto el almacén. 919: Has abierto el almacén.
@ -737,22 +885,22 @@
//924-979 vacíos (¿posibles futuros oficios?) //924-979 vacíos (¿posibles futuros oficios?)
// @kami // @kami
980: Introduce un mensaje (Instrucciones: @kami <mensaje>). 980: Introduce un mensaje (instrucciones: @kami <mensaje>).
981: Introduce un color y un mensaje (Instrucciones: @kamic <color> <mensaje>). 981: Introduce un color y un mensaje (instrucciones: @kamic <color> <mensaje>).
982: Ese color no es válido. 982: Ese color no es válido.
// @item // @item
983: Introduce el nombre de un objeto o su ID (Instrucciones: @item <nombre del objeto/ID> <cantidad>). 983: Introduce el nombre de un objeto o su ID (instrucciones: @item <nombre del objeto/ID> <cantidad>).
// @item2 // @item2
984: Introduce todos los parámetros (Instrucciones: @item2 <nombre del objeto/id> <cantidad>) 984: Introduce todos los parámetros (instrucciones: @item2 <nombre del objeto/id> <cantidad>)
985: <¿identificado?> <refinamiento> <atributos> <carta1> <carta2> <carta3> <carta4>. 985: <¿identificado?> <refinamiento> <atributos> <carta1> <carta2> <carta3> <carta4>.
// @baselevelup // @baselevelup
986: Introduce una cifra (Instrucciones @lvup/@blevel/@baselvlup <cantidad de niveles>). 986: Introduce una cifra (instrucciones @lvup/@blevel/@baselvlup <cantidad de niveles>).
// @joblevelup // @joblevelup
987: Introduce una cifra (Instrucciones: @joblvup/@jlevel/@joblvlup <cantidad de niveles>). 987: Introduce una cifra (instrucciones: @joblvup/@jlevel/@joblvlup <cantidad de niveles>).
// @help // @help
988: No hay ayuda disponible para %c%s. 988: No hay ayuda disponible para %c%s.
@ -760,22 +908,22 @@
990: Alternativas disponibles: 990: Alternativas disponibles:
// @model // @model
991: Introduce al menos un valor (Instrucciones: @model <ID del peinado: %d-%d> <color del peinado: %d-%d> <tinte de ropa: %d-%d>). 991: Introduce al menos un valor (instrucciones: @model <ID del peinado: %d-%d> <color del peinado: %d-%d> <tinte de ropa: %d-%d>).
// @dye // @dye
992: Introduce un tinte de ropa (Instrucciones: @dye/@ccolor <tinte de ropa: %d-%d>). 992: Introduce un tinte de ropa (instrucciones: @dye/@ccolor <tinte de ropa: %d-%d>).
// @hairstyle // @hairstyle
993: Introduce un tipo de peinado (Instrucciones: @hairstyle/@hstyle <ID del peinado: %d-%d>). 993: Introduce un tipo de peinado (instrucciones: @hairstyle/@hstyle <ID del peinado: %d-%d>).
// @haircolor // @haircolor
994: Introduce un color de peinado (Instrucciones: @haircolor/@hcolor <color del peinado: %d-%d>). 994: Introduce un color de peinado (instrucciones: @haircolor/@hcolor <color del peinado: %d-%d>).
// @go // @go
995: No puedes utilizar @go en este mapa. 995: No puedes utilizar @go en este mapa.
// @refine // @refine
996: Introduce una pieza de equipo y una cantidad (Instrucciones: @refine <pieza de equipo> <+/- cantidad>). 996: Introduce una pieza de equipo y una cantidad (instrucciones: @refine <pieza de equipo> <+/- cantidad>).
997: %d: Boca 997: %d: Boca
998: %d: Mano derecha 998: %d: Mano derecha
999: %d: Ropaje 999: %d: Ropaje
@ -788,89 +936,92 @@
1006: %d: Ojos / Orejas 1006: %d: Ojos / Orejas
// @produce // @produce
1007: Introduce el nombre/ID de un objeto (Instrucciones: @produce <pieza de equipo/ID> <elemento> <# cantidad de "muy">) 1007: Introduce el nombre/ID de un objeto (instrucciones: @produce <pieza de equipo/ID> <elemento> <# cantidad de "muy">)
// @memo // @memo
1008: Introduce una ubicación válida (Instrucciones: @memo <posición_memo:%d-%d>). 1008: Introduce una ubicación válida (instrucciones: @memo <posición_memo:%d-%d>).
// @displaystatus // @displaystatus
1009: Introduce un valor válido (Instrucciones: @displaystatus <tipo de estado> <identificador> <punto> {<valor1> {<valor2> {<valor3>}}}).) 1009: Introduce un valor válido (instrucciones: @displaystatus <tipo de estado> <identificador> <punto> {<valor1> {<valor2> {<valor3>}}}).)
// @stpoint // @stpoint
1010: Introduce una cantidad (Instrucciones: @stpoint <cantidad de puntos>) 1010: Introduce una cantidad (instrucciones: @stpoint <cantidad de puntos>)
// @skpoint // @skpoint
1011: Introduce una cantidad (Instrucciones: @skpoint <cantidad de puntos>) 1011: Introduce una cantidad (instrucciones: @skpoint <cantidad de puntos>)
// @zeny // @zeny
1012: Introduce una cantidad (Instrucciones: @zeny <cantidad>). 1012: Introduce una cantidad (instrucciones: @zeny <cantidad>).
// @param // @param
1013: Introduce una cantidad (Instrucciones: @str/@agi/@vit/@int/@dex/@luk <+/- cantidad>). 1013: Introduce una cantidad (instrucciones: @str/@agi/@vit/@int/@dex/@luk <+/- cantidad>).
// @guildlevelup // @guildlevelup
1014: Introduce una cantidad (Instrucciones: @guildlvup/@guildlvlup <cantidad de niveles>). 1014: Introduce una cantidad (instrucciones: @guildlvup/@guildlvlup <cantidad de niveles>).
// @makeegg // @makeegg
1015: Introduce el nombre de un monstruo/huevo/ID (Instrucciones: @makeegg <mascota>). 1015: Introduce el nombre de un monstruo/huevo/ID (instrucciones: @makeegg <mascota>).
// @petfriendly // @petfriendly
1016: Introduce una cantidad (Instrucciones: @petfriendly <0-1000>). 1016: Introduce una cantidad (instrucciones: @petfriendly <0-1000>).
// @pethungry // @pethungry
1017: Introduce una cantidad (Instrucciones: @pethungry <0-100>). 1017: Introduce una cantidad (instrucciones: @pethungry <0-100>).
// @recall // @recall
1018: Introduce el nombre de un jugador (Instrucciones: @recall <nombre/ID>) 1018: Introduce el nombre de un jugador (instrucciones: @recall <nombre/ID>)
1019: No estás autorizado a llevar a nadie a este mapa. 1019: No estás autorizado a llevar a nadie a este mapa.
// @recall // @recall
1020: No estás autorizado a sacar a ese jugador de su mapa. 1020: No estás autorizado a sacar a ese jugador de su mapa.
// @charblock // @charblock/@charunblock
1021: Introduce el nombre de un jugador (Instrucciones: @charblock/@block <nombre del personaje>) 1021: Introduce el nombre de un jugador (instrucciones: @charblock/@block <nombre del personaje>)
// @charban // @ban/@charban
1022: Introduce la duración del bloqueo y el nombre del jugador que quieres bloquear (Instrucciones: @charban/@ban/@banish/@charbanish <tiempo> <nombre del personaje>). 1022: Introduce la duración del bloqueo y el nombre del jugador (instrucciones: %s <tiempo> <nombre del personaje>).
1023: No estás autorizado para modificar ningún bloqueo temporal. 1023: No estás autorizado para modificar ningún bloqueo temporal.
// @charunblock // @rates
1024: Introduce el nombre de un jugador bloqueado (Instrucciones: @charunblock <nombre del personaje>). 1024: Ratio de objetos de MVP: Comunes %.2fx / Curativos %.2fx / Consumibles %.2fx / Equipo %.2fx / Carta %.2fx
// @recall
1025: El personaje está en autotrade y no puede acudir.
// @kick // @kick
1026: Introduce el nombre de un personaje (Instrucciones: @kick <nombre del personaje/ID>). 1026: Introduce el nombre de un personaje (instrucciones: @kick <nombre del personaje/ID>).
// @questskill / @lostskill // @questskill / @lostskill
1027: Introduce la ID de una habilidad de quest. 1027: Introduce la ID de una habilidad de quest.
// @spiritball // @spiritball
1028: Introduce una cantidad (Instrucciones: @spiritball <cantidad: 0-%d>). 1028: Introduce una cantidad (instrucciones: @spiritball <cantidad: 0-%d>).
// @party // @party
1029: Introduce el nombre de un grupo (Instrucciones: @party <nombre del grupo>). 1029: Introduce el nombre de un grupo (instrucciones: @party <nombre del grupo>).
// @guild // @guild
1030: Introduce el nombre de un clan (Instrucciones: @guild <nombre del clan>). 1030: Introduce el nombre de un clan (instrucciones: @guild <nombre del clan>).
// @idsearch // @idsearch
1031: Introduce una parte del nombre de un objeto (Instrucciones: @idsearch <parte del nombre>). 1031: Introduce una parte del nombre de un objeto (instrucciones: @idsearch <parte del nombre>).
// @recallall / @guildrecall / @partyrecall // @recallall / @guildrecall / @partyrecall
1032: No estás autorizado a traer nadie a este mapa. 1032: No estás autorizado a traer nadie a este mapa.
1033: Jugadores no convocados: %d (no estás autorizado). 1033: Jugadores no convocados: %d (no estás autorizado).
// @guildrecall // @guildrecall
1034: Introduce el nombre/ID de un clan (Instrucciones: @guildrecall <nombre/ID del clan>). 1034: Introduce el nombre/ID de un clan (instrucciones: @guildrecall <nombre/ID del clan>).
// @partyrecall // @partyrecall
1035: Introduce el nombre/ID de un grupo (Instrucciones: @partyrecall <nombre/ID del grupo>). 1035: Introduce el nombre/ID de un grupo (instrucciones: @partyrecall <nombre/ID del grupo>).
// @reloadatcommand // @reloadatcommand
1036: Ha ocurrido un error al cargar el archivo groups.conf. 1036: Ha ocurrido un error al cargar el archivo groups.conf.
1037: Ha ocurrido un error al cargar el archivo atcommand_athena.conf. 1037: Ha ocurrido un error al cargar el archivo atcommand_athena.conf.
// @mapinfo // @mapinfo
1038: Introduce un número de la lista (Instrucciones: @mapinfo <0-3> <mapa>). 1038: Introduce un número de la lista (instrucciones: @mapinfo <0-3> <mapa>).
1039: ------ Información del mapa ------ 1039: ------ Información del mapa ------
1040: Mapa: %s | Jugadores: %d | NPCs: %d | Chats: %d | Tiendas: %d 1040: Mapa: %s | Jugadores: %d | NPCs: %d | Chats: %d | Tiendas: %d
1041: ------ Opciones del mapa ------ 1041: ------ Opciones del mapa ------
@ -884,14 +1035,16 @@
1049: Opciones climáticas: 1049: Opciones climáticas:
1050: Otras opciones: 1050: Otras opciones:
1051: Otras opciones2: 1051: Otras opciones2:
1052: Ajustes de daño de habilidades:
//1053-1064 vacíos
1065: Sin penalización de experiencia: %s | Sin penalización de zeny: %s 1065: Sin penalización de experiencia: %s | Sin penalización de zeny: %s
1066: Activado 1066: Activado
1067: Desactivado 1067: Desactivado
1068: Sin opción de guardado (Vuelves al punto de guardado) 1068: Sin opción de guardado (vuelves al punto de guardado)
1069: Sin opción de guardado, punto de guardado: %s, aleatorio 1069: Sin opción de guardado, punto de guardado: %s, aleatorio
1070: Sin opción de guardado, punto de guardado: %s,%d,%d 1070: Sin opción de guardado, punto de guardado: %s,%d,%d
// @mount // @mount
1119: Te has montado en tu dragón. 1119: Te has montado en tu dragón.
1120: Has liberado a tu dragón. 1120: Has liberado a tu dragón.
@ -902,34 +1055,34 @@
// @guildspy // @guildspy
1125: Este comando está desactivado. 1125: Este comando está desactivado.
1126: Introduce el nombre/ID de un clan (Instrucciones: @guildspy <nombre/ID del clan>). 1126: Introduce el nombre/ID de un clan (instrucciones: @guildspy <nombre/ID del clan>).
// @partyspy // @partyspy
1127: Introduce el nombre/ID de un grupo (Instrucciones: @partyspy <nombre/ID del grupo>). 1127: Introduce el nombre/ID de un grupo (instrucciones: @partyspy <nombre/ID del grupo>).
// @nuke // @nuke
1128: Introduce el nombre de algún jugador (Instrucciones: @nuke <nombre del personaje>). 1128: Introduce el nombre de algún jugador (instrucciones: @nuke <nombre del personaje>).
// @tonpc // @tonpc
1129: Introduce el nombre de algún NPC (Instrucciones: @tonpc <nombre del NPC>). 1129: Introduce el nombre de algún NPC (instrucciones: @tonpc <nombre del NPC>).
// @enablenpc // @enablenpc
1130: Introduce el nombre de un NPC (Instrucciones: @enablenpc <nombre del NPC>). 1130: Introduce el nombre de un NPC (instrucciones: @enablenpc <nombre del NPC>).
// @hidenpc // @hidenpc
1131: Introduce el nombre de un NPC (Instrucciones: @hidenpc <nombre del NPC>). 1131: Introduce el nombre de un NPC (instrucciones: @hidenpc <nombre del NPC>).
// @loadnpc // @loadnpc
1132: Introduce el nombre de un script (Instrucciones: @loadnpc <ruta del script>) 1132: Introduce el nombre de un script (instrucciones: @loadnpc <ruta del script>)
// @unloadnpc // @unloadnpc
1133: Introduce el nombre de un NPC (Instrucciones: @unloadnpc <nombre del NPC>). 1133: Introduce el nombre de un NPC (instrucciones: @unloadnpc <nombre del NPC>).
// @jail // @jail
1134: Introduce el nombre de algún jugador (Instrucciones: @jail <nombre del personaje>). 1134: Introduce el nombre de algún jugador (instrucciones: @jail <nombre del personaje>).
// @unjail // @unjail
1135: Introduce el nombre de algún jugador (Instrucciones: @unjail/@discharge <nombre del personaje>). 1135: Introduce el nombre de algún jugador (instrucciones: @unjail/@discharge <nombre del personaje>).
// @jailfor // @jailfor
1136: La duración que has introducido no es válida. 1136: La duración que has introducido no es válida.
@ -943,32 +1096,32 @@
1142: Te quedarás 1142: Te quedarás
// @disguise // @disguise
1143:Introduce el nombre/ID de un monstruo/NPC (Instrucciones: @disguise <nombre/ID>). 1143:Introduce el nombre/ID de un monstruo/NPC (instrucciones: @disguise <nombre/ID>).
1144: No puedes disfrazarte en una montura. 1144: No puedes disfrazarte en una montura.
// @disguiseall // @disguiseall
1145: Introduce el nombre/ID de un monstruo/NPC (Instrucciones: @disguiseall <nombre/ID>). 1145: Introduce el nombre/ID de un monstruo/NPC (instrucciones: @disguiseall <nombre/ID>).
// @disguiseguild // @disguiseguild
1146: Introduce el nombre/ID de un monstruo, y el nombre/ID de un clan (Instrucciones: @disguiseguild <nombre/ID del monstruo> <nombre/ID del clan>). 1146: Introduce el nombre/ID de un monstruo, y el nombre/ID de un clan (instrucciones: @disguiseguild <nombre/ID del monstruo> <nombre/ID del clan>).
// @undisguiseguild // @undisguiseguild
1147: Introduce el nombre/ID de un clan (Instrucciones: @undisguiseguild <nombre/ID del clan>). 1147: Introduce el nombre/ID de un clan (instrucciones: @undisguiseguild <nombre/ID del clan>).
// @exp // @exp
1148: Nivel de base: %d (%.3f%%) | Nivel de oficio: %d (%.3f%%) 1148: Nivel de base: %d (%.3f%%) | Nivel de oficio: %d (%.3f%%)
// broadcast // broadcast
1149: Escribe un mensaje (Instrucciones: @broadcast <mensaje>). 1149: Escribe un mensaje (instrucciones: @broadcast <mensaje>).
// localbroadcast // localbroadcast
1150: Introduce un mensaje (Instrucciones @localbroadcast <mensaje>). 1150: Introduce un mensaje (instrucciones @localbroadcast <mensaje>).
// @email // @email
1151: Introduce dos correos electrónicos (Instrucciones: @email <actual> <nuevo>) 1151: Introduce dos correos electrónicos (instrucciones: @email <actual> <nuevo>)
// @effect // @effect
1152: Introduce el ID de algún efecto (Instrucciones: @effect <ID del efecto>) 1152: Introduce el ID de algún efecto (instrucciones: @effect <ID del efecto>)
// @npcmove // @npcmove
1153: Instrucciones: @npcmove <X> <Y> <nombre del NPC> 1153: Instrucciones: @npcmove <X> <Y> <nombre del NPC>
@ -989,7 +1142,7 @@
1162: Has almacenado todos tus objetos. 1162: Has almacenado todos tus objetos.
// @skillid // @skillid
1163: Introduce el nombre de la habilidad a buscar (Instrucciones: @skillid <nombre de la habilidad>). 1163: Introduce el nombre de la habilidad a buscar (instrucciones: @skillid <nombre de la habilidad>).
1164: habilidad %d: %s (%s) 1164: habilidad %d: %s (%s)
// @useskill // @useskill
@ -1047,7 +1200,7 @@
1194: Has eliminado '%s'/'%s' {%hu} de tu lista de recogida de objetos. 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. 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. 1197: "@alootid reset" reiniciará tu lista de recogida de objetos.
1198: Tu lista de recogida de objetos está vacía. 1198: Tu lista de recogida de objetos está vacía.
1199: Lista de objetos para recoger automáticamente: 1199: Lista de objetos para recoger automáticamente:
1200: Has reiniciado tu lista de recogida de objetos. 1200: Has reiniciado tu lista de recogida de objetos.
@ -1085,10 +1238,10 @@
1216: Ha comenzado el espectáculo de fuegos artificiales. 1216: Ha comenzado el espectáculo de fuegos artificiales.
// @sound // @sound
1217: Introduce el nombre de un archivo de sonido (Instrucciones: @sound <archivo>). 1217: Introduce el nombre de un archivo de sonido (instrucciones: @sound <archivo>).
// @mobsearch // @mobsearch
1218: Introduce el nombre de un monstruo (Instrucciones: @mobsearch <nombre del monstruo>), 1218: Introduce el nombre de un monstruo (instrucciones: @mobsearch <nombre del monstruo>),
1219: Ese monstruo no existe (%s). 1219: Ese monstruo no existe (%s).
1220: Búsqueda... %s %s 1220: Búsqueda... %s %s
@ -1096,14 +1249,14 @@
1221: Has eliminado todos los objetos arrojados al suelo. 1221: Has eliminado todos los objetos arrojados al suelo.
// @npctalk // @npctalk
1222: Introduce los siguientes parámetros (Instrucciones: @npctalk <nombre del npc> <mensaje>). 1222: Introduce los siguientes parámetros (instrucciones: @npctalk <nombre del npc> <mensaje>).
1223: Introduce los siguientes parámetros (Instrucciones @npctalk <color> <nombre del npc> <mensaje>). 1223: Introduce los siguientes parámetros (instrucciones @npctalk <color> <nombre del npc> <mensaje>).
// @pettalk // @pettalk
1224: Introduce un mensaje (Instrucciones: @pettalk <mensaje>). 1224: Introduce un mensaje (instrucciones: @pettalk <mensaje>).
// @summon // @summon
1225: Introduce el nombre de un monstruo (Instrucciones: @summon <nombre del monstruo> {duración}). 1225: Introduce el nombre de un monstruo (instrucciones: @summon <nombre del monstruo> {duración}).
// @adjgroup // @adjgroup
1226: Instrucciones @adjgroup <ID del grupo> 1226: Instrucciones @adjgroup <ID del grupo>
@ -1112,7 +1265,7 @@
1229: Has cambiado de grupo. 1229: Has cambiado de grupo.
// @trade // @trade
1230: Introduce el nombre de un jugador (Instrucciones: @trade <nombre del personaje>). 1230: Introduce el nombre de un jugador (instrucciones: @trade <nombre del personaje>).
// @setbattleflag // @setbattleflag
1231: Instrucciones: @setbattleflag <opción> <parámetro> 1231: Instrucciones: @setbattleflag <opción> <parámetro>
@ -1120,7 +1273,7 @@
1233: Se ha configurado con éxito. 1233: Se ha configurado con éxito.
// @unmute // @unmute
1234: Introduce el nombre de un jugador (Instrucciones: @unmute <nombre del personaje>). 1234: Introduce el nombre de un jugador (instrucciones: @unmute <nombre del personaje>).
1235: El jugador no está silenciado. 1235: El jugador no está silenciado.
1236: El jugador ya no está silenciado. 1236: El jugador ya no está silenciado.
@ -1131,7 +1284,7 @@
1238: No tienes ningún objeto para identificar. 1238: No tienes ningún objeto para identificar.
// @mobinfo // @mobinfo
1239: Introduce el nombre/ID de un monstruo (Instrucciones: @mobinfo <nombre/ID del monstruo>). 1239: Introduce el nombre/ID de un monstruo (instrucciones: @mobinfo <nombre/ID del monstruo>).
1240: Monstruo MVP: '%s'/'%s'/'%s' (%d) 1240: Monstruo MVP: '%s'/'%s'/'%s' (%d)
1241: Monstruo: '%s'/'%s'/'%s' (%d) 1241: Monstruo: '%s'/'%s'/'%s' (%d)
1242: Nv:%d HP:%d  EXP de base:%u  EXP de oficio:%u  HIT:%d FLEE:%d 1242: Nv:%d HP:%d  EXP de base:%u  EXP de oficio:%u  HIT:%d FLEE:%d
@ -1149,7 +1302,7 @@
1252: Búsqueda de monstruos... %s %s 1252: Búsqueda de monstruos... %s %s
// @homlevel // @homlevel
1253: Introduce un nivel (Instrucciones: @homlevel <cantidad de niveles>). 1253: Introduce un nivel (instrucciones: @homlevel <cantidad de niveles>).
// @homlevel / @homevolve / @homfriendly / @homhungry / @homtalk / @hominfo / @homstats // @homlevel / @homevolve / @homfriendly / @homhungry / @homtalk / @hominfo / @homstats
1254: No tienes ningún homúnculo. 1254: No tienes ningún homúnculo.
@ -1158,17 +1311,17 @@
1255: Tu homúnculo no puede evolucionar. 1255: Tu homúnculo no puede evolucionar.
// @makehomun // @makehomun
1256: Introduce el ID de un homúnculo (Instrucciones: @makehomun <ID del homúnculo>). 1256: Introduce el ID de un homúnculo (instrucciones: @makehomun <ID del homúnculo>).
1257: El ID que has introducido no es válido. 1257: El ID que has introducido no es válido.
// @homfriendly // @homfriendly
1258: Introduce un valor de amistad (Instrucciones: @homfriendly <valor de amistad [0-1000]>). 1258: Introduce un valor de amistad (instrucciones: @homfriendly <valor de amistad [0-1000]>).
// @homhungry // @homhungry
1259: Introduce un valor de hambre (Instrucciones: @homhungry <valor de hambre [0-100]>). 1259: Introduce un valor de hambre (instrucciones: @homhungry <valor de hambre [0-100]>).
// @homtalk // @homtalk
1260: Introduce un mensaje (Instrucciones: @homtalk <mensaje>). 1260: Introduce un mensaje (instrucciones: @homtalk <mensaje>).
// @hominfo // @hominfo
1261: Atributos del homúnculo: 1261: Atributos del homúnculo:
@ -1192,7 +1345,7 @@
1275: Has alterado los atributos del homúnculo. 1275: Has alterado los atributos del homúnculo.
// @iteminfo // @iteminfo
1276: Introduce el nombre/ID de un objeto (Instrucciones: @ii/@iteminfo <nombre/ID del objeto>). 1276: Introduce el nombre/ID de un objeto (instrucciones: @ii/@iteminfo <nombre/ID del objeto>).
1277: Objeto: '%s'/'%s'[%d] (%hu) Tipo: %s | Efecto: %s 1277: Objeto: '%s'/'%s'[%d] (%hu) Tipo: %s | Efecto: %s
1278: Ninguno 1278: Ninguno
1279: Contiene código 1279: Contiene código
@ -1202,13 +1355,13 @@
1283: - Ningún monstruo tiene este objeto. 1283: - Ningún monstruo tiene este objeto.
// @whodrops // @whodrops
1284: Introduce el nombre/ID de un objeto (Instrucciones: @whodrops <nombre/ID del objeto>).  1284: Introduce el nombre/ID de un objeto (instrucciones: @whodrops <nombre/ID del objeto>). 
1285: Objeto: '%s'[%d] (ID:%d) 1285: Objeto: '%s'[%d] (ID:%d)
1286: - Ningún monstruo tiene ese objeto. 1286: - Ningún monstruo tiene ese objeto.
1287: - Estos monstruos tienen ese objeto (sólo se muestran un máximo de %d): 1287: - Estos monstruos tienen ese objeto (sólo se muestran un máximo de %d):
// @whereis // @whereis
1288: Introduce el nombre/ID de un monstruo (Instrucciones: @whereis <nombre/ID del monstruo>). 1288: Introduce el nombre/ID de un monstruo (instrucciones: @whereis <nombre/ID del monstruo>).
1289: Puedes encontrar un %s en: 1289: Puedes encontrar un %s en:
1290: Este monstruo no aparece en ninguna parte. 1290: Este monstruo no aparece en ninguna parte.
@ -1223,7 +1376,7 @@
1296: No se puede especificar la versión SVN. 1296: No se puede especificar la versión SVN.
// @mutearea // @mutearea
1297: Introduce la cantidad de minutos (Instrucciones: @mutearea/@stfu <minutos>). 1297: Introduce la cantidad de minutos (instrucciones: @mutearea/@stfu <minutos>).
// @rates // @rates
1298: Experiencia: Base %.2fx / Oficio %.2fx 1298: Experiencia: Base %.2fx / Oficio %.2fx
@ -1232,13 +1385,13 @@
1301: Otros objetos: MvP %.2fx / Cartas %.2fx / Cofres %.2fx 1301: Otros objetos: MvP %.2fx / Cartas %.2fx / Cofres %.2fx
// @me // @me
1302: Introduce un mensaje (Instrucciones: @me <mensaje>). 1302: Introduce un mensaje (instrucciones: @me <mensaje>).
// @size / @sizeall / @sizeguild // @size / @sizeall / @sizeguild
1303: Has alterado tu tamaño. 1303: Has alterado tu tamaño.
// @sizeguild // @sizeguild
1304: Introduce el nombre/ID de un clan (Instrucciones: @sizeguild <tamaño> <nombre/ID del clan>). 1304: Introduce el nombre/ID de un clan (instrucciones: @sizeguild <tamaño> <nombre/ID del clan>).
// @monsterignore // @monsterignore
1305: Ahora eres inmune a cualquier ataque. 1305: Ahora eres inmune a cualquier ataque.
@ -1315,7 +1468,7 @@
1354: Objetos encontrados: %d en %d %s ranuras. 1354: Objetos encontrados: %d en %d %s ranuras.
// @delitem // @delitem
1355: Introduce el nombre/ID de un objeto, una cantidad, y el nombre de un jugador (Instrucciones: #delitem <jugador> <nombre/ID del objeto> <cantidad>). 1355: Introduce el nombre/ID de un objeto, una cantidad, y el nombre de un jugador (instrucciones: #delitem <jugador> <nombre/ID del objeto> <cantidad>).
// @font // @font
1356: Ahora se utilizará la fuente por defecto. 1356: Ahora se utilizará la fuente por defecto.
@ -1336,21 +1489,23 @@
// @set // @set
1367: Instrucciones: @set <nombre de la variable> <valor> 1367: Instrucciones: @set <nombre de la variable> <valor>
1368: Instrucciones: ej. @set PoringCharVar 50 1368: Instrucciones: ej. "@set PoringCharVar 50"
1369: Instrucciones: ej. @set PoringCharVarSTR$ Cadena de texto 1369: Instrucciones: ej. "@set PoringCharVarSTR$ Cadena de texto"
1370: Instrucciones: ej. @set PoringCharVarSTR$ muestra su valor, Cadena de texto. 1370: Instrucciones: ej. "@set PoringCharVarSTR$" muestra su valor, cadena de texto.
1371: Las variables de NPC no se pueden editar con @set. 1371: Las variables de NPC no se pueden editar con @set.
1372: Las variables de instancias no se pueden editar con @set. 1372: Las variables de instancias no se pueden editar con @set.
1373: El valor %s ahora es:%d 1373: El valor %s ahora es: %d
1374: El valor %s ahora es :%s 1374: El valor %s ahora es: %s
1375: %s está vacío 1375: %s está vacío
//1376: free
// @cash/@points
1376: Cierra la tienda de cash antes de ejecutar este comando.
// @reloadquestdb // @reloadquestdb
1377: Se ha actualizado la base de datos de las quest con éxito. 1377: Se ha actualizado la base de datos de las quest con éxito.
// @addperm // @addperm
1378: Instrucciones %s <permisos> 1378: Instrucciones: %s <permisos>
1379: -- Listado de permisos 1379: -- Listado de permisos
1380: '%s' no es un permiso válido. 1380: '%s' no es un permiso válido.
1381: El jugador '%s' ya tiene el permiso '%s'. 1381: El jugador '%s' ya tiene el permiso '%s'.
@ -1364,11 +1519,11 @@
1387: Ese archivo no existe. 1387: Ese archivo no existe.
// Mensajes de comandos en general // Mensajes de comandos en general
1388: Ha fallado el comando (Instrucciones: %c<comando> <nombre del personaje> <parámetros>). 1388: Ha fallado el comando (instrucciones: %c<comando> <nombre del personaje> <parámetros>).
1389: Ha ocurrido un error con %s. El jugador no existe o no está conectado. 1389: Ha ocurrido un error con %s. El jugador no existe o no está conectado.
// @cart // @cart
1390: Ese carro no existe (Instrucciones: %s <0-%d>). 1390: Ese carro no existe (instrucciones: %s <0-%d>).
1391: No tienes ningún carro. 1391: No tienes ningún carro.
1392: Ahora tienes un carro. 1392: Ahora tienes un carro.
@ -1387,9 +1542,9 @@
1398: -- Mostrando los primeros %d resultados: 1398: -- Mostrando los primeros %d resultados:
// @channel // @channel
1399: Ese canal no existe (Instrucciones: %s <#nombre del canal>). 1399: Ese canal no existe (instrucciones: %s <#nombre del canal>).
1400: El canal '%s' no existe (Instrucciones: %s <#nombre del canal>). 1400: El canal '%s' no existe (instrucciones: %s <#nombre del canal>).
1401: El canal '%s' está protegido con contraseña (Instrucciones: %s <#nombre del canal> <contraseña>). 1401: El canal '%s' está protegido con contraseña (instrucciones: %s <#nombre del canal> <contraseña>).
1402: No estás en ese canal, escribe '@join <#nombre del canal>'. 1402: No estás en ese canal, escribe '@join <#nombre del canal>'.
1403: Has entrado al canal '%s'. 1403: Has entrado al canal '%s'.
1404: %s ha fallado. 1404: %s ha fallado.
@ -1459,15 +1614,58 @@
1468: -- Limpia la lista de accesos prohibidos al canal. 1468: -- Limpia la lista de accesos prohibidos al canal.
1469: * %s delete <#nombre del canal> 1469: * %s delete <#nombre del canal>
1470: -- Elimina el canal especificado. 1470: -- Elimina el canal especificado.
1471: * %s list mine 1471: * %s listado propio
1472: -- Muestra una lista de todos los canales en los que estás conectado. 1472: -- Muestra una lista de todos los canales en los que estás conectado.
1473: * %s join <#nombre del canal> <contraseña> 1473: * %s join <#nombre del canal> <contraseña>
1474: -- Te unes al canal especificado. 1474: -- Te unes al canal especificado.
1475: ---- Mis canales ---- 1475: ---- Mis canales ----
1476: No te has unido a ningún canal. 1476: No te has unido a ningún canal.
// @effect
1477: Introduce un efecto válido dentro del rango de ID %d a %d.
// @partysharelvl
1478: Se ha modificado el rango para compartir experiencia en grupos.
1479: No se ha podido actualizar la configuración. El char-server está desconectado.
// @autoloottype
1480: Tipo de objeto no encontrado.
1481: Ya estás autorrecogiendo ese tipo de objeto.
1482: Tu lista de autorrecogida de objetos tiene todos los tipos.Puedes eliminar algunos con @autoloottype -<tipo o ID>.
1483: Autorrecogida de objetos del tipo: '%s' {%d}
1484: No estás autorrecogiendo ese tipo de objeto.
1485: Tipo de objeto: '%s' {%d} eliminado de tu lista de autorrecogida de objetos.
1486: Para añadir un tipo de objetos a la lista, usa "@aloottype +<tipo o ID>". Para eliminarlo, use "@aloottype -<tipo o ID>".
1487: Lista de tipos: curativo = 0, consumible = 2, etc = 3, armadura = 4, arma = 5, carta = 6, huevo de mascota = 7, equipo de mascota = 8, municición = 10
1488: "@aloottype reset" borrará tu lista de autorrecogida de objetos.
1489: Tu lista de autorrecogida de objetos está vacía.
1490: Tipos de objetos presentes en tu lista:
1491: Tu lista de autorrecogida de objetos se ha reseteado.
// @dropall
1492: Instrucciones: @dropall {<tipo>}
1493: Listado de tipos: (por defecto) todos = -1, curativos = 0, consumibles = 2, etc = 3, armadura = 4, arma = 5, carta = 6, huevo de mascota = 7, equipo de mascota = 8, munición = 10
1494: ¡Objetos tirados: %d (omitidos: %d)!
// Banking
1495: ¡No puedes retirar tanto dinero!
1496: El banco está desactivado
// Roulette
1497: La ruleta está desactivada
// @guild // @guild
1498: You cannot create a guild because you are in a clan. 1498: No puedes crear un clan porque ya estás en uno.
// @clanspy
1499: Introduce un nombre de de clan o ID (instrucciones: @clanspy <clan o ID>).
1500: Ya no estás espiando al clan %s.
1501: Estás espiando al clan %s.
1502: Nombre o ID de clan no válido.
// PK Mode msgs
1503: Has entrado en una zona PK.
1504: Has entrado en una zona PK (segura hasta el nivel %d).
//Traducciones personalizadas //Traducciones personalizadas
import: conf/msg_conf/import/map_msg_spn_conf.txt import: conf/msg_conf/import/map_msg_spn_conf.txt

View File

@ -1778,7 +1778,7 @@ Achievements:
- ID: 200031 - ID: 200031
Group: "AG_JOB_CHANGE" Group: "AG_JOB_CHANGE"
Name: "Reborn in Valhalla!" Name: "Reborn in Valhalla!"
Condition: " BaseLevel == 99 && Class == JOB_NOVICE_HIGH " Condition: " Class == JOB_NOVICE_HIGH "
Reward: Reward:
# ItemID: 22808 # ItemID: 22808
Script: " specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,30000,10; " Script: " specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,30000,10; "

View File

@ -1778,7 +1778,7 @@ Achievements:
- ID: 200031 - ID: 200031
Group: "AG_JOB_CHANGE" Group: "AG_JOB_CHANGE"
Name: "Reborn in Valhalla!" Name: "Reborn in Valhalla!"
Condition: " BaseLevel == 99 && Class == JOB_NOVICE_HIGH " Condition: " Class == JOB_NOVICE_HIGH "
Reward: Reward:
ItemID: 22808 ItemID: 22808
Script: " specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,30000,10; " Script: " specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,30000,10; "

View File

@ -7,11 +7,17 @@
1166:2527:5467,{ bonus2 bAddRace,RC_Dragon,25; } 1166:2527:5467,{ bonus2 bAddRace,RC_Dragon,25; }
1180:2527,{ bonus2 bAddRace,RC_Dragon,5; } 1180:2527,{ bonus2 bAddRace,RC_Dragon,5; }
1180:2527:5467,{ bonus2 bAddRace,RC_Dragon,25; } 1180:2527:5467,{ bonus2 bAddRace,RC_Dragon,25; }
1219:5782,{ bonus2 bAddClass,Class_All,3; }
1220:5782,{ bonus2 bAddClass,Class_All,3; }
1221:5782,{ bonus2 bAddClass,Class_All,3; }
1269:5467,{ bonus bAspd,1; bonus bFlee2,3; } 1269:5467,{ bonus bAspd,1; bonus bFlee2,3; }
1284:2892,{ bonus2 bSkillAtk,"AS_SONICBLOW",50; bonus bBaseAtk,50; bonus bFlee,-30; } 1284:2892,{ bonus2 bSkillAtk,"AS_SONICBLOW",50; bonus bBaseAtk,50; bonus bFlee,-30; }
1285:2892,{ bonus bCritical,4; bonus bCritAtkRate,40; bonus bMaxHPRate,-10; } 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 */ }
1387:19021,{ bonus2 bSkillAtk,"WS_CARTTERMINATION",15+(getequiprefinerycnt(EQI_HAND_R))*5; } 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; }
1409:5782,{ bonus2 bAddClass,Class_All,3; }
1420:2115,{ bonus3 bAutoSpellWhenHit,"HP_ASSUMPTIO",2,5; } 1420:2115,{ bonus3 bAutoSpellWhenHit,"HP_ASSUMPTIO",2,5; }
1420:2133,{ bonus2 bAddClass,Class_All,4; bonus bDef,2; } 1420:2133,{ bonus2 bAddClass,Class_All,4; bonus bDef,2; }
1421:2133,{ bonus2 bAddClass,Class_All,4; bonus bDef,2; } 1421:2133,{ bonus2 bAddClass,Class_All,4; bonus bDef,2; }
@ -110,6 +116,7 @@
2123:2881,{ bonus bMatkRate,getequiprefinerycnt(EQI_HAND_L)*2; } 2123:2881,{ bonus bMatkRate,getequiprefinerycnt(EQI_HAND_L)*2; }
2124:2702,{ bonus bAspdRate,10; bonus bShortWeaponDamageReturn,5; } 2124:2702,{ bonus bAspdRate,10; bonus bShortWeaponDamageReturn,5; }
2124:22064,{ bonus bAspd,getequiprefinerycnt(EQI_HAND_L)/3; } 2124:22064,{ bonus bAspd,getequiprefinerycnt(EQI_HAND_L)/3; }
2125:5782,{ bonus bDef,2; bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Wind,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubEle,Ele_Dark,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Ghost,5; }
2135:2426,{ bonus2 bAddEff,Eff_Blind,500; autobonus "{ bonus bFlee,20; }",200,10000,BF_WEAPON,"{ specialeffect2 EF_INCAGILITY; }"; } 2135:2426,{ bonus2 bAddEff,Eff_Blind,500; autobonus "{ bonus bFlee,20; }",200,10000,BF_WEAPON,"{ specialeffect2 EF_INCAGILITY; }"; }
2137:2353:5124,{ bonus bDef,2-getequiprefinerycnt(EQI_HAND_L)-getequiprefinerycnt(EQI_HEAD_TOP); bonus bMdef,5+getequiprefinerycnt(EQI_HAND_L)+getequiprefinerycnt(EQI_HEAD_TOP); } 2137:2353:5124,{ bonus bDef,2-getequiprefinerycnt(EQI_HAND_L)-getequiprefinerycnt(EQI_HEAD_TOP); bonus bMdef,5+getequiprefinerycnt(EQI_HAND_L)+getequiprefinerycnt(EQI_HEAD_TOP); }
2153:28372,{ .@r = getequiprefinerycnt(EQI_HAND_R)/6*8; bonus2 bSkillAtk,"LG_SHIELDPRESS",.@r; } 2153:28372,{ .@r = getequiprefinerycnt(EQI_HAND_R)/6*8; bonus2 bSkillAtk,"LG_SHIELDPRESS",.@r; }
@ -253,6 +260,7 @@
2725:2773,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,3; bonus bHealPower,5; } 2725:2773,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,3; bonus bHealPower,5; }
2725:2774,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,3; bonus bHealPower,5; } 2725:2774,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,3; bonus bHealPower,5; }
2726:2727,{ bonus bUseSPrate,-25; } 2726:2727,{ bonus bUseSPrate,-25; }
27264:27265,{ bonus2 bAddEle,Ele_Dark,15; bonus2 bAddEle,Ele_Undead,15; bonus2 bMagicAddEle,Ele_Dark,15; bonus2 bMagicAddEle,Ele_Undead,15; bonus2 bSubEle,Ele_Dark,15; bonus2 bSubEle,Ele_Undead,15; }
2733:2772,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,3; bonus bHealPower,5; } 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: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; } 2733:2774,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,3; bonus bHealPower,5; }
@ -297,7 +305,8 @@
2968:18821,{ bonus bMatkRate,getequiprefinerycnt(EQI_HEAD_TOP)/2; } 2968:18821,{ bonus bMatkRate,getequiprefinerycnt(EQI_HEAD_TOP)/2; }
2969:13092,{ bonus bBaseAtk,getequiprefinerycnt(EQI_HAND_R)*10; } 2969:13092,{ bonus bBaseAtk,getequiprefinerycnt(EQI_HAND_R)*10; }
2969:18821,{ bonus bMatkRate,getequiprefinerycnt(EQI_HEAD_TOP)/2; } 2969:18821,{ bonus bMatkRate,getequiprefinerycnt(EQI_HEAD_TOP)/2; }
2979:18852,{ bonus2 bSubEle,Ele_Fire,10; bonus bLongAtkRate,30; } 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; }
2983:4218,{ bonus bVit,-3; bonus bHPrecovRate,-20; bonus bMaxHP,1000; } 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: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; } 2983:4269,{ bonus bInt,-3; bonus bSPrecovRate,-20; bonus bMaxSP,150; }
@ -369,6 +378,7 @@
4545:18730,{ bonus bMatk,5; bonus bBaseAtk,5; } 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; } 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; } 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; }
4626:4628,{ bonus2 bIgnoreMdefRaceRate,RC_Demon,50; } 4626:4628,{ bonus2 bIgnoreMdefRaceRate,RC_Demon,50; }
4627:4628,{ bonus2 bIgnoreDefRaceRate,RC_Formless,50; bonus2 bIgnoreDefRaceRate,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; } 4629:4630,{ bonus3 bAutoSpell,"NPC_WIDECURSE",2,2; bonus2 bSubEle,Ele_Neutral,5; }
@ -671,6 +681,8 @@
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; } } 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; } } 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; } }
27147:27148,{ bonus bDelayrate,-3; } 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; }
28315:28317,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; } 28315:28317,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; }
28316:28318,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; } 28316:28318,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; }
28321:28322,{ bonus bUseSPrate,-(getskilllv("HT_BEASTBANE") * 2); } 28321:28322,{ bonus bUseSPrate,-(getskilllv("HT_BEASTBANE") * 2); }

View File

@ -1392,9 +1392,9 @@
2188,Svalinn_J,Svalinn,4,10,,500,,80,,1,0xFFFFFFFF,63,2,32,,65,1,3,{ .@r = getrefine(); bonus bMaxHP,9+.@r/3; bonus2 bAddEle,Ele_Water,4+.@r/3*5; },{},{} 2188,Svalinn_J,Svalinn,4,10,,500,,80,,1,0xFFFFFFFF,63,2,32,,65,1,3,{ .@r = getrefine(); bonus bMaxHP,9+.@r/3; bonus2 bAddEle,Ele_Water,4+.@r/3*5; },{},{}
2189,Mad_Bunny,Mad Bunny Shield,4,10,,100,,40,,1,0xFFFFFFFF,63,2,32,,30,1,6,{ bonus2 bSubEle,Ele_All,5; bonus bMdef,6; bonus bDex,1; },{},{} 2189,Mad_Bunny,Mad Bunny Shield,4,10,,100,,40,,1,0xFFFFFFFF,63,2,32,,30,1,6,{ bonus2 bSubEle,Ele_All,5; bonus bMdef,6; bonus bDex,1; },{},{}
2190,Ancient_Shield_Of_Aeon,Ancient Shield Of Aeon,4,0,,200,,5,,0,0x000FDF80,63,2,32,,130,1,2,{ bonus2 bSubEle,Ele_Neutral,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubEle,Ele_Holy,10; bonus2 bSubEle,Ele_Ghost,10; bonus bMaxHP,500; bonus bMaxSP,50; if(getrefine()>=14) skill "MG_STONECURSE",5; },{},{} 2190,Ancient_Shield_Of_Aeon,Ancient Shield Of Aeon,4,0,,200,,5,,0,0x000FDF80,63,2,32,,130,1,2,{ bonus2 bSubEle,Ele_Neutral,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubEle,Ele_Holy,10; bonus2 bSubEle,Ele_Ghost,10; bonus bMaxHP,500; bonus bMaxSP,50; if(getrefine()>=14) skill "MG_STONECURSE",5; },{},{}
2195,Lian_Shield,Lian Shield,4,0,,1300,,50,,1,0xFFFFFFFF,63,2,32,,65,1,,{ bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubRace,RC_Formless,-5; },{},{} 2195,Lian_Shield,Lian Shield,4,0,,1300,,50,,1,0xFFFFFFFF,63,2,32,,65,1,3,{ bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubRace,RC_Formless,-5; },{},{}
2196,White_Gold_Shield,White Gold Shield,4,0,,1800,,140,,1,0xFFFFFFFF,63,2,32,,,1,,{ autobonus2 "{ bonus bMagicDamageReturn,20; }",100,2000,BF_MAGIC; /* Confirm: Success rate? */ },{},{} 2196,White_Gold_Shield,White Gold Shield,4,0,,1800,,140,,1,0xFFFFFFFF,63,2,32,,,1,4,{ autobonus2 "{ bonus bMagicDamageReturn,20; }",100,2000,BF_MAGIC; /* Confirm: Success rate? */ },{},{}
2198,Lapine_Shield,Lapine Shield,4,0,,1000,,25,,1,0xFFFFFFFF,63,2,32,,100,1,,{ bonus bMdef,10; if (getrefine() > 7) { bonus bMatk,20; } },{},{} 2198,Lapine_Shield,Lapine Shield,4,0,,1000,,25,,1,0xFFFFFFFF,63,2,32,,100,1,3,{ bonus bMdef,10; if (getrefine() > 7) { bonus bMatk,20; } },{},{}
// GM Shield // GM Shield
2199,Ahura_Mazda,Ahura Mazdah,4,1,,10,,10000,,0,0xFFFFFFFF,63,2,32,,1,1,1,{ 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; skill "ECL_SNOWFLIP",1; skill "ECL_PEONYMAMY",1; skill "ECL_SADAGUI",1; skill "ECL_SEQUOIADUST",1; bonus bMaxHPrate,200; bonus bNoKnockback,0; bonus bDelayRate,-20; bonus bSpeedRate,25; bonus bIntravision,1; },{ sc_start4 SC_ENDURE,60000,10,0,0,1; },{ sc_end SC_ENDURE; } 2199,Ahura_Mazda,Ahura Mazdah,4,1,,10,,10000,,0,0xFFFFFFFF,63,2,32,,1,1,1,{ 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; skill "ECL_SNOWFLIP",1; skill "ECL_PEONYMAMY",1; skill "ECL_SADAGUI",1; skill "ECL_SEQUOIADUST",1; bonus bMaxHPrate,200; bonus bNoKnockback,0; bonus bDelayRate,-20; bonus bSpeedRate,25; bonus bIntravision,1; },{ sc_start4 SC_ENDURE,60000,10,0,0,1; },{ sc_end SC_ENDURE; }
//=================================================================== //===================================================================
@ -2162,7 +2162,7 @@
2976,Red_Lantern,Red Lantern,4,10,,200,,0,,1,0xFFFFFFFF,63,2,136,,100,0,,{ bonus bMaxSP,-300; skill "MG_SIGHT",1; },{},{ sc_end SC_SIGHT; } 2976,Red_Lantern,Red Lantern,4,10,,200,,0,,1,0xFFFFFFFF,63,2,136,,100,0,,{ bonus bMaxSP,-300; skill "MG_SIGHT",1; },{},{ sc_end SC_SIGHT; }
2977,Hurt_Mind,Hurt Mind,4,10,,100,,0,,1,0xFFFFFFFF,63,2,136,,110,0,,{ bonus bMaxSP,200; skill "DC_SCREAM",3; },{},{} 2977,Hurt_Mind,Hurt Mind,4,10,,100,,0,,1,0xFFFFFFFF,63,2,136,,110,0,,{ bonus bMaxSP,200; skill "DC_SCREAM",3; },{},{}
2978,KindHeart,Kind Heart,4,10,,100,,0,,1,0xFFFFFFFF,63,2,136,,110,0,,{ bonus bMaxHP,500; bonus2 bHPRegenRate,300,10000; skill "DC_SCREAM",3; },{},{} 2978,KindHeart,Kind Heart,4,10,,100,,0,,1,0xFFFFFFFF,63,2,136,,110,0,,{ bonus bMaxHP,500; bonus2 bHPRegenRate,300,10000; skill "DC_SCREAM",3; },{},{}
2979,Strawberry_Decoration,Strawberry Decoration,4,0,,500,,1,,1,0xFFFFFFFF,63,2,136,,,0,,{ bonus bAllStats,1; bonus3 bAutoSpellWhenHit,"WZ_FROSTNOVA",3,10; /* Confirm: Frost Nova cast chance */ },{},{} 2979,Strawberry_Decoration,Strawberry Decoration,4,20,,500,,1,,1,0xFFFFFFFE,63,2,136,,1,,,{ bonus bAllStats,1; bonus3 bAutoSpellWhenHit,"WZ_FROSTNOVA",3,10; /* Confirm: Frost Nova cast chance */ },{},{}
2980,Evilspirit_Gloves,Evilspirit Gloves,4,10,,100,,,,1,0xFFFFFFFF,63,2,136,,110,1,,{ bonus bMaxHP,500; bonus bMaxSP,200; skill "PF_SPIDERWEB",1; },{},{} 2980,Evilspirit_Gloves,Evilspirit Gloves,4,10,,100,,,,1,0xFFFFFFFF,63,2,136,,110,1,,{ bonus bMaxHP,500; bonus bMaxSP,200; skill "PF_SPIDERWEB",1; },{},{}
2981,RingOfHero,Warrior's Ring,4,10,,200,,0,,0,0xFFFFFFFF,63,2,136,,160,,,{},{},{} 2981,RingOfHero,Warrior's Ring,4,10,,200,,0,,0,0xFFFFFFFF,63,2,136,,160,,,{},{},{}
2983,Greed_Brooch,Greed Brooch,4,10,,100,,,,1,0xFFFFFFFF,63,2,136,,50,1,,{ bonus2 bHPLossRate,10,5000; },{},{} 2983,Greed_Brooch,Greed Brooch,4,10,,100,,,,1,0xFFFFFFFF,63,2,136,,50,1,,{ bonus2 bHPLossRate,10,5000; },{},{}
@ -4604,11 +4604,12 @@
6605,Muspellium,Muspellium,3,0,,0,,,,,,,,,,,,,{},{},{} 6605,Muspellium,Muspellium,3,0,,0,,,,,,,,,,,,,{},{},{}
6606,Cute_Cart_Coupon,Cute Cart Remodel Coupon,3,0,,10,,,,,,,,,,,,,{},{},{} 6606,Cute_Cart_Coupon,Cute Cart Remodel Coupon,3,0,,10,,,,,,,,,,,,,{},{},{}
6607,Temporal_Crystal,Temporal Crystal,3,20,,10,,,,,,,,,,,,,{},{},{} 6607,Temporal_Crystal,Temporal Crystal,3,20,,10,,,,,,,,,,,,,{},{},{}
6608,Coagulated_Spell,Coagulated Spell,3,0,,0,,,,,,,,,,,,,{},{},{} 6608,Coagulated_Spell,Coagulated Spell,3,20,,10,,,,,,,,,,,,,{},{},{}
6609,Glast_Decayed_Nail,Glast Decayed Nail,3,82,,10,,,,,,,,,,,,,{},{},{} 6609,Glast_Decayed_Nail,Glast Decayed Nail,3,2800,,10,,,,,,,,,,,,,{},{},{}
6610,Glast_Horrendous_Mouth,Glast Horrendous Mouth,3,390,,10,,,,,,,,,,,,,{},{},{} 6610,Glast_Horrendous_Mouth,Glast Horrendous Mouth,3,3200,,10,,,,,,,,,,,,,{},{},{}
6612,Gold_Coin_Basket,Gold Coin Basket,3,20,,200,,,,,,,,,,,,,{},{},{} 6611,Colorful_Key,Colorful Key,3,50000,,10,,,,,,,,,,,,,{},{},{}
6613,Flashy_Brooch,Flashy Brooch,3,20,,10,,,,,,,,,,,,,{},{},{} 6612,Gold_Coin_Basket,Gold Coin Basket,3,300000,,200,,,,,,,,,,,,,{},{},{}
6613,Colorful_Brooch,Colorful Brooch,3,100000,,10,,,,,,,,,,,,,{},{},{}
6615,Siege_Guild_Coin,Siege Guild Coin,3,0,,10,,,,,,,,,,,,,{},{},{} 6615,Siege_Guild_Coin,Siege Guild Coin,3,0,,10,,,,,,,,,,,,,{},{},{}
6616,Lmtd_Manny_Card,Limited Manny Card,3,20,,10,,,,,,,,,,,,,{},{},{} 6616,Lmtd_Manny_Card,Limited Manny Card,3,20,,10,,,,,,,,,,,,,{},{},{}
6617,Lmtd_Sid_Card,Limited Sid Card,3,20,,10,,,,,,,,,,,,,{},{},{} 6617,Lmtd_Sid_Card,Limited Sid Card,3,20,,10,,,,,,,,,,,,,{},{},{}
@ -11451,6 +11452,34 @@
27160,Vavayaga_Card,Vavayaga Card,6,20,,10,,,,,,,,64,,,,,{ bonus bFlee,getrefine()*2; },{},{} 27160,Vavayaga_Card,Vavayaga Card,6,20,,10,,,,,,,,64,,,,,{ bonus bFlee,getrefine()*2; },{},{}
27161,Mavka_Card,Mavka Card,6,20,,10,,,,,,,,136,,,,,{ bonus2 bMagicAtkEle,Ele_Fire,20; bonus2 bMagicAtkEle,Ele_Earth,20; },{},{} 27161,Mavka_Card,Mavka Card,6,20,,10,,,,,,,,136,,,,,{ bonus2 bMagicAtkEle,Ele_Fire,20; bonus2 bMagicAtkEle,Ele_Earth,20; },{},{}
27162,Gopinich_Card,Gopinich Card,6,20,,10,,,,,,,,769,,,,,{ bonus bSPDrainValue,5; bonus bUseSPrate,50; },{},{} 27162,Gopinich_Card,Gopinich Card,6,20,,10,,,,,,,,769,,,,,{ bonus bSPDrainValue,5; bonus bUseSPrate,50; },{},{}
27163,Faceworm_Card,Faceworm Card,6,20,,10,,,,,,,,136,,,,,{ bonus bAgi,-1; bonus bDex,-1; bonus bAspdRate,3; },{},{}
27164,Faceworm_Queen_Card,Faceworm Queen Card,6,20,,10,,,,,,,,64,,,,,{ bonus bMaxHPrate,-10; .@r = getrefine(); bonus bCritical,15 + .@r; bonus bCritAtkRate,.@r; },{},{}
27165,Dark_Faceworm_Card,Dark Faceworm Card,6,20,,10,,,,,,,,136,,,,,{ bonus bVit,-1; bonus bInt,-1; bonus bDelayrate,-3; },{},{}
27166,Faceworm_Egg_Card,Faceworm Egg Card,6,20,,10,,,,,,,,64,,,,,{ .@r = getrefine(); .@sub = 2+(.@r >= 9 ? 3 : .@r >= 7 ? 1 : 0); bonus bNearAtkDef,.@sub; bonus bMagicAtkDef,.@sub; },{},{}
27167,Faceworm_Larva_Card,Faceworm Larva Card,6,20,,10,,,,,,,,4,,,,,{ bonus2 bSubEle,Ele_Neutral,15; bonus2 bMagicAddSize,Size_All,getrefine()*3; },{},{}
27168,Irene_High_Elder_Card,Irene High Elder Card,6,20,,10,,,,,,,,4,,,,,{ bonus bHit,10 + 5 * (getrefine()/3); },{},{}
27169,Payon_Soldier_Card,Payon Soldier Card,6,20,,10,,,,,,,,2,,,,,{ .@atk = 5; .@r = getrefine(); if(getiteminfo(getequipid(EQI_HAND_R),11) == W_SPEAR && .@r >= 10){ .@atk += 20; if(.@r >= 14){ .@atk += 20; } } } bonus bAtk,.@atk; bonus bMatk,.@atk; },{},{}
27181,Airship_Raid_Card,Airship Raid Card,6,20,,10,,,,,,,,2,,,,,{ .@r = getrefine(); bonus bLongAtkRate,1 + .@r/2; bonus bCritical,.@r/2; },{},{}
27182,Captain_Felock_Card,Captain Felock Card,6,20,,10,,,,,,,,2,,,,,{ bonus bAtk,30; .@r = getrefine(); bonus2 bSkillAtk,"RL_AM_BLAST",.@r >= 10 ? 60 : 30; bonus2 bSkillAtk,"RL_HAMMER_OF_GOD",.@r >= 10 ? 60 : 30; },{},{}
27183,Gigantes_Card,Gigantes Card,6,20,,10,,,,,,,,128,,,,,{ bonus bAtk,20; if(readparam(bStr) >= 120) { bonus bAtk,20; bonus bAspdRate,-3; } },{},{}
27184,Knight_Sakray_Card,Knight Sakray Card,6,20,,10,,,,,,,,2,,,,,{ bonus bAtk,20; bonus2 bAddRace,RC_Demon,30; bonus2 bAddRace,RC_Undead,30; },{},{}
27249,Arhi_Card,Arhi Card,6,20,,10,,,,,,,,64,,,,,{ bonus bAtk,15; bonus bMatk,15; bonus bMaxHP,500; bonus bHit,15; bonus bFlee,15; },{},{}
27250,Dio_Anemos_Card,Dio Anemos Card,6,20,,10,,,,,,,,64,,,,,{ bonus bMatkRate,3; bonus2 bMagicAtkEle,Ele_Neutral,5; bonus2 bMagicAtkEle,Ele_Earth,5; },{},{}
27251,Geffen_Gang_Member_Card,Geffen Gang Member Card,6,20,,10,,,,,,,,64,,,,,{ bonus bCritAtkRate,3; bonus bAspdRate,5; },{},{}
27252,Geffen_Bully_Card,Geffen Bully Card,6,20,,10,,,,,,,,64,,,,,{ bonus bCritAtkRate,5; bonus bAspdRate,3; },{},{}
27253,Geffen_Shoplifter_Card,Geffen Shoplifter Card,6,20,,10,,,,,,,,64,,,,,{ bonus bMatkRate,3; bonus2 bMagicAtkEle,Ele_Fire,5; bonus2 bMagicAtkEle,Ele_Holy,5; },{},{}
27254,Faymont_Card,Faymont Card,6,20,,10,,,,,,,,64,,,,,{ bonus bSPrecovRate,10; bonus3 bAutoSpellWhenHit,"CH_SOULCOLLECT",1,10; },{},{}
27255,Ordre_Card,Ordre Card,6,20,,10,,,,,,,,64,,,,,{ bonus bMatkRate,3; bonus2 bMagicAtkEle,Ele_Wind,5; bonus2 bMagicAtkEle,Ele_Water,5; },{},{}
27256,Blut_Hase_Card,Blut Hase Card,6,20,,10,,,,,,,,64,,,,,{ bonus bAtkRate,3; bonus bLongAtkRate,5; },{},{}
27257,Kuro_Akuma_Card,Kuro Akuma Card,6,20,,10,,,,,,,,64,,,,,{ bonus bCastrate,3; bonus bLongAtkRate,5; bonus2 bSkillAtk,"NJ_HUUJIN",5; bonus2 bSkillAtk,"NJ_HYOUSENSOU",5; bonus2 bSkillAtk,"NJ_KOUENKA",5; },{},{}
27258,Ifodes_Card,Ifodes Card,6,20,,10,,,,,,,,64,,,,,{ bonus bAtkRate,3; bonus bAspdRate,5; },{},{}
27259,Licheniyes_Card,Licheniyes Card,6,20,,10,,,,,,,,64,,,,,{ bonus bMatkRate,3; bonus2 bMagicAtkEle,Ele_Holy,5; bonus bHealPower,5; },{},{}
27260,Odoric_Card,Odoric Card,6,20,,10,,,,,,,,64,,,,,{ bonus bAspdRate,3; bonus bLongAtkRate,5; },{},{}
27261,Ju_Card,Ju Card,6,20,,10,,,,,,,,2,,,,,{ .@rate = 10 + (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOOK ? 20 : 0) + (getrefine() >= 14 ? 20 : 0); bonus2 bSkillAtk,"MG_FIREBOLT",.@rate; bonus2 bSkillAtk,"MG_COLDBOLT",.@rate; bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",.@rate; },{},{}
27262,Dwigh_Card,Dwigh Card,6,20,,10,,,,,,,,136,,,,,{ bonus2 bMagicAtkEle,Ele_Dark,20; bonus2 bMagicAtkEle,Ele_Neutral,20; },{},{}
27263,Fay_Kanavian_Card,Fay Kanavian Card,6,20,,10,,,,,,,,64,,,,,{ autobonus "{ bonus bDef,300; }",100,10000,BF_WEAPON|BF_SHORT,"{ active_transform 1040,10000; }"; },{},{}
27264,Evil_Shadow_Card,Evil Shadow Card,6,20,,10,,,,,,,,32,,,,,{ bonus2 bSubEle,Ele_Dark,30; bonus2 bSubEle,Ele_Undead,30; bonus2 bSubEle,Ele_Holy,-30; bonus2 bSubEle,Ele_Fire,-30; },{},{}
27265,Evil_Fanatics_Card,Evil Fanatics Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddEle,Ele_Dark,30; bonus2 bAddEle,Ele_Undead,30; bonus2 bMagicAddEle,Ele_Dark,30; bonus2 bMagicAddEle,Ele_Undead,30; bonus2 bAddEle,Ele_Holy,-30; bonus2 bAddEle,Ele_Fire,-30; bonus2 bMagicAddEle,Ele_Holy,-30; bonus2 bMagicAddEle,Ele_Fire,-30; },{},{}
//=================================================================== //===================================================================
// New Katars // New Katars
//=================================================================== //===================================================================

View File

@ -528,7 +528,7 @@
// Event MVP // Event MVP
1502,PORING_V,Pori Pori,Bring it on!,99,95000000,1,78525,25106,1,5000,10000,0,10,100,100,65,100,255,255,10,12,1,3,25,0x6283885,160,1672,672,480,43625,10020,1000,4005,100,2286,200,5035,10000,2344,2500,2346,2500,2350,2500,2348,2500,2655,500,7126,10000,0,0,0,0,2110,4500 1502,PORING_V,Pori Pori,Bring it on!,99,95000000,1,78525,25106,1,5000,10000,0,10,100,100,65,100,255,255,10,12,1,3,25,0x6283885,160,1672,672,480,43625,10020,1000,4005,100,2286,200,5035,10000,2344,2500,2346,2500,2350,2500,2348,2500,2655,500,7126,10000,0,0,0,0,2110,4500
// Nifflheim (7.0) // Niflheim (7.0)
1503,GIBBET,Gibbet,Gibbet,105,12999,1,1944,1458,1,536,621,116,45,103,56,62,55,61,37,10,12,2,6,27,0x2003885,180,917,1584,576,0,0,0,0,0,0,0,7212,1800,7218,5335,7222,4074,724,300,716,100,604,10,7939,100,0,0,0,0,4278,1 1503,GIBBET,Gibbet,Gibbet,105,12999,1,1944,1458,1,536,621,116,45,103,56,62,55,61,37,10,12,2,6,27,0x2003885,180,917,1584,576,0,0,0,0,0,0,0,7212,1800,7218,5335,7222,4074,724,300,716,100,604,10,7939,100,0,0,0,0,4278,1
1504,DULLAHAN,Dullahan,Dullahan,108,18546,1,2509,1977,2,666,741,111,38,121,29,51,43,87,3,10,12,1,1,49,0x3885,155,847,1152,480,0,0,0,0,0,0,0,7209,3200,7210,4850,2614,1,2505,13,2506,1,15039,10,0,0,0,0,0,0,4176,1 1504,DULLAHAN,Dullahan,Dullahan,108,18546,1,2509,1977,2,666,741,111,38,121,29,51,43,87,3,10,12,1,1,49,0x3885,155,847,1152,480,0,0,0,0,0,0,0,7209,3200,7210,4850,2614,1,2505,13,2506,1,15039,10,0,0,0,0,0,0,4176,1
1505,LOLI_RURI,Loli Ruri,Loli Ruri,109,15280,1,2790,2093,2,787,1017,53,44,111,50,47,79,79,79,10,12,2,6,87,0x2003885,125,747,1632,576,0,0,0,0,0,0,0,7206,800,7219,3000,7214,5044,985,100,7019,1,2718,5,6246,300,15038,10,0,0,4191,1 1505,LOLI_RURI,Loli Ruri,Loli Ruri,109,15280,1,2790,2093,2,787,1017,53,44,111,50,47,79,79,79,10,12,2,6,87,0x2003885,125,747,1632,576,0,0,0,0,0,0,0,7206,800,7219,3000,7214,5044,985,100,7019,1,2718,5,6246,300,15038,10,0,0,4191,1
@ -1682,9 +1682,9 @@
//2525,WATERMELON_16 //2525,WATERMELON_16
//2526,E_BANDIT //2526,E_BANDIT
//2527,ME_ANOPHELES //2527,ME_ANOPHELES
2528,FACEWORM,Faceworm,Faceworm,140,482427,1,38800,3960,2,1818,727,50,30,100,50,100,100,100,50,10,12,2,4,25,0x2000085,200,384,720,480,0,0,0,0,0,0,0,971,100,22507,100,0,0,0,0,0,0,0,0,13089,10,7326,1000,972,100,0,0 2528,FACEWORM,Faceworm,Faceworm,140,482427,1,38800,3960,2,1818,727,50,30,100,50,100,100,100,50,10,12,2,4,25,0x2000085,200,384,720,480,0,0,0,0,0,0,0,971,100,22507,100,0,0,0,0,0,0,0,0,13089,10,7326,1000,972,100,27163,1
2529,FACEWORM_QUEEN,Faceworm Queen,Faceworm Queen,155,50000000,1,200000,200000,2,4024,1609,100,60,200,100,200,200,200,100,10,12,2,4,85,0x6283695,200,768,540,480,90909,0,0,617,2500,12246,2500,607,1000,0,0,0,0,0,0,0,0,13090,100,0,0,6649,5000,0,0,0,0 2529,FACEWORM_QUEEN,Faceworm Queen,Faceworm Queen,155,50000000,1,200000,200000,2,4024,1609,100,60,200,100,200,200,200,100,10,12,2,4,85,0x6283695,200,768,540,480,90909,0,0,617,2500,12246,2500,607,1000,0,0,0,0,0,0,0,0,13090,100,0,0,6649,5000,0,0,27164,1
2530,FACEWORM_DARK,Faceworm Dark,Dark Faceworm,144,5000000,1,100000,80000,2,2012,805,100,30,150,100,150,150,150,100,10,12,2,4,45,0x6283695,180,576,480,480,0,0,0,0,0,0,0,13089,10,22507,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 2530,FACEWORM_DARK,Faceworm Dark,Dark Faceworm,144,5000000,1,100000,80000,2,2012,805,100,30,150,100,150,150,150,100,10,12,2,4,45,0x6283695,180,576,480,480,0,0,0,0,0,0,0,13089,10,22507,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27165,1
2531,VENOM_BUG,Venom Bug,Venom Bug,140,10000,1,0,0,1,340,0,200,100,200,200,200,200,200,200,12,12,0,4,25,0x2200084,2000,384,0,480,0,0,0,0,0,0,0,938,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7326,1000,0,0 2531,VENOM_BUG,Venom Bug,Venom Bug,140,10000,1,0,0,1,340,0,200,100,200,200,200,200,200,200,12,12,0,4,25,0x2200084,2000,384,0,480,0,0,0,0,0,0,0,938,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7326,1000,0,0
2532,FACEWORM_QUEEN_R,Faceworm Queen (Red),Red Faceworm Queen,155,50000000,1,200000,200000,2,12000,4800,400,400,500,100,200,200,200,100,10,12,2,4,23,0x6283695,200,768,540,480,90909,12246,2500,617,2500,0,0,994,5000,0,0,0,0,0,0,0,0,13090,100,0,0,6649,5000,0,0,0,0 2532,FACEWORM_QUEEN_R,Faceworm Queen (Red),Red Faceworm Queen,155,50000000,1,200000,200000,2,12000,4800,400,400,500,100,200,200,200,100,10,12,2,4,23,0x6283695,200,768,540,480,90909,12246,2500,617,2500,0,0,994,5000,0,0,0,0,0,0,0,0,13090,100,0,0,6649,5000,0,0,0,0
2533,FACEWORM_QUEEN_G,Faceworm Queen (Green),Green Faceworm Queen,155,50000000,1,200000,200000,2,5000,2000,500,60,200,100,400,200,200,100,10,12,2,4,22,0x6283695,200,768,540,480,90909,617,2500,12246,2500,0,0,6649,5000,13090,100,997,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0 2533,FACEWORM_QUEEN_G,Faceworm Queen (Green),Green Faceworm Queen,155,50000000,1,200000,200000,2,5000,2000,500,60,200,100,400,200,200,100,10,12,2,4,22,0x6283695,200,768,540,480,90909,617,2500,12246,2500,0,0,6649,5000,13090,100,997,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@ -1694,30 +1694,30 @@
2537,HIDDEN_MOB4,Hidden Mob 4,Monster 4,151,10000,200,0,0,1,2000,0,200,100,100,100,100,100,100,100,12,12,0,0,88,0x0370084,2000,0,100,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 2537,HIDDEN_MOB4,Hidden Mob 4,Monster 4,151,10000,200,0,0,1,2000,0,200,100,100,100,100,100,100,100,12,12,0,0,88,0x0370084,2000,0,100,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
//2538,E_KING_PORING //2538,E_KING_PORING
2539,HIDDEN_MOB5,Hidden Mob 5,Monster 5,151,10000,200,0,0,9,500,0,200,100,100,100,100,100,100,100,12,12,0,0,88,0x2370084,2000,0,500,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 2539,HIDDEN_MOB5,Hidden Mob 5,Monster 5,151,10000,200,0,0,9,500,0,200,100,100,100,100,100,100,100,12,12,0,0,88,0x2370084,2000,0,500,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
2540,FACEWORM_EGG,Faceworm Egg,Faceworm Egg,140,10,1,10,12,1,150,150,10,10,10,10,10,10,10,10,10,12,1,4,25,0x2370000,150,24,0,0,0,0,0,0,0,0,0,7032,5000,938,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 2540,FACEWORM_EGG,Faceworm Egg,Faceworm Egg,140,10,1,10,12,1,150,150,10,10,10,10,10,10,10,10,10,12,1,4,25,0x2370000,150,24,0,0,0,0,0,0,0,0,0,7032,5000,938,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27166,1
2541,FACEWORM_LARVA,Faceworm Larva,Faceworm Larva,145,260380,1,10,12,1,1286,1851,10,10,10,50,50,50,180,50,10,12,1,4,45,0x2000085,150,1000,792,336,0,0,0,0,0,0,0,912,225,0,0,0,0,0,0,0,0,0,0,1096,1750,943,400,938,1500,0,0 2541,FACEWORM_LARVA,Faceworm Larva,Faceworm Larva,145,260380,1,10,12,1,1286,1851,10,10,10,50,50,50,180,50,10,12,1,4,45,0x2000085,150,1000,792,336,0,0,0,0,0,0,0,912,225,0,0,0,0,0,0,0,0,0,0,1096,1750,943,400,938,1500,27167,1
2542,IRENE_ELDER,Irene Elder,Doyen Irene,101,433110,1,11360,27032,1,1749,2281,145,73,82,36,55,100,182,88,10,12,1,7,20,102774421,170,73,384,288,0,0,0,0,0,0,0,12072,100,12082,100,12087,100,12077,100,12092,100,12097,100,7481,1,12129,1,0,0,0,0 2542,IRENE_ELDER,Irene Elder,Doyen Irene,101,433110,1,11360,27032,1,1749,2281,145,73,82,36,55,100,182,88,10,12,1,7,20,102774421,170,73,384,288,0,0,0,0,0,0,0,12072,100,12082,100,12087,100,12077,100,12092,100,12097,100,7481,1,12129,1,0,0,27168,1
2543,PAYONSOLDIER,1st Payon Soldier,1st Payon Soldier,101,20099,1,1083,2688,1,545,596,66,36,20,46,35,35,64,30,10,12,1,7,20,0x3095,225,73,348,288,0,0,0,0,0,0,0,12054,533,12044,533,12059,533,12069,533,12049,533,12127,266,12064,533,7479,1,0,0,0,0 2543,PAYONSOLDIER,1st Payon Soldier,1st Payon Soldier,101,20099,1,1083,2688,1,545,596,66,36,20,46,35,35,64,30,10,12,1,7,20,0x3095,225,73,348,288,0,0,0,0,0,0,0,12054,533,12044,533,12059,533,12069,533,12049,533,12127,266,12064,533,7479,1,0,0,27169,1
2544,PAYONSOLDIER2,2nd Payon Soldier,2nd Payon Soldier,101,21099,1,1136,2703,1,697,748,66,36,20,46,25,35,64,30,10,12,1,7,20,0x3095,200,73,348,288,0,0,0,0,0,0,0,12071,400,12076,400,12091,400,12081,400,12096,400,12086,400,12128,133,7480,1,0,0,0,0 2544,PAYONSOLDIER2,2nd Payon Soldier,2nd Payon Soldier,101,21099,1,1136,2703,1,697,748,66,36,20,46,25,35,64,30,10,12,1,7,20,0x3095,200,73,348,288,0,0,0,0,0,0,0,12071,400,12076,400,12091,400,12081,400,12096,400,12086,400,12128,133,7480,1,0,0,27169,1
2545,GUARDDOG,1st Guard Dog,1st Guard Dog,101,20099,1,944,2658,1,546,598,66,36,20,46,25,35,64,30,10,12,1,2,22,0x3091,150,73,348,288,0,0,0,0,0,0,0,12043,600,12068,600,7477,1,12048,600,12053,600,12058,600,12063,600,12125,333,0,0,0,0 2545,GUARDDOG,1st Guard Dog,1st Guard Dog,101,20099,1,944,2658,1,546,598,66,36,20,46,25,35,64,30,10,12,1,2,22,0x3091,150,73,348,288,0,0,0,0,0,0,0,12043,600,12068,600,7477,1,12048,600,12053,600,12058,600,12063,600,12125,333,0,0,0,0
2546,GUARDDOG2,2nd Guard Dog,2nd Guard Dog,101,21099,1,1014,2673,1,573,229,66,36,20,46,25,35,64,30,10,12,1,2,23,0x3095,120,73,348,288,0,0,0,0,0,0,0,12045,466,7478,1,12050,466,12055,466,12060,466,12065,466,12070,466,12126,200,0,0,0,0 2546,GUARDDOG2,2nd Guard Dog,2nd Guard Dog,101,21099,1,1014,2673,1,573,229,66,36,20,46,25,35,64,30,10,12,1,2,23,0x3095,120,73,348,288,0,0,0,0,0,0,0,12045,466,7478,1,12050,466,12055,466,12060,466,12065,466,12070,466,12126,200,0,0,0,0
//2547,MER_GARM_BABY //2547,MER_GARM_BABY
//2548,MER_HILLSRION //2548,MER_HILLSRION
2549,GEFFEN_MAGE_1,Arhi,Arhi,90,100000,1,8900,4550,1,329,424,64,38,50,50,50,50,130,50,10,12,1,7,20,0x85,200,1000,864,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 2549,GEFFEN_MAGE_1,Arhi,Arhi,90,100000,1,8900,4550,1,329,424,64,38,50,50,50,50,130,50,10,12,1,7,20,0x85,200,1000,864,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,27249,1
2550,GEFFEN_MAGE_2,Dio Anemos,Dio Anemos,95,200000,1,9440,4430,1,478,649,129,18,40,40,50,80,130,60,10,12,1,7,20,0x85,200,900,672,480,0,0,0,0,0,0,0,1095,10000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 2550,GEFFEN_MAGE_2,Dio Anemos,Dio Anemos,95,200000,1,9440,4430,1,478,649,129,18,40,40,50,80,130,60,10,12,1,7,20,0x85,200,900,672,480,0,0,0,0,0,0,0,1095,10000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27250,1
2551,GEFFEN_MAGE_3_1,Geffen Shoplifter,Geffen Shoplifter,100,300000,1,9780,3665,1,478,632,93,36,70,70,40,40,140,60,10,12,1,7,20,0x85,200,800,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 2551,GEFFEN_MAGE_3_1,Geffen Shoplifter,Geffen Shoplifter,100,300000,1,9780,3665,1,478,632,93,36,70,70,40,40,140,60,10,12,1,7,20,0x85,200,800,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,27253,1
2552,GEFFEN_MAGE_3_2,Geffen Bully,Geffen Bully,100,300000,1,9780,3665,1,478,632,93,36,70,50,70,40,140,40,10,12,1,7,20,0x85,200,900,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 2552,GEFFEN_MAGE_3_2,Geffen Bully,Geffen Bully,100,300000,1,9780,3665,1,478,632,93,36,70,50,70,40,140,40,10,12,1,7,20,0x85,200,900,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,27252,1
2553,GEFFEN_MAGE_3_3,Geffen Gang Member,Geffen Gang Member,100,300000,1,9780,3665,1,468,622,93,36,60,80,30,30,140,70,10,12,1,7,20,0x85,200,950,864,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 2553,GEFFEN_MAGE_3_3,Geffen Gang Member,Geffen Gang Member,100,300000,1,9780,3665,1,468,622,93,36,60,80,30,30,140,70,10,12,1,7,20,0x85,200,950,864,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,27251,1
2554,GEFFEN_MAGE_4,Faymont,Faymont,105,400000,1,11660,4370,1,477,633,114,21,60,60,60,60,140,60,10,12,1,7,20,0x85,200,672,648,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 2554,GEFFEN_MAGE_4,Faymont,Faymont,105,400000,1,11660,4370,1,477,633,114,21,60,60,60,60,140,60,10,12,1,7,20,0x85,200,672,648,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,27254,1
2555,GEFFEN_MAGE_5,Ordre,Ordre,110,600000,1,15610,4861,1,654,906,107,21,40,70,40,100,150,60,10,12,1,7,20,0x85,200,768,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 2555,GEFFEN_MAGE_5,Ordre,Ordre,110,600000,1,15610,4861,1,654,906,107,21,40,70,40,100,150,60,10,12,1,7,20,0x85,200,768,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,27255,1
2556,GEFFEN_MAGE_6,Blut Hase,Blut Hase,120,1000000,1,20560,10010,1,480,601,66,47,120,120,120,50,150,60,10,12,1,7,48,0x85,200,800,768,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 2556,GEFFEN_MAGE_6,Blut Hase,Blut Hase,120,1000000,1,20560,10010,1,480,601,66,47,120,120,120,50,150,60,10,12,1,7,48,0x85,200,800,768,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,27256,1
2557,GEFFEN_MAGE_7,Kuro Akuma,Kuro Akuma,130,1200000,1,26100,12030,1,761,1026,135,10,100,100,100,100,145,100,10,12,1,7,20,0x85,200,1000,864,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 2557,GEFFEN_MAGE_7,Kuro Akuma,Kuro Akuma,130,1200000,1,26100,12030,1,761,1026,135,10,100,100,100,100,145,100,10,12,1,7,20,0x85,200,1000,864,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,27257,1
2558,GEFFEN_MAGE_8,Ifodes,Ifodes,140,1400000,1,46150,18900,1,676,869,120,60,150,100,100,50,170,100,10,12,1,7,20,0x85,200,800,768,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 2558,GEFFEN_MAGE_8,Ifodes,Ifodes,140,1400000,1,46150,18900,1,676,869,120,60,150,100,100,50,170,100,10,12,1,7,20,0x85,200,800,768,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,27258,1
2559,GEFFEN_MAGE_9,Licheniyes,Licheniyes,145,1600000,1,52060,24105,1,763,1048,140,57,50,100,50,200,220,75,10,12,1,7,20,0x85,200,864,768,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 2559,GEFFEN_MAGE_9,Licheniyes,Licheniyes,145,1600000,1,52060,24105,1,763,1048,140,57,50,100,50,200,220,75,10,12,1,7,20,0x85,200,864,768,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,27259,1
2560,GEFFEN_MAGE_10,Odoric,Odoric,150,2000000,1,60027,40237,1,950,1250,165,62,200,150,50,50,170,100,10,12,1,7,20,0x85,200,800,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 2560,GEFFEN_MAGE_10,Odoric,Odoric,150,2000000,1,60027,40237,1,950,1250,165,62,200,150,50,50,170,100,10,12,1,7,20,0x85,200,800,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,27260,1
2561,GEFFEN_MAGE_11,Ju,Ju,155,5000000,1,75335,52130,1,1045,1465,170,65,50,100,100,200,220,100,10,12,1,7,20,0x85,200,800,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 2561,GEFFEN_MAGE_11,Ju,Ju,155,5000000,1,75335,52130,1,1045,1465,170,65,50,100,100,200,220,100,10,12,1,7,20,0x85,200,800,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,27261,1
2562,GEFFEN_MAGE_12,Dwigh,Dwigh,160,7000000,1,151317,123000,1,1410,2010,175,65,50,100,100,250,220,100,10,12,1,7,48,0x6200085,200,800,768,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 2562,GEFFEN_MAGE_12,Dwigh,Dwigh,160,7000000,1,151317,123000,1,1410,2010,175,65,50,100,100,250,220,100,10,12,1,7,48,0x6200085,200,800,768,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,27262,1
2563,FEI_KANABIAN,Fei Kanabian,Fay Kanavian,160,8000000,1,157975,110571,1,1710,2460,175,65,50,100,100,250,220,100,10,12,1,7,48,0x6200085,200,720,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 2563,FEI_KANABIAN,Fei Kanabian,Fay Kanavian,160,8000000,1,157975,110571,1,1710,2460,175,65,50,100,100,250,220,100,10,12,1,7,48,0x6200085,200,720,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,27263,1
2564,GEFFEN_FENRIR,Geffen Fenrir,Fenrir,160,20000000,1,323300,300000,1,2160,3060,200,70,200,100,200,200,220,100,10,12,1,7,48,0x6200085,200,900,864,480,0,0,0,0,0,0,0,22511,100,22511,100,22511,100,22511,100,22511,100,22511,100,0,0,0,0,0,0,4556,1 2564,GEFFEN_FENRIR,Geffen Fenrir,Fenrir,160,20000000,1,323300,300000,1,2160,3060,200,70,200,100,200,200,220,100,10,12,1,7,48,0x6200085,200,900,864,480,0,0,0,0,0,0,0,22511,100,22511,100,22511,100,22511,100,22511,100,22511,100,0,0,0,0,0,0,4556,1
2565,ALPHONSE,Alphonse,Alphonse,150,1000000,1,0,0,1,650,850,100,20,100,100,50,50,170,100,10,12,1,7,42,0x85,200,1400,816,396,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 2565,ALPHONSE,Alphonse,Alphonse,150,1000000,1,0,0,1,650,850,100,20,100,100,50,50,170,100,10,12,1,7,42,0x85,200,1400,816,396,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
2566,ALPHONSE_JR,Alphonse Jr,Alphonse Jr,150,100000,1,0,0,1,450,550,80,20,100,100,50,50,170,100,10,12,1,7,62,0x85,200,936,792,432,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 2566,ALPHONSE_JR,Alphonse Jr,Alphonse Jr,150,100000,1,0,0,1,450,550,80,20,100,100,50,50,170,100,10,12,1,7,62,0x85,200,936,792,432,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

View File

@ -8799,7 +8799,7 @@
2476,Amdarias@NPC_HELLJUDGEMENT,attack,662,5,10000,4000,5000,yes,self,myhpltmaxrate,30,,,,,,7, 2476,Amdarias@NPC_HELLJUDGEMENT,attack,662,5,10000,4000,5000,yes,self,myhpltmaxrate,30,,,,,,7,
2476,Amdarias@NPC_GRANDDARKNESS,attack,339,10,10000,2000,1000,yes,self,myhpltmaxrate,30,,,,,,9, 2476,Amdarias@NPC_GRANDDARKNESS,attack,339,10,10000,2000,1000,yes,self,myhpltmaxrate,30,,,,,,9,
2476,Amdarias@NPC_POWERUP,attack,349,5,10000,0,50000,no,self,myhpltmaxrate,30,,,,,,6, 2476,Amdarias@NPC_POWERUP,attack,349,5,10000,0,50000,no,self,myhpltmaxrate,30,,,,,,6,
2476,Amdarias@NPC_VAMPIRE_GIFT,attack,679,5,100000,0,0,no,self,skillused,490,,,,,,42, 2476,Amdarias@NPC_VAMPIRE_GIFT,attack,679,5,10000,0,0,no,self,skillused,490,,,,,,42,
2476,Amdarias@NPC_CRITICALWOUND,attack,673,4,500,500,5000,yes,target,always,0,,,,,,, 2476,Amdarias@NPC_CRITICALWOUND,attack,673,4,500,500,5000,yes,target,always,0,,,,,,,
2476,Amdarias@NPC_CHANGEUNDEAD,attack,348,1,500,0,5000,no,target,always,0,,,,,,44, 2476,Amdarias@NPC_CHANGEUNDEAD,attack,348,1,500,0,5000,no,target,always,0,,,,,,44,
2476,Amdarias@NPC_MENTALBREAKER,attack,159,4,500,1500,5000,no,target,always,0,,,,,,42, 2476,Amdarias@NPC_MENTALBREAKER,attack,159,4,500,1500,5000,no,target,always,0,,,,,,42,

View File

@ -248,7 +248,7 @@ airplane,71,91,7 script Umbala Man#ein_p 789,{
mes "Some of them couldn't"; mes "Some of them couldn't";
mes "overcome their fear of"; mes "overcome their fear of";
mes "heights. And a few even"; mes "heights. And a few even";
mes "ended up, um, ^333333in Nifflheim^000000."; mes "ended up, um, ^333333in Niflheim^000000.";
} }
else { else {
mes "[Chrmlim]"; mes "[Chrmlim]";

View File

@ -148,9 +148,9 @@ OnTimer1000:
case 106: case 106:
npctalk "Our friendship is forever~!!!", instance_npcname("Young Lady#gef3"); npctalk "Our friendship is forever~!!!", instance_npcname("Young Lady#gef3");
emotion ET_THROB, getnpcid(0, instance_npcname("Handsome Adventurer#gef")); emotion ET_THROB, getnpcid(0, instance_npcname("Handsome Adventurer#gef"));
sleep2 500; sleep 500;
npctalk "Our friendship is forever~!!!", instance_npcname("Young Lady#gef1"); npctalk "Our friendship is forever~!!!", instance_npcname("Young Lady#gef1");
sleep2 500; sleep 500;
npctalk "Our friendship is forever~!!!", instance_npcname("Young Lady#gef2"); npctalk "Our friendship is forever~!!!", instance_npcname("Young Lady#gef2");
'm1_timer++; 'm1_timer++;
break; break;

View File

@ -1035,11 +1035,11 @@ prontera,155,285,3 script Familiar#06_hw01::HWFamiDup 799,{
mes "Hello."; mes "Hello.";
mes "I'm Loli Ruri's faithful and cute Familiar."; mes "I'm Loli Ruri's faithful and cute Familiar.";
mes "Do you have an invitation from Loli Ruri?"; mes "Do you have an invitation from Loli Ruri?";
mes "That's a kind of^4d4dffa special ticket to Nifflheim^000000.."; mes "That's a kind of^4d4dffa special ticket to Niflheim^000000..";
next; next;
if (select( "Yes, I do.:No, I don't.") == 1) { if (select( "Yes, I do.:No, I don't.") == 1) {
mes "[Familiar]"; mes "[Familiar]";
mes "Do you want to go to Nifflheim?"; mes "Do you want to go to Niflheim?";
mes "It's available during Halloween."; mes "It's available during Halloween.";
next; next;
if (select( "Yes, I do:No, I don't.") == 1) { if (select( "Yes, I do:No, I don't.") == 1) {
@ -1064,7 +1064,7 @@ prontera,155,285,3 script Familiar#06_hw01::HWFamiDup 799,{
} }
mes "[Familiar]"; mes "[Familiar]";
mes "Ok."; mes "Ok.";
mes "Actually, it's useless to have a special ticket to Nifflheim."; mes "Actually, it's useless to have a special ticket to Niflheim.";
close; close;
} }
mes "[Familiar]"; mes "[Familiar]";

View File

@ -360,23 +360,23 @@ xmas_fild01,75,80,5 script Bulletin Board#22 837,{
} }
niflheim,200,191,5 script Bulletin Board#25 837,{ niflheim,200,191,5 script Bulletin Board#25 837,{
mes "[City of the Dead, Nifflheim]"; mes "[City of the Dead, Niflheim]";
mes "Welcome to Nifflheim, the City of the Dead."; mes "Welcome to Niflheim, the City of the Dead.";
mes "Nifflheim was known as the other world where"; mes "Niflheim was known as the other world where";
mes "you come after the death."; mes "you come after the death.";
mes "However, recently people found out a secret path behind of a mysterious tree."; mes "However, recently people found out a secret path behind of a mysterious tree.";
mes "So, you will find many other people travelling around this area."; mes "So, you will find many other people travelling around this area.";
next; next;
mes "[City of the Dead, Nifflheim]"; mes "[City of the Dead, Niflheim]";
mes "As a tourist attraction, The Witch's castle is suggested."; mes "As a tourist attraction, The Witch's castle is suggested.";
mes "Unlike normal towns, it is prohibited to save respawn point or"; mes "Unlike normal towns, it is prohibited to save respawn point or";
mes "warp point inside Nifflheim. Also monsters spawn within the town as well."; mes "warp point inside Niflheim. Also monsters spawn within the town as well.";
next; next;
mes "[City of the Dead, Nifflheim]"; mes "[City of the Dead, Niflheim]";
mes "Especially, please be attentive with a boss monster"; mes "Especially, please be attentive with a boss monster";
mes "called ^6B1312Lord of the Death^000000."; mes "called ^6B1312Lord of the Death^000000.";
next; next;
mes "[City of the Dead, Nifflheim]"; mes "[City of the Dead, Niflheim]";
mes "When you go ahead west, you will arrive at ^6B1312Valley of Gyoll^000000"; mes "When you go ahead west, you will arrive at ^6B1312Valley of Gyoll^000000";
mes "where all the powerful and fearful monsters dwell upon."; mes "where all the powerful and fearful monsters dwell upon.";
mes "It is suggested to leave the area immediately in case of a new solo adventurer."; mes "It is suggested to leave the area immediately in case of a new solo adventurer.";

View File

@ -117,7 +117,7 @@ nif_in,190,112,5 script Deviruchi#divorce 738,{
mes "marriage as a contract...a"; mes "marriage as a contract...a";
mes "contract that ends with 'till"; mes "contract that ends with 'till";
mes "death do we part.' Here in"; mes "death do we part.' Here in";
mes "Nifleheim, it's easy to use"; mes "Niflheim, it's easy to use";
mes "that little loophole..."; mes "that little loophole...";
next; next;
mes "[Deviruchi]"; mes "[Deviruchi]";

View File

@ -7,7 +7,7 @@
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= rAthena Project //= rAthena Project
//===== Additional Comments: ================================= //===== Additional Comments: =================================
//= 1.0 Splitted from Nifflheim fields [DracoRPG] //= 1.0 Splitted from Niflheim fields [DracoRPG]
//= 1.1 Official kRO 10.1 spawns [Playtester] //= 1.1 Official kRO 10.1 spawns [Playtester]
//============================================================ //============================================================

View File

@ -4205,7 +4205,7 @@ hugel,198,169,0 script #HugelTree 139,2,2,{
mes "feeling of dread?"; mes "feeling of dread?";
mes "This peculiar chill..."; mes "This peculiar chill...";
mes "It's almost as if you"; mes "It's almost as if you";
mes "were in Nifflheim...^000000"; mes "were in Niflheim...^000000";
close; close;
} else { } else {
mes "^3355FFFor some reason, you"; mes "^3355FFFor some reason, you";
@ -4302,7 +4302,7 @@ hugel,191,172,3 script Manainne 892,1,{
mes "What? That's..."; mes "What? That's...";
mes "That's an incredible"; mes "That's an incredible";
mes "story. You met my dead"; mes "story. You met my dead";
mes "sister in Nifflheim?! You"; mes "sister in Niflheim?! You";
mes "must be lying to me!"; mes "must be lying to me!";
next; next;
mes "[Manainne]"; mes "[Manainne]";
@ -4316,7 +4316,7 @@ hugel,191,172,3 script Manainne 892,1,{
set hg_memory,8; set hg_memory,8;
mes "[Manainne]"; mes "[Manainne]";
mes "Gosh, all that talk"; mes "Gosh, all that talk";
mes "about Nifflheim is..."; mes "about Niflheim is...";
mes "It's giving me the chills!"; mes "It's giving me the chills!";
mes "A-aren't you cold?"; mes "A-aren't you cold?";
close; close;
@ -4357,7 +4357,7 @@ hugel,191,172,3 script Manainne 892,1,{
mes "long! Hello, adventurer,"; mes "long! Hello, adventurer,";
mes "remember me? I'm Kanainne,"; mes "remember me? I'm Kanainne,";
mes "the spirit you saw down in"; mes "the spirit you saw down in";
mes "Nifflheim. Let me explain..."; mes "Niflheim. Let me explain...";
next; next;
mes "[Manainne]"; mes "[Manainne]";
mes "My spirit was able to follow"; mes "My spirit was able to follow";
@ -4561,7 +4561,7 @@ niflheim,90,106,3 script A Spirit#HQuest 802,{
} else { } else {
mes "[Spirit]"; mes "[Spirit]";
mes "The living shouldn't"; mes "The living shouldn't";
mes "be here in Nifflheim..."; mes "be here in Niflheim...";
mes "Go back! Go back to your"; mes "Go back! Go back to your";
mes "own world before it's too late!"; mes "own world before it's too late!";
next; next;

View File

@ -595,7 +595,7 @@ niflheim,153,215,3 script Feylin 794,{
mes "come to the wrong person."; mes "come to the wrong person.";
next; next;
mes "[Feylin]"; mes "[Feylin]";
mes "Nobody in Niffelheim can"; mes "Nobody in Niflheim can";
mes "perform that kind of miracle..."; mes "perform that kind of miracle...";
next; next;
mes "[Feylin]"; mes "[Feylin]";

View File

@ -544,7 +544,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 741,3,3,{
mes "some fresh eggs laid by"; mes "some fresh eggs laid by";
mes "Yhelle, just like I asked."; mes "Yhelle, just like I asked.";
mes "I'm sure it was dangerous"; mes "I'm sure it was dangerous";
mes "going to Nifflheim, but the flavor of these eggs is worth it."; mes "going to Niflheim, but the flavor of these eggs is worth it.";
next; next;
next; next;
mes "[Riott]"; mes "[Riott]";

View File

@ -41,7 +41,7 @@ alberta,83,96,5 script Necko 98,7,7,{
mes "Ppyakikakikakakakakakakaka!!"; mes "Ppyakikakikakakakakakakaka!!";
close; close;
} }
else if (JobLevel < 15) { else if (JobLevel < 15 && Class == Job_Merchant ) {
mes "[Necko]"; mes "[Necko]";
mes "Oh, did you come because"; mes "Oh, did you come because";
mes "you are infatuated with my voice?"; mes "you are infatuated with my voice?";

View File

@ -9993,7 +9993,7 @@ que_sign01,122,141,4 script Witch#s 792,{
next; next;
mes "[Kirkena]"; mes "[Kirkena]";
mes "Serin's already hid herself"; mes "Serin's already hid herself";
mes "deep within Niffleim, but I'm"; mes "deep within Niflheim, but I'm";
mes "sure you can find something"; mes "sure you can find something";
mes "if you can find any remaining"; mes "if you can find any remaining";
mes "trace of her."; mes "trace of her.";

View File

@ -7,7 +7,7 @@
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= rAthena Project //= rAthena Project
//===== Additional Comments: ================================= //===== Additional Comments: =================================
//= 1.0 Splitted from Nifflheim fields [DracoRPG] //= 1.0 Splitted from Niflheim fields [DracoRPG]
//= 1.1 Official kRO 10.1 spawns [Playtester] //= 1.1 Official kRO 10.1 spawns [Playtester]
//============================================================ //============================================================

View File

@ -17,7 +17,7 @@
//============================================================ //============================================================
//================================================== //==================================================
// niflheim - Nifflheim, Realm of the Dead // niflheim - Niflheim, Realm of the Dead
//================================================== //==================================================
niflheim,0,0 monster Lude 1509,20,5000 niflheim,0,0 monster Lude 1509,20,5000
niflheim,0,0 monster Quve 1508,20,5000 niflheim,0,0 monster Quve 1508,20,5000
@ -26,7 +26,7 @@ niflheim,0,0 monster Heirozoist 1510,10,5000
niflheim,0,0 monster Dullahan 1504,5,5000 niflheim,0,0 monster Dullahan 1504,5,5000
//================================================== //==================================================
// nif_fild01 - Skellington, a Solitary Village in Nifflheim // nif_fild01 - Skellington, a Solitary Village in Niflheim
//================================================== //==================================================
nif_fild01,0,0 monster Disguise 1506,50,5000 nif_fild01,0,0 monster Disguise 1506,50,5000
nif_fild01,0,0 monster Quve 1508,30,5000 nif_fild01,0,0 monster Quve 1508,30,5000

View File

@ -154,7 +154,7 @@ moc_para01,48,177,3 script 91-99 Mission Board 857,{
case 2: callsub L_Quest,4193,"Mineral",138000,"미네랄","There is a monster only found in ^8B4513Einbech Dungeon^000000."; case 2: callsub L_Quest,4193,"Mineral",138000,"미네랄","There is a monster only found in ^8B4513Einbech Dungeon^000000.";
case 3: callsub L_Quest,4194,"Kaho",118000,"카호카드","There is a monster found in ^8B4513Nogg Road Magma 1^000000."; case 3: callsub L_Quest,4194,"Kaho",118000,"카호카드","There is a monster found in ^8B4513Nogg Road Magma 1^000000.";
case 4: callsub L_Quest,4195,"Neraid",96000,"네레이드카드","There is a monster only found in ^8B4513Comodo Dungeon^000000."; case 4: callsub L_Quest,4195,"Neraid",96000,"네레이드카드","There is a monster only found in ^8B4513Comodo Dungeon^000000.";
case 5: callsub L_Quest,4196,"Disguise",134000,"디스가이즈카드","There is a monster only found in ^8B4513Nifflheim^000000."; case 5: callsub L_Quest,4196,"Disguise",134000,"디스가이즈카드","There is a monster only found in ^8B4513Niflheim^000000.";
} }
} }
end; end;

View File

@ -521,7 +521,7 @@ moc_para01,37,95,5 script Gelkah#1 4_F_GELKA,{
case 5: case 5:
mes "Here is a list of other requests from all over Rune Midgard."; mes "Here is a list of other requests from all over Rune Midgard.";
next; next;
switch( select( "Loli Ruri Hunting - Nifflheim", "Medusa Hunting - Comodo", "Anubis Hunting - Sphinx" ) ) { switch( select( "Loli Ruri Hunting - Niflheim", "Medusa Hunting - Comodo", "Anubis Hunting - Sphinx" ) ) {
mes "[Gelkah]"; mes "[Gelkah]";
case 1: case 1:
if (checkquest(13041,PLAYTIME) == 0) if (checkquest(13041,PLAYTIME) == 0)
@ -534,7 +534,7 @@ moc_para01,37,95,5 script Gelkah#1 4_F_GELKA,{
mes "I wonder why they are scheming this kind of ^FF0000nonsense^000000... makes me wonder if they even know anything about adventuring."; mes "I wonder why they are scheming this kind of ^FF0000nonsense^000000... makes me wonder if they even know anything about adventuring.";
next; next;
mes "[Gelkah]"; mes "[Gelkah]";
mes "We should accept this simple request before we start getting even more nonsense ones. Please clear ^FF000030 Loli Ruri^000000 in Nifflheim."; mes "We should accept this simple request before we start getting even more nonsense ones. Please clear ^FF000030 Loli Ruri^000000 in Niflheim.";
next; next;
cutin "gelca02",2; cutin "gelca02",2;
mes "[Gelkah]"; mes "[Gelkah]";
@ -553,7 +553,7 @@ moc_para01,37,95,5 script Gelkah#1 4_F_GELKA,{
mes "They said that they would heal Eden Group adventurers who are exhausted in exchange for the request but we're not sure they'll follow through."; mes "They said that they would heal Eden Group adventurers who are exhausted in exchange for the request but we're not sure they'll follow through.";
next; next;
mes "[Gelkah]"; mes "[Gelkah]";
mes "We should accept the simple request anyways. Please clear ^FF000030 Loli Ruri^000000 in Nifflheim."; mes "We should accept the simple request anyways. Please clear ^FF000030 Loli Ruri^000000 in Niflheim.";
callsub S_Quest,13041,13040; callsub S_Quest,13041,13040;
} }
break; break;

View File

@ -1424,9 +1424,9 @@ REPLACE INTO `item_db_re` VALUES (2187,'Shield_Of_Gray','Shield of Gray',4,10,NU
REPLACE INTO `item_db_re` VALUES (2188,'Svalinn_J','Svalinn',4,10,NULL,500,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,NULL,'65',1,3,'.@r = getrefine(); bonus bMaxHP,9+.@r/3; bonus2 bAddEle,Ele_Water,4+.@r/3*5;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (2188,'Svalinn_J','Svalinn',4,10,NULL,500,NULL,80,NULL,1,0xFFFFFFFF,63,2,32,NULL,'65',1,3,'.@r = getrefine(); bonus bMaxHP,9+.@r/3; bonus2 bAddEle,Ele_Water,4+.@r/3*5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2189,'Mad_Bunny','Mad Bunny Shield',4,10,NULL,100,NULL,40,NULL,1,0xFFFFFFFF,63,2,32,NULL,'30',1,6,'bonus2 bSubEle,Ele_All,5; bonus bMdef,6; bonus bDex,1;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (2189,'Mad_Bunny','Mad Bunny Shield',4,10,NULL,100,NULL,40,NULL,1,0xFFFFFFFF,63,2,32,NULL,'30',1,6,'bonus2 bSubEle,Ele_All,5; bonus bMdef,6; bonus bDex,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2190,'Ancient_Shield_Of_Aeon','Ancient Shield Of Aeon',4,0,NULL,200,NULL,5,NULL,0,0x000FDF80,63,2,32,NULL,'130',1,2,'bonus2 bSubEle,Ele_Neutral,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubEle,Ele_Holy,10; bonus2 bSubEle,Ele_Ghost,10; bonus bMaxHP,500; bonus bMaxSP,50; if(getrefine()>=14) skill "MG_STONECURSE",5;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (2190,'Ancient_Shield_Of_Aeon','Ancient Shield Of Aeon',4,0,NULL,200,NULL,5,NULL,0,0x000FDF80,63,2,32,NULL,'130',1,2,'bonus2 bSubEle,Ele_Neutral,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Dark,10; bonus2 bSubEle,Ele_Holy,10; bonus2 bSubEle,Ele_Ghost,10; bonus bMaxHP,500; bonus bMaxSP,50; if(getrefine()>=14) skill "MG_STONECURSE",5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2195,'Lian_Shield','Lian Shield',4,0,NULL,1300,NULL,50,NULL,1,0xFFFFFFFF,63,2,32,NULL,'65',1,NULL,'bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubRace,RC_Formless,-5;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (2195,'Lian_Shield','Lian Shield',4,0,NULL,1300,NULL,50,NULL,1,0xFFFFFFFF,63,2,32,NULL,'65',1,3,'bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubRace,RC_Formless,-5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2196,'White_Gold_Shield','White Gold Shield',4,0,NULL,1800,NULL,140,NULL,1,0xFFFFFFFF,63,2,32,NULL,NULL,1,NULL,'autobonus2 "{ bonus bMagicDamageReturn,20; }",100,2000,BF_MAGIC; /* Confirm: Success rate? */',NULL,NULL); REPLACE INTO `item_db_re` VALUES (2196,'White_Gold_Shield','White Gold Shield',4,0,NULL,1800,NULL,140,NULL,1,0xFFFFFFFF,63,2,32,NULL,NULL,1,4,'autobonus2 "{ bonus bMagicDamageReturn,20; }",100,2000,BF_MAGIC; /* Confirm: Success rate? */',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2198,'Lapine_Shield','Lapine Shield',4,0,NULL,1000,NULL,25,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,NULL,'bonus bMdef,10; if (getrefine() > 7) { bonus bMatk,20; }',NULL,NULL); REPLACE INTO `item_db_re` VALUES (2198,'Lapine_Shield','Lapine Shield',4,0,NULL,1000,NULL,25,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,3,'bonus bMdef,10; if (getrefine() > 7) { bonus bMatk,20; }',NULL,NULL);
# GM Shield # GM Shield
REPLACE INTO `item_db_re` VALUES (2199,'Ahura_Mazda','Ahura Mazdah',4,1,NULL,10,NULL,10000,NULL,0,0xFFFFFFFF,63,2,32,NULL,'1',1,1,'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; skill "ECL_SNOWFLIP",1; skill "ECL_PEONYMAMY",1; skill "ECL_SADAGUI",1; skill "ECL_SEQUOIADUST",1; bonus bMaxHPrate,200; bonus bNoKnockback,0; bonus bDelayRate,-20; bonus bSpeedRate,25; bonus bIntravision,1;','sc_start4 SC_ENDURE,60000,10,0,0,1;','sc_end SC_ENDURE;'); REPLACE INTO `item_db_re` VALUES (2199,'Ahura_Mazda','Ahura Mazdah',4,1,NULL,10,NULL,10000,NULL,0,0xFFFFFFFF,63,2,32,NULL,'1',1,1,'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; skill "ECL_SNOWFLIP",1; skill "ECL_PEONYMAMY",1; skill "ECL_SADAGUI",1; skill "ECL_SEQUOIADUST",1; bonus bMaxHPrate,200; bonus bNoKnockback,0; bonus bDelayRate,-20; bonus bSpeedRate,25; bonus bIntravision,1;','sc_start4 SC_ENDURE,60000,10,0,0,1;','sc_end SC_ENDURE;');
#=================================================================== #===================================================================
@ -2194,7 +2194,7 @@ REPLACE INTO `item_db_re` VALUES (2971,'Pocket_Watch','Pocket Watch',4,10,NULL,2
REPLACE INTO `item_db_re` VALUES (2976,'Red_Lantern','Red Lantern',4,10,NULL,200,NULL,0,NULL,1,0xFFFFFFFF,63,2,136,NULL,'100',0,NULL,'bonus bMaxSP,-300; skill "MG_SIGHT",1;',NULL,'sc_end SC_SIGHT;'); REPLACE INTO `item_db_re` VALUES (2976,'Red_Lantern','Red Lantern',4,10,NULL,200,NULL,0,NULL,1,0xFFFFFFFF,63,2,136,NULL,'100',0,NULL,'bonus bMaxSP,-300; skill "MG_SIGHT",1;',NULL,'sc_end SC_SIGHT;');
REPLACE INTO `item_db_re` VALUES (2977,'Hurt_Mind','Hurt Mind',4,10,NULL,100,NULL,0,NULL,1,0xFFFFFFFF,63,2,136,NULL,'110',0,NULL,'bonus bMaxSP,200; skill "DC_SCREAM",3;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (2977,'Hurt_Mind','Hurt Mind',4,10,NULL,100,NULL,0,NULL,1,0xFFFFFFFF,63,2,136,NULL,'110',0,NULL,'bonus bMaxSP,200; skill "DC_SCREAM",3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2978,'KindHeart','Kind Heart',4,10,NULL,100,NULL,0,NULL,1,0xFFFFFFFF,63,2,136,NULL,'110',0,NULL,'bonus bMaxHP,500; bonus2 bHPRegenRate,300,10000; skill "DC_SCREAM",3;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (2978,'KindHeart','Kind Heart',4,10,NULL,100,NULL,0,NULL,1,0xFFFFFFFF,63,2,136,NULL,'110',0,NULL,'bonus bMaxHP,500; bonus2 bHPRegenRate,300,10000; skill "DC_SCREAM",3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2979,'Strawberry_Decoration','Strawberry Decoration',4,0,NULL,500,NULL,1,NULL,1,0xFFFFFFFF,63,2,136,NULL,NULL,0,NULL,'bonus bAllStats,1; bonus3 bAutoSpellWhenHit,"WZ_FROSTNOVA",3,10; /* Confirm: Frost Nova cast chance */',NULL,NULL); REPLACE INTO `item_db_re` VALUES (2979,'Strawberry_Decoration','Strawberry Decoration',4,20,NULL,500,NULL,1,NULL,1,0xFFFFFFFE,63,2,136,NULL,'1',NULL,NULL,'bonus bAllStats,1; bonus3 bAutoSpellWhenHit,"WZ_FROSTNOVA",3,10; /* Confirm: Frost Nova cast chance */',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2980,'Evilspirit_Gloves','Evilspirit Gloves',4,10,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'110',1,NULL,'bonus bMaxHP,500; bonus bMaxSP,200; skill "PF_SPIDERWEB",1;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (2980,'Evilspirit_Gloves','Evilspirit Gloves',4,10,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'110',1,NULL,'bonus bMaxHP,500; bonus bMaxSP,200; skill "PF_SPIDERWEB",1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2981,'RingOfHero','Warrior\'s Ring',4,10,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,63,2,136,NULL,'160',NULL,NULL,NULL,NULL,NULL); REPLACE INTO `item_db_re` VALUES (2981,'RingOfHero','Warrior\'s Ring',4,10,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,63,2,136,NULL,'160',NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2983,'Greed_Brooch','Greed Brooch',4,10,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'50',1,NULL,'bonus2 bHPLossRate,10,5000;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (2983,'Greed_Brooch','Greed Brooch',4,10,NULL,100,NULL,NULL,NULL,1,0xFFFFFFFF,63,2,136,NULL,'50',1,NULL,'bonus2 bHPLossRate,10,5000;',NULL,NULL);
@ -4636,11 +4636,12 @@ REPLACE INTO `item_db_re` VALUES (6604,'Essence_Rune_Magic','Essence Rune Magic'
REPLACE INTO `item_db_re` VALUES (6605,'Muspellium','Muspellium',3,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `item_db_re` VALUES (6605,'Muspellium','Muspellium',3,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6606,'Cute_Cart_Coupon','Cute Cart Remodel Coupon',3,0,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `item_db_re` VALUES (6606,'Cute_Cart_Coupon','Cute Cart Remodel Coupon',3,0,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6607,'Temporal_Crystal','Temporal Crystal',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `item_db_re` VALUES (6607,'Temporal_Crystal','Temporal Crystal',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6608,'Coagulated_Spell','Coagulated Spell',3,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `item_db_re` VALUES (6608,'Coagulated_Spell','Coagulated Spell',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6609,'Glast_Decayed_Nail','Glast Decayed Nail',3,82,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `item_db_re` VALUES (6609,'Glast_Decayed_Nail','Glast Decayed Nail',3,2800,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6610,'Glast_Horrendous_Mouth','Glast Horrendous Mouth',3,390,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `item_db_re` VALUES (6610,'Glast_Horrendous_Mouth','Glast Horrendous Mouth',3,3200,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6612,'Gold_Coin_Basket','Gold Coin Basket',3,20,NULL,200,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `item_db_re` VALUES (6611,'Colorful_Key','Colorful Key',3,50000,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6613,'Flashy_Brooch','Flashy Brooch',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `item_db_re` VALUES (6612,'Gold_Coin_Basket','Gold Coin Basket',3,300000,NULL,200,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6613,'Colorful_Brooch','Colorful Brooch',3,100000,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6615,'Siege_Guild_Coin','Siege Guild Coin',3,0,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `item_db_re` VALUES (6615,'Siege_Guild_Coin','Siege Guild Coin',3,0,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6616,'Lmtd_Manny_Card','Limited Manny Card',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `item_db_re` VALUES (6616,'Lmtd_Manny_Card','Limited Manny Card',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6617,'Lmtd_Sid_Card','Limited Sid Card',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `item_db_re` VALUES (6617,'Lmtd_Sid_Card','Limited Sid Card',3,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@ -11483,6 +11484,34 @@ REPLACE INTO `item_db_re` VALUES (27159,'Uzhas_Card','Uzhas Card',6,20,NULL,10,N
REPLACE INTO `item_db_re` VALUES (27160,'Vavayaga_Card','Vavayaga Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bFlee,getrefine()*2;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (27160,'Vavayaga_Card','Vavayaga Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bFlee,getrefine()*2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27161,'Mavka_Card','Mavka Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus2 bMagicAtkEle,Ele_Fire,20; bonus2 bMagicAtkEle,Ele_Earth,20;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (27161,'Mavka_Card','Mavka Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus2 bMagicAtkEle,Ele_Fire,20; bonus2 bMagicAtkEle,Ele_Earth,20;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27162,'Gopinich_Card','Gopinich Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bSPDrainValue,5; bonus bUseSPrate,50;',NULL,NULL); REPLACE INTO `item_db_re` VALUES (27162,'Gopinich_Card','Gopinich Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,769,NULL,NULL,NULL,NULL,'bonus bSPDrainValue,5; bonus bUseSPrate,50;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27163,'Faceworm_Card','Faceworm Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bAgi,-1; bonus bDex,-1; bonus bAspdRate,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27164,'Faceworm_Queen_Card','Faceworm Queen Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,-10; .@r = getrefine(); bonus bCritical,15 + .@r; bonus bCritAtkRate,.@r;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27165,'Dark_Faceworm_Card','Dark Faceworm Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus bVit,-1; bonus bInt,-1; bonus bDelayrate,-3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27166,'Faceworm_Egg_Card','Faceworm Egg Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'.@r = getrefine(); .@sub = 2+(.@r >= 9 ? 3 : .@r >= 7 ? 1 : 0); bonus bNearAtkDef,.@sub; bonus bMagicAtkDef,.@sub;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27167,'Faceworm_Larva_Card','Faceworm Larva Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Neutral,15; bonus2 bMagicAddSize,Size_All,getrefine()*3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27168,'Irene_High_Elder_Card','Irene High Elder Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,NULL,NULL,NULL,'bonus bHit,10 + 5 * (getrefine()/3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27169,'Payon_Soldier_Card','Payon Soldier Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'.@atk = 5; .@r = getrefine(); if(getiteminfo(getequipid(EQI_HAND_R),11) == W_SPEAR && .@r >= 10){ .@atk += 20; if(.@r >= 14){ .@atk += 20; } } } bonus bAtk,.@atk; bonus bMatk,.@atk;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27181,'Airship_Raid_Card','Airship Raid Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'.@r = getrefine(); bonus bLongAtkRate,1 + .@r/2; bonus bCritical,.@r/2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27182,'Captain_Felock_Card','Captain Felock Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bAtk,30; .@r = getrefine(); bonus2 bSkillAtk,"RL_AM_BLAST",.@r >= 10 ? 60 : 30; bonus2 bSkillAtk,"RL_HAMMER_OF_GOD",.@r >= 10 ? 60 : 30;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27183,'Gigantes_Card','Gigantes Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,128,NULL,NULL,NULL,NULL,'bonus bAtk,20; if(readparam(bStr) >= 120) { bonus bAtk,20; bonus bAspdRate,-3; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27184,'Knight_Sakray_Card','Knight Sakray Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus bAtk,20; bonus2 bAddRace,RC_Demon,30; bonus2 bAddRace,RC_Undead,30;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27249,'Arhi_Card','Arhi Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bAtk,15; bonus bMatk,15; bonus bMaxHP,500; bonus bHit,15; bonus bFlee,15;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27250,'Dio_Anemos_Card','Dio Anemos Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bMatkRate,3; bonus2 bMagicAtkEle,Ele_Neutral,5; bonus2 bMagicAtkEle,Ele_Earth,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27251,'Geffen_Gang_Member_Card','Geffen Gang Member Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,3; bonus bAspdRate,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27252,'Geffen_Bully_Card','Geffen Bully Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,5; bonus bAspdRate,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27253,'Geffen_Shoplifter_Card','Geffen Shoplifter Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bMatkRate,3; bonus2 bMagicAtkEle,Ele_Fire,5; bonus2 bMagicAtkEle,Ele_Holy,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27254,'Faymont_Card','Faymont Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bSPrecovRate,10; bonus3 bAutoSpellWhenHit,"CH_SOULCOLLECT",1,10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27255,'Ordre_Card','Ordre Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bMatkRate,3; bonus2 bMagicAtkEle,Ele_Wind,5; bonus2 bMagicAtkEle,Ele_Water,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27256,'Blut_Hase_Card','Blut Hase Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bAtkRate,3; bonus bLongAtkRate,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27257,'Kuro_Akuma_Card','Kuro Akuma Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bCastrate,3; bonus bLongAtkRate,5; bonus2 bSkillAtk,"NJ_HUUJIN",5; bonus2 bSkillAtk,"NJ_HYOUSENSOU",5; bonus2 bSkillAtk,"NJ_KOUENKA",5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27258,'Ifodes_Card','Ifodes Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bAtkRate,3; bonus bAspdRate,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27259,'Licheniyes_Card','Licheniyes Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bMatkRate,3; bonus2 bMagicAtkEle,Ele_Holy,5; bonus bHealPower,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27260,'Odoric_Card','Odoric Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'bonus bAspdRate,3; bonus bLongAtkRate,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27261,'Ju_Card','Ju Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'.@rate = 10 + (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOOK ? 20 : 0) + (getrefine() >= 14 ? 20 : 0); bonus2 bSkillAtk,"MG_FIREBOLT",.@rate; bonus2 bSkillAtk,"MG_COLDBOLT",.@rate; bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",.@rate;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27262,'Dwigh_Card','Dwigh Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,136,NULL,NULL,NULL,NULL,'bonus2 bMagicAtkEle,Ele_Dark,20; bonus2 bMagicAtkEle,Ele_Neutral,20;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27263,'Fay_Kanavian_Card','Fay Kanavian Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,64,NULL,NULL,NULL,NULL,'autobonus "{ bonus bDef,300; }",100,10000,BF_WEAPON|BF_SHORT,"{ active_transform 1040,10000; }";',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27264,'Evil_Shadow_Card','Evil Shadow Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,32,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Dark,30; bonus2 bSubEle,Ele_Undead,30; bonus2 bSubEle,Ele_Holy,-30; bonus2 bSubEle,Ele_Fire,-30;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (27265,'Evil_Fanatics_Card','Evil Fanatics Card',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,NULL,NULL,'bonus2 bAddEle,Ele_Dark,30; bonus2 bAddEle,Ele_Undead,30; bonus2 bMagicAddEle,Ele_Dark,30; bonus2 bMagicAddEle,Ele_Undead,30; bonus2 bAddEle,Ele_Holy,-30; bonus2 bAddEle,Ele_Fire,-30; bonus2 bMagicAddEle,Ele_Holy,-30; bonus2 bMagicAddEle,Ele_Fire,-30;',NULL,NULL);
#=================================================================== #===================================================================
# New Katars # New Katars
#=================================================================== #===================================================================

View File

@ -594,7 +594,7 @@ REPLACE INTO `mob_db_re` VALUES (1500,'PARASITE','Parasite','Parasite',76,3222,1
# Event MVP # Event MVP
REPLACE INTO `mob_db_re` VALUES (1502,'PORING_V','Pori Pori','Bring it on!',99,95000000,1,78525,25106,1,5000,10000,0,10,100,100,65,100,255,255,10,12,1,3,25,0x6283885,160,1672,672,480,43625,10020,1000,4005,100,2286,200,5035,10000,2344,2500,2346,2500,2350,2500,2348,2500,2655,500,7126,10000,0,0,0,0,2110,4500); REPLACE INTO `mob_db_re` VALUES (1502,'PORING_V','Pori Pori','Bring it on!',99,95000000,1,78525,25106,1,5000,10000,0,10,100,100,65,100,255,255,10,12,1,3,25,0x6283885,160,1672,672,480,43625,10020,1000,4005,100,2286,200,5035,10000,2344,2500,2346,2500,2350,2500,2348,2500,2655,500,7126,10000,0,0,0,0,2110,4500);
# Nifflheim (7.0) # Niflheim (7.0)
REPLACE INTO `mob_db_re` VALUES (1503,'GIBBET','Gibbet','Gibbet',105,12999,1,1944,1458,1,536,621,116,45,103,56,62,55,61,37,10,12,2,6,27,0x2003885,180,917,1584,576,0,0,0,0,0,0,0,7212,1800,7218,5335,7222,4074,724,300,716,100,604,10,7939,100,0,0,0,0,4278,1); REPLACE INTO `mob_db_re` VALUES (1503,'GIBBET','Gibbet','Gibbet',105,12999,1,1944,1458,1,536,621,116,45,103,56,62,55,61,37,10,12,2,6,27,0x2003885,180,917,1584,576,0,0,0,0,0,0,0,7212,1800,7218,5335,7222,4074,724,300,716,100,604,10,7939,100,0,0,0,0,4278,1);
REPLACE INTO `mob_db_re` VALUES (1504,'DULLAHAN','Dullahan','Dullahan',108,18546,1,2509,1977,2,666,741,111,38,121,29,51,43,87,3,10,12,1,1,49,0x3885,155,847,1152,480,0,0,0,0,0,0,0,7209,3200,7210,4850,2614,1,2505,13,2506,1,15039,10,0,0,0,0,0,0,4176,1); REPLACE INTO `mob_db_re` VALUES (1504,'DULLAHAN','Dullahan','Dullahan',108,18546,1,2509,1977,2,666,741,111,38,121,29,51,43,87,3,10,12,1,1,49,0x3885,155,847,1152,480,0,0,0,0,0,0,0,7209,3200,7210,4850,2614,1,2505,13,2506,1,15039,10,0,0,0,0,0,0,4176,1);
REPLACE INTO `mob_db_re` VALUES (1505,'LOLI_RURI','Loli Ruri','Loli Ruri',109,15280,1,2790,2093,2,787,1017,53,44,111,50,47,79,79,79,10,12,2,6,87,0x2003885,125,747,1632,576,0,0,0,0,0,0,0,7206,800,7219,3000,7214,5044,985,100,7019,1,2718,5,6246,300,15038,10,0,0,4191,1); REPLACE INTO `mob_db_re` VALUES (1505,'LOLI_RURI','Loli Ruri','Loli Ruri',109,15280,1,2790,2093,2,787,1017,53,44,111,50,47,79,79,79,10,12,2,6,87,0x2003885,125,747,1632,576,0,0,0,0,0,0,0,7206,800,7219,3000,7214,5044,985,100,7019,1,2718,5,6246,300,15038,10,0,0,4191,1);
@ -1748,9 +1748,9 @@ REPLACE INTO `mob_db_re` VALUES (2485,'NG_CHIMERA','Nightmare Chimera','Nightmar
#2525,WATERMELON_16 #2525,WATERMELON_16
#2526,E_BANDIT #2526,E_BANDIT
#2527,ME_ANOPHELES #2527,ME_ANOPHELES
REPLACE INTO `mob_db_re` VALUES (2528,'FACEWORM','Faceworm','Faceworm',140,482427,1,38800,3960,2,1818,727,50,30,100,50,100,100,100,50,10,12,2,4,25,0x2000085,200,384,720,480,0,0,0,0,0,0,0,971,100,22507,100,0,0,0,0,0,0,0,0,13089,10,7326,1000,972,100,0,0); REPLACE INTO `mob_db_re` VALUES (2528,'FACEWORM','Faceworm','Faceworm',140,482427,1,38800,3960,2,1818,727,50,30,100,50,100,100,100,50,10,12,2,4,25,0x2000085,200,384,720,480,0,0,0,0,0,0,0,971,100,22507,100,0,0,0,0,0,0,0,0,13089,10,7326,1000,972,100,27163,1);
REPLACE INTO `mob_db_re` VALUES (2529,'FACEWORM_QUEEN','Faceworm Queen','Faceworm Queen',155,50000000,1,200000,200000,2,4024,1609,100,60,200,100,200,200,200,100,10,12,2,4,85,0x6283695,200,768,540,480,90909,0,0,617,2500,12246,2500,607,1000,0,0,0,0,0,0,0,0,13090,100,0,0,6649,5000,0,0,0,0); REPLACE INTO `mob_db_re` VALUES (2529,'FACEWORM_QUEEN','Faceworm Queen','Faceworm Queen',155,50000000,1,200000,200000,2,4024,1609,100,60,200,100,200,200,200,100,10,12,2,4,85,0x6283695,200,768,540,480,90909,0,0,617,2500,12246,2500,607,1000,0,0,0,0,0,0,0,0,13090,100,0,0,6649,5000,0,0,27164,1);
REPLACE INTO `mob_db_re` VALUES (2530,'FACEWORM_DARK','Faceworm Dark','Dark Faceworm',144,5000000,1,100000,80000,2,2012,805,100,30,150,100,150,150,150,100,10,12,2,4,45,0x6283695,180,576,480,480,0,0,0,0,0,0,0,13089,10,22507,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); REPLACE INTO `mob_db_re` VALUES (2530,'FACEWORM_DARK','Faceworm Dark','Dark Faceworm',144,5000000,1,100000,80000,2,2012,805,100,30,150,100,150,150,150,100,10,12,2,4,45,0x6283695,180,576,480,480,0,0,0,0,0,0,0,13089,10,22507,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27165,1);
REPLACE INTO `mob_db_re` VALUES (2531,'VENOM_BUG','Venom Bug','Venom Bug',140,10000,1,0,0,1,340,0,200,100,200,200,200,200,200,200,12,12,0,4,25,0x2200084,2000,384,0,480,0,0,0,0,0,0,0,938,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7326,1000,0,0); REPLACE INTO `mob_db_re` VALUES (2531,'VENOM_BUG','Venom Bug','Venom Bug',140,10000,1,0,0,1,340,0,200,100,200,200,200,200,200,200,12,12,0,4,25,0x2200084,2000,384,0,480,0,0,0,0,0,0,0,938,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7326,1000,0,0);
REPLACE INTO `mob_db_re` VALUES (2532,'FACEWORM_QUEEN_R','Faceworm Queen (Red)','Red Faceworm Queen',155,50000000,1,200000,200000,2,12000,4800,400,400,500,100,200,200,200,100,10,12,2,4,23,0x6283695,200,768,540,480,90909,12246,2500,617,2500,0,0,994,5000,0,0,0,0,0,0,0,0,13090,100,0,0,6649,5000,0,0,0,0); REPLACE INTO `mob_db_re` VALUES (2532,'FACEWORM_QUEEN_R','Faceworm Queen (Red)','Red Faceworm Queen',155,50000000,1,200000,200000,2,12000,4800,400,400,500,100,200,200,200,100,10,12,2,4,23,0x6283695,200,768,540,480,90909,12246,2500,617,2500,0,0,994,5000,0,0,0,0,0,0,0,0,13090,100,0,0,6649,5000,0,0,0,0);
REPLACE INTO `mob_db_re` VALUES (2533,'FACEWORM_QUEEN_G','Faceworm Queen (Green)','Green Faceworm Queen',155,50000000,1,200000,200000,2,5000,2000,500,60,200,100,400,200,200,100,10,12,2,4,22,0x6283695,200,768,540,480,90909,617,2500,12246,2500,0,0,6649,5000,13090,100,997,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0); REPLACE INTO `mob_db_re` VALUES (2533,'FACEWORM_QUEEN_G','Faceworm Queen (Green)','Green Faceworm Queen',155,50000000,1,200000,200000,2,5000,2000,500,60,200,100,400,200,200,100,10,12,2,4,22,0x6283695,200,768,540,480,90909,617,2500,12246,2500,0,0,6649,5000,13090,100,997,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
@ -1760,30 +1760,30 @@ REPLACE INTO `mob_db_re` VALUES (2536,'HIDDEN_MOB3','Hidden Mob 3','Monster 3',1
REPLACE INTO `mob_db_re` VALUES (2537,'HIDDEN_MOB4','Hidden Mob 4','Monster 4',151,10000,200,0,0,1,2000,0,200,100,100,100,100,100,100,100,12,12,0,0,88,0x0370084,2000,0,100,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); REPLACE INTO `mob_db_re` VALUES (2537,'HIDDEN_MOB4','Hidden Mob 4','Monster 4',151,10000,200,0,0,1,2000,0,200,100,100,100,100,100,100,100,12,12,0,0,88,0x0370084,2000,0,100,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);
#2538,E_KING_PORING #2538,E_KING_PORING
REPLACE INTO `mob_db_re` VALUES (2539,'HIDDEN_MOB5','Hidden Mob 5','Monster 5',151,10000,200,0,0,9,500,0,200,100,100,100,100,100,100,100,12,12,0,0,88,0x2370084,2000,0,500,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); REPLACE INTO `mob_db_re` VALUES (2539,'HIDDEN_MOB5','Hidden Mob 5','Monster 5',151,10000,200,0,0,9,500,0,200,100,100,100,100,100,100,100,12,12,0,0,88,0x2370084,2000,0,500,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);
REPLACE INTO `mob_db_re` VALUES (2540,'FACEWORM_EGG','Faceworm Egg','Faceworm Egg',140,10,1,10,12,1,150,150,10,10,10,10,10,10,10,10,10,12,1,4,25,0x2370000,150,24,0,0,0,0,0,0,0,0,0,7032,5000,938,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); REPLACE INTO `mob_db_re` VALUES (2540,'FACEWORM_EGG','Faceworm Egg','Faceworm Egg',140,10,1,10,12,1,150,150,10,10,10,10,10,10,10,10,10,12,1,4,25,0x2370000,150,24,0,0,0,0,0,0,0,0,0,7032,5000,938,5000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27166,1);
REPLACE INTO `mob_db_re` VALUES (2541,'FACEWORM_LARVA','Faceworm Larva','Faceworm Larva',145,260380,1,10,12,1,1286,1851,10,10,10,50,50,50,180,50,10,12,1,4,45,0x2000085,150,1000,792,336,0,0,0,0,0,0,0,912,225,0,0,0,0,0,0,0,0,0,0,1096,1750,943,400,938,1500,0,0); REPLACE INTO `mob_db_re` VALUES (2541,'FACEWORM_LARVA','Faceworm Larva','Faceworm Larva',145,260380,1,10,12,1,1286,1851,10,10,10,50,50,50,180,50,10,12,1,4,45,0x2000085,150,1000,792,336,0,0,0,0,0,0,0,912,225,0,0,0,0,0,0,0,0,0,0,1096,1750,943,400,938,1500,27167,1);
REPLACE INTO `mob_db_re` VALUES (2542,'IRENE_ELDER','Irene Elder','Doyen Irene',101,433110,1,11360,27032,1,1749,2281,145,73,82,36,55,100,182,88,10,12,1,7,20,102774421,170,73,384,288,0,0,0,0,0,0,0,12072,100,12082,100,12087,100,12077,100,12092,100,12097,100,7481,1,12129,1,0,0,0,0); REPLACE INTO `mob_db_re` VALUES (2542,'IRENE_ELDER','Irene Elder','Doyen Irene',101,433110,1,11360,27032,1,1749,2281,145,73,82,36,55,100,182,88,10,12,1,7,20,102774421,170,73,384,288,0,0,0,0,0,0,0,12072,100,12082,100,12087,100,12077,100,12092,100,12097,100,7481,1,12129,1,0,0,27168,1);
REPLACE INTO `mob_db_re` VALUES (2543,'PAYONSOLDIER','1st Payon Soldier','1st Payon Soldier',101,20099,1,1083,2688,1,545,596,66,36,20,46,35,35,64,30,10,12,1,7,20,0x3095,225,73,348,288,0,0,0,0,0,0,0,12054,533,12044,533,12059,533,12069,533,12049,533,12127,266,12064,533,7479,1,0,0,0,0); REPLACE INTO `mob_db_re` VALUES (2543,'PAYONSOLDIER','1st Payon Soldier','1st Payon Soldier',101,20099,1,1083,2688,1,545,596,66,36,20,46,35,35,64,30,10,12,1,7,20,0x3095,225,73,348,288,0,0,0,0,0,0,0,12054,533,12044,533,12059,533,12069,533,12049,533,12127,266,12064,533,7479,1,0,0,27169,1);
REPLACE INTO `mob_db_re` VALUES (2544,'PAYONSOLDIER2','2nd Payon Soldier','2nd Payon Soldier',101,21099,1,1136,2703,1,697,748,66,36,20,46,25,35,64,30,10,12,1,7,20,0x3095,200,73,348,288,0,0,0,0,0,0,0,12071,400,12076,400,12091,400,12081,400,12096,400,12086,400,12128,133,7480,1,0,0,0,0); REPLACE INTO `mob_db_re` VALUES (2544,'PAYONSOLDIER2','2nd Payon Soldier','2nd Payon Soldier',101,21099,1,1136,2703,1,697,748,66,36,20,46,25,35,64,30,10,12,1,7,20,0x3095,200,73,348,288,0,0,0,0,0,0,0,12071,400,12076,400,12091,400,12081,400,12096,400,12086,400,12128,133,7480,1,0,0,27169,1);
REPLACE INTO `mob_db_re` VALUES (2545,'GUARDDOG','1st Guard Dog','1st Guard Dog',101,20099,1,944,2658,1,546,598,66,36,20,46,25,35,64,30,10,12,1,2,22,0x3091,150,73,348,288,0,0,0,0,0,0,0,12043,600,12068,600,7477,1,12048,600,12053,600,12058,600,12063,600,12125,333,0,0,0,0); REPLACE INTO `mob_db_re` VALUES (2545,'GUARDDOG','1st Guard Dog','1st Guard Dog',101,20099,1,944,2658,1,546,598,66,36,20,46,25,35,64,30,10,12,1,2,22,0x3091,150,73,348,288,0,0,0,0,0,0,0,12043,600,12068,600,7477,1,12048,600,12053,600,12058,600,12063,600,12125,333,0,0,0,0);
REPLACE INTO `mob_db_re` VALUES (2546,'GUARDDOG2','2nd Guard Dog','2nd Guard Dog',101,21099,1,1014,2673,1,573,229,66,36,20,46,25,35,64,30,10,12,1,2,23,0x3095,120,73,348,288,0,0,0,0,0,0,0,12045,466,7478,1,12050,466,12055,466,12060,466,12065,466,12070,466,12126,200,0,0,0,0); REPLACE INTO `mob_db_re` VALUES (2546,'GUARDDOG2','2nd Guard Dog','2nd Guard Dog',101,21099,1,1014,2673,1,573,229,66,36,20,46,25,35,64,30,10,12,1,2,23,0x3095,120,73,348,288,0,0,0,0,0,0,0,12045,466,7478,1,12050,466,12055,466,12060,466,12065,466,12070,466,12126,200,0,0,0,0);
#2547,MER_GARM_BABY #2547,MER_GARM_BABY
#2548,MER_HILLSRION #2548,MER_HILLSRION
REPLACE INTO `mob_db_re` VALUES (2549,'GEFFEN_MAGE_1','Arhi','Arhi',90,100000,1,8900,4550,1,329,424,64,38,50,50,50,50,130,50,10,12,1,7,20,0x85,200,1000,864,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); REPLACE INTO `mob_db_re` VALUES (2549,'GEFFEN_MAGE_1','Arhi','Arhi',90,100000,1,8900,4550,1,329,424,64,38,50,50,50,50,130,50,10,12,1,7,20,0x85,200,1000,864,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,27249,1);
REPLACE INTO `mob_db_re` VALUES (2550,'GEFFEN_MAGE_2','Dio Anemos','Dio Anemos',95,200000,1,9440,4430,1,478,649,129,18,40,40,50,80,130,60,10,12,1,7,20,0x85,200,900,672,480,0,0,0,0,0,0,0,1095,10000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); REPLACE INTO `mob_db_re` VALUES (2550,'GEFFEN_MAGE_2','Dio Anemos','Dio Anemos',95,200000,1,9440,4430,1,478,649,129,18,40,40,50,80,130,60,10,12,1,7,20,0x85,200,900,672,480,0,0,0,0,0,0,0,1095,10000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27250,1);
REPLACE INTO `mob_db_re` VALUES (2551,'GEFFEN_MAGE_3_1','Geffen Shoplifter','Geffen Shoplifter',100,300000,1,9780,3665,1,478,632,93,36,70,70,40,40,140,60,10,12,1,7,20,0x85,200,800,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); REPLACE INTO `mob_db_re` VALUES (2551,'GEFFEN_MAGE_3_1','Geffen Shoplifter','Geffen Shoplifter',100,300000,1,9780,3665,1,478,632,93,36,70,70,40,40,140,60,10,12,1,7,20,0x85,200,800,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,27253,1);
REPLACE INTO `mob_db_re` VALUES (2552,'GEFFEN_MAGE_3_2','Geffen Bully','Geffen Bully',100,300000,1,9780,3665,1,478,632,93,36,70,50,70,40,140,40,10,12,1,7,20,0x85,200,900,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); REPLACE INTO `mob_db_re` VALUES (2552,'GEFFEN_MAGE_3_2','Geffen Bully','Geffen Bully',100,300000,1,9780,3665,1,478,632,93,36,70,50,70,40,140,40,10,12,1,7,20,0x85,200,900,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,27252,1);
REPLACE INTO `mob_db_re` VALUES (2553,'GEFFEN_MAGE_3_3','Geffen Gang Member','Geffen Gang Member',100,300000,1,9780,3665,1,468,622,93,36,60,80,30,30,140,70,10,12,1,7,20,0x85,200,950,864,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); REPLACE INTO `mob_db_re` VALUES (2553,'GEFFEN_MAGE_3_3','Geffen Gang Member','Geffen Gang Member',100,300000,1,9780,3665,1,468,622,93,36,60,80,30,30,140,70,10,12,1,7,20,0x85,200,950,864,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,27251,1);
REPLACE INTO `mob_db_re` VALUES (2554,'GEFFEN_MAGE_4','Faymont','Faymont',105,400000,1,11660,4370,1,477,633,114,21,60,60,60,60,140,60,10,12,1,7,20,0x85,200,672,648,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); REPLACE INTO `mob_db_re` VALUES (2554,'GEFFEN_MAGE_4','Faymont','Faymont',105,400000,1,11660,4370,1,477,633,114,21,60,60,60,60,140,60,10,12,1,7,20,0x85,200,672,648,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,27254,1);
REPLACE INTO `mob_db_re` VALUES (2555,'GEFFEN_MAGE_5','Ordre','Ordre',110,600000,1,15610,4861,1,654,906,107,21,40,70,40,100,150,60,10,12,1,7,20,0x85,200,768,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); REPLACE INTO `mob_db_re` VALUES (2555,'GEFFEN_MAGE_5','Ordre','Ordre',110,600000,1,15610,4861,1,654,906,107,21,40,70,40,100,150,60,10,12,1,7,20,0x85,200,768,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,27255,1);
REPLACE INTO `mob_db_re` VALUES (2556,'GEFFEN_MAGE_6','Blut Hase','Blut Hase',120,1000000,1,20560,10010,1,480,601,66,47,120,120,120,50,150,60,10,12,1,7,48,0x85,200,800,768,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); REPLACE INTO `mob_db_re` VALUES (2556,'GEFFEN_MAGE_6','Blut Hase','Blut Hase',120,1000000,1,20560,10010,1,480,601,66,47,120,120,120,50,150,60,10,12,1,7,48,0x85,200,800,768,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,27256,1);
REPLACE INTO `mob_db_re` VALUES (2557,'GEFFEN_MAGE_7','Kuro Akuma','Kuro Akuma',130,1200000,1,26100,12030,1,761,1026,135,10,100,100,100,100,145,100,10,12,1,7,20,0x85,200,1000,864,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); REPLACE INTO `mob_db_re` VALUES (2557,'GEFFEN_MAGE_7','Kuro Akuma','Kuro Akuma',130,1200000,1,26100,12030,1,761,1026,135,10,100,100,100,100,145,100,10,12,1,7,20,0x85,200,1000,864,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,27257,1);
REPLACE INTO `mob_db_re` VALUES (2558,'GEFFEN_MAGE_8','Ifodes','Ifodes',140,1400000,1,46150,18900,1,676,869,120,60,150,100,100,50,170,100,10,12,1,7,20,0x85,200,800,768,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); REPLACE INTO `mob_db_re` VALUES (2558,'GEFFEN_MAGE_8','Ifodes','Ifodes',140,1400000,1,46150,18900,1,676,869,120,60,150,100,100,50,170,100,10,12,1,7,20,0x85,200,800,768,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,27258,1);
REPLACE INTO `mob_db_re` VALUES (2559,'GEFFEN_MAGE_9','Licheniyes','Licheniyes',145,1600000,1,52060,24105,1,763,1048,140,57,50,100,50,200,220,75,10,12,1,7,20,0x85,200,864,768,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); REPLACE INTO `mob_db_re` VALUES (2559,'GEFFEN_MAGE_9','Licheniyes','Licheniyes',145,1600000,1,52060,24105,1,763,1048,140,57,50,100,50,200,220,75,10,12,1,7,20,0x85,200,864,768,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,27259,1);
REPLACE INTO `mob_db_re` VALUES (2560,'GEFFEN_MAGE_10','Odoric','Odoric',150,2000000,1,60027,40237,1,950,1250,165,62,200,150,50,50,170,100,10,12,1,7,20,0x85,200,800,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); REPLACE INTO `mob_db_re` VALUES (2560,'GEFFEN_MAGE_10','Odoric','Odoric',150,2000000,1,60027,40237,1,950,1250,165,62,200,150,50,50,170,100,10,12,1,7,20,0x85,200,800,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,27260,1);
REPLACE INTO `mob_db_re` VALUES (2561,'GEFFEN_MAGE_11','Ju','Ju',155,5000000,1,75335,52130,1,1045,1465,170,65,50,100,100,200,220,100,10,12,1,7,20,0x85,200,800,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); REPLACE INTO `mob_db_re` VALUES (2561,'GEFFEN_MAGE_11','Ju','Ju',155,5000000,1,75335,52130,1,1045,1465,170,65,50,100,100,200,220,100,10,12,1,7,20,0x85,200,800,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,27261,1);
REPLACE INTO `mob_db_re` VALUES (2562,'GEFFEN_MAGE_12','Dwigh','Dwigh',160,7000000,1,151317,123000,1,1410,2010,175,65,50,100,100,250,220,100,10,12,1,7,48,0x6200085,200,800,768,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); REPLACE INTO `mob_db_re` VALUES (2562,'GEFFEN_MAGE_12','Dwigh','Dwigh',160,7000000,1,151317,123000,1,1410,2010,175,65,50,100,100,250,220,100,10,12,1,7,48,0x6200085,200,800,768,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,27262,1);
REPLACE INTO `mob_db_re` VALUES (2563,'FEI_KANABIAN','Fei Kanabian','Fay Kanavian',160,8000000,1,157975,110571,1,1710,2460,175,65,50,100,100,250,220,100,10,12,1,7,48,0x6200085,200,720,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); REPLACE INTO `mob_db_re` VALUES (2563,'FEI_KANABIAN','Fei Kanabian','Fay Kanavian',160,8000000,1,157975,110571,1,1710,2460,175,65,50,100,100,250,220,100,10,12,1,7,48,0x6200085,200,720,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,27263,1);
REPLACE INTO `mob_db_re` VALUES (2564,'GEFFEN_FENRIR','Geffen Fenrir','Fenrir',160,20000000,1,323300,300000,1,2160,3060,200,70,200,100,200,200,220,100,10,12,1,7,48,0x6200085,200,900,864,480,0,0,0,0,0,0,0,22511,100,22511,100,22511,100,22511,100,22511,100,22511,100,0,0,0,0,0,0,4556,1); REPLACE INTO `mob_db_re` VALUES (2564,'GEFFEN_FENRIR','Geffen Fenrir','Fenrir',160,20000000,1,323300,300000,1,2160,3060,200,70,200,100,200,200,220,100,10,12,1,7,48,0x6200085,200,900,864,480,0,0,0,0,0,0,0,22511,100,22511,100,22511,100,22511,100,22511,100,22511,100,0,0,0,0,0,0,4556,1);
REPLACE INTO `mob_db_re` VALUES (2565,'ALPHONSE','Alphonse','Alphonse',150,1000000,1,0,0,1,650,850,100,20,100,100,50,50,170,100,10,12,1,7,42,0x85,200,1400,816,396,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); REPLACE INTO `mob_db_re` VALUES (2565,'ALPHONSE','Alphonse','Alphonse',150,1000000,1,0,0,1,650,850,100,20,100,100,50,50,170,100,10,12,1,7,42,0x85,200,1400,816,396,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);
REPLACE INTO `mob_db_re` VALUES (2566,'ALPHONSE_JR','Alphonse Jr','Alphonse Jr',150,100000,1,0,0,1,450,550,80,20,100,100,50,50,170,100,10,12,1,7,62,0x85,200,936,792,432,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); REPLACE INTO `mob_db_re` VALUES (2566,'ALPHONSE_JR','Alphonse Jr','Alphonse Jr',150,100000,1,0,0,1,450,550,80,20,100,100,50,50,170,100,10,12,1,7,62,0x85,200,936,792,432,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);

View File

@ -2963,7 +2963,7 @@ REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_COLDBOLT','attack',
REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_COLDBOLT','chase',14,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_COLDBOLT','chase',14,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBALL','attack',17,44,3000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBALL','attack',17,44,3000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBALL','chase',17,44,3000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBALL','chase',17,44,3000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_SIGHTRASHER','attack',81,20,3000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_SIGHTRASHER','attack',81,10,3000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_QUAGMIRE','chase',92,5,3000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@WZ_QUAGMIRE','chase',92,5,3000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_SAFETYWALL','attack',12,10,3000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_SAFETYWALL','attack',12,10,3000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBOLT','chase',19,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1639,'Kathryne Keyron@MG_FIREBOLT','chase',19,10,3000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@ -3675,7 +3675,7 @@ REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_FIREATTACK','atta
REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL); REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@WZ_SIGHTRASHER','attack',81,20,1000,0,10000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@WZ_SIGHTRASHER','attack',81,10,1000,0,10000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@KN_BOWLINGBASH','attack',62,4,1000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); #REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@KN_BOWLINGBASH','attack',62,4,1000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_AGIUP','attack',350,5,1000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_AGIUP','attack',350,5,1000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_AGIUP','attack',350,5,2000,0,10000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1705,'Thanatos Despero@NPC_AGIUP','attack',350,5,2000,0,10000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@ -3741,7 +3741,7 @@ REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_FIREATTACK','atta
REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_CRITICALSLASH','attack',170,1,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_STUNATTACK','attack',179,4,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL); REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_TELEKINESISATTACK','attack',191,5,500,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'21',NULL);
REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@WZ_SIGHTRASHER','attack',81,20,1000,0,10000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@WZ_SIGHTRASHER','attack',81,10,1000,0,10000,'yes','target','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@KN_BOWLINGBASH','attack',62,5,1000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); #REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@KN_BOWLINGBASH','attack',62,5,1000,0,10000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_AGIUP','attack',350,5,1000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_AGIUP','attack',350,5,1000,0,60000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_AGIUP','attack',350,5,2000,0,10000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1710,'Thanatos Despero@NPC_AGIUP','attack',350,5,2000,0,10000,'yes','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@ -4117,7 +4117,7 @@ REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_POWERUP','attack
REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_POWERUP','attack',349,5,2000,700,50000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_POWERUP','attack',349,5,2000,700,50000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_FIREBREATH','chase',654,10,2000,500,10000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_FIREBREATH','chase',654,10,2000,500,10000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@SM_MAGNUM','attack',7,25,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@SM_MAGNUM','attack',7,25,10000,0,5000,'yes','self','attackpcge','2',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@WZ_SIGHTRASHER','attack',81,20,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@WZ_SIGHTRASHER','attack',81,10,2000,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@MG_FIREBALL','attack',17,44,1000,500,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@MG_FIREBALL','attack',17,44,1000,500,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@MG_FIREBALL','chase',17,44,10000,500,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@MG_FIREBALL','chase',17,44,10000,500,20000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1768,'Gloom Under Night@NPC_CALLSLAVE','attack',352,1,10000,0,30000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@ -4549,7 +4549,7 @@ REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@NPC_FIREBREATH','attack',654,10,2
REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@MG_FIREBALL','idle',17,44,10000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@MG_FIREBALL','idle',17,44,10000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@MG_FIREBALL','chase',17,44,10000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@MG_FIREBALL','chase',17,44,10000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@MG_FIREBALL','attack',17,44,5000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@MG_FIREBALL','attack',17,44,5000,500,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@WZ_SIGHTRASHER','attack',81,20,1000,0,20000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@WZ_SIGHTRASHER','attack',81,10,1000,0,20000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@LK_SPIRALPIERCE','attack',397,1,1500,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@LK_SPIRALPIERCE','attack',397,1,1500,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@WZ_METEOR','chase',83,1,5000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@WZ_METEOR','chase',83,1,5000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@WZ_METEOR','attack',83,1,5000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1833,'Kasa@WZ_METEOR','attack',83,1,5000,1000,10000,'no','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@ -4593,7 +4593,7 @@ REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_FIREBALL','chase',17,44,3000,50
REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@NPC_FIREATTACK','attack',186,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@NPC_FIREATTACK','attack',186,5,1000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@NPC_PULSESTRIKE','attack',661,3,1000,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@NPC_PULSESTRIKE','attack',661,3,1000,1000,5000,'no','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_SIGHT','idle',10,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@MG_SIGHT','idle',10,1,500,0,5000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@WZ_SIGHTRASHER','attack',81,20,3000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@WZ_SIGHTRASHER','attack',81,10,3000,0,10000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@RG_STRIPARMOR','attack',217,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL); REPLACE INTO `mob_skill_db` VALUES (1837,'Imp@RG_STRIPARMOR','attack',217,1,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,'29',NULL);
REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@HT_LANDMINE','idle',116,2,4000,1000,18000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL); REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@HT_LANDMINE','idle',116,2,4000,1000,18000,'yes','around2','always','0',NULL,NULL,NULL,NULL,NULL,'5',NULL);
REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@NPC_GROUNDATTACK','attack',185,2,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1838,'Knocker@NPC_GROUNDATTACK','attack',185,2,2000,0,5000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@ -4886,45 +4886,45 @@ REPLACE INTO `mob_skill_db` VALUES (1904,'Bomb Poring@NPC_SELFDESTRUCTION','any'
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_DRAGONFEAR','chase',659,10,10000,0,600000,'no','self','myhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,NULL,'17'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_DRAGONFEAR','chase',659,10,10000,0,600000,'no','self','myhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,NULL,'17');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_DRAGONFEAR','attack',659,10,10000,0,600000,'no','self','myhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,NULL,'17'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_DRAGONFEAR','attack',659,10,10000,0,600000,'no','self','myhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,NULL,'17');
#10% HP - Talk #10% HP - Talk
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_TALK','chase',682,10,10000,0,600000,'no','self','myhpinrate','6',10,NULL,NULL,NULL,NULL,NULL,'16'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_TALK','chase',682,10,10000,0,600000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,'16');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_TALK','attack',682,10,10000,0,600000,'no','self','myhpinrate','6',10,NULL,NULL,NULL,NULL,NULL,'16'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_TALK','attack',682,10,10000,0,600000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,'16');
#30% HP - Earthquake Combo #30% HP - Earthquake Combo
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDEHELLDIGNITY','chase',684,1,10000,2000,180000,'no','self','myhpinrate','11',30,NULL,NULL,NULL,NULL,NULL,'6'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDEHELLDIGNITY','chase',684,1,10000,2000,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,'6');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDEHELLDIGNITY','attack',684,1,10000,2000,180000,'no','self','myhpinrate','11',30,NULL,NULL,NULL,NULL,NULL,'6'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDEHELLDIGNITY','attack',684,1,10000,2000,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,'6');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESTUN','chase',678,5,10000,1300,180000,'no','self','afterskill','684',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESTUN','chase',678,5,10000,1300,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESTUN','attack',678,5,10000,1300,180000,'no','self','afterskill','684',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESTUN','attack',678,5,10000,1300,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_EARTHQUAKE','chase',653,10,10000,2000,180000,'no','self','afterskill','678',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_EARTHQUAKE','chase',653,10,10000,2000,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_EARTHQUAKE','attack',653,10,10000,2000,180000,'no','self','afterskill','678',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_EARTHQUAKE','attack',653,10,10000,2000,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#40% HP - Mixed Combo #40% HP - Mixed Combo
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_PULSESTRIKE','chase',661,5,10000,800,60000,'no','self','myhpinrate','31',40,NULL,NULL,NULL,NULL,NULL,'14'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_PULSESTRIKE','chase',661,5,10000,800,60000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,'14');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_PULSESTRIKE','attack',661,5,10000,800,60000,'no','self','myhpinrate','31',40,NULL,NULL,NULL,NULL,NULL,'14'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_PULSESTRIKE','attack',661,5,10000,800,60000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,'14');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESTONE','chase',666,5,10000,0,60000,'no','self','afterskill','661',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESTONE','chase',666,5,10000,0,60000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESTONE','attack',666,5,10000,0,60000,'no','self','afterskill','661',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESTONE','attack',666,5,10000,0,60000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@WZ_METEOR','chase',83,5,10000,800,60000,'no','target','afterskill','666',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@WZ_METEOR','chase',83,5,10000,800,60000,'no','target','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@WZ_METEOR','attack',83,5,10000,800,60000,'no','target','afterskill','666',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@WZ_METEOR','attack',83,5,10000,800,60000,'no','target','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#50% HP - Vampire Combo #50% HP - Vampire Combo
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_VAMPIRE_GIFT','chase',679,9,10000,1000,50000,'no','self','myhpinrate','41',50,NULL,NULL,NULL,NULL,NULL,'15'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_VAMPIRE_GIFT','chase',679,9,10000,1000,50000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'15');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_VAMPIRE_GIFT','attack',679,9,10000,1000,50000,'no','self','myhpinrate','41',50,NULL,NULL,NULL,NULL,NULL,'15'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_VAMPIRE_GIFT','attack',679,9,10000,1000,50000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'15');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESOULDRAIN','chase',680,10,10000,1000,50000,'no','self','afterskill','679',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESOULDRAIN','chase',680,10,10000,1000,50000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESOULDRAIN','attack',680,10,10000,1000,50000,'no','self','afterskill','679',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESOULDRAIN','attack',680,10,10000,1000,50000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_EVILLAND','chase',670,10,10000,1000,50000,'no','target','afterskill','680',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_EVILLAND','chase',670,10,10000,1000,50000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_EVILLAND','attack',670,10,10000,1000,50000,'no','target','afterskill','680',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_EVILLAND','attack',670,10,10000,1000,50000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#60% HP - Hell Combo #60% HP - Hell Combo
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESLEEP','chase',668,5,10000,700,35000,'no','self','myhpinrate','51',60,NULL,NULL,NULL,NULL,NULL,'3'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESLEEP','chase',668,5,10000,700,35000,'no','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,'3');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESLEEP','attack',668,5,10000,700,35000,'no','self','myhpinrate','51',60,NULL,NULL,NULL,NULL,NULL,'3'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_WIDESLEEP','attack',668,5,10000,700,35000,'no','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,'3');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_HELLPOWER','chase',683,1,10000,800,35000,'no','target','afterskill','668',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_HELLPOWER','chase',683,1,10000,800,35000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_HELLPOWER','attack',683,1,10000,800,35000,'no','target','afterskill','668',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_HELLPOWER','attack',683,1,10000,800,35000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_HELLJUDGEMENT','chase',662,5,10000,800,35000,'no','self','afterskill','683',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_HELLJUDGEMENT','chase',662,5,10000,800,35000,'no','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_HELLJUDGEMENT','attack',662,5,10000,800,35000,'no','self','afterskill','683',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_HELLJUDGEMENT','attack',662,5,10000,800,35000,'no','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#80% HP - Magic Combo #80% HP - Magic Combo
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@MG_STONECURSE','chase',16,10,10000,1000,20000,'no','target','myhpinrate','61',80,NULL,NULL,NULL,NULL,NULL,'2'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@MG_STONECURSE','chase',16,10,10000,1000,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,'2');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@MG_STONECURSE','attack',16,10,10000,1000,20000,'no','target','myhpinrate','61',80,NULL,NULL,NULL,NULL,NULL,'2'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@MG_STONECURSE','attack',16,10,10000,1000,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,'2');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@MG_FIREBOLT','chase',19,10,10000,300,20000,'no','target','afterskill','16',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@MG_FIREBOLT','chase',19,10,10000,300,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@MG_FIREBOLT','attack',19,10,10000,300,20000,'no','target','afterskill','16',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@MG_FIREBOLT','attack',19,10,10000,300,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@MG_FROSTDIVER','chase',15,40,10000,1000,20000,'no','target','afterskill','19',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@MG_FROSTDIVER','chase',15,40,10000,1000,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@MG_FROSTDIVER','attack',15,40,10000,1000,20000,'no','target','afterskill','19',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@MG_FROSTDIVER','attack',15,40,10000,1000,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@WZ_JUPITEL','chase',84,28,10000,1000,20000,'no','target','afterskill','15',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@WZ_JUPITEL','chase',84,28,10000,1000,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@WZ_JUPITEL','attack',84,28,10000,1000,20000,'no','target','afterskill','15',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@WZ_JUPITEL','attack',84,28,10000,1000,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@ -4935,53 +4935,51 @@ REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_CALLSLAVE','idle',352
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_TALK','chase',682,1,10000,0,600000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'1'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_TALK','chase',682,1,10000,0,600000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'1');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','attack',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','attack',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','chase',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4'); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','chase',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4');
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','onspawn','0',1922,1923,1924,1925,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@SA_LANDPROTECTOR','attack',288,1,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@SA_LANDPROTECTOR','attack',288,1,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SHIELDBRAKE','attack',346,10,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1916,'Satan Morroc@NPC_SHIELDBRAKE','attack',346,10,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#5% HP - Dragon Fear #5% HP - Dragon Fear
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_DRAGONFEAR','chase',659,10,10000,0,600000,'no','self','myhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,NULL,'17'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_DRAGONFEAR','chase',659,10,10000,0,600000,'no','self','myhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,NULL,'17');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_DRAGONFEAR','attack',659,10,10000,0,600000,'no','self','myhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,NULL,'17'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_DRAGONFEAR','attack',659,10,10000,0,600000,'no','self','myhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,NULL,'17');
#10% HP - Talk #10% HP - Talk
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_TALK','chase',682,10,10000,0,600000,'no','self','myhpinrate','6',10,NULL,NULL,NULL,NULL,NULL,'16'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_TALK','chase',682,10,10000,0,600000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,'16');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_TALK','attack',682,10,10000,0,600000,'no','self','myhpinrate','6',10,NULL,NULL,NULL,NULL,NULL,'16'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_TALK','attack',682,10,10000,0,600000,'no','self','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,'16');
#30% HP - Earthquake Combo #30% HP - Earthquake Combo
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDEHELLDIGNITY','chase',684,1,10000,2000,180000,'no','self','myhpinrate','11',30,NULL,NULL,NULL,NULL,NULL,'6'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDEHELLDIGNITY','chase',684,1,10000,2000,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,'6');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDEHELLDIGNITY','attack',684,1,10000,2000,180000,'no','self','myhpinrate','11',30,NULL,NULL,NULL,NULL,NULL,'6'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDEHELLDIGNITY','attack',684,1,10000,2000,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,'6');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESTUN','chase',678,5,10000,1300,180000,'no','self','afterskill','684',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESTUN','chase',678,5,10000,1300,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESTUN','attack',678,5,10000,1300,180000,'no','self','afterskill','684',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESTUN','attack',678,5,10000,1300,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_EARTHQUAKE','chase',653,10,10000,2000,180000,'no','self','afterskill','678',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_EARTHQUAKE','chase',653,10,10000,2000,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_EARTHQUAKE','attack',653,10,10000,2000,180000,'no','self','afterskill','678',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_EARTHQUAKE','attack',653,10,10000,2000,180000,'no','self','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#40% HP - Mixed Combo #40% HP - Mixed Combo
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_PULSESTRIKE','chase',661,5,10000,800,60000,'no','self','myhpinrate','31',40,NULL,NULL,NULL,NULL,NULL,'14'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_PULSESTRIKE','chase',661,5,10000,800,60000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,'14');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_PULSESTRIKE','attack',661,5,10000,800,60000,'no','self','myhpinrate','31',40,NULL,NULL,NULL,NULL,NULL,'14'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_PULSESTRIKE','attack',661,5,10000,800,60000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,'14');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESTONE','chase',666,5,10000,0,60000,'no','self','afterskill','661',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESTONE','chase',666,5,10000,0,60000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESTONE','attack',666,5,10000,0,60000,'no','self','afterskill','661',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESTONE','attack',666,5,10000,0,60000,'no','self','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@WZ_METEOR','chase',83,5,10000,800,60000,'no','target','afterskill','666',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@WZ_METEOR','chase',83,5,10000,800,60000,'no','target','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@WZ_METEOR','attack',83,5,10000,800,60000,'no','target','afterskill','666',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@WZ_METEOR','attack',83,5,10000,800,60000,'no','target','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#50% HP - Vampire Combo #50% HP - Vampire Combo
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_VAMPIRE_GIFT','chase',679,9,10000,1000,50000,'no','self','myhpinrate','41',50,NULL,NULL,NULL,NULL,NULL,'15'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_VAMPIRE_GIFT','chase',679,9,10000,1000,50000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'15');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_VAMPIRE_GIFT','attack',679,9,10000,1000,50000,'no','self','myhpinrate','41',50,NULL,NULL,NULL,NULL,NULL,'15'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_VAMPIRE_GIFT','attack',679,9,10000,1000,50000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,'15');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESOULDRAIN','chase',680,10,10000,1000,50000,'no','self','afterskill','679',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESOULDRAIN','chase',680,10,10000,1000,50000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESOULDRAIN','attack',680,10,10000,1000,50000,'no','self','afterskill','679',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESOULDRAIN','attack',680,10,10000,1000,50000,'no','self','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_EVILLAND','chase',670,10,10000,1000,50000,'no','target','afterskill','680',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_EVILLAND','chase',670,10,10000,1000,50000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_EVILLAND','attack',670,10,10000,1000,50000,'no','target','afterskill','680',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_EVILLAND','attack',670,10,10000,1000,50000,'no','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#60% HP - Hell Combo #60% HP - Hell Combo
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESLEEP','chase',668,5,10000,700,35000,'no','self','myhpinrate','51',60,NULL,NULL,NULL,NULL,NULL,'3'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESLEEP','chase',668,5,10000,700,35000,'no','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,'3');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESLEEP','attack',668,5,10000,700,35000,'no','self','myhpinrate','51',60,NULL,NULL,NULL,NULL,NULL,'3'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_WIDESLEEP','attack',668,5,10000,700,35000,'no','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,'3');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_HELLPOWER','chase',683,1,10000,800,35000,'no','target','afterskill','668',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_HELLPOWER','chase',683,1,10000,800,35000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_HELLPOWER','attack',683,1,10000,800,35000,'no','target','afterskill','668',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_HELLPOWER','attack',683,1,10000,800,35000,'no','target','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_HELLJUDGEMENT','chase',662,5,10000,800,35000,'no','self','afterskill','683',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_HELLJUDGEMENT','chase',662,5,10000,800,35000,'no','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_HELLJUDGEMENT','attack',662,5,10000,800,35000,'no','self','afterskill','683',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_HELLJUDGEMENT','attack',662,5,10000,800,35000,'no','self','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#80% HP - Magic Combo #80% HP - Magic Combo
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@MG_STONECURSE','chase',16,10,10000,1000,20000,'no','target','myhpinrate','61',80,NULL,NULL,NULL,NULL,NULL,'2'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@MG_STONECURSE','chase',16,10,10000,1000,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,'2');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@MG_STONECURSE','attack',16,10,10000,1000,20000,'no','target','myhpinrate','61',80,NULL,NULL,NULL,NULL,NULL,'2'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@MG_STONECURSE','attack',16,10,10000,1000,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,'2');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@MG_FIREBOLT','chase',19,10,10000,300,20000,'no','target','afterskill','16',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@MG_FIREBOLT','chase',19,10,10000,300,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@MG_FIREBOLT','attack',19,10,10000,300,20000,'no','target','afterskill','16',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@MG_FIREBOLT','attack',19,10,10000,300,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@MG_FROSTDIVER','chase',15,40,10000,1000,20000,'no','target','afterskill','19',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@MG_FROSTDIVER','chase',15,40,10000,1000,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@MG_FROSTDIVER','attack',15,40,10000,1000,20000,'no','target','afterskill','19',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@MG_FROSTDIVER','attack',15,40,10000,1000,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@WZ_JUPITEL','chase',84,28,10000,1000,20000,'no','target','afterskill','15',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@WZ_JUPITEL','chase',84,28,10000,1000,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@WZ_JUPITEL','attack',84,28,10000,1000,20000,'no','target','afterskill','15',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@WZ_JUPITEL','attack',84,28,10000,1000,20000,'no','target','myhpltmaxrate','80',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@AL_TELEPORT','idle',26,1,10000,0,0,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@AL_TELEPORT','chase',26,1,5000,0,5000,'yes','self','rudeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@ -4992,8 +4990,6 @@ REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_CALLSLAVE','idle',3
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_TALK','chase',682,1,10000,0,600000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'1'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_TALK','chase',682,1,10000,0,600000,'yes','self','always','0',NULL,NULL,NULL,NULL,NULL,NULL,'1');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','attack',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','attack',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','chase',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4'); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','chase',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,'4');
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','onspawn','0',1922,1923,1924,1925,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SUMMONSLAVE','idle',196,4,10000,0,30000,'yes','self','slavele','1',1922,1923,1924,1925,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@SA_LANDPROTECTOR','attack',288,1,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@SA_LANDPROTECTOR','attack',288,1,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SHIELDBRAKE','attack',346,10,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1917,'Wounded Morroc@NPC_SHIELDBRAKE','attack',346,10,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); REPLACE INTO `mob_skill_db` VALUES (1918,'Incarnation of Morroc@AL_PNEUMA','idle',25,1,10000,0,1000,'yes','self','longrangeattacked',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);

File diff suppressed because it is too large Load Diff

View File

@ -305,7 +305,7 @@ int chclif_parse_pincode_setnew( int fd, struct char_session_data* sd ){
//---------------------------------------- //----------------------------------------
void chclif_charlist_notify( int fd, struct char_session_data* sd ){ void chclif_charlist_notify( int fd, struct char_session_data* sd ){
// This is needed on RE clients from october 2015 onwards // This is needed on RE clients from october 2015 onwards
#if defined(PACKETVER_RE) && PACKETVER >= 20151001 #if defined(PACKETVER_RE) && PACKETVER >= 20151001 && PACKETVER < 20180103
WFIFOHEAD(fd, 10); WFIFOHEAD(fd, 10);
WFIFOW(fd, 0) = 0x9a0; WFIFOW(fd, 0) = 0x9a0;
// pages to req / send them all in 1 until mmo_chars_fromsql can split them up // pages to req / send them all in 1 until mmo_chars_fromsql can split them up

View File

@ -66,9 +66,9 @@ int inter_recv_packet_length[] = {
}; };
struct WisData { struct WisData {
int id, fd, count, len; int id, fd, count, len, gmlvl;
unsigned long tick; unsigned long tick;
unsigned char src[NAME_LENGTH], dst[NAME_LENGTH], msg[512]; char src[NAME_LENGTH], dst[NAME_LENGTH], msg[512];
}; };
static DBMap* wis_db = NULL; // int wis_id -> struct WisData* static DBMap* wis_db = NULL; // int wis_id -> struct WisData*
static int wis_dellist[WISDELLIST_MAX], wis_delnum; static int wis_dellist[WISDELLIST_MAX], wis_delnum;
@ -1045,31 +1045,22 @@ int mapif_broadcast(unsigned char *mes, int len, unsigned long fontColor, short
int mapif_wis_message(struct WisData *wd) int mapif_wis_message(struct WisData *wd)
{ {
unsigned char buf[2048]; unsigned char buf[2048];
if (wd->len > 2047-56) wd->len = 2047-56; //Force it to fit to avoid crashes. [Skotlex] int headersize = 12 + 2 * NAME_LENGTH;
if (wd->len > 2047-headersize) wd->len = 2047-headersize; //Force it to fit to avoid crashes. [Skotlex]
WBUFW(buf, 0) = 0x3801; WBUFW(buf, 0) = 0x3801;
WBUFW(buf, 2) = 56 +wd->len; WBUFW(buf, 2) = headersize+wd->len;
WBUFL(buf, 4) = wd->id; WBUFL(buf, 4) = wd->id;
memcpy(WBUFP(buf, 8), wd->src, NAME_LENGTH); WBUFL(buf, 8) = wd->gmlvl;
memcpy(WBUFP(buf,32), wd->dst, NAME_LENGTH); safestrncpy(WBUFCP(buf,12), wd->src, NAME_LENGTH);
memcpy(WBUFP(buf,56), wd->msg, wd->len); safestrncpy(WBUFCP(buf,12 + NAME_LENGTH), wd->dst, NAME_LENGTH);
safestrncpy(WBUFCP(buf,12 + 2*NAME_LENGTH), wd->msg, wd->len);
wd->count = chmapif_sendall(buf,WBUFW(buf,2)); wd->count = chmapif_sendall(buf,WBUFW(buf,2));
return 0; return 0;
} }
// Wis sending result
int mapif_wis_end(struct WisData *wd, int flag)
{
unsigned char buf[27];
WBUFW(buf, 0)=0x3802;
memcpy(WBUFP(buf, 2),wd->src,24);
WBUFB(buf,26)=flag;
chmapif_send(wd->fd,buf,27);
return 0;
}
// Send the requested account_reg // Send the requested account_reg
int mapif_account_reg_reply(int fd, uint32 account_id, uint32 char_id, int type) int mapif_account_reg_reply(int fd, uint32 account_id, uint32 char_id, int type)
{ {
@ -1122,7 +1113,7 @@ int check_ttl_wisdata(void)
struct WisData *wd = (struct WisData*)idb_get(wis_db, wis_dellist[i]); struct WisData *wd = (struct WisData*)idb_get(wis_db, wis_dellist[i]);
ShowWarning("inter: wis data id=%d time out : from %s to %s\n", wd->id, wd->src, wd->dst); ShowWarning("inter: wis data id=%d time out : from %s to %s\n", wd->id, wd->src, wd->dst);
// removed. not send information after a timeout. Just no answer for the player // removed. not send information after a timeout. Just no answer for the player
//mapif_wis_end(wd, 1); // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target //mapif_wis_reply(wd->fd, wd->src, 1); // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
idb_remove(wis_db, wd->id); idb_remove(wis_db, wd->id);
} }
} while(wis_delnum >= WISDELLIST_MAX); } while(wis_delnum >= WISDELLIST_MAX);
@ -1156,6 +1147,17 @@ int mapif_parse_broadcast_item(int fd) {
return 0; return 0;
} }
// Wis sending result
// flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
int mapif_wis_reply( int mapserver_fd, char* target, uint8 flag ){
unsigned char buf[27];
WBUFW(buf, 0) = 0x3802;
safestrncpy(WBUFCP(buf, 2), target, NAME_LENGTH);
WBUFB(buf,26) = flag;
return chmapif_send(mapserver_fd, buf, 27);
}
// Wisp/page request to send // Wisp/page request to send
int mapif_parse_WisRequest(int fd) int mapif_parse_WisRequest(int fd)
@ -1165,19 +1167,20 @@ int mapif_parse_WisRequest(int fd)
char esc_name[NAME_LENGTH*2+1];// escaped name char esc_name[NAME_LENGTH*2+1];// escaped name
char* data; char* data;
size_t len; size_t len;
int headersize = 8+2*NAME_LENGTH;
if ( fd <= 0 ) {return 0;} // check if we have a valid fd if ( fd <= 0 ) {return 0;} // check if we have a valid fd
if (RFIFOW(fd,2)-52 >= sizeof(wd->msg)) { if (RFIFOW(fd,2)-headersize >= sizeof(wd->msg)) {
ShowWarning("inter: Wis message size too long.\n"); ShowWarning("inter: Wis message size too long.\n");
return 0; return 0;
} else if (RFIFOW(fd,2)-52 <= 0) { // normaly, impossible, but who knows... } else if (RFIFOW(fd,2)-headersize <= 0) { // normaly, impossible, but who knows...
ShowError("inter: Wis message doesn't exist.\n"); ShowError("inter: Wis message doesn't exist.\n");
return 0; return 0;
} }
safestrncpy(name, RFIFOCP(fd,28), NAME_LENGTH); //Received name may be too large and not contain \0! [Skotlex] safestrncpy(name, RFIFOCP(fd,8+NAME_LENGTH), NAME_LENGTH); //Received name may be too large and not contain \0! [Skotlex]
Sql_EscapeStringLen(sql_handle, esc_name, name, strnlen(name, NAME_LENGTH)); Sql_EscapeStringLen(sql_handle, esc_name, name, strnlen(name, NAME_LENGTH));
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `name` FROM `%s` WHERE `name`='%s'", schema_config.char_db, esc_name) ) if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `name` FROM `%s` WHERE `name`='%s'", schema_config.char_db, esc_name) )
@ -1186,11 +1189,7 @@ int mapif_parse_WisRequest(int fd)
// search if character exists before to ask all map-servers // search if character exists before to ask all map-servers
if( SQL_SUCCESS != Sql_NextRow(sql_handle) ) if( SQL_SUCCESS != Sql_NextRow(sql_handle) )
{ {
unsigned char buf[27]; mapif_wis_reply(fd, RFIFOCP(fd, 8), 1);
WBUFW(buf, 0) = 0x3802;
memcpy(WBUFP(buf, 2), RFIFOP(fd, 4), NAME_LENGTH);
WBUFB(buf,26) = 1; // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
chmapif_send(fd, buf, 27);
} }
else else
{// Character exists. So, ask all map-servers {// Character exists. So, ask all map-servers
@ -1199,13 +1198,9 @@ int mapif_parse_WisRequest(int fd)
memset(name, 0, NAME_LENGTH); memset(name, 0, NAME_LENGTH);
memcpy(name, data, zmin(len, NAME_LENGTH)); memcpy(name, data, zmin(len, NAME_LENGTH));
// if source is destination, don't ask other servers. // if source is destination, don't ask other servers.
if( strncmp(RFIFOCP(fd,4), name, NAME_LENGTH) == 0 ) if( strncmp(RFIFOCP(fd,8), name, NAME_LENGTH) == 0 )
{ {
uint8 buf[27]; mapif_wis_reply(fd, RFIFOCP(fd, 8), 1);
WBUFW(buf, 0) = 0x3802;
memcpy(WBUFP(buf, 2), RFIFOP(fd, 4), NAME_LENGTH);
WBUFB(buf,26) = 1; // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
chmapif_send(fd, buf, 27);
} }
else else
{ {
@ -1218,10 +1213,11 @@ int mapif_parse_WisRequest(int fd)
wd->id = ++wisid; wd->id = ++wisid;
wd->fd = fd; wd->fd = fd;
wd->len= RFIFOW(fd,2)-52; wd->len= RFIFOW(fd,2)-headersize;
memcpy(wd->src, RFIFOP(fd, 4), NAME_LENGTH); wd->gmlvl = RFIFOL(fd,4);
memcpy(wd->dst, RFIFOP(fd,28), NAME_LENGTH); safestrncpy(wd->src, RFIFOCP(fd,8), NAME_LENGTH);
memcpy(wd->msg, RFIFOP(fd,52), wd->len); safestrncpy(wd->dst, RFIFOCP(fd,8+NAME_LENGTH), NAME_LENGTH);
safestrncpy(wd->msg, RFIFOCP(fd,8+2*NAME_LENGTH), wd->len);
wd->tick = gettick(); wd->tick = gettick();
idb_put(wis_db, wd->id, wd); idb_put(wis_db, wd->id, wd);
mapif_wis_message(wd); mapif_wis_message(wd);
@ -1236,7 +1232,8 @@ int mapif_parse_WisRequest(int fd)
// Wisp/page transmission result // Wisp/page transmission result
int mapif_parse_WisReply(int fd) int mapif_parse_WisReply(int fd)
{ {
int id, flag; int id;
uint8 flag;
struct WisData *wd; struct WisData *wd;
id = RFIFOL(fd,2); id = RFIFOL(fd,2);
@ -1246,7 +1243,7 @@ int mapif_parse_WisReply(int fd)
return 0; // This wisp was probably suppress before, because it was timeout of because of target was found on another map-server return 0; // This wisp was probably suppress before, because it was timeout of because of target was found on another map-server
if ((--wd->count) <= 0 || flag != 1) { if ((--wd->count) <= 0 || flag != 1) {
mapif_wis_end(wd, flag); // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target mapif_wis_reply(wd->fd, wd->src, flag); // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
idb_remove(wis_db, id); idb_remove(wis_db, id);
} }

View File

@ -2973,31 +2973,11 @@ static struct Damage battle_calc_attack_masteries(struct Damage wd, struct block
} }
if (sc) { // Status change considered as masteries if (sc) { // Status change considered as masteries
uint8 i;
#ifdef RENEWAL #ifdef RENEWAL
if (sc->data[SC_NIBELUNGEN]) // With renewal, the level 4 weapon limitation has been removed if (sc->data[SC_NIBELUNGEN]) // With renewal, the level 4 weapon limitation has been removed
ATK_ADD(wd.masteryAtk, wd.masteryAtk2, sc->data[SC_NIBELUNGEN]->val2); ATK_ADD(wd.masteryAtk, wd.masteryAtk2, sc->data[SC_NIBELUNGEN]->val2);
#endif #endif
if (sc->data[SC_MIRACLE])
i = 2; //Star anger
else
ARR_FIND(0, MAX_PC_FEELHATE, i, t_class == sd->hate_mob[i]);
if (i < MAX_PC_FEELHATE && (skill=pc_checkskill(sd,sg_info[i].anger_id))) {
int skillratio = sd->status.base_level + sstatus->dex + sstatus->luk;
if (i == 2)
skillratio += sstatus->str; //Star Anger
if (skill < 4)
skillratio /= 12 - 3 * skill;
ATK_ADDRATE(wd.damage, wd.damage2, skillratio);
#ifdef RENEWAL
ATK_ADDRATE(wd.masteryAtk, wd.masteryAtk2, skillratio);
#endif
}
if(sc->data[SC_CAMOUFLAGE]) { if(sc->data[SC_CAMOUFLAGE]) {
ATK_ADD(wd.damage, wd.damage2, 30 * min(10, sc->data[SC_CAMOUFLAGE]->val3)); ATK_ADD(wd.damage, wd.damage2, 30 * min(10, sc->data[SC_CAMOUFLAGE]->val3));
#ifdef RENEWAL #ifdef RENEWAL
@ -4464,6 +4444,7 @@ struct Damage battle_attack_sc_bonus(struct Damage wd, struct block_list *src, s
struct status_data *sstatus = status_get_status_data(src); struct status_data *sstatus = status_get_status_data(src);
struct status_data *tstatus = status_get_status_data(target); struct status_data *tstatus = status_get_status_data(target);
int inf3 = skill_get_inf3(skill_id); int inf3 = skill_get_inf3(skill_id);
uint8 anger_id = 0; // SLS Anger
// Kagerou/Oboro Earth Charm effect +15% wATK // Kagerou/Oboro Earth Charm effect +15% wATK
if(sd && sd->spiritcharm_type == CHARM_TYPE_LAND && sd->spiritcharm > 0) { if(sd && sd->spiritcharm_type == CHARM_TYPE_LAND && sd->spiritcharm > 0) {
@ -4625,6 +4606,9 @@ struct Damage battle_attack_sc_bonus(struct Damage wd, struct block_list *src, s
ATK_ADDRATE(wd.damage, wd.damage2, sc->data[SC_GVG_GIANT]->val3); ATK_ADDRATE(wd.damage, wd.damage2, sc->data[SC_GVG_GIANT]->val3);
RE_ALLATK_ADDRATE(wd, sc->data[SC_GVG_GIANT]->val3); RE_ALLATK_ADDRATE(wd, sc->data[SC_GVG_GIANT]->val3);
} }
if (sc->data[SC_MIRACLE])
anger_id = 2; // Always treat all monsters as star flagged monster when in miracle state
} }
if ((wd.flag&(BF_LONG|BF_MAGIC)) == BF_LONG) { if ((wd.flag&(BF_LONG|BF_MAGIC)) == BF_LONG) {
@ -4637,6 +4621,23 @@ struct Damage battle_attack_sc_bonus(struct Damage wd, struct block_list *src, s
} }
} }
if (sd != nullptr && !anger_id)
ARR_FIND(0, MAX_PC_FEELHATE, anger_id, status_get_class(target) == sd->hate_mob[anger_id]);
uint16 anger_level;
if (sd != nullptr && anger_id < MAX_PC_FEELHATE && (anger_level = pc_checkskill(sd, sg_info[anger_id].anger_id))) {
int skillratio = sd->status.base_level + sstatus->dex + sstatus->luk;
if (anger_id == 2)
skillratio += sstatus->str; // SG_STAR_ANGER additionally has STR added in its formula.
if (anger_level < 4)
skillratio /= 12 - 3 * anger_level;
ATK_ADDRATE(wd.damage, wd.damage2, skillratio);
#ifdef RENEWAL
RE_ALLATK_ADDRATE(wd, skillratio);
#endif
}
return wd; return wd;
} }

View File

@ -6445,8 +6445,13 @@ void clif_upgrademessage(int fd, int result, unsigned short item_id)
/// Whisper is transmitted to the destination player (ZC_WHISPER). /// Whisper is transmitted to the destination player (ZC_WHISPER).
/// 0097 <packet len>.W <nick>.24B <message>.?B /// 0097 <packet len>.W <nick>.24B <message>.?B
/// 0097 <packet len>.W <nick>.24B <isAdmin>.L <message>.?B (PACKETVER >= 20091104) /// 0097 <packet len>.W <nick>.24B <isAdmin>.L <message>.?B (PACKETVER >= 20091104)
void clif_wis_message(int fd, const char* nick, const char* mes, int mes_len) void clif_wis_message(struct map_session_data* sd, const char* nick, const char* mes, int mes_len, int gmlvl){
{ int fd;
nullpo_retv(sd);
fd = sd->fd;
#if PACKETVER < 20091104 #if PACKETVER < 20091104
WFIFOHEAD(fd, mes_len + NAME_LENGTH + 4); WFIFOHEAD(fd, mes_len + NAME_LENGTH + 4);
WFIFOW(fd,0) = 0x97; WFIFOW(fd,0) = 0x97;
@ -6461,7 +6466,11 @@ void clif_wis_message(int fd, const char* nick, const char* mes, int mes_len)
WFIFOW(fd,0) = 0x97; WFIFOW(fd,0) = 0x97;
WFIFOW(fd,2) = mes_len + NAME_LENGTH + 8; WFIFOW(fd,2) = mes_len + NAME_LENGTH + 8;
safestrncpy(WFIFOCP(fd,4), nick, NAME_LENGTH); safestrncpy(WFIFOCP(fd,4), nick, NAME_LENGTH);
WFIFOL(fd,28) = (ssd && pc_get_group_level(ssd) == 99) ? 1 : 0; // isAdmin; if nonzero, also displays text above char // If it is not a message from the server or a player from another map-server
if( ssd ){
gmlvl = pc_get_group_level(ssd);
}
WFIFOL(fd, 28) = (gmlvl == 99) ? 1 : 0; // isAdmin; if nonzero, also displays text above char
safestrncpy(WFIFOCP(fd,32), mes, mes_len); safestrncpy(WFIFOCP(fd,32), mes, mes_len);
WFIFOSET(fd,WFIFOW(fd,2)); WFIFOSET(fd,WFIFOW(fd,2));
#endif #endif
@ -10741,6 +10750,7 @@ void clif_parse_WalkToXY(int fd, struct map_session_data *sd)
// not when you move each cell. This is official behaviour. // not when you move each cell. This is official behaviour.
if (sd->sc.data[SC_CLOAKING]) if (sd->sc.data[SC_CLOAKING])
skill_check_cloaking(&sd->bl, sd->sc.data[SC_CLOAKING]); skill_check_cloaking(&sd->bl, sd->sc.data[SC_CLOAKING]);
status_change_end(&sd->bl, SC_ROLLINGCUTTER, INVALID_TIMER); // If you move, you lose your counters. [malufett]
pc_delinvincibletimer(sd); pc_delinvincibletimer(sd);
@ -11222,7 +11232,7 @@ void clif_parse_WisMessage(int fd, struct map_session_data* sd)
// if there are 'Test' player on an other map-server and 'test' player on this map-server, // if there are 'Test' player on an other map-server and 'test' player on this map-server,
// and if we ask for 'Test', we must not contact 'test' player // and if we ask for 'Test', we must not contact 'test' player
// so, we send information to inter-server, which is the only one which decide (and copy correct name). // so, we send information to inter-server, which is the only one which decide (and copy correct name).
intif_wis_message(sd, target, message, strlen(message)); intif_wis_message(sd, target, message, strlen(message) + 1);
return; return;
} }
@ -11238,7 +11248,7 @@ void clif_parse_WisMessage(int fd, struct map_session_data* sd)
// if player is autotrading // if player is autotrading
if (dstsd->state.autotrade == 1){ if (dstsd->state.autotrade == 1){
safesnprintf(output,sizeof(output),"%s is in autotrade mode and cannot receive whispered messages.", dstsd->status.name); safesnprintf(output,sizeof(output),"%s is in autotrade mode and cannot receive whispered messages.", dstsd->status.name);
clif_wis_message(fd, wisp_server_name, output, strlen(output) + 1); clif_wis_message(sd, wisp_server_name, output, strlen(output) + 1, 0);
return; return;
} }
@ -11255,7 +11265,7 @@ void clif_parse_WisMessage(int fd, struct map_session_data* sd)
clif_wis_end(fd, 0); // 0: success to send wisper clif_wis_end(fd, 0); // 0: success to send wisper
// Normal message // Normal message
clif_wis_message(dstsd->fd, sd->status.name, message, strlen(message)+1 ); clif_wis_message(dstsd, sd->status.name, message, strlen(message)+1, 0);
} }

View File

@ -688,7 +688,7 @@ void clif_status_change(struct block_list *bl, int type, int flag, int tick, int
void clif_efst_status_change(struct block_list *bl, int tid, enum send_target target, int type, int tick, int val1, int val2, int val3); void clif_efst_status_change(struct block_list *bl, int tid, enum send_target target, int type, int tick, int val1, int val2, int val3);
void clif_efst_status_change_sub(struct block_list *tbl, struct block_list *bl, enum send_target target); void clif_efst_status_change_sub(struct block_list *tbl, struct block_list *bl, enum send_target target);
void clif_wis_message(int fd, const char* nick, const char* mes, int mes_len); void clif_wis_message(struct map_session_data* sd, const char* nick, const char* mes, int mes_len, int gmlvl);
void clif_wis_end(int fd, int result); void clif_wis_end(int fd, int result);
void clif_solved_charname(int fd, int charid, const char* name); void clif_solved_charname(int fd, int charid, const char* name);

View File

@ -110,7 +110,7 @@
#elif PACKETVER == 20130618 // 2013-06-18Ragexe #elif PACKETVER == 20130618 // 2013-06-18Ragexe
packet_keys(0x434115DE,0x34A10FE9,0x6791428E); packet_keys(0x434115DE,0x34A10FE9,0x6791428E);
#elif PACKETVER == 20130626 // 2013-06-26Ragexe #elif PACKETVER == 20130626 // 2013-06-26Ragexe
packet_keys(0x38F453EF,0x6A040FD8,0X65BD6668); packet_keys(0x38F453EF,0x6A040FD8,0x65BD6668);
#elif PACKETVER == 20130703 // 2013-07-03Ragexe #elif PACKETVER == 20130703 // 2013-07-03Ragexe
packet_keys(0x4FF90E23,0x0F1432F2,0x4CFA1EDA); packet_keys(0x4FF90E23,0x0F1432F2,0x4CFA1EDA);
#elif PACKETVER == 20130710 // 2013-07-10Ragexe #elif PACKETVER == 20130710 // 2013-07-10Ragexe
@ -400,6 +400,14 @@
packet_keys(0x39D54BD3,0x577A0C21,0x4C1C316E); packet_keys(0x39D54BD3,0x577A0C21,0x4C1C316E);
#elif PACKETVER == 20171213 // 2017-12-13bRagexeRE #elif PACKETVER == 20171213 // 2017-12-13bRagexeRE
packet_keys(0x44E41107,0x3B126921,0x00E06AAC); packet_keys(0x44E41107,0x3B126921,0x00E06AAC);
#elif PACKETVER == 20171220 // 2017-12-20aRagexeRE
packet_keys(0x6EFE009A,0x440B7BFA,0x052339C8);
#elif PACKETVER == 20171227 // 2017-12-27aRagexeRE
packet_keys(0x257A2F6E,0x51140EEE,0x00FA4452);
#elif PACKETVER == 20180103 // 2018-01-03aRagexeRE or 2018-01-03bRagexeRE
packet_keys(0x348F4BD7,0x7A425A54,0x628F589A);
#elif PACKETVER == 20180117 // 2018-01-17aRagexeRE
packet_keys(0x21F477F4,0x37F437F4,0x37F437F4);
#elif PACKETVER > 20110817 #elif PACKETVER > 20110817
#error Unsupported packet version. #error Unsupported packet version.
#endif #endif

View File

@ -4439,6 +4439,130 @@
parseable_packet(0x091A,5,clif_parse_ChangeDir,2,4); parseable_packet(0x091A,5,clif_parse_ChangeDir,2,4);
parseable_packet(0x0957,5,clif_parse_HomMenu,2,4); parseable_packet(0x0957,5,clif_parse_HomMenu,2,4);
parseable_packet(0x096A,6,clif_parse_GetCharNameRequest,2); parseable_packet(0x096A,6,clif_parse_GetCharNameRequest,2);
// 2017-12-20aRagexeRE
#elif PACKETVER == 20171220
parseable_packet(0x0281,19,clif_parse_WantToConnection,2,6,10,14,18);
parseable_packet(0x0366,8,clif_parse_MoveFromKafra,2,4);
parseable_packet(0x0369,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
parseable_packet(0x0436,2,clif_parse_SearchStoreInfoNextPage,0);
parseable_packet(0x0437,18,clif_parse_PartyBookingRegisterReq,2,4);
parseable_packet(0x085E,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
parseable_packet(0x0861,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
parseable_packet(0x0872,10,clif_parse_UseSkillToId,2,4,6);
parseable_packet(0x0873,6,clif_parse_GetCharNameRequest,2);
parseable_packet(0x0880,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
parseable_packet(0x0882,6,clif_parse_TickSend,2);
parseable_packet(0x0885,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
parseable_packet(0x088C,10,clif_parse_UseSkillToPos,2,4,6,8);
parseable_packet(0x0899,36,clif_parse_StoragePassword,0);
parseable_packet(0x089E,5,clif_parse_WalkToXY,2);
parseable_packet(0x08A7,2,clif_parse_ReqCloseBuyingStore,0);
parseable_packet(0x091B,6,clif_parse_TakeItem,2);
parseable_packet(0x091E,6,clif_parse_SolveCharName,2);
parseable_packet(0x0924,8,clif_parse_MoveToKafra,2,4);
parseable_packet(0x0929,6,clif_parse_DropItem,2,4);
parseable_packet(0x0933,5,clif_parse_ChangeDir,2,4);
parseable_packet(0x093E,7,clif_parse_ActionRequest,2,6);
parseable_packet(0x0941,6,clif_parse_ReqClickBuyingStore,2);
//parseable_packet(0x0946,4,NULL,0); // CZ_GANGSI_RANK
//parseable_packet(0x094E,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
parseable_packet(0x0951,5,clif_parse_HomMenu,2,4);
parseable_packet(0x0957,26,clif_parse_FriendsListAdd,2);
parseable_packet(0x0960,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
parseable_packet(0x0964,26,clif_parse_PartyInvite2,2);
// 2017-12-27aRagexeRE
#elif PACKETVER == 20171227
parseable_packet(0x035F,6,clif_parse_TickSend,2);
parseable_packet(0x0360,6,clif_parse_ReqClickBuyingStore,2);
parseable_packet(0x0361,7,clif_parse_ActionRequest,2,6);
parseable_packet(0x0366,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
parseable_packet(0x0368,6,clif_parse_SolveCharName,2);
parseable_packet(0x0369,5,clif_parse_ChangeDir,2,4);
parseable_packet(0x0437,5,clif_parse_WalkToXY,2);
parseable_packet(0x0438,10,clif_parse_UseSkillToPos,2,4,6,8);
parseable_packet(0x0802,6,clif_parse_GetCharNameRequest,2);
parseable_packet(0x0811,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
parseable_packet(0x0815,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
parseable_packet(0x0817,2,clif_parse_ReqCloseBuyingStore,0);
parseable_packet(0x0819,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
parseable_packet(0x0835,2,clif_parse_SearchStoreInfoNextPage,0);
parseable_packet(0x0838,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
parseable_packet(0x083C,10,clif_parse_UseSkillToId,2,4,6);
parseable_packet(0x087D,36,clif_parse_StoragePassword,0);
parseable_packet(0x0888,8,clif_parse_MoveFromKafra,2,4);
//parseable_packet(0x088A,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
parseable_packet(0x088D,6,clif_parse_TakeItem,2);
parseable_packet(0x08A0,8,clif_parse_MoveToKafra,2,4);
parseable_packet(0x08A5,5,clif_parse_HomMenu,2,4);
parseable_packet(0x092C,19,clif_parse_WantToConnection,2,6,10,14,18);
//parseable_packet(0x092E,4,NULL,0); // CZ_GANGSI_RANK
parseable_packet(0x0938,26,clif_parse_PartyInvite2,2);
parseable_packet(0x0945,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
parseable_packet(0x0946,26,clif_parse_FriendsListAdd,2);
parseable_packet(0x0969,6,clif_parse_DropItem,2,4);
parseable_packet(0x096A,18,clif_parse_PartyBookingRegisterReq,2,4);
// 2018-01-03aRagexeRE or 2018-01-03bRagexeRE
#elif PACKETVER == 20180103
parseable_packet(0x02C4,8,clif_parse_MoveToKafra,2,4);
parseable_packet(0x0363,26,clif_parse_PartyInvite2,2);
parseable_packet(0x0811,19,clif_parse_WantToConnection,2,6,10,14,18);
//parseable_packet(0x0865,4,NULL,0); // CZ_GANGSI_RANK
parseable_packet(0x086B,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
parseable_packet(0x086D,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
parseable_packet(0x0872,6,clif_parse_ReqClickBuyingStore,2);
parseable_packet(0x0876,6,clif_parse_TickSend,2);
parseable_packet(0x0879,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
parseable_packet(0x088E,2,clif_parse_ReqCloseBuyingStore,0);
parseable_packet(0x0899,26,clif_parse_FriendsListAdd,2);
parseable_packet(0x089F,6,clif_parse_SolveCharName,2);
parseable_packet(0x08A9,5,clif_parse_ChangeDir,2,4);
parseable_packet(0x08AB,6,clif_parse_GetCharNameRequest,2);
parseable_packet(0x08AC,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
parseable_packet(0x091D,7,clif_parse_ActionRequest,2,6);
parseable_packet(0x0922,2,clif_parse_SearchStoreInfoNextPage,0);
//parseable_packet(0x0926,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
parseable_packet(0x0927,18,clif_parse_PartyBookingRegisterReq,2,4);
parseable_packet(0x092C,8,clif_parse_MoveFromKafra,2,4);
parseable_packet(0x0935,6,clif_parse_TakeItem,2);
parseable_packet(0x0938,10,clif_parse_UseSkillToId,2,4,6);
parseable_packet(0x0941,5,clif_parse_WalkToXY,2);
parseable_packet(0x0946,36,clif_parse_StoragePassword,0);
parseable_packet(0x0948,5,clif_parse_HomMenu,2,4);
parseable_packet(0x094E,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
parseable_packet(0x095D,10,clif_parse_UseSkillToPos,2,4,6,8);
parseable_packet(0x095F,6,clif_parse_DropItem,2,4);
parseable_packet(0x0960,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
// 2018-01-17aRagexeRE
#elif PACKETVER == 20180117
parseable_packet(0x0202,5,clif_parse_ChangeDir,2,4);
parseable_packet(0x022D,19,clif_parse_WantToConnection,2,6,10,14,18);
parseable_packet(0x023B,26,clif_parse_FriendsListAdd,2);
parseable_packet(0x0281,-1,clif_parse_ItemListWindowSelected,2,4,8,12);
parseable_packet(0x035F,6,clif_parse_TickSend,2);
parseable_packet(0x0360,6,clif_parse_ReqClickBuyingStore,2);
parseable_packet(0x0361,5,clif_parse_HomMenu,2,4);
parseable_packet(0x0362,6,clif_parse_DropItem,2,4);
//parseable_packet(0x0363,8,NULL,0); // CZ_JOIN_BATTLE_FIELD
parseable_packet(0x0364,8,clif_parse_MoveFromKafra,2,4);
parseable_packet(0x0365,18,clif_parse_PartyBookingRegisterReq,2,4);
parseable_packet(0x0366,90,clif_parse_UseSkillToPosMoreInfo,2,4,6,8,10);
parseable_packet(0x0368,6,clif_parse_SolveCharName,2);
parseable_packet(0x0369,7,clif_parse_ActionRequest,2,6);
//parseable_packet(0x0436,4,NULL,0); // CZ_GANGSI_RANK
parseable_packet(0x0437,5,clif_parse_WalkToXY,2);
parseable_packet(0x0438,10,clif_parse_UseSkillToPos,2,4,6,8);
parseable_packet(0x07E4,6,clif_parse_TakeItem,2);
parseable_packet(0x07EC,8,clif_parse_MoveToKafra,2,4);
parseable_packet(0x0802,26,clif_parse_PartyInvite2,2);
parseable_packet(0x0811,-1,clif_parse_ReqTradeBuyingStore,2,4,8,12);
parseable_packet(0x0815,-1,clif_parse_ReqOpenBuyingStore,2,4,8,9,89);
parseable_packet(0x0817,2,clif_parse_ReqCloseBuyingStore,0);
parseable_packet(0x0819,-1,clif_parse_SearchStoreInfo,2,4,5,9,13,14,15);
parseable_packet(0x0835,2,clif_parse_SearchStoreInfoNextPage,0);
parseable_packet(0x0838,12,clif_parse_SearchStoreInfoListItemClick,2,6,10);
parseable_packet(0x083C,10,clif_parse_UseSkillToId,2,4,6);
parseable_packet(0x0875,36,clif_parse_StoragePassword,0);
parseable_packet(0x096A,6,clif_parse_GetCharNameRequest,2);
#endif #endif
#endif /* _CLIF_SHUFFLE_HPP_ */ #endif /* _CLIF_SHUFFLE_HPP_ */

View File

@ -927,6 +927,7 @@ static bool instance_readdb_sub(char* str[], int columns, int current)
aFree(db->maplist); aFree(db->maplist);
db->maplist = NULL; db->maplist = NULL;
} }
db->maplist_count = 0;
} }
StringBuf_AppendStr(db->name, str[1]); StringBuf_AppendStr(db->name, str[1]);

View File

@ -303,6 +303,8 @@ int intif_main_message(struct map_session_data* sd, const char* message)
*/ */
int intif_wis_message(struct map_session_data *sd, char *nick, char *mes, int mes_len) int intif_wis_message(struct map_session_data *sd, char *nick, char *mes, int mes_len)
{ {
int headersize = 8 + 2 * NAME_LENGTH;
nullpo_ret(sd); nullpo_ret(sd);
if (CheckForCharServer()) if (CheckForCharServer())
return 0; return 0;
@ -313,12 +315,13 @@ int intif_wis_message(struct map_session_data *sd, char *nick, char *mes, int me
return 0; return 0;
} }
WFIFOHEAD(inter_fd,mes_len + 52); WFIFOHEAD(inter_fd,mes_len + headersize);
WFIFOW(inter_fd,0) = 0x3001; WFIFOW(inter_fd,0) = 0x3001;
WFIFOW(inter_fd,2) = mes_len + 52; WFIFOW(inter_fd,2) = mes_len + headersize;
memcpy(WFIFOP(inter_fd,4), sd->status.name, NAME_LENGTH); WFIFOL(inter_fd,4) = pc_get_group_level(sd);
memcpy(WFIFOP(inter_fd,4+NAME_LENGTH), nick, NAME_LENGTH); safestrncpy(WFIFOCP(inter_fd,8), sd->status.name, NAME_LENGTH);
memcpy(WFIFOP(inter_fd,4+2*NAME_LENGTH), mes, mes_len); safestrncpy(WFIFOCP(inter_fd,8+NAME_LENGTH), nick, NAME_LENGTH);
safestrncpy(WFIFOCP(inter_fd,8+2*NAME_LENGTH), mes, mes_len);
WFIFOSET(inter_fd, WFIFOW(inter_fd,2)); WFIFOSET(inter_fd, WFIFOW(inter_fd,2));
if (battle_config.etc_log) if (battle_config.etc_log)
@ -333,7 +336,7 @@ int intif_wis_message(struct map_session_data *sd, char *nick, char *mes, int me
* @param flag : 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target * @param flag : 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
* @return 0=no char-serv connected, 1=msg sent * @return 0=no char-serv connected, 1=msg sent
*/ */
int intif_wis_replay(int id, int flag) int intif_wis_reply(int id, int flag)
{ {
if (CheckForCharServer()) if (CheckForCharServer())
return 0; return 0;
@ -344,7 +347,7 @@ int intif_wis_replay(int id, int flag)
WFIFOSET(inter_fd,7); WFIFOSET(inter_fd,7);
if (battle_config.etc_log) if (battle_config.etc_log)
ShowInfo("intif_wis_replay: id: %d, flag:%d\n", id, flag); ShowInfo("intif_wis_reply: id: %d, flag:%d\n", id, flag);
return 1; return 1;
} }
@ -365,9 +368,9 @@ int intif_wis_message_to_gm(char *wisp_name, int permission, char *mes)
WFIFOHEAD(inter_fd, mes_len + 8 + NAME_LENGTH); WFIFOHEAD(inter_fd, mes_len + 8 + NAME_LENGTH);
WFIFOW(inter_fd,0) = 0x3003; WFIFOW(inter_fd,0) = 0x3003;
WFIFOW(inter_fd,2) = mes_len + 32; WFIFOW(inter_fd,2) = mes_len + 32;
memcpy(WFIFOP(inter_fd,4), wisp_name, NAME_LENGTH); safestrncpy(WFIFOCP(inter_fd,4), wisp_name, NAME_LENGTH);
WFIFOL(inter_fd,4+NAME_LENGTH) = permission; WFIFOL(inter_fd,4+NAME_LENGTH) = permission;
memcpy(WFIFOP(inter_fd,8+NAME_LENGTH), mes, mes_len); safestrncpy(WFIFOCP(inter_fd,8+NAME_LENGTH), mes, mes_len);
WFIFOSET(inter_fd, WFIFOW(inter_fd,2)); WFIFOSET(inter_fd, WFIFOW(inter_fd,2));
if (battle_config.etc_log) if (battle_config.etc_log)
@ -1245,22 +1248,23 @@ int intif_parse_WisMessage(int fd)
struct map_session_data* sd; struct map_session_data* sd;
char *wisp_source; char *wisp_source;
char name[NAME_LENGTH]; char name[NAME_LENGTH];
int id, i; int id, i, gmlvl;
id=RFIFOL(fd,4); id=RFIFOL(fd,4);
gmlvl=RFIFOL(fd,8);
safestrncpy(name, RFIFOCP(fd,32), NAME_LENGTH); safestrncpy(name, RFIFOCP(fd,12+NAME_LENGTH), NAME_LENGTH);
sd = map_nick2sd(name,false); sd = map_nick2sd(name,false);
if(sd == NULL || strcmp(sd->status.name, name) != 0) if(sd == NULL || strcmp(sd->status.name, name) != 0)
{ //Not found { //Not found
intif_wis_replay(id,1); intif_wis_reply(id,1);
return 0; return 0;
} }
if(sd->state.ignoreAll) { if(sd->state.ignoreAll) {
intif_wis_replay(id, 2); intif_wis_reply(id, 2);
return 0; return 0;
} }
wisp_source = RFIFOCP(fd,8); // speed up [Yor] wisp_source = RFIFOCP(fd,12); // speed up [Yor]
for(i=0; i < MAX_IGNORE_LIST && for(i=0; i < MAX_IGNORE_LIST &&
sd->ignore[i].name[0] != '\0' && sd->ignore[i].name[0] != '\0' &&
strcmp(sd->ignore[i].name, wisp_source) != 0 strcmp(sd->ignore[i].name, wisp_source) != 0
@ -1268,12 +1272,12 @@ int intif_parse_WisMessage(int fd)
if (i < MAX_IGNORE_LIST && sd->ignore[i].name[0] != '\0') if (i < MAX_IGNORE_LIST && sd->ignore[i].name[0] != '\0')
{ //Ignored { //Ignored
intif_wis_replay(id, 2); intif_wis_reply(id, 2);
return 0; return 0;
} }
//Success to send whisper. //Success to send whisper.
clif_wis_message(sd->fd, wisp_source, RFIFOCP(fd,56),RFIFOW(fd,2)-56); clif_wis_message(sd, wisp_source, RFIFOCP(fd,12+2*NAME_LENGTH),RFIFOW(fd,2)-12+2*NAME_LENGTH, gmlvl);
intif_wis_replay(id,0); // success intif_wis_reply(id,0); // success
return 1; return 1;
} }
@ -1313,7 +1317,7 @@ static int mapif_parse_WisToGM_sub(struct map_session_data* sd,va_list va)
wisp_name = va_arg(va, char*); wisp_name = va_arg(va, char*);
message = va_arg(va, char*); message = va_arg(va, char*);
len = va_arg(va, int); len = va_arg(va, int);
clif_wis_message(sd->fd, wisp_name, message, len); clif_wis_message(sd, wisp_name, message, len,0);
return 1; return 1;
} }
@ -1334,8 +1338,8 @@ int mapif_parse_WisToGM(int fd)
mes_len = RFIFOW(fd,2) - 8+NAME_LENGTH; mes_len = RFIFOW(fd,2) - 8+NAME_LENGTH;
message = (char *) aMalloc(mes_len+1); message = (char *) aMalloc(mes_len+1);
permission = RFIFOL(fd,4+NAME_LENGTH);
safestrncpy(Wisp_name, RFIFOCP(fd,4), NAME_LENGTH); safestrncpy(Wisp_name, RFIFOCP(fd,4), NAME_LENGTH);
permission = RFIFOL(fd, 4 + NAME_LENGTH);
safestrncpy(message, RFIFOCP(fd,8+NAME_LENGTH), mes_len+1); safestrncpy(message, RFIFOCP(fd,8+NAME_LENGTH), mes_len+1);
// information is sent to all online GM // information is sent to all online GM
map_foreachpc(mapif_parse_WisToGM_sub, permission, Wisp_name, message, mes_len); map_foreachpc(mapif_parse_WisToGM_sub, permission, Wisp_name, message, mes_len);

View File

@ -415,7 +415,6 @@ int map_moveblock(struct block_list *bl, int x1, int y1, unsigned int tick)
skill_unit_move(bl,tick,2); skill_unit_move(bl,tick,2);
if ( sc && sc->count ) //at least one to cancel if ( sc && sc->count ) //at least one to cancel
{ {
status_change_end(bl, SC_ROLLINGCUTTER, INVALID_TIMER); // If you move, you lose your counters. [malufett]
status_change_end(bl, SC_CLOSECONFINE, INVALID_TIMER); status_change_end(bl, SC_CLOSECONFINE, INVALID_TIMER);
status_change_end(bl, SC_CLOSECONFINE2, INVALID_TIMER); status_change_end(bl, SC_CLOSECONFINE2, INVALID_TIMER);
status_change_end(bl, SC_TINDER_BREAKER, INVALID_TIMER); status_change_end(bl, SC_TINDER_BREAKER, INVALID_TIMER);

View File

@ -304,7 +304,7 @@ int npc_rr_secure_timeout_timer(int tid, unsigned int tick, int id, intptr_t dat
/*========================================== /*==========================================
* Dequeue event and add timer for execution (100ms) * Dequeue event and add timer for execution (100ms)
*------------------------------------------*/ *------------------------------------------*/
int npc_event_dequeue(struct map_session_data* sd) int npc_event_dequeue(struct map_session_data* sd,bool free_script_stack)
{ {
nullpo_ret(sd); nullpo_ret(sd);
@ -314,7 +314,7 @@ int npc_event_dequeue(struct map_session_data* sd)
clif_clearunit_single(sd->npc_id, CLR_OUTSIGHT, sd->fd); clif_clearunit_single(sd->npc_id, CLR_OUTSIGHT, sd->fd);
sd->state.using_fake_npc = 0; sd->state.using_fake_npc = 0;
} }
if (sd->st) { if (free_script_stack&&sd->st) {
script_free_state(sd->st); script_free_state(sd->st);
sd->st = NULL; sd->st = NULL;
} }

View File

@ -1123,7 +1123,7 @@ enum npce_event : uint8 {
}; };
struct view_data* npc_get_viewdata(int class_); struct view_data* npc_get_viewdata(int class_);
int npc_chat_sub(struct block_list* bl, va_list ap); int npc_chat_sub(struct block_list* bl, va_list ap);
int npc_event_dequeue(struct map_session_data* sd); int npc_event_dequeue(struct map_session_data* sd,bool free_script_stack=true);
int npc_event(struct map_session_data* sd, const char* eventname, int ontouch); int npc_event(struct map_session_data* sd, const char* eventname, int ontouch);
int npc_touch_areanpc(struct map_session_data* sd, int16 m, int16 x, int16 y); int npc_touch_areanpc(struct map_session_data* sd, int16 m, int16 x, int16 y);
int npc_touch_areanpc2(struct mob_data *md); // [Skotlex] int npc_touch_areanpc2(struct mob_data *md); // [Skotlex]

View File

@ -5524,12 +5524,19 @@ enum e_setpos pc_setpos(struct map_session_data* sd, unsigned short mapindex, in
{ {
uint32 ip; uint32 ip;
uint16 port; uint16 port;
struct script_state *st;
//if can't find any map-servers, just abort setting position. //if can't find any map-servers, just abort setting position.
if(!sd->mapindex || map_mapname2ipport(mapindex,&ip,&port)) if(!sd->mapindex || map_mapname2ipport(mapindex,&ip,&port))
return SETPOS_NO_MAPSERVER; return SETPOS_NO_MAPSERVER;
if (sd->npc_id) if (sd->npc_id){
npc_event_dequeue(sd); npc_event_dequeue(sd,false);
st = sd->st;
}else{
st = nullptr;
}
npc_script_event(sd, NPCE_LOGOUT); npc_script_event(sd, NPCE_LOGOUT);
//remove from map, THEN change x/y coordinates //remove from map, THEN change x/y coordinates
unit_remove_map_pc(sd,clrtype); unit_remove_map_pc(sd,clrtype);
@ -5543,6 +5550,11 @@ enum e_setpos pc_setpos(struct map_session_data* sd, unsigned short mapindex, in
//Free session data from this map server [Kevin] //Free session data from this map server [Kevin]
unit_free_pc(sd); unit_free_pc(sd);
if( st ){
// Has to be done here, because otherwise unit_free_pc will free the stack already
st->state = END;
}
return SETPOS_OK; return SETPOS_OK;
} }
@ -11678,7 +11690,7 @@ void pc_check_expiration(struct map_session_data *sd) {
char tmpstr[1024]; char tmpstr[1024];
strftime(tmpstr,sizeof(tmpstr) - 1,msg_txt(sd,501),localtime(&exp_time)); // "Your account time limit is: %d-%m-%Y %H:%M:%S." strftime(tmpstr,sizeof(tmpstr) - 1,msg_txt(sd,501),localtime(&exp_time)); // "Your account time limit is: %d-%m-%Y %H:%M:%S."
clif_wis_message(sd->fd,wisp_server_name,tmpstr,strlen(tmpstr) + 1); clif_wis_message(sd,wisp_server_name,tmpstr,strlen(tmpstr) + 1,0);
pc_expire_check(sd); pc_expire_check(sd);
} }

View File

@ -3427,10 +3427,6 @@ int64 skill_attack (int attack_type, struct block_list* src, struct block_list *
case WM_SEVERE_RAINSTORM_MELEE: case WM_SEVERE_RAINSTORM_MELEE:
dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,WM_SEVERE_RAINSTORM,-2,DMG_SPLASH); dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,WM_SEVERE_RAINSTORM,-2,DMG_SPLASH);
break; break;
case WM_REVERBERATION_MELEE:
case WM_REVERBERATION_MAGIC:
dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,dmg.div_,WM_REVERBERATION,-2,DMG_SKILL);
break;
case SR_TIGERCANNON: case SR_TIGERCANNON:
dmg.dmotion = clif_skill_damage(src, bl, tick, status_get_amotion(bl), dmg.dmotion, damage, dmg.div_, skill_id, skill_lv, DMG_SKILL); dmg.dmotion = clif_skill_damage(src, bl, tick, status_get_amotion(bl), dmg.dmotion, damage, dmg.div_, skill_id, skill_lv, DMG_SKILL);
break; break;
@ -4151,7 +4147,7 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data)
break; break;
case WM_REVERBERATION_MELEE: case WM_REVERBERATION_MELEE:
case WM_REVERBERATION_MAGIC: case WM_REVERBERATION_MAGIC:
skill_castend_damage_id(src,target,skl->skill_id,skl->skill_lv,tick,skl->flag); skill_castend_damage_id(src,target,skl->skill_id,skl->skill_lv,tick,skl->flag|SD_LEVEL|SD_ANIMATION);
break; break;
case SC_FATALMENACE: case SC_FATALMENACE:
unit_warp(src, -1, skl->x, skl->y, CLR_TELEPORT); unit_warp(src, -1, skl->x, skl->y, CLR_TELEPORT);
@ -15676,18 +15672,26 @@ bool skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_i
case RA_AIMEDBOLT: case RA_AIMEDBOLT:
break; break;
default: default:
if (require.weapon&(1<<W_REVOLVER)) switch((unsigned int)log2(require.weapon)) {
clif_msg(sd, SKILL_NEED_REVOLVER); case W_REVOLVER:
else if (require.weapon&(1<<W_RIFLE)) clif_msg(sd, SKILL_NEED_REVOLVER);
clif_msg(sd, SKILL_NEED_RIFLE); break;
else if (require.weapon&(1<<W_GATLING)) case W_RIFLE:
clif_msg(sd, SKILL_NEED_GATLING); clif_msg(sd, SKILL_NEED_RIFLE);
else if (require.weapon&(1<<W_SHOTGUN)) break;
clif_msg(sd, SKILL_NEED_SHOTGUN); case W_GATLING:
else if (require.weapon&(1<<W_GRENADE)) clif_msg(sd, SKILL_NEED_GATLING);
clif_msg(sd, SKILL_NEED_GRENADE); break;
else case W_SHOTGUN:
clif_skill_fail(sd, skill_id, USESKILL_FAIL_THIS_WEAPON, 0); clif_msg(sd, SKILL_NEED_SHOTGUN);
break;
case W_GRENADE:
clif_msg(sd, SKILL_NEED_GRENADE);
break;
default:
clif_skill_fail(sd, skill_id, USESKILL_FAIL_THIS_WEAPON, 0);
break;
}
return false; return false;
} }
} }

41
tools/ci/sql.bat Normal file
View File

@ -0,0 +1,41 @@
@echo off
rem MySQL database setup
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% -e "CREATE DATABASE %DB_NAME%;"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\main.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\logs.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\item_cash_db.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\item_cash_db2.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\item_db.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\item_db2.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\item_db_re.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\item_db2_re.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\mob_db.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\mob_db2.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\mob_db_re.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\mob_db2_re.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\mob_skill_db.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\mob_skill_db2.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\mob_skill_db_re.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\mob_skill_db2_re.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% %DB_NAME% -e "source sql-files\roulette_default_data.sql"
%MYSQL% -u %DB_ROOT% -p%DB_ROOTPW% -e "GRANT SELECT,INSERT,UPDATE,DELETE ON %DB_NAME%.* TO '%DB_USER%'@'%DB_HOST%' IDENTIFIED BY '%DB_USERPW%';"

26
tools/ci/sql.sh Executable file
View File

@ -0,0 +1,26 @@
#!/usr/bin/env bash
function aborterror {
echo $@
exit 1
}
mysql -u $DB_ROOT -e "CREATE DATABASE $DB_NAME;" || aborterror "Unable to create database."
mysql -u $DB_ROOT $DB_NAME < sql-files/main.sql || aborterror "Unable to import main database."
mysql -u $DB_ROOT $DB_NAME < sql-files/logs.sql || aborterror "Unable to import logs database."
mysql -u $DB_ROOT $DB_NAME < sql-files/item_cash_db.sql || aborterror "Unable to import cash item table."
mysql -u $DB_ROOT $DB_NAME < sql-files/item_cash_db2.sql || aborterror "Unable to import cash item 2 table."
mysql -u $DB_ROOT $DB_NAME < sql-files/item_db.sql || aborterror "Unable to import pre-renewal item table."
mysql -u $DB_ROOT $DB_NAME < sql-files/item_db2.sql || aborterror "Unable to import pre-renewal item 2 table."
mysql -u $DB_ROOT $DB_NAME < sql-files/item_db_re.sql || aborterror "Unable to import renewal item table."
mysql -u $DB_ROOT $DB_NAME < sql-files/item_db2_re.sql || aborterror "Unable to import renewal item 2 table."
mysql -u $DB_ROOT $DB_NAME < sql-files/mob_db.sql || aborterror "Unable to import pre-renewal monster table."
mysql -u $DB_ROOT $DB_NAME < sql-files/mob_db2.sql || aborterror "Unable to import pre-renewal monster 2 table."
mysql -u $DB_ROOT $DB_NAME < sql-files/mob_db_re.sql || aborterror "Unable to import renewal monster table."
mysql -u $DB_ROOT $DB_NAME < sql-files/mob_db2_re.sql || aborterror "Unable to import renewal monster 2 table."
mysql -u $DB_ROOT $DB_NAME < sql-files/mob_skill_db.sql || aborterror "Unable to import pre-renewal monster skill table."
mysql -u $DB_ROOT $DB_NAME < sql-files/mob_skill_db2.sql || aborterror "Unable to import pre-renewal monster skill 2 table."
mysql -u $DB_ROOT $DB_NAME < sql-files/mob_skill_db_re.sql || aborterror "Unable to import renewal monster skill table."
mysql -u $DB_ROOT $DB_NAME < sql-files/mob_skill_db2_re.sql || aborterror "Unable to import renewal monster skill 2 table."
mysql -u $DB_ROOT $DB_NAME < sql-files/roulette_default_data.sql || aborterror "Unable to import roulette table."
mysql -u $DB_ROOT -e "GRANT SELECT,INSERT,UPDATE,DELETE ON $DB_NAME.* TO '$DB_USER'@'$DB_HOST' IDENTIFIED BY '$DB_PASS';"