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:
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.
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!

View File

@ -1,36 +1,157 @@
language: cpp
compiler:
- clang
- gcc
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:
- uname -a
- 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 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
- ./tools/ci/sql.sh
script:
- ./configure $CONFIGURE_FLAGS
@ -48,11 +169,6 @@ env:
- DB_NAME="ragnarok"
- DB_USER="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:
email: false

View File

@ -42,26 +42,9 @@ test_script:
set MYSQL="C:\Program Files\MySql\MySQL Server 5.7\bin\mysql.exe"
rem Setting creation
cd C:\projects\rathena
echo map_server_ip: %DB_HOST%>> conf\import\inter_conf.txt
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 TODO should be replace with tools\ci\sql.bat as soon as possible
rem MySQL database setup
%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% -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

View File

@ -71,7 +71,7 @@ wedding_modifydisplay: no
save_clothcolor: yes
// 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.
save_body_style: no

View File

@ -2,20 +2,16 @@
// 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,
// aunque también puedes utilizar conf/import/map_msg_spn_conf.txt
// El formato es el siguiente:
// // Mensaje en inglés
// msg_number: mensaje traducido
// 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
//
// Formato:
// msg_number: mensaje traducido (tamaño máximo: 255 caracteres)
//
// Si quieres desactivar una variable (%s) de una cadena de texto, haz que su tamaño máximo sea 0:
// Por ejemplo:
// 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)
// Aquí empiezan los mensajes relacionados con los comandos de GM
// Mensajes de comandos de GM
// -----------------------
0: Te has teletransportado.
@ -90,10 +86,10 @@
69: Has reducido el nivel de oficio de ese personaje.
70: Has adquirido esa habilidad.
71: Has olvidado esa habilidad.
72: Ha comenzado la Guerra del Emperium.
73: En estos momentos ya hay una Guerra del Emperium.
74: La Guerra del Emperium ha finalizado.
75: En estos momentos no hay ninguna Guerra del Emperium.
72: Ha comenzado la guerra de clanes.
73: En estos momentos ya hay una guerra de clanes.
74: La guerra de clanes ha finalizado.
75: En estos momentos no hay ninguna guerra de clanes.
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):
78: %s: %d
@ -131,9 +127,9 @@
110: El NPC ha sido cargado con éxito.
111: Ese NPC no existe.
112: El NPC ha sido desactivado.
113: Un GM te ha eliminado %d objeto(s).
114: Se han eliminado %d objeto(s) del jugador.
115: Se han eliminado %d objeto(s). El jugador sólo tenía %d de %d objetos.
113: Un GM te ha eliminado esta cantidad de objetos: %d.
114: Objetos eliminados del jugador: %d.
115: Objetos eliminados: %d. El jugador sólo tenía %d de %d objetos.
116: Ese personaje no tiene el objeto que has introducido.
117: Un GM te ha enviado 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.
142: Ese personaje no lleva ningún disfraz.
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.
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.
@ -259,7 +255,7 @@
242: Ahora cualquier jugador puede atacarte.
243: Ya no 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.
247: No tienes permiso para ir a ese mapa.
248: No tienes permiso para salir de este mapa.
@ -310,6 +306,13 @@
290: Ahora nadie puede atacar a ese jugador.
291: Los efectos climáticos desaparecerán al teletransportarse o al utilizar @refresh.
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
// --------------------
//299: ?? castillos
@ -352,14 +355,15 @@
//Plantillas para el resultado de @who
343: Nombre: %s
344: (%s)
344: (%s)
345: | Grupo: '%s'
346: | Clan: '%s'
//Si eliminas el último %s no verás el oficio de tus jugadores.
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
348: | Ubicación: %s %d %d
// @fullstrip
349: Introduce el nombre de un jugador (instrucciones: @fullstrip <personaje/ID>).
// @duel (1ª parte)
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.
@ -392,7 +396,15 @@
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.
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)
390: 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>
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.
// WoE SE (@agitstart2) Guerra del Emperium, 2ª edición.
403: Ha dado comienzo la Guerra del Emperium de la 2ª edición.
404: Hay una Guerra del Emperium de la 2ª edición en marcha.
405: Ha finalizado la Guerra del Emperium de la 2ª edición.
406: No hay ninguna Guerra del Emperium de la 2ª edición en marcha.
// WoE SE (@agitstart2) guerra de clanes, 2ª edición.
403: Ha dado comienzo la guerra de clanes de la 2ª edición.
404: Hay una guerra de clanes de la 2ª edición en marcha.
405: Ha finalizado la guerra de clanes de la 2ª edición.
406: No hay ninguna guerra de clanes de la 2ª edición en marcha.
//407 free
//Mensajes de chrif
408: Necesitas desconectarte para realizar el cambio de sexo.
@ -436,15 +448,21 @@
430: desbloquear
431: desbloquear
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
450: Ya tienes un homúnculo.
// Return pet to egg message
451: No puedes devolver tu pet al huevo porque tu inventario está lleno.
// Mensaje al devolver la mascota al huevo
451: No puedes devolver tu mascota al huevo porque tu inventario está lleno.
// 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.
462: Ese idioma está desactivado.
463: Se ha actualizado la configuración de los mensajes.
@ -458,7 +476,7 @@
485:    Usuarios: %d/%d | Contraseña: %s | Abierto: %s
486: Sí
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
490: NPC %d: %s | Dirección: %s | Sprite: %d | Ubicación: %d %d
491: Norte
@ -479,35 +497,65 @@
503: Está activado el modo nocturno.
//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.
505: Has obtenido %d puntos de cash. Tienes un total de %d puntos.
506: Has obtenido %d puntos Kafra. Tienes un total de %d puntos.
410: Se han eliminado %d puntos de cash. Quedan %d puntos.
411: Se han eliminado %d puntos Kafra. Quedan %d puntos.
504: Puntos utilizados: Kafra: %d. Cash: %d. Puntos restantes: Kafra: %d. Cash: %d.
505: Puntos de cash obtenidos: %d. Puntos totales: %d.
506: Puntos de Kafra obtenidos %d. Puntos totales: %d.
410: Puntos de cash eliminados: %d. Puntos restantes: %d.
411: Puntos de Kafra eliminados: %d. Puntos restantes: %d.
// Mensajes del sistema de intercambio de objetos
507: Este jugador ha sido expulsado durante %d minuto(s).
508: Este jugador no ha sido expulsado (La opción está desactivada).
//509 vacío
// Bloqueo de personajes
507: Este jugador ha sido bloqueado durante estos minutos: %d.
508: Este jugador no ha sido bloqueado (el bloqueo está desactivado).
509: Comandos de scripts ligados:
// Sistema de correo
//----------------------
510: Tienes un total de %d cartas nuevas (%d sin leer).
510: Correos nuevos: %d (%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)
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).
537: El personaje '%s' (cuenta: %d) está intentando utilizar un bot (intentando detectar a un monstruo falso).
// 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.
539: Ese jugador tiene %d unidades del objeto (id: %hu), pero ha intentado intercambiar %d.
540: Ese jugador ha sido bloqueado.
// Anuncios de consecución de objetos poco comunes y robos de objetos.
541: '%s' ha conseguido de %s un %s (probabilidad: %0.02f%%)
//541: %.0s%.0s alguien ha conseguido %s
542: '%s' ha robado de %s un %s (probabilidad: %0.02f%%)
//542: %.0s%.0s alguien ha robado%s
//543~548 no se utilizan (pertenecían a @away)
// @autotrade
549: Debes abrir una tienda para poder utilizar @autotrade.
@ -639,7 +687,7 @@
663: Duelo: No puedes utilizar ese objeto en pleno duelo.
664: No puedes utilizar ese comando estando muerto.
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.
668: Tus puntos de memorización actuales son los siguientes:
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.
674: Se ha eliminado de tu lista de amigos.
675: No puedes enviar tantos correos seguidos.
676: No se pueden establecer alianzas durante una Guerra del Emperium.
677: No se puede romper una alianza 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 de clanes.
678: Ya no eres el líder del clan.
679: Te has convertido en el líder del clan.
680: Te has recuperado.
//681-899 vacíos
681: Rune Knight T
682: Warlock T
@ -676,6 +723,86 @@
698: Baby Summoner
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
753: Baby Kagerou
754: Baby Oboro
@ -685,6 +812,27 @@
758: Baby Gunslinger
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
//------------------------------------
@ -701,13 +849,13 @@
908: Has introducido un valor desconocido en:
// @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
910: Introduce el nombre de algún jugador (Instrucciones: @where <personaje>).
910: Introduce el nombre de algún jugador (instrucciones: @where <personaje>).
// @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
912: (CID:%d/AID:%d)
@ -720,7 +868,7 @@
917: Ninguno
// @speed
918: Introduce un valor para tu velocidad (Instrucciones: @speed <%d-%d>).
918: Introduce un valor para tu velocidad (instrucciones: @speed <%d-%d>).
// @storage
919: Has abierto el almacén.
@ -737,22 +885,22 @@
//924-979 vacíos (¿posibles futuros oficios?)
// @kami
980: Introduce un mensaje (Instrucciones: @kami <mensaje>).
981: Introduce un color y un mensaje (Instrucciones: @kamic <color> <mensaje>).
980: Introduce un mensaje (instrucciones: @kami <mensaje>).
981: Introduce un color y un mensaje (instrucciones: @kamic <color> <mensaje>).
982: Ese color no es válido.
// @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
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>.
// @baselevelup
986: Introduce una cifra (Instrucciones @lvup/@blevel/@baselvlup <cantidad de niveles>).
986: Introduce una cifra (instrucciones @lvup/@blevel/@baselvlup <cantidad de niveles>).
// @joblevelup
987: Introduce una cifra (Instrucciones: @joblvup/@jlevel/@joblvlup <cantidad de niveles>).
987: Introduce una cifra (instrucciones: @joblvup/@jlevel/@joblvlup <cantidad de niveles>).
// @help
988: No hay ayuda disponible para %c%s.
@ -760,22 +908,22 @@
990: Alternativas disponibles:
// @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
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
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
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
995: No puedes utilizar @go en este mapa.
// @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
998: %d: Mano derecha
999: %d: Ropaje
@ -788,89 +936,92 @@
1006: %d: Ojos / Orejas
// @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
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
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
1010: Introduce una cantidad (Instrucciones: @stpoint <cantidad de puntos>)
1010: Introduce una cantidad (instrucciones: @stpoint <cantidad de puntos>)
// @skpoint
1011: Introduce una cantidad (Instrucciones: @skpoint <cantidad de puntos>)
1011: Introduce una cantidad (instrucciones: @skpoint <cantidad de puntos>)
// @zeny
1012: Introduce una cantidad (Instrucciones: @zeny <cantidad>).
1012: Introduce una cantidad (instrucciones: @zeny <cantidad>).
// @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
1014: Introduce una cantidad (Instrucciones: @guildlvup/@guildlvlup <cantidad de niveles>).
1014: Introduce una cantidad (instrucciones: @guildlvup/@guildlvlup <cantidad de niveles>).
// @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
1016: Introduce una cantidad (Instrucciones: @petfriendly <0-1000>).
1016: Introduce una cantidad (instrucciones: @petfriendly <0-1000>).
// @pethungry
1017: Introduce una cantidad (Instrucciones: @pethungry <0-100>).
1017: Introduce una cantidad (instrucciones: @pethungry <0-100>).
// @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.
// @recall
1020: No estás autorizado a sacar a ese jugador de su mapa.
// @charblock
1021: Introduce el nombre de un jugador (Instrucciones: @charblock/@block <nombre del personaje>)
// @charblock/@charunblock
1021: Introduce el nombre de un jugador (instrucciones: @charblock/@block <nombre del personaje>)
// @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>).
// @ban/@charban
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.
// @charunblock
1024: Introduce el nombre de un jugador bloqueado (Instrucciones: @charunblock <nombre del personaje>).
// @rates
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
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
1027: Introduce la ID de una habilidad de quest.
// @spiritball
1028: Introduce una cantidad (Instrucciones: @spiritball <cantidad: 0-%d>).
1028: Introduce una cantidad (instrucciones: @spiritball <cantidad: 0-%d>).
// @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
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
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
1032: No estás autorizado a traer nadie a este mapa.
1033: Jugadores no convocados: %d (no estás autorizado).
// @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
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
1036: Ha ocurrido un error al cargar el archivo groups.conf.
1037: Ha ocurrido un error al cargar el archivo atcommand_athena.conf.
// @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 ------
1040: Mapa: %s | Jugadores: %d | NPCs: %d | Chats: %d | Tiendas: %d
1041: ------ Opciones del mapa ------
@ -884,14 +1035,16 @@
1049: Opciones climáticas:
1050: Otras opciones:
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
1066: Activado
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
1070: Sin opción de guardado, punto de guardado: %s,%d,%d
// @mount
1119: Te has montado en tu dragón.
1120: Has liberado a tu dragón.
@ -902,34 +1055,34 @@
// @guildspy
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
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
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
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
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
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
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
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
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
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
1136: La duración que has introducido no es válida.
@ -943,32 +1096,32 @@
1142: Te quedarás
// @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.
// @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
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
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
1148: Nivel de base: %d (%.3f%%) | Nivel de oficio: %d (%.3f%%)
// broadcast
1149: Escribe un mensaje (Instrucciones: @broadcast <mensaje>).
1149: Escribe un mensaje (instrucciones: @broadcast <mensaje>).
// localbroadcast
1150: Introduce un mensaje (Instrucciones @localbroadcast <mensaje>).
1150: Introduce un mensaje (instrucciones @localbroadcast <mensaje>).
// @email
1151: Introduce dos correos electrónicos (Instrucciones: @email <actual> <nuevo>)
1151: Introduce dos correos electrónicos (instrucciones: @email <actual> <nuevo>)
// @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
1153: Instrucciones: @npcmove <X> <Y> <nombre del NPC>
@ -989,7 +1142,7 @@
1162: Has almacenado todos tus objetos.
// @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)
// @useskill
@ -1047,7 +1200,7 @@
1194: Has eliminado '%s'/'%s' {%hu} de tu lista de recogida de objetos.
1195: Puedes almacenar %d objetos en tu lista de recogida de objetos.
1196: Para añadir un nuevo objeto a la lista utiliza @alootid <nombre/ID del objeto>. Para eliminar un objeto utiliza @alootid <nombre/ID del objeto>.
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.
1199: Lista de objetos para recoger automáticamente:
1200: Has reiniciado tu lista de recogida de objetos.
@ -1085,10 +1238,10 @@
1216: Ha comenzado el espectáculo de fuegos artificiales.
// @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
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).
1220: Búsqueda... %s %s
@ -1096,14 +1249,14 @@
1221: Has eliminado todos los objetos arrojados al suelo.
// @npctalk
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>).
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>).
// @pettalk
1224: Introduce un mensaje (Instrucciones: @pettalk <mensaje>).
1224: Introduce un mensaje (instrucciones: @pettalk <mensaje>).
// @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
1226: Instrucciones @adjgroup <ID del grupo>
@ -1112,7 +1265,7 @@
1229: Has cambiado de grupo.
// @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
1231: Instrucciones: @setbattleflag <opción> <parámetro>
@ -1120,7 +1273,7 @@
1233: Se ha configurado con éxito.
// @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.
1236: El jugador ya no está silenciado.
@ -1131,7 +1284,7 @@
1238: No tienes ningún objeto para identificar.
// @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)
1241: Monstruo: '%s'/'%s'/'%s' (%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
// @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
1254: No tienes ningún homúnculo.
@ -1158,17 +1311,17 @@
1255: Tu homúnculo no puede evolucionar.
// @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.
// @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
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
1260: Introduce un mensaje (Instrucciones: @homtalk <mensaje>).
1260: Introduce un mensaje (instrucciones: @homtalk <mensaje>).
// @hominfo
1261: Atributos del homúnculo:
@ -1192,7 +1345,7 @@
1275: Has alterado los atributos del homúnculo.
// @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
1278: Ninguno
1279: Contiene código
@ -1202,13 +1355,13 @@
1283: - Ningún monstruo tiene este objeto.
// @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)
1286: - Ningún monstruo tiene ese objeto.
1287: - Estos monstruos tienen ese objeto (sólo se muestran un máximo de %d):
// @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:
1290: Este monstruo no aparece en ninguna parte.
@ -1223,7 +1376,7 @@
1296: No se puede especificar la versión SVN.
// @mutearea
1297: Introduce la cantidad de minutos (Instrucciones: @mutearea/@stfu <minutos>).
1297: Introduce la cantidad de minutos (instrucciones: @mutearea/@stfu <minutos>).
// @rates
1298: Experiencia: Base %.2fx / Oficio %.2fx
@ -1232,13 +1385,13 @@
1301: Otros objetos: MvP %.2fx / Cartas %.2fx / Cofres %.2fx
// @me
1302: Introduce un mensaje (Instrucciones: @me <mensaje>).
1302: Introduce un mensaje (instrucciones: @me <mensaje>).
// @size / @sizeall / @sizeguild
1303: Has alterado tu tamaño.
// @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
1305: Ahora eres inmune a cualquier ataque.
@ -1315,7 +1468,7 @@
1354: Objetos encontrados: %d en %d %s ranuras.
// @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
1356: Ahora se utilizará la fuente por defecto.
@ -1336,21 +1489,23 @@
// @set
1367: Instrucciones: @set <nombre de la variable> <valor>
1368: Instrucciones: ej. @set PoringCharVar 50
1369: Instrucciones: ej. @set PoringCharVarSTR$ Cadena de texto
1370: Instrucciones: ej. @set PoringCharVarSTR$ muestra su valor, Cadena de texto.
1368: Instrucciones: ej. "@set PoringCharVar 50"
1369: Instrucciones: ej. "@set PoringCharVarSTR$ 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.
1372: Las variables de instancias no se pueden editar con @set.
1373: El valor %s ahora es:%d
1374: El valor %s ahora es :%s
1373: El valor %s ahora es: %d
1374: El valor %s ahora es: %s
1375: %s está vacío
//1376: free
// @cash/@points
1376: Cierra la tienda de cash antes de ejecutar este comando.
// @reloadquestdb
1377: Se ha actualizado la base de datos de las quest con éxito.
// @addperm
1378: Instrucciones %s <permisos>
1378: Instrucciones: %s <permisos>
1379: -- Listado de permisos
1380: '%s' no es un permiso válido.
1381: El jugador '%s' ya tiene el permiso '%s'.
@ -1364,11 +1519,11 @@
1387: Ese archivo no existe.
// 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.
// @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.
1392: Ahora tienes un carro.
@ -1387,9 +1542,9 @@
1398: -- Mostrando los primeros %d resultados:
// @channel
1399: Ese canal 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>).
1399: Ese canal 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>).
1402: No estás en ese canal, escribe '@join <#nombre del canal>'.
1403: Has entrado al canal '%s'.
1404: %s ha fallado.
@ -1459,15 +1614,58 @@
1468: -- Limpia la lista de accesos prohibidos al canal.
1469: * %s delete <#nombre del canal>
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.
1473: * %s join <#nombre del canal> <contraseña>
1474: -- Te unes al canal especificado.
1475: ---- Mis canales ----
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
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
import: conf/msg_conf/import/map_msg_spn_conf.txt

View File

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

View File

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

View File

@ -7,11 +7,17 @@
1166:2527:5467,{ bonus2 bAddRace,RC_Dragon,25; }
1180:2527,{ bonus2 bAddRace,RC_Dragon,5; }
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; }
1284:2892,{ bonus2 bSkillAtk,"AS_SONICBLOW",50; bonus bBaseAtk,50; bonus bFlee,-30; }
1285:2892,{ bonus bCritical,4; bonus bCritAtkRate,40; bonus bMaxHPRate,-10; }
1287:15123,{ if (getequiprefinerycnt(EQI_HAND_R) >= 7) { autobonus "{ bonus bIgnoreDefClass,Class_Normal; }",1000,3000,BF_SHORT,BF_NORMAL; } /* Confirm: Success rate */ }
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: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; }
2124:2702,{ bonus bAspdRate,10; bonus bShortWeaponDamageReturn,5; }
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; }"; }
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; }
@ -253,6 +260,7 @@
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; }
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: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; }
@ -297,7 +305,8 @@
2968:18821,{ bonus bMatkRate,getequiprefinerycnt(EQI_HEAD_TOP)/2; }
2969:13092,{ bonus bBaseAtk,getequiprefinerycnt(EQI_HAND_R)*10; }
2969:18821,{ bonus bMatkRate,getequiprefinerycnt(EQI_HEAD_TOP)/2; }
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: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; }
@ -369,6 +378,7 @@
4545:18730,{ bonus bMatk,5; bonus bBaseAtk,5; }
4605:4606,{ bonus2 bSubEle,Ele_Neutral,20; bonus bFlee,20; bonus2 bHPLossRate,100,6000; bonus2 bSPLossRate,6,6000; }
4608:4609,{ bonus2 bAddSize,Size_Medium,15; bonus2 bAddSize,Size_Large,15; bonus2 bSubSize,Size_Medium,5; bonus2 bSubSize,Size_Large,5; }
4610:27168,{ bonus bAtk,100; autobonus "{ active_transform 3190,6000; }",30,6000,BF_WEAPON; }
4626:4628,{ bonus2 bIgnoreMdefRaceRate,RC_Demon,50; }
4627:4628,{ bonus2 bIgnoreDefRaceRate,RC_Formless,50; bonus2 bIgnoreDefRaceRate,RC_Demon,50;}
4629:4630,{ bonus3 bAutoSpell,"NPC_WIDECURSE",2,2; bonus2 bSubEle,Ele_Neutral,5; }
@ -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; } }
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; }
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; }
28316:28318,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; }
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; },{},{}
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; },{},{}
2195,Lian_Shield,Lian Shield,4,0,,1300,,50,,1,0xFFFFFFFF,63,2,32,,65,1,,{ bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubRace,RC_Formless,-5; },{},{}
2196,White_Gold_Shield,White Gold Shield,4,0,,1800,,140,,1,0xFFFFFFFF,63,2,32,,,1,,{ autobonus2 "{ bonus bMagicDamageReturn,20; }",100,2000,BF_MAGIC; /* Confirm: Success rate? */ },{},{}
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; } },{},{}
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,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,3,{ bonus bMdef,10; if (getrefine() > 7) { bonus bMatk,20; } },{},{}
// 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; }
//===================================================================
@ -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; }
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; },{},{}
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; },{},{}
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; },{},{}
@ -4604,11 +4604,12 @@
6605,Muspellium,Muspellium,3,0,,0,,,,,,,,,,,,,{},{},{}
6606,Cute_Cart_Coupon,Cute Cart Remodel Coupon,3,0,,10,,,,,,,,,,,,,{},{},{}
6607,Temporal_Crystal,Temporal Crystal,3,20,,10,,,,,,,,,,,,,{},{},{}
6608,Coagulated_Spell,Coagulated Spell,3,0,,0,,,,,,,,,,,,,{},{},{}
6609,Glast_Decayed_Nail,Glast Decayed Nail,3,82,,10,,,,,,,,,,,,,{},{},{}
6610,Glast_Horrendous_Mouth,Glast Horrendous Mouth,3,390,,10,,,,,,,,,,,,,{},{},{}
6612,Gold_Coin_Basket,Gold Coin Basket,3,20,,200,,,,,,,,,,,,,{},{},{}
6613,Flashy_Brooch,Flashy Brooch,3,20,,10,,,,,,,,,,,,,{},{},{}
6608,Coagulated_Spell,Coagulated Spell,3,20,,10,,,,,,,,,,,,,{},{},{}
6609,Glast_Decayed_Nail,Glast Decayed Nail,3,2800,,10,,,,,,,,,,,,,{},{},{}
6610,Glast_Horrendous_Mouth,Glast Horrendous Mouth,3,3200,,10,,,,,,,,,,,,,{},{},{}
6611,Colorful_Key,Colorful Key,3,50000,,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,,,,,,,,,,,,,{},{},{}
6616,Lmtd_Manny_Card,Limited Manny 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; },{},{}
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; },{},{}
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
//===================================================================

View File

@ -528,7 +528,7 @@
// 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
// 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
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
@ -1682,9 +1682,9 @@
//2525,WATERMELON_16
//2526,E_BANDIT
//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
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
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
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,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,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
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
@ -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
//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
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
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
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
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
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
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,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,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,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,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
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
//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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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,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,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,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,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,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,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,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,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,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,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,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,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,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,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
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

View File

@ -8799,7 +8799,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_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_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,

View File

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

View File

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

View File

@ -1035,11 +1035,11 @@ prontera,155,285,3 script Familiar#06_hw01::HWFamiDup 799,{
mes "Hello.";
mes "I'm Loli Ruri's faithful and cute Familiar.";
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;
if (select( "Yes, I do.:No, I don't.") == 1) {
mes "[Familiar]";
mes "Do you want to go to Nifflheim?";
mes "Do you want to go to Niflheim?";
mes "It's available during Halloween.";
next;
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 "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;
}
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,{
mes "[City of the Dead, Nifflheim]";
mes "Welcome to Nifflheim, the City of the Dead.";
mes "Nifflheim was known as the other world where";
mes "[City of the Dead, Niflheim]";
mes "Welcome to Niflheim, the City of the Dead.";
mes "Niflheim was known as the other world where";
mes "you come after the death.";
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.";
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 "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;
mes "[City of the Dead, Nifflheim]";
mes "[City of the Dead, Niflheim]";
mes "Especially, please be attentive with a boss monster";
mes "called ^6B1312Lord of the Death^000000.";
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 "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.";

View File

@ -117,7 +117,7 @@ nif_in,190,112,5 script Deviruchi#divorce 738,{
mes "marriage as a contract...a";
mes "contract that ends with 'till";
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...";
next;
mes "[Deviruchi]";

View File

@ -7,7 +7,7 @@
//===== Compatible With: =====================================
//= rAthena Project
//===== Additional Comments: =================================
//= 1.0 Splitted from Nifflheim fields [DracoRPG]
//= 1.0 Splitted from Niflheim fields [DracoRPG]
//= 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 "This peculiar chill...";
mes "It's almost as if you";
mes "were in Nifflheim...^000000";
mes "were in Niflheim...^000000";
close;
} else {
mes "^3355FFFor some reason, you";
@ -4302,7 +4302,7 @@ hugel,191,172,3 script Manainne 892,1,{
mes "What? That's...";
mes "That's an incredible";
mes "story. You met my dead";
mes "sister in Nifflheim?! You";
mes "sister in Niflheim?! You";
mes "must be lying to me!";
next;
mes "[Manainne]";
@ -4316,7 +4316,7 @@ hugel,191,172,3 script Manainne 892,1,{
set hg_memory,8;
mes "[Manainne]";
mes "Gosh, all that talk";
mes "about Nifflheim is...";
mes "about Niflheim is...";
mes "It's giving me the chills!";
mes "A-aren't you cold?";
close;
@ -4357,7 +4357,7 @@ hugel,191,172,3 script Manainne 892,1,{
mes "long! Hello, adventurer,";
mes "remember me? I'm Kanainne,";
mes "the spirit you saw down in";
mes "Nifflheim. Let me explain...";
mes "Niflheim. Let me explain...";
next;
mes "[Manainne]";
mes "My spirit was able to follow";
@ -4561,7 +4561,7 @@ niflheim,90,106,3 script A Spirit#HQuest 802,{
} else {
mes "[Spirit]";
mes "The living shouldn't";
mes "be here in Nifflheim...";
mes "be here in Niflheim...";
mes "Go back! Go back to your";
mes "own world before it's too late!";
next;

View File

@ -595,7 +595,7 @@ niflheim,153,215,3 script Feylin 794,{
mes "come to the wrong person.";
next;
mes "[Feylin]";
mes "Nobody in Niffelheim can";
mes "Nobody in Niflheim can";
mes "perform that kind of miracle...";
next;
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 "Yhelle, just like I asked.";
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;
mes "[Riott]";

View File

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

View File

@ -9993,7 +9993,7 @@ que_sign01,122,141,4 script Witch#s 792,{
next;
mes "[Kirkena]";
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 "if you can find any remaining";
mes "trace of her.";

View File

@ -7,7 +7,7 @@
//===== Compatible With: =====================================
//= rAthena Project
//===== Additional Comments: =================================
//= 1.0 Splitted from Nifflheim fields [DracoRPG]
//= 1.0 Splitted from Niflheim fields [DracoRPG]
//= 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 Quve 1508,20,5000
@ -26,7 +26,7 @@ niflheim,0,0 monster Heirozoist 1510,10,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 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 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 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;

View File

@ -521,7 +521,7 @@ moc_para01,37,95,5 script Gelkah#1 4_F_GELKA,{
case 5:
mes "Here is a list of other requests from all over Rune Midgard.";
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]";
case 1:
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.";
next;
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;
cutin "gelca02",2;
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.";
next;
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;
}
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 (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 (2195,'Lian_Shield','Lian Shield',4,0,NULL,1300,NULL,50,NULL,1,0xFFFFFFFF,63,2,32,NULL,'65',1,NULL,'bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubRace,RC_Formless,-5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2196,'White_Gold_Shield','White Gold Shield',4,0,NULL,1800,NULL,140,NULL,1,0xFFFFFFFF,63,2,32,NULL,NULL,1,NULL,'autobonus2 "{ bonus bMagicDamageReturn,20; }",100,2000,BF_MAGIC; /* Confirm: Success rate? */',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (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 (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,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,3,'bonus bMdef,10; if (getrefine() > 7) { bonus bMatk,20; }',NULL,NULL);
# 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;');
#===================================================================
@ -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 (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 (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 (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);
@ -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 (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 (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 (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 (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 (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 (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 (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,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,3200,NULL,10,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 (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 (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);
@ -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 (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 (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
#===================================================================

View File

@ -594,7 +594,7 @@ REPLACE INTO `mob_db_re` VALUES (1500,'PARASITE','Parasite','Parasite',76,3222,1
# 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);
# 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 (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);
@ -1748,9 +1748,9 @@ REPLACE INTO `mob_db_re` VALUES (2485,'NG_CHIMERA','Nightmare Chimera','Nightmar
#2525,WATERMELON_16
#2526,E_BANDIT
#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 (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 (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 (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,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,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 (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);
@ -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);
#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 (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 (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 (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 (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 (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 (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,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,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,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,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 (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
#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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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,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,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,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,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,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,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,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,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,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,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,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,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,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,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 (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);

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_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@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@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);
@ -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_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@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@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);
@ -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_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@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@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);
@ -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_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@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','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);
@ -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','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@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@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);
@ -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_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@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 (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);
@ -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','attack',659,10,10000,0,600000,'no','self','myhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,NULL,'17');
#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','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','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','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,'16');
#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','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_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','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_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','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_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','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','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','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','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','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#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','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_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','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@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','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@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','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','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','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','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','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#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','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_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','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_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','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_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','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','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','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','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','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#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','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_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','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_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','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_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','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','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','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','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','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#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','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_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','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_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','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@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','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@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','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','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','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','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','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','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','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','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);
@ -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_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','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@NPC_SHIELDBRAKE','attack',346,10,10000,0,15000,'yes','target','always','0',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#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','attack',659,10,10000,0,600000,'no','self','myhpltmaxrate','5',NULL,NULL,NULL,NULL,NULL,NULL,'17');
#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','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','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','myhpltmaxrate','10',NULL,NULL,NULL,NULL,NULL,NULL,'16');
#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','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_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','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_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','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_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','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','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','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','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','myhpltmaxrate','30',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#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','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_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','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@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','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@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','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','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','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','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','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#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','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_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','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_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','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_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','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','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','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','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','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#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','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_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','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_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','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_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','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','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','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','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','myhpltmaxrate','60',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#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','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_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','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_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','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@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','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@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','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','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','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','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','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','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','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','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);
@ -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_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','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@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);

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 ){
// 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);
WFIFOW(fd, 0) = 0x9a0;
// 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 {
int id, fd, count, len;
int id, fd, count, len, gmlvl;
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 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)
{
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, 2) = 56 +wd->len;
WBUFW(buf, 2) = headersize+wd->len;
WBUFL(buf, 4) = wd->id;
memcpy(WBUFP(buf, 8), wd->src, NAME_LENGTH);
memcpy(WBUFP(buf,32), wd->dst, NAME_LENGTH);
memcpy(WBUFP(buf,56), wd->msg, wd->len);
WBUFL(buf, 8) = wd->gmlvl;
safestrncpy(WBUFCP(buf,12), wd->src, NAME_LENGTH);
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));
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
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]);
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
//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);
}
} while(wis_delnum >= WISDELLIST_MAX);
@ -1156,6 +1147,17 @@ int mapif_parse_broadcast_item(int fd) {
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
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* data;
size_t len;
int headersize = 8+2*NAME_LENGTH;
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");
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");
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));
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
if( SQL_SUCCESS != Sql_NextRow(sql_handle) )
{
unsigned char buf[27];
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);
mapif_wis_reply(fd, RFIFOCP(fd, 8), 1);
}
else
{// Character exists. So, ask all map-servers
@ -1199,13 +1198,9 @@ int mapif_parse_WisRequest(int fd)
memset(name, 0, NAME_LENGTH);
memcpy(name, data, zmin(len, NAME_LENGTH));
// 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];
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);
mapif_wis_reply(fd, RFIFOCP(fd, 8), 1);
}
else
{
@ -1218,10 +1213,11 @@ int mapif_parse_WisRequest(int fd)
wd->id = ++wisid;
wd->fd = fd;
wd->len= RFIFOW(fd,2)-52;
memcpy(wd->src, RFIFOP(fd, 4), NAME_LENGTH);
memcpy(wd->dst, RFIFOP(fd,28), NAME_LENGTH);
memcpy(wd->msg, RFIFOP(fd,52), wd->len);
wd->len= RFIFOW(fd,2)-headersize;
wd->gmlvl = RFIFOL(fd,4);
safestrncpy(wd->src, RFIFOCP(fd,8), NAME_LENGTH);
safestrncpy(wd->dst, RFIFOCP(fd,8+NAME_LENGTH), NAME_LENGTH);
safestrncpy(wd->msg, RFIFOCP(fd,8+2*NAME_LENGTH), wd->len);
wd->tick = gettick();
idb_put(wis_db, wd->id, wd);
mapif_wis_message(wd);
@ -1236,7 +1232,8 @@ int mapif_parse_WisRequest(int fd)
// Wisp/page transmission result
int mapif_parse_WisReply(int fd)
{
int id, flag;
int id;
uint8 flag;
struct WisData *wd;
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
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);
}

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
uint8 i;
#ifdef RENEWAL
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);
#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]) {
ATK_ADD(wd.damage, wd.damage2, 30 * min(10, sc->data[SC_CAMOUFLAGE]->val3));
#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 *tstatus = status_get_status_data(target);
int inf3 = skill_get_inf3(skill_id);
uint8 anger_id = 0; // SLS Anger
// Kagerou/Oboro Earth Charm effect +15% wATK
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);
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) {
@ -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;
}

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).
/// 0097 <packet len>.W <nick>.24B <message>.?B
/// 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
WFIFOHEAD(fd, mes_len + NAME_LENGTH + 4);
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,2) = mes_len + NAME_LENGTH + 8;
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);
WFIFOSET(fd,WFIFOW(fd,2));
#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.
if (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);
@ -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,
// 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).
intif_wis_message(sd, target, message, strlen(message));
intif_wis_message(sd, target, message, strlen(message) + 1);
return;
}
@ -11238,7 +11248,7 @@ void clif_parse_WisMessage(int fd, struct map_session_data* sd)
// if player is autotrading
if (dstsd->state.autotrade == 1){
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;
}
@ -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
// 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_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_solved_charname(int fd, int charid, const char* name);

View File

@ -110,7 +110,7 @@
#elif PACKETVER == 20130618 // 2013-06-18Ragexe
packet_keys(0x434115DE,0x34A10FE9,0x6791428E);
#elif PACKETVER == 20130626 // 2013-06-26Ragexe
packet_keys(0x38F453EF,0x6A040FD8,0X65BD6668);
packet_keys(0x38F453EF,0x6A040FD8,0x65BD6668);
#elif PACKETVER == 20130703 // 2013-07-03Ragexe
packet_keys(0x4FF90E23,0x0F1432F2,0x4CFA1EDA);
#elif PACKETVER == 20130710 // 2013-07-10Ragexe
@ -400,6 +400,14 @@
packet_keys(0x39D54BD3,0x577A0C21,0x4C1C316E);
#elif PACKETVER == 20171213 // 2017-12-13bRagexeRE
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
#error Unsupported packet version.
#endif

View File

@ -4439,6 +4439,130 @@
parseable_packet(0x091A,5,clif_parse_ChangeDir,2,4);
parseable_packet(0x0957,5,clif_parse_HomMenu,2,4);
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 /* _CLIF_SHUFFLE_HPP_ */

View File

@ -927,6 +927,7 @@ static bool instance_readdb_sub(char* str[], int columns, int current)
aFree(db->maplist);
db->maplist = NULL;
}
db->maplist_count = 0;
}
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 headersize = 8 + 2 * NAME_LENGTH;
nullpo_ret(sd);
if (CheckForCharServer())
return 0;
@ -313,12 +315,13 @@ int intif_wis_message(struct map_session_data *sd, char *nick, char *mes, int me
return 0;
}
WFIFOHEAD(inter_fd,mes_len + 52);
WFIFOHEAD(inter_fd,mes_len + headersize);
WFIFOW(inter_fd,0) = 0x3001;
WFIFOW(inter_fd,2) = mes_len + 52;
memcpy(WFIFOP(inter_fd,4), sd->status.name, NAME_LENGTH);
memcpy(WFIFOP(inter_fd,4+NAME_LENGTH), nick, NAME_LENGTH);
memcpy(WFIFOP(inter_fd,4+2*NAME_LENGTH), mes, mes_len);
WFIFOW(inter_fd,2) = mes_len + headersize;
WFIFOL(inter_fd,4) = pc_get_group_level(sd);
safestrncpy(WFIFOCP(inter_fd,8), sd->status.name, NAME_LENGTH);
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));
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
* @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())
return 0;
@ -344,7 +347,7 @@ int intif_wis_replay(int id, int flag)
WFIFOSET(inter_fd,7);
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;
}
@ -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);
WFIFOW(inter_fd,0) = 0x3003;
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;
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));
if (battle_config.etc_log)
@ -1245,22 +1248,23 @@ int intif_parse_WisMessage(int fd)
struct map_session_data* sd;
char *wisp_source;
char name[NAME_LENGTH];
int id, i;
int id, i, gmlvl;
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);
if(sd == NULL || strcmp(sd->status.name, name) != 0)
{ //Not found
intif_wis_replay(id,1);
intif_wis_reply(id,1);
return 0;
}
if(sd->state.ignoreAll) {
intif_wis_replay(id, 2);
intif_wis_reply(id, 2);
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 &&
sd->ignore[i].name[0] != '\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')
{ //Ignored
intif_wis_replay(id, 2);
intif_wis_reply(id, 2);
return 0;
}
//Success to send whisper.
clif_wis_message(sd->fd, wisp_source, RFIFOCP(fd,56),RFIFOW(fd,2)-56);
intif_wis_replay(id,0); // success
clif_wis_message(sd, wisp_source, RFIFOCP(fd,12+2*NAME_LENGTH),RFIFOW(fd,2)-12+2*NAME_LENGTH, gmlvl);
intif_wis_reply(id,0); // success
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*);
message = va_arg(va, char*);
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;
}
@ -1334,8 +1338,8 @@ int mapif_parse_WisToGM(int fd)
mes_len = RFIFOW(fd,2) - 8+NAME_LENGTH;
message = (char *) aMalloc(mes_len+1);
permission = RFIFOL(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);
// information is sent to all online GM
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);
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_CLOSECONFINE2, 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)
*------------------------------------------*/
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);
@ -314,7 +314,7 @@ int npc_event_dequeue(struct map_session_data* sd)
clif_clearunit_single(sd->npc_id, CLR_OUTSIGHT, sd->fd);
sd->state.using_fake_npc = 0;
}
if (sd->st) {
if (free_script_stack&&sd->st) {
script_free_state(sd->st);
sd->st = NULL;
}

View File

@ -1123,7 +1123,7 @@ enum npce_event : uint8 {
};
struct view_data* npc_get_viewdata(int class_);
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_touch_areanpc(struct map_session_data* sd, int16 m, int16 x, int16 y);
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;
uint16 port;
struct script_state *st;
//if can't find any map-servers, just abort setting position.
if(!sd->mapindex || map_mapname2ipport(mapindex,&ip,&port))
return SETPOS_NO_MAPSERVER;
if (sd->npc_id)
npc_event_dequeue(sd);
if (sd->npc_id){
npc_event_dequeue(sd,false);
st = sd->st;
}else{
st = nullptr;
}
npc_script_event(sd, NPCE_LOGOUT);
//remove from map, THEN change x/y coordinates
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]
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;
}
@ -11678,7 +11690,7 @@ void pc_check_expiration(struct map_session_data *sd) {
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."
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);
}

View File

@ -3427,10 +3427,6 @@ int64 skill_attack (int attack_type, struct block_list* src, struct block_list *
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);
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:
dmg.dmotion = clif_skill_damage(src, bl, tick, status_get_amotion(bl), dmg.dmotion, damage, dmg.div_, skill_id, skill_lv, DMG_SKILL);
break;
@ -4151,7 +4147,7 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data)
break;
case WM_REVERBERATION_MELEE:
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;
case SC_FATALMENACE:
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:
break;
default:
if (require.weapon&(1<<W_REVOLVER))
clif_msg(sd, SKILL_NEED_REVOLVER);
else if (require.weapon&(1<<W_RIFLE))
clif_msg(sd, SKILL_NEED_RIFLE);
else if (require.weapon&(1<<W_GATLING))
clif_msg(sd, SKILL_NEED_GATLING);
else if (require.weapon&(1<<W_SHOTGUN))
clif_msg(sd, SKILL_NEED_SHOTGUN);
else if (require.weapon&(1<<W_GRENADE))
clif_msg(sd, SKILL_NEED_GRENADE);
else
clif_skill_fail(sd, skill_id, USESKILL_FAIL_THIS_WEAPON, 0);
switch((unsigned int)log2(require.weapon)) {
case W_REVOLVER:
clif_msg(sd, SKILL_NEED_REVOLVER);
break;
case W_RIFLE:
clif_msg(sd, SKILL_NEED_RIFLE);
break;
case W_GATLING:
clif_msg(sd, SKILL_NEED_GATLING);
break;
case W_SHOTGUN:
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;
}
}

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';"