Compare commits

..

10 Commits

Author SHA1 Message Date
Aleos
1e01f6448f Merge branch 'master' into hotfix/issue4984 2023-01-09 13:05:01 -05:00
Aleos
42eccbb1bf Merge branch 'master' into hotfix/issue4984 2022-12-24 00:35:02 -05:00
aleos
50bd9cdfbe Fixes statuses with tick intervals
* Adds a new storage location for these tick types.
* Reverts some of the tick_total variable assignments.
* Adjusts sc_start to account for 64 bit tick values.
Thanks to @eppc0330!
2022-12-23 16:22:35 -05:00
aleos
5676a45908 Resolves compile errors 2022-12-14 15:08:50 -05:00
Aleos
1c1bb9892c Merge branch 'master' into hotfix/issue4984 2022-12-14 14:41:56 -05:00
Aleos
c951f68250 Merge branch 'master' into hotfix/issue4984 2022-12-09 14:54:37 -05:00
aleos
9440ba8929 Minor clif fix
* tick_total is not a timer ID and thus a lookup is unnecessary.
2022-12-08 08:11:08 -05:00
aleos
9ff252d2b1 Merge branch 'master' into hotfix/issue4984 2022-12-07 13:12:16 -05:00
aleos
7a345b85cb Cleanups
Thanks to @Lemongrass3110!
2020-08-13 10:37:43 -04:00
aleos
da8d77bfc1 Corrects status icon timer after relog
* Fixes #4984.
* Resolves status icon timers not properly showing the difference of remaining/total time when a player relogs.
* Fixes status icon timers going into negative values.
Thanks to @attackjom!
2020-08-03 10:20:07 -04:00
364 changed files with 9589 additions and 85707 deletions

View File

@@ -6,7 +6,6 @@ concurrency:
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master

View File

@@ -6,7 +6,6 @@ concurrency:
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master

View File

@@ -6,7 +6,6 @@ concurrency:
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master

View File

@@ -6,7 +6,6 @@ concurrency:
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master

View File

@@ -6,7 +6,6 @@ concurrency:
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master

View File

@@ -6,7 +6,6 @@ concurrency:
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master

View File

@@ -6,7 +6,6 @@ concurrency:
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master

View File

@@ -6,7 +6,6 @@ concurrency:
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master

View File

@@ -9,7 +9,6 @@ concurrency:
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master

View File

@@ -35,7 +35,7 @@ project( rAthena )
if( CYGWIN )
unset( WIN32 )
endif()
set(CMAKE_CXX_STANDARD 14) # C++14...
set(CMAKE_CXX_STANDARD 11) # C++11...
set(CMAKE_CXX_STANDARD_REQUIRED ON) #...is required...
#set(CMAKE_CXX_EXTENSIONS OFF) #...without compiler extensions like gnu++11

View File

@@ -1,7 +1,7 @@
<img src="doc/logo.png" align="right" height="90" />
# rAthena
![clang](https://img.shields.io/github/actions/workflow/status/rathena/rathena/build_servers_clang.yml?label=clang%20build&logo=llvm) ![cmake](https://img.shields.io/github/actions/workflow/status/rathena/rathena/build_servers_cmake.yml?label=cmake%20build&logo=cmake) ![gcc](https://img.shields.io/github/actions/workflow/status/rathena/rathena/build_servers_gcc.yml?label=gcc%20build&logo=gnu) ![ms](https://img.shields.io/github/actions/workflow/status/rathena/rathena/build_servers_msbuild.yml?label=ms%20build&logo=visualstudio) ![GitHub](https://img.shields.io/github/license/rathena/rathena.svg) ![commit activity](https://img.shields.io/github/commit-activity/w/rathena/rathena) ![GitHub repo size](https://img.shields.io/github/repo-size/rathena/rathena.svg)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/rathena/rathena.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/rathena/rathena/alerts/) [![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/rathena/rathena.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/rathena/rathena/context:cpp) ![GitHub](https://img.shields.io/github/license/rathena/rathena.svg) ![GitHub repo size](https://img.shields.io/github/repo-size/rathena/rathena.svg)
> rAthena is a collaborative software development project revolving around the creation of a robust massively multiplayer online role playing game (MMORPG) server package. Written in C, the program is very versatile and provides NPCs, warps and modifications. The project is jointly managed by a group of volunteers located around the world as well as a tremendous community providing QA and support. rAthena is a continuation of the eAthena project.
[Forum](https://rathena.org/board)|[Discord](https://rathena.org/discord)|[Wiki](https://github.com/rathena/rathena/wiki)|[FluxCP](https://github.com/rathena/FluxCP)|[Crowdfunding](https://rathena.org/board/crowdfunding/)|[Fork and Pull Request Q&A](https://rathena.org/board/topic/86913-pull-request-qa/)
@@ -30,7 +30,7 @@ Disk Space | 300 MB | 500 MB
Operating System | Compiler
------|------
Linux | [gcc-5 or newer](https://www.gnu.org/software/gcc/gcc-5/) / [Make](https://www.gnu.org/software/make/)
Windows | [MS Visual Studio 2017 or newer](https://www.visualstudio.com/downloads/)
Windows | [MS Visual Studio 2013, 2015, 2017](https://www.visualstudio.com/downloads/)
### Required Applications
Application | Name

View File

@@ -33,11 +33,6 @@ feature.warp_suggestions: off
// Requires: 2013-07-24aRagexe or later
feature.banking: on
// Should Banking strictly checks the UI state on zeny deposit and withdrawal? (Note 1)
// Note: Disabled by default because existing official clients do not report the banking UI state to the server.
// But this config could be useful in case of clients that actually report the UI state or custom clients.
feature.banking_state_enforce: no
// Autotrade persistency (Note 1)
// Should vendors that used @autotrade be restored after a restart?
feature.autotrade: on
@@ -146,32 +141,12 @@ feature.dynamicnpc_rangey: 2
feature.dynamicnpc_direction: no
// Itemlink System on informational related commands (Note 1)
// Generates an itemlink string for an item and can be used for npctalk, message,
// Generates <ITEML> string for an item and can be used for npctalk, message,
// dispbottom, and broadcast commands. The result is clickable-item name just
// like from SHIFT+Click from player's inventory/cart/equipment window.
// Requires: 2015-11-04Ragexe or later
// Requires: 2010-00-00RagexeRE or later
feature.itemlink: on
// Itemlink System on NPC messages (Note 1)
// Generates an itemlink string for an item and can be used for NPC's mes command.
// Requires: 2010-01-01 or later
feature.mesitemlink: on
// Force all mesitemlinks to be wrapped in brackets (Note 1)
// Default: no
feature.mesitemlink_brackets: no
// Force all mesitemlinks to use the database name (Note 1)
// Default: no
feature.mesitemlink_dbname: no
// Stylist UI (Note 1)
// Requires: 2015-11-04 or later
feature.stylist: on
// Are players allowed to reconnect into instances? (Note 1)
// This is enabled by default in Renewal mode and
// disabled by default in Pre-Renewal mode.
// If this is allowed the "nosave" mapflag is still being respected
// and may prevent players from warping back into the instance.
//feature.instance_allow_reconnect: yes

View File

@@ -50,7 +50,7 @@ homunculus_auto_vapor: 80
homunculus_max_level: 99
// Max level for Homunculus S
homunculus_S_max_level: 250
homunculus_S_max_level: 175
// Growth level for Homunculus S
// This is the level at which homunculus S can use their growth tables

View File

@@ -1570,27 +1570,5 @@ map: herosria
map: mjo_wst01
map: ra_pol01
// Episode 20
map: 1@20cn1
map: 1@20cn2
map: 1@slug
map: 1@twas
map: 1@twbs
map: 1@twig
map: 1@twsd
map: icas_in2
map: jor_back4
map: jor_back5
map: jor_back6
map: jor_maze
map: jor_root1
map: jor_root2
map: jor_root3
map: jor_safty1
map: jor_safty2
map: jor_sanct
map: jor_twice
map: jor_twig
//------------------------- Clone Maps ---------------------------
//------------------------- Extra Maps ---------------------------

View File

@@ -1447,7 +1447,7 @@
// @iteminfo
1276: Please enter an item name/ID (usage: @ii/@iteminfo <item name/ID>).
1277: Item: '%s'/'%s' (%u) Type: %s | Extra Effect: %s
1277: Item: '%s'/'%s'[%d] (%u) Type: %s | Extra Effect: %s
1278: None
1279: With script
1280: NPC Buy:%dz, Sell:%dz | Weight: %.1f
@@ -1457,7 +1457,7 @@
// @whodrops
1284: Please enter item name/ID (usage: @whodrops <item name/ID>).
1285: Item: '%s' (ID: %u)
1285: Item: '%s'[%d] (ID: %u)
1286: - Item is not dropped by mobs.
1287: - Common mobs with highest drop chance (only max %d are listed):

View File

@@ -1192,7 +1192,7 @@
// @iteminfo
1276: 請輸入 物品名稱/ID (用法: @ii/@iteminfo <物品名稱/ID>).
1277: 物品: '%s'/'%s' (%u) 類型: %s | 額外效果: %s
1277: 物品: '%s'/'%s'[%d] (%u) 類型: %s | 額外效果: %s
1278: None
1279: With script
1280: NPC 買價:%dz, 賣價:%dz | 重量: %.1f
@@ -1202,7 +1202,7 @@
// @whodrops
1284: Please enter 物品名稱/ID (用法: @whodrops <物品名稱/ID>).
1285: Item: '%s' (ID:%d)
1285: Item: '%s'[%d] (ID:%d)
1286: - Item is not dropped by mobs.
1287: - Common mobs with highest drop chance (only max %d are listed):

View File

@@ -1205,7 +1205,7 @@
// @iteminfo
1276: Entrez un nom/ID d'objet (usage: @ii/@iteminfo <nom/ID>).
1277: Item: '%s'/'%s' (%u) Type: %s | Extra Effect: %s
1277: Item: '%s'/'%s'[%d] (%u) Type: %s | Extra Effect: %s
1278: Aucun
1279: Avec script
1280: NPC Acheté:%dz, Vendu:%dz | Poids: %.1f
@@ -1215,7 +1215,7 @@
// @whodrops
1284: Entrez un nom/ID d'Objet (usage: @whodrops <nom/ID_objet>).
1285: Objet: '%s' (ID:%d)
1285: Objet: '%s'[%d] (ID:%d)
1286: - Cet Objet n'est lâché par aucun monstre.
1287: - Monstres communs avec la plus grande chance de drop (seuls %d max sont listés):

View File

@@ -1293,7 +1293,7 @@
// @iteminfo
1276: Harap masukkan nama/ID item. (Penggunaan: @ii/@iteminfo <nama/ID item>).
1277: Item: '%s'/'%s' (%u) Jenis: %s | Efek tambahan: %s
1277: Item: '%s'/'%s'[%d] (%u) Jenis: %s | Efek tambahan: %s
1278: Tidak ada
1279: Dengan script.
1280: NPC Harga Beli:%dz, Harga jual:%dz | Berat: %.1f
@@ -1303,7 +1303,7 @@
// @whodrops
1284: Harap masukkan nama/ID item. (Penggunaan: @whodrops <nama/ID item>).
1285: Item: '%s' (ID:%d)
1285: Item: '%s'[%d] (ID:%d)
1286: - Item ini tidak dijatuhkan dari monster.
1287: - Monster biasa dengan kemungkinan menjatuhkan barang tertinggi. (Maks. hanya %d yang ditampilkan):

View File

@@ -1375,7 +1375,7 @@
// @iteminfo
1276: Digite o nome/ID de um item (uso: @ii/@iteminfo <nome do item/ID>).
1277: Item: '%s'/'%s' (%u) Tipo: %s | Efeito Extra: %s
1277: Item: '%s'/'%s'[%d] (%u) Tipo: %s | Efeito Extra: %s
1278: Nenhum
1279: Com script
1280: NPC Compra:%dz, Venda:%dz | Peso: %.1f
@@ -1385,7 +1385,7 @@
// @whodrops
1284: Digite o nome/ID de um item (uso: @whodrops <nome do item/ID>).
1285: Item: '%s' (ID:%d)
1285: Item: '%s'[%d] (ID:%d)
1286: - Item não derrubado por monstros.
1287: - Monstros comuns com maiores chances de drop (somente máx %d são listados):

View File

@@ -1205,7 +1205,7 @@
// @iteminfo
1276: Введите ID/название предмета (Использование: @ii/@iteminfo <ID/название предмета>).
1277: Предмет: '%s'/'%s' (%u) Тип: %s | Доп. эффект: %s
1277: Предмет: '%s'/'%s'[%d] (%u) Тип: %s | Доп. эффект: %s
1278: Пусто
1279: Скрипт
1280: НИП покупка:%d зени, продажа:%d зени | Вес: %.1f
@@ -1215,7 +1215,7 @@
// @whodrops
1284: Введите ID/название предмета (Использование: @whodrops <ID/название предмета>).
1285: Предмет: '%s' (ID:%d)
1285: Предмет: '%s'[%d] (ID:%d)
1286: - Предмет не падает с монстров.
1287: - Обычные монстры с высоким шансом выпадения (перечислено только %d):

View File

@@ -1344,7 +1344,7 @@
// @iteminfo
1276: Introduce el nombre/ID de un objeto (instrucciones: @ii/@iteminfo <nombre/ID del objeto>).
1277: Objeto: '%s'/'%s' (%u) Tipo: %s | Efecto: %s
1277: Objeto: '%s'/'%s'[%d] (%u) Tipo: %s | Efecto: %s
1278: Ninguno
1279: Contiene código
1280: Compra en NPC:%dz, Venta:%dz | Peso: %.1f
@@ -1354,7 +1354,7 @@
// @whodrops
1284: Introduce el nombre/ID de un objeto (instrucciones: @whodrops <nombre/ID del objeto>). 
1285: Objeto: '%s' (ID:%d)
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):

View File

@@ -1198,7 +1198,7 @@
// @iteminfo
1276: ג»<D792>´<EFBFBD><C2B4>÷<EFBFBD>×<EFBFBD>ט<EFBFBD>/ID item (<28><>¸<EFBFBD>ד×י: @ii/@iteminfo <×<>ט<EFBFBD>/ID item>).
1277: Item: '%s'/'%s' (%u) Type: %s | Extra Effect: %s
1277: Item: '%s'/'%s'[%d] (%u) Type: %s | Extra Effect: %s
1278: None
1279: With script
1280: NPC Buy:%dz, Sell:%dz | Weight: %.1f
@@ -1208,7 +1208,7 @@
// @whodrops
1284: ג»<D792>´<EFBFBD><C2B4>÷<EFBFBD>×<EFBFBD>ט<EFBFBD>/ID item (<28><>¸<EFBFBD>ד×י: @whodrops <×<>ט<EFBFBD>/ID item>).
1285: Item: '%s' (ID:%d)
1285: Item: '%s'[%d] (ID:%d)
1286: - Item ¹<>יה<D799>ט<EFBFBD><D798>µ<EFBFBD>¨<EFBFBD><C2A8> monster.
1287: - Monster ·<>ט<EFBFBD>ה»·<C2BB>ט<EFBFBD><D798>ג<EFBFBD><D792><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD>§<EFBFBD><C2A7>´<>´§א¾<D790><C2BE>§ %d <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>):

8
configure vendored
View File

@@ -4538,9 +4538,9 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
CFLAGS="$CFLAGS -pipe -ffast-math -Wall"
CPPFLAGS="$CPPFLAGS -I../common"
CXXFLAGS="$CXXFLAGS -std=c++14"
#CXXFLAGS="$CXXFLAGS -std=gnu++14"
CXXFLAG_CLEARS="-std=c++14"
CXXFLAGS="$CXXFLAGS -std=c++11"
#CXXFLAGS="$CXXFLAGS -std=gnu++11"
CXXFLAG_CLEARS="-std=c++11"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
@@ -7109,7 +7109,7 @@ else
$as_echo "no" >&6; }
fi
CXXFLAG_CLEARS="-std=c++14 $CPPFLAGS"
CXXFLAG_CLEARS="-std=c++11 $CPPFLAGS"
CFLAGS="$OPT_LTO $CFLAGS"
CFLAGS_AR="$OPT_LTO_AR $CFLAGS"

View File

@@ -483,9 +483,9 @@ AC_LANG([C++])
CFLAGS="$CFLAGS -pipe -ffast-math -Wall"
CPPFLAGS="$CPPFLAGS -I../common"
CXXFLAGS="$CXXFLAGS -std=c++14"
#CXXFLAGS="$CXXFLAGS -std=gnu++14"
CXXFLAG_CLEARS="-std=c++14"
CXXFLAGS="$CXXFLAGS -std=c++11"
#CXXFLAGS="$CXXFLAGS -std=gnu++11"
CXXFLAG_CLEARS="-std=c++11"
AC_C_BIGENDIAN(
[AC_MSG_ERROR([[bigendian is not supported... stopping]])],
@@ -620,7 +620,7 @@ if test "$enable_lto" != "no" ; then
)
CFLAGS="$OLD_CFLAGS"
LDFLAGS="$OLD_LDFLAGS"
CFLAGS="$CFLAGS -flto -fuse-linker-plugin"
LDFLAGS="$LDFLAGS -flto -fuse-linker-plugin"
@@ -1355,7 +1355,7 @@ else
AC_MSG_RESULT([no])
fi
CXXFLAG_CLEARS="-std=c++14 $CPPFLAGS"
CXXFLAG_CLEARS="-std=c++11 $CPPFLAGS"
CFLAGS="$OPT_LTO $CFLAGS"
CFLAGS_AR="$OPT_LTO_AR $CFLAGS"
AC_SUBST([CFLAGS_AR])

View File

@@ -1,5 +1,5 @@
# This file is a part of rAthena.
# Copyright(C) 2023 rAthena Development Team
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
@@ -27,9 +27,8 @@
# - Level Item level.
# Grades: Enchantgrade settings per grade level.
# - Grade Enchantgrade level.
# Chances: Chance settings per refine level.
# - Refine Refine level.
# Chance Base chance of success out of 0~10000.
# Refine Required refine level.
# Chance Base chance of success out of 0~10000.
# Bonus Enchantgrade bonus. (Default: 0)
# AnnounceSuccess Announce on upgrade success. (Default: true)
# AnnounceFail Announce on upgrade failure. (Default: false)
@@ -52,7 +51,7 @@
Header:
Type: ENCHANTGRADE_DB
Version: 3
Version: 2
Footer:
Imports:

119
db/homun_skill_tree.txt Normal file
View File

@@ -0,0 +1,119 @@
// Homunculus Skill Tree Database
//
// Structure of Database:
// Class,SkillID,MaxLv,NeedLevel,Prerequisite SkillID1,Prerequisite SkillLv1,PrereqSkillID2,PrereqSkillLv2,PrereqSkillID3,PrereqSkillLv3,PrereqSkillID4,PrereqSkillLv4,PrereqSkillID5,PrereqSkillLv5,IntimacyLvReq //SKILLNAME#Skill Name#
//
// 01. Class Homunculus ID.
// 02. SkillID Skill ID of the homunuculus skill.
// 03. MaxLv Maximum level of the homunuculus skill.
// 04. NeedLevel Homunculus level required for the skill to become available
// 05. Prerequisite SkillID Homunculus skill required for the skill to become available.
// 06. Prerequisite SkillLv Level of the required homunculus skill.
// ...
// 15. IntimacyLvReq Minimum level of intimacy to unlock skill.
//
// NOTE: MAX_PC_SKILL_REQUIRE (typically 5) ID/Lv pairs must be specified.
//Lif
6001,8001,5,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL
6001,8002,5,0,8001,3,0,0,0,0,0,0,0,0,0 //HLIF_AVOID
6001,8003,5,0,8001,5,0,0,0,0,0,0,0,0,0 //HLIF_BRAIN
//Amistr
6002,8005,5,0,0,0,0,0,0,0,0,0,0,0,0 //HAMI_CASTLE
6002,8006,5,0,8005,5,0,0,0,0,0,0,0,0,0 //HAMI_DEFENCE
6002,8007,5,0,8006,3,0,0,0,0,0,0,0,0,0 //HAMI_SKIN
//Filir
6003,8009,5,0,0,0,0,0,0,0,0,0,0,0,0 //HFLI_MOON
6003,8010,5,0,8009,3,0,0,0,0,0,0,0,0,0 //HFLI_FLEET
6003,8011,5,0,8010,3,0,0,0,0,0,0,0,0,0 //HFLI_SPEED
//Vanilmirth
6004,8013,5,0,0,0,0,0,0,0,0,0,0,0,0 //HVAN_CAPRICE
6004,8014,5,0,8013,3,0,0,0,0,0,0,0,0,0 //HVAN_CHAOTIC
6004,8015,5,0,8013,5,0,0,0,0,0,0,0,0,0 //HVAN_INSTRUCT
//Lif2
6005,8001,5,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL
6005,8002,5,0,8001,3,0,0,0,0,0,0,0,0,0 //HLIF_AVOID
6005,8003,5,0,8001,5,0,0,0,0,0,0,0,0,0 //HLIF_BRAIN
//Amistr2
6006,8005,5,0,0,0,0,0,0,0,0,0,0,0,0 //HAMI_CASTLE
6006,8006,5,0,8005,5,0,0,0,0,0,0,0,0,0 //HAMI_DEFENCE
6006,8007,5,0,8006,3,0,0,0,0,0,0,0,0,0 //HAMI_SKIN
//Filir2
6007,8009,5,0,0,0,0,0,0,0,0,0,0,0,0 //HFLI_MOON
6007,8010,5,0,8009,3,0,0,0,0,0,0,0,0,0 //HFLI_FLEET
6007,8011,5,0,8010,3,0,0,0,0,0,0,0,0,0 //HFLI_SPEED
//Vanilmirth2
6008,8013,5,0,0,0,0,0,0,0,0,0,0,0,0 //HVAN_CAPRICE
6008,8014,5,0,8013,3,0,0,0,0,0,0,0,0,0 //HVAN_CHAOTIC
6008,8015,5,0,8013,5,0,0,0,0,0,0,0,0,0 //HVAN_INSTRUCT
//Lif_H
6009,8001,5,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL
6009,8002,5,0,8001,3,0,0,0,0,0,0,0,0,0 //HLIF_AVOID
6009,8003,5,0,8001,5,0,0,0,0,0,0,0,0,0 //HLIF_BRAIN
6009,8004,3,0,0,0,0,0,0,0,0,0,0,0,910 //HLIF_CHANGE
//Amistr_H
6010,8005,5,0,0,0,0,0,0,0,0,0,0,0,0 //HAMI_CASTLE
6010,8006,5,0,8005,5,0,0,0,0,0,0,0,0,0 //HAMI_DEFENCE
6010,8007,5,0,8006,3,0,0,0,0,0,0,0,0,0 //HAMI_SKIN
6010,8008,3,0,0,0,0,0,0,0,0,0,0,0,910 //HAMI_BLOODLUST
//Filir_H
6011,8009,5,0,0,0,0,0,0,0,0,0,0,0,0 //HFLI_MOON
6011,8010,5,0,8009,3,0,0,0,0,0,0,0,0,0 //HFLI_FLEET
6011,8011,5,0,8010,3,0,0,0,0,0,0,0,0,0 //HFLI_SPEED
6011,8012,3,0,0,0,0,0,0,0,0,0,0,0,910 //HFLI_SBR44
//Vanilmirth_H
6012,8013,5,0,0,0,0,0,0,0,0,0,0,0,0 //HVAN_CAPRICE
6012,8014,5,0,8013,3,0,0,0,0,0,0,0,0,0 //HVAN_CHAOTIC
6012,8015,5,0,8013,5,0,0,0,0,0,0,0,0,0 //HVAN_INSTRUCT
6012,8016,3,0,0,0,0,0,0,0,0,0,0,0,910 //HVAN_EXPLOSION
//Lif2_H
6013,8001,5,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL
6013,8002,5,0,8001,3,0,0,0,0,0,0,0,0,0 //HLIF_AVOID
6013,8003,5,0,8001,5,0,0,0,0,0,0,0,0,0 //HLIF_BRAIN
6013,8004,3,0,0,0,0,0,0,0,0,0,0,0,910 //HLIF_CHANGE
//Amistr2_H
6014,8005,5,0,0,0,0,0,0,0,0,0,0,0,0 //HAMI_CASTLE
6014,8006,5,0,8005,5,0,0,0,0,0,0,0,0,0 //HAMI_DEFENCE
6014,8007,5,0,8006,3,0,0,0,0,0,0,0,0,0 //HAMI_SKIN
6014,8008,3,0,0,0,0,0,0,0,0,0,0,0,910 //HAMI_BLOODLUST
//Filir2_H
6015,8009,5,0,0,0,0,0,0,0,0,0,0,0,0 //HFLI_MOON
6015,8010,5,0,8009,3,0,0,0,0,0,0,0,0,0 //HFLI_FLEET
6015,8011,5,0,8010,3,0,0,0,0,0,0,0,0,0 //HFLI_SPEED
6015,8012,3,0,0,0,0,0,0,0,0,0,0,0,910 //HFLI_SBR44
//Vanilmirth2_H
6016,8013,5,0,0,0,0,0,0,0,0,0,0,0,0 //HVAN_CAPRICE
6016,8014,5,0,8013,3,0,0,0,0,0,0,0,0,0 //HVAN_CHAOTIC
6016,8015,5,0,8013,5,0,0,0,0,0,0,0,0,0 //HVAN_INSTRUCT
6016,8016,3,0,0,0,0,0,0,0,0,0,0,0,910 //HVAN_EXPLOSION
//Eira
6048,8022,5,128,0,0,0,0,0,0,0,0,0,0,0 //MH_LIGHT_OF_REGENE
6048,8023,5,114,0,0,0,0,0,0,0,0,0,0,0 //MH_OVERED_BOOST
6048,8024,10,106,0,0,0,0,0,0,0,0,0,0,0 //MH_ERASER_CUTTER
6048,8025,10,121,0,0,0,0,0,0,0,0,0,0,0 //MH_XENO_SLASHER
6048,8026,5,137,0,0,0,0,0,0,0,0,0,0,0 //MH_SILENT_BREEZE
//Bayeri
6049,8031,10,105,0,0,0,0,0,0,0,0,0,0,0 //MH_STAHL_HORN
6049,8032,5,112,0,0,0,0,0,0,0,0,0,0,0 //MH_GOLDENE_FERSE
6049,8033,5,121,0,0,0,0,0,0,0,0,0,0,0 //MH_STEINWAND
6049,8034,10,138,0,0,0,0,0,0,0,0,0,0,0 //MH_HEILIGE_STANGE
6049,8035,5,130,0,0,0,0,0,0,0,0,0,0,0 //MH_ANGRIFFS_MODUS
//Sera
6050,8018,5,132,0,0,0,0,0,0,0,0,0,0,0 //MH_SUMMON_LEGION
6050,8019,10,105,0,0,0,0,0,0,0,0,0,0,0 //MH_NEEDLE_OF_PARALYZE
6050,8020,5,116,0,0,0,0,0,0,0,0,0,0,0 //MH_POISON_MIST
6050,8021,10,123,0,0,0,0,0,0,0,0,0,0,0 //MH_PAIN_KILLER
//Dieter
6051,8039,5,122,0,0,0,0,0,0,0,0,0,0,0 //MH_MAGMA_FLOW
6051,8040,5,116,0,0,0,0,0,0,0,0,0,0,0 //MH_GRANITIC_ARMOR
6051,8041,10,109,0,0,0,0,0,0,0,0,0,0,0 //MH_LAVA_SLIDE
6051,8042,10,131,0,0,0,0,0,0,0,0,0,0,0 //MH_PYROCLASTIC
6051,8043,5,102,0,0,0,0,0,0,0,0,0,0,0 //MH_VOLCANIC_ASH
//Elanor
6052,8027,1,100,0,0,0,0,0,0,0,0,0,0,0 //MH_STYLE_CHANGE
6052,8028,5,100,0,0,0,0,0,0,0,0,0,0,0 //MH_SONIC_CRAW
6052,8029,10,114,0,0,0,0,0,0,0,0,0,0,0 //MH_SILVERVEIN_RUSH
6052,8030,10,128,0,0,0,0,0,0,0,0,0,0,0 //MH_MIDNIGHT_FRENZY
6052,8036,5,100,0,0,0,0,0,0,0,0,0,0,0 //MH_TINDER_BREAKER
6052,8037,5,112,0,0,0,0,0,0,0,0,0,0,0 //MH_CBC
6052,8038,5,133,0,0,0,0,0,0,0,0,0,0,0 //MH_EQC

View File

@@ -1,65 +0,0 @@
# This file is a part of rAthena.
# Copyright(C) 2023 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Homunculus Database
###########################################################################
#
# Homunculus Settings
#
###########################################################################
# - BaseClass Base class.
# Name Name of homunculus.
# EvolutionClass Evolution class.
# Food Homunculus food item. (Default: Pet_Food)
# HungryDelay Time interval in milliseconds after which the hunger value is altered. (Default: 60000)
# Race Race. (Default: Demihuman)
# Element Element. (Default: Neutral)
# Size Size. (Default: Small)
# EvolutionSize Evolution size. (Default: Medium)
# AttackDelay Base ASPD. (Default: 700)
# Status: Homunculus stats.
# - Type Type of status.
# Base Base value of this status. (Default: 1)
# GrowthMinimum Minimum growth of this status. (Default: 0)
# GrowthMaximum Maximum growth of this status. (Default: 0)
# EvolutionMinimum Minimum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# EvolutionMaximum Maximum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# SkillTree: Skill tree.
# - Skill Skill name.
# Clear True to remove the given skill name. (Optional)
# MaxLevel Maximum level of skill.
# RequiredLevel Required base level of homunculus to learn. (Default: 0)
# RequiredIntimacy Required intimacy of homunculus to learn. (Default: 0)
# RequireEvolution Require the homunculus to be evolved to be available. (Default: false)
# Required: Prerequisite skills. (Default: null)
# - Skill Prerequisite skill name.
# Level Level of prerequisite skill.
# Clear True to remove the given prerequisite skill name. (Optional)
###########################################################################
Header:
Type: HOMUNCULUS_DB
Version: 1
Footer:
Imports:
- Path: db/pre-re/homunculus_db.yml
Mode: Prerenewal
- Path: db/re/homunculus_db.yml
Mode: Renewal
- Path: db/import/homunculus_db.yml

View File

@@ -1,5 +1,5 @@
# This file is a part of rAthena.
# Copyright(C) 2023 rAthena Development Team
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
@@ -27,9 +27,8 @@
# - Level Item level.
# Grades: Enchantgrade settings per grade level.
# - Grade Enchantgrade level.
# Chances: Chance settings per refine level.
# - Refine Refine level.
# Chance Base chance of success out of 0~10000.
# Refine Required refine level.
# Chance Base chance of success out of 0~10000.
# Bonus Enchantgrade bonus. (Default: 0)
# AnnounceSuccess Announce on upgrade success. (Default: true)
# AnnounceFail Announce on upgrade failure. (Default: false)
@@ -52,4 +51,4 @@
Header:
Type: ENCHANTGRADE_DB
Version: 3
Version: 2

View File

@@ -0,0 +1,15 @@
// Homunculus Skill Tree Database
//
// Structure of Database:
// Class,SkillID,MaxLv,NeedLevel,Prerequisite SkillID1,Prerequisite SkillLv1,PrereqSkillID2,PrereqSkillLv2,PrereqSkillID3,PrereqSkillLv3,PrereqSkillID4,PrereqSkillLv4,PrereqSkillID5,PrereqSkillLv5,IntimacyLvReq //SKILLNAME#Skill Name#
//
// 01. Class Homunculus ID.
// 02. SkillID Skill ID of the homunuculus skill.
// 03. MaxLv Maximum level of the homunuculus skill.
// 04. NeedLevel Homunculus level required for the skill to become available
// 05. Prerequisite SkillID Homunculus skill required for the skill to become available.
// 06. Prerequisite SkillLv Level of the required homunculus skill.
// ...
// 15. IntimacyLvReq Minimum level of intimacy to unlock skill.
//
// NOTE: MAX_PC_SKILL_REQUIRE (typically 5) ID/Lv pairs must be specified.

View File

@@ -0,0 +1,20 @@
// Homunculus Database
//
// Structure of Database:
// Class,EvoClass,Name,FoodID,HungryDelay,BaseSize,EvoSize,Race,Element,bASPD,bHP,bSP,bSTR,bAGI,bVIT,bINT,bDEX,bLUK,gnHP,gxHP,gnSP,gxSP,gnSTR,gxSTR,gnAGI,gxAGI,gnVIT,gxVIT,gnINT,gxINT,gnDEX,gxDEX,gnLUK,gxLUK,enHP,exHP,enSP,exSP,enSTR,exSTR,enAGI,exAGI,enVIT,exVIT,enINT,exINT,enDEX,exDEX,enLUK,exLUK
//
// 01. Class Homunculus ID.
// 02. EvoClass Homunculus ID of the evolved version.
// 03. Name Name of the homunculus.
// 04. FoodID Item ID of the homunuclus food.
// 05. HungryDelay Time interval in milliseconds after which the homunculus' hunger value is altered.
// 06. BaseSize Size of the base homunculus class (0 = small, 1 = normal, 2 = large).
// 07. EvoSize Size of the evolved homunculus class (0 = small, 1 = normal, 2 = large).
// 08. Race Race of the homunculus (0 = formless, 1 = undead, 2 = brute, 3 = plant, 4 = insect, 5 = fish, 6 = demon, 7 = demi-human, 8 = angel, 9 = dragon).
// 09. Element Element of the homunculus (0 = neutral, 1 = water, 2 = earth, 3 = fire, 4 = wind, 5 = poison, 6 = holy, 7 = dark, 8 = ghost, 9 = undead).
// The element level is always 1.
// ...
//
// Legend: b: base, gn: growth min, gx: growth max, en: evolution min, ex: evolution max
// NOTE: Only the growth values are in a 1/10 scale, the other stats are 1/1 (eg: 5 gmAGI means 0.5 agi)

View File

@@ -1,57 +0,0 @@
# This file is a part of rAthena.
# Copyright(C) 2023 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Homunculus Database
###########################################################################
#
# Homunculus Settings
#
###########################################################################
# - BaseClass Base class.
# Name Name of homunculus.
# EvolutionClass Evolution class.
# Food Homunculus food item. (Default: Pet_Food)
# HungryDelay Time interval in milliseconds after which the hunger value is altered. (Default: 60000)
# Race Race. (Default: Demihuman)
# Element Element. (Default: Neutral)
# Size Size. (Default: Small)
# EvolutionSize Evolution size. (Default: Medium)
# AttackDelay Base ASPD. (Default: 700)
# Status: Homunculus stats.
# - Type Type of status.
# Base Base value of this status. (Default: 1)
# GrowthMinimum Minimum growth of this status. (Default: 0)
# GrowthMaximum Maximum growth of this status. (Default: 0)
# EvolutionMinimum Minimum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# EvolutionMaximum Maximum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# SkillTree: Skill tree.
# - Skill Skill name.
# Clear True to remove the given skill name. (Optional)
# MaxLevel Maximum level of skill.
# RequiredLevel Required base level of homunculus to learn. (Default: 0)
# RequiredIntimacy Required intimacy of homunculus to learn. (Default: 0)
# RequireEvolution Require the homunculus to be evolved to be available. (Default: false)
# Required: Prerequisite skills. (Default: null)
# - Skill Prerequisite skill name.
# Level Level of prerequisite skill.
# Clear True to remove the given prerequisite skill name. (Optional)
###########################################################################
Header:
Type: HOMUNCULUS_DB
Version: 1

View File

@@ -27,7 +27,7 @@
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item, n/100000.
# Rate Drop rate of item.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
# SpecificDrops Drops for specific monsters on this map. (Default: empty)
# - Monster Monster name.
@@ -35,10 +35,10 @@
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item, n/100000.
# Rate Drop rate of item.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
###########################################################################
Header:
Type: MAP_DROP_DB
Version: 2
Version: 1

Binary file not shown.

View File

@@ -27,7 +27,7 @@
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item, n/100000.
# Rate Drop rate of item.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
# SpecificDrops Drops for specific monsters on this map. (Default: empty)
# - Monster Monster name.
@@ -35,13 +35,13 @@
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item, n/100000.
# Rate Drop rate of item.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
###########################################################################
Header:
Type: MAP_DROP_DB
Version: 2
Version: 1
Footer:
Imports:

View File

@@ -1210,26 +1210,6 @@ bl_temple
bl_venom
mjo_wst01
ra_pol01
1@20cn1
1@20cn2
1@slug
1@twas
1@twbs
1@twig
1@twsd
icas_in2
jor_back4
jor_back5
jor_back6
jor_maze
jor_root1
jor_root2
jor_root3
jor_safty1
jor_safty2
jor_sanct
jor_twice
jor_twig
//======================================================================================
// - Other/Extra maps -

View File

@@ -0,0 +1,33 @@
// Homunculus Database
//
// Structure of Database:
// Class,EvoClass,Name,FoodID,HungryDelay,BaseSize,EvoSize,Race,Element,bASPD,bHP,bSP,bSTR,bAGI,bVIT,bINT,bDEX,bLUK,gnHP,gxHP,gnSP,gxSP,gnSTR,gxSTR,gnAGI,gxAGI,gnVIT,gxVIT,gnINT,gxINT,gnDEX,gxDEX,gnLUK,gxLUK,enHP,exHP,enSP,exSP,enSTR,exSTR,enAGI,exAGI,enVIT,exVIT,enINT,exINT,enDEX,exDEX,enLUK,exLUK
//
// 01. Class Homunculus ID.
// 02. EvoClass Homunculus ID of the evolved version.
// 03. Name Name of the homunculus.
// 04. FoodID Item ID of the homunuclus food.
// 05. HungryDelay Time interval in milliseconds after which the homunculus' hunger value is altered.
// 06. BaseSize Size of the base homunculus class (0 = small, 1 = normal, 2 = large).
// 07. EvoSize Size of the evolved homunculus class (0 = small, 1 = normal, 2 = large).
// 08. Race Race of the homunculus (0 = formless, 1 = undead, 2 = brute, 3 = plant, 4 = insect, 5 = fish, 6 = demon, 7 = demi-human, 8 = angel, 9 = dragon).
// 09. Element Element of the homunculus (0 = neutral, 1 = water, 2 = earth, 3 = fire, 4 = wind, 5 = poison, 6 = holy, 7 = dark, 8 = ghost, 9 = undead).
// The element level is always 1.
// ...
//
// Legend: b: base, gn: growth min, gx: growth max, en: evolution min, ex: evolution max
// NOTE: Only the growth values are in a 1/10 scale, the other stats are 1/1 (eg: 5 gmAGI means 0.5 agi)
6001,6009,Lif,537,60000,0,1,7,0,700,150,40,17,20,15,35,24,12,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,1,10,10,20,1,5,1,4,1,5,4,10,1,10,1,3
6002,6010,Amistr,912,60000,0,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,10,20,1,10,1,10,1,5,4,10,1,3,1,4,1,5
6003,6011,Filir,910,60000,0,1,2,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,5,15,5,15,4,10,1,10,1,3,1,4,1,5,1,5
6004,6012,Vanilmirth,911,60000,0,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,10,1,10,1,10,1,10,1,10,1,10
6005,6013,Lif,537,60000,0,1,7,0,700,150,40,17,20,15,35,24,12,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,1,10,10,20,1,5,1,4,1,5,4,10,1,10,1,3
6006,6014,Amistr,912,60000,0,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,10,20,1,10,1,10,1,5,4,10,1,3,1,4,1,5
6007,6015,Filir,910,60000,0,1,2,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,5,15,5,15,4,10,1,10,1,3,1,4,1,5,1,5
6008,6016,Vanilmirth,911,60000,0,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,10,1,10,1,10,1,10,1,10,1,10
6048,6048,Eira,6098,60000,1,1,7,0,700,150,40,17,20,15,35,24,12,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,1,10,10,20,1,5,1,4,1,5,4,10,1,10,1,3
6049,6049,Bayeri,6112,60000,1,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,10,20,1,10,1,10,1,5,4,10,1,3,1,4,1,5
6050,6050,Sera,6108,60000,1,1,4,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,5,15,5,15,4,10,1,10,1,3,1,4,1,5,1,5
6051,6051,Dieter,6104,60000,1,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,10,1,10,1,10,1,10,1,10,1,10
6052,6052,Eleanor,6115,60000,1,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,10,20,1,10,1,10,1,5,4,10,1,3,1,4,1,5

View File

@@ -1,623 +0,0 @@
# This file is a part of rAthena.
# Copyright(C) 2023 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Homunculus Database
###########################################################################
#
# Homunculus Settings
#
###########################################################################
# - BaseClass Base class.
# Name Name of homunculus.
# EvolutionClass Evolution class.
# Food Homunculus food item. (Default: Pet_Food)
# HungryDelay Time interval in milliseconds after which the hunger value is altered. (Default: 60000)
# Race Race. (Default: Demihuman)
# Element Element. (Default: Neutral)
# Size Size. (Default: Small)
# EvolutionSize Evolution size. (Default: Medium)
# AttackDelay Base ASPD. (Default: 700)
# Status: Homunculus stats.
# - Type Type of status.
# Base Base value of this status. (Default: 1)
# GrowthMinimum Minimum growth of this status. (Default: 0)
# GrowthMaximum Maximum growth of this status. (Default: 0)
# EvolutionMinimum Minimum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# EvolutionMaximum Maximum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# SkillTree: Skill tree.
# - Skill Skill name.
# Clear True to remove the given skill name. (Optional)
# MaxLevel Maximum level of skill.
# RequiredLevel Required base level of homunculus to learn. (Default: 0)
# RequiredIntimacy Required intimacy of homunculus to learn. (Default: 0)
# RequireEvolution Require the homunculus to be evolved to be available. (Default: false)
# Required: Prerequisite skills. (Default: null)
# - Skill Prerequisite skill name.
# Level Level of prerequisite skill.
# Clear True to remove the given prerequisite skill name. (Optional)
###########################################################################
Header:
Type: HOMUNCULUS_DB
Version: 1
Body:
- Class: Lif
Name: Lif
EvolutionClass: Lif_H
Status:
- Type: Hp
Base: 150
GrowthMinimum: 60
GrowthMaximum: 100
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Sp
Base: 40
GrowthMinimum: 4
GrowthMaximum: 9
EvolutionMinimum: 10
EvolutionMaximum: 20
- Type: Str
Base: 17
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Agi
Base: 20
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Vit
Base: 15
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Int
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Dex
Base: 24
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Luk
Base: 12
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 3
SkillTree:
- Skill: HLIF_HEAL
MaxLevel: 5
- Skill: HLIF_AVOID
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 3
- Skill: HLIF_BRAIN
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 5
- Skill: HLIF_CHANGE
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Amistr
Name: Amistr
EvolutionClass: Amistr_H
Food: Zargon
Race: Brute
Status:
- Type: Hp
Base: 320
GrowthMinimum: 80
GrowthMaximum: 130
EvolutionMinimum: 10
EvolutionMaximum: 20
- Type: Sp
Base: 10
GrowthMinimum: 1
GrowthMaximum: 4
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Str
Base: 20
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Agi
Base: 17
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Vit
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 1
EvolutionMaximum: 3
- Type: Dex
Base: 24
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Luk
Base: 12
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
SkillTree:
- Skill: HAMI_CASTLE
MaxLevel: 5
- Skill: HAMI_DEFENCE
MaxLevel: 5
Required:
- Skill: HAMI_CASTLE
Level: 5
- Skill: HAMI_SKIN
MaxLevel: 5
Required:
- Skill: HAMI_DEFENCE
Level: 3
- Skill: HAMI_BLOODLUST
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Filir
Name: Filir
EvolutionClass: Filir_H
Food: Garlet
Race: Brute
Status:
- Type: Hp
Base: 90
GrowthMinimum: 45
GrowthMaximum: 75
EvolutionMinimum: 5
EvolutionMaximum: 15
- Type: Sp
Base: 25
GrowthMinimum: 3
GrowthMaximum: 6
EvolutionMinimum: 5
EvolutionMaximum: 15
- Type: Str
Base: 29
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Agi
Base: 35
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Vit
Base: 9
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 1
EvolutionMaximum: 3
- Type: Int
Base: 8
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Dex
Base: 30
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Luk
Base: 9
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
SkillTree:
- Skill: HFLI_MOON
MaxLevel: 5
- Skill: HFLI_FLEET
MaxLevel: 5
Required:
- Skill: HFLI_MOON
Level: 3
- Skill: HFLI_SPEED
MaxLevel: 5
Required:
- Skill: HFLI_FLEET
Level: 3
- Skill: HFLI_SBR44
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Vanilmirth
Name: Vanilmirth
EvolutionClass: Vanilmirth_H
Food: Scell
Race: Formless
Status:
- Type: Hp
Base: 80
GrowthMinimum: 30
GrowthMaximum: 150
EvolutionMinimum: 1
EvolutionMaximum: 30
- Type: Sp
Base: 11
GrowthMinimum: 0
GrowthMaximum: 7
EvolutionMinimum: 1
EvolutionMaximum: 30
- Type: Str
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Agi
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Vit
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Dex
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Luk
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
SkillTree:
- Skill: HVAN_CAPRICE
MaxLevel: 5
- Skill: HVAN_CHAOTIC
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 3
- Skill: HVAN_INSTRUCT
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 5
- Skill: HVAN_EXPLOSION
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Lif2
Name: Lif
EvolutionClass: Lif_H2
Status:
- Type: Hp
Base: 150
GrowthMinimum: 60
GrowthMaximum: 100
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Sp
Base: 40
GrowthMinimum: 4
GrowthMaximum: 9
EvolutionMinimum: 10
EvolutionMaximum: 20
- Type: Str
Base: 17
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Agi
Base: 20
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Vit
Base: 15
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Int
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Dex
Base: 24
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Luk
Base: 12
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 3
SkillTree:
- Skill: HLIF_HEAL
MaxLevel: 5
- Skill: HLIF_AVOID
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 3
- Skill: HLIF_BRAIN
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 5
- Skill: HLIF_CHANGE
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Amistr2
Name: Amistr
EvolutionClass: Amistr_H2
Food: Zargon
Race: Brute
Status:
- Type: Hp
Base: 320
GrowthMinimum: 80
GrowthMaximum: 130
EvolutionMinimum: 10
EvolutionMaximum: 20
- Type: Sp
Base: 10
GrowthMinimum: 1
GrowthMaximum: 4
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Str
Base: 20
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Agi
Base: 17
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Vit
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 1
EvolutionMaximum: 3
- Type: Dex
Base: 24
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Luk
Base: 12
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
SkillTree:
- Skill: HAMI_CASTLE
MaxLevel: 5
- Skill: HAMI_DEFENCE
MaxLevel: 5
Required:
- Skill: HAMI_CASTLE
Level: 5
- Skill: HAMI_SKIN
MaxLevel: 5
Required:
- Skill: HAMI_DEFENCE
Level: 3
- Skill: HAMI_BLOODLUST
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Filir2
Name: Filir
EvolutionClass: Filir_H2
Food: Garlet
Race: Brute
Status:
- Type: Hp
Base: 90
GrowthMinimum: 45
GrowthMaximum: 75
EvolutionMinimum: 5
EvolutionMaximum: 15
- Type: Sp
Base: 25
GrowthMinimum: 3
GrowthMaximum: 6
EvolutionMinimum: 5
EvolutionMaximum: 15
- Type: Str
Base: 29
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Agi
Base: 35
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Vit
Base: 9
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 1
EvolutionMaximum: 3
- Type: Int
Base: 8
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Dex
Base: 30
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Luk
Base: 9
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
SkillTree:
- Skill: HFLI_MOON
MaxLevel: 5
- Skill: HFLI_FLEET
MaxLevel: 5
Required:
- Skill: HFLI_MOON
Level: 3
- Skill: HFLI_SPEED
MaxLevel: 5
Required:
- Skill: HFLI_FLEET
Level: 3
- Skill: HFLI_SBR44
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Vanilmirth2
Name: Vanilmirth
EvolutionClass: Vanilmirth_H2
Food: Scell
Race: Formless
Status:
- Type: Hp
Base: 80
GrowthMinimum: 30
GrowthMaximum: 150
EvolutionMinimum: 1
EvolutionMaximum: 30
- Type: Sp
Base: 11
GrowthMinimum: 0
GrowthMaximum: 7
EvolutionMinimum: 1
EvolutionMaximum: 30
- Type: Str
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Agi
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Vit
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Dex
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Luk
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
SkillTree:
- Skill: HVAN_CAPRICE
MaxLevel: 5
- Skill: HVAN_CHAOTIC
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 3
- Skill: HVAN_INSTRUCT
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 5
- Skill: HVAN_EXPLOSION
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true

View File

@@ -1949,8 +1949,8 @@ Body:
Flags:
NoSave: true
NoClearance: true
RequireWeapon: true
RemoveOnHermode: true
RequireNoWeapon: true
- Status: Spirit
Icon: EFST_SOULLINK
DurationLookup: SL_HIGH

View File

@@ -2035,7 +2035,7 @@ Body:
Name: I really love it!
Condition: " BaseLevel == 99 && (Class >= JOB_SWORDMAN && Class <= JOB_THIEF) "
Rewards:
Item: A_Bubble_Gum_Box10
Item: E_Bubble_Gum_Box
Script: " specialeffect2 EF_BLESSING; sc_start SC_BLESSING,30000,10; "
Score: 30
- Id: 200031

View File

@@ -120,7 +120,7 @@ Body:
Holy: 125
Dark: 0
Ghost: 100
Undead: 0
Undead: -25
Ghost:
Neutral: 90
Water: 100
@@ -136,8 +136,8 @@ Body:
Neutral: 100
Water: 100
Earth: 100
Fire: 90
Wind: 100
Fire: 100
Wind: 90
Poison: 75
Holy: 125
Dark: 0
@@ -217,7 +217,7 @@ Body:
Fire: 100
Wind: 100
Poison: 75
Holy: 0
Holy: -25
Dark: 150
Ghost: 100
Undead: 150
@@ -229,9 +229,9 @@ Body:
Wind: 100
Poison: 75
Holy: 150
Dark: 0
Dark: -25
Ghost: 100
Undead: 0
Undead: -50
Ghost:
Neutral: 70
Water: 100
@@ -268,7 +268,7 @@ Body:
Undead: 100
Water:
Neutral: 100
Water: 0
Water: -25
Earth: 100
Fire: 200
Wind: 70
@@ -280,7 +280,7 @@ Body:
Earth:
Neutral: 100
Water: 100
Earth: 0
Earth: -25
Fire: 70
Wind: 200
Poison: 125
@@ -292,7 +292,7 @@ Body:
Neutral: 100
Water: 70
Earth: 200
Fire: 0
Fire: -25
Wind: 100
Poison: 125
Holy: 100
@@ -304,7 +304,7 @@ Body:
Water: 200
Earth: 70
Fire: 100
Wind: 0
Wind: -25
Poison: 125
Holy: 100
Dark: 100
@@ -328,7 +328,7 @@ Body:
Fire: 100
Wind: 100
Poison: 50
Holy: 0
Holy: -50
Dark: 175
Ghost: 100
Undead: 175
@@ -340,9 +340,9 @@ Body:
Wind: 100
Poison: 50
Holy: 175
Dark: 0
Dark: -50
Ghost: 100
Undead: 0
Undead: -75
Ghost:
Neutral: 50
Water: 100
@@ -379,7 +379,7 @@ Body:
Undead: 100
Water:
Neutral: 100
Water: 0
Water: -50
Earth: 100
Fire: 200
Wind: 60
@@ -391,7 +391,7 @@ Body:
Earth:
Neutral: 100
Water: 100
Earth: 0
Earth: -50
Fire: 60
Wind: 200
Poison: 125
@@ -403,7 +403,7 @@ Body:
Neutral: 100
Water: 60
Earth: 200
Fire: 0
Fire: -50
Wind: 100
Poison: 125
Holy: 100
@@ -415,7 +415,7 @@ Body:
Water: 200
Earth: 60
Fire: 100
Wind: 0
Wind: -50
Poison: 125
Holy: 100
Dark: 100
@@ -431,7 +431,7 @@ Body:
Holy: 50
Dark: 50
Ghost: 50
Undead: 0
Undead: -100
Holy:
Neutral: 100
Water: 100
@@ -439,7 +439,7 @@ Body:
Fire: 100
Wind: 100
Poison: 50
Holy: 0
Holy: -100
Dark: 200
Ghost: 100
Undead: 200
@@ -451,9 +451,9 @@ Body:
Wind: 100
Poison: 50
Holy: 200
Dark: 0
Dark: -100
Ghost: 100
Undead: 0
Undead: -100
Ghost:
Neutral: 0
Water: 100
@@ -471,7 +471,7 @@ Body:
Earth: 100
Fire: 60
Wind: 100
Poison: 0
Poison: -25
Holy: 200
Dark: 0
Ghost: 175

View File

@@ -1,5 +1,5 @@
# This file is a part of rAthena.
# Copyright(C) 2023 rAthena Development Team
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
@@ -27,9 +27,8 @@
# - Level Item level.
# Grades: Enchantgrade settings per grade level.
# - Grade Enchantgrade level.
# Chances: Chance settings per refine level.
# - Refine Refine level.
# Chance Base chance of success out of 0~10000.
# Refine Required refine level.
# Chance Base chance of success out of 0~10000.
# Bonus Enchantgrade bonus. (Default: 0)
# AnnounceSuccess Announce on upgrade success. (Default: true)
# AnnounceFail Announce on upgrade failure. (Default: false)
@@ -52,7 +51,7 @@
Header:
Type: ENCHANTGRADE_DB
Version: 3
Version: 2
Body:
- Type: Armor
@@ -60,31 +59,8 @@ Body:
- Level: 2
Grades:
- Grade: None
Chances:
- Refine: 9
Chance: 1000
- Refine: 10
Chance: 2000
- Refine: 11
Chance: 7000
- Refine: 12
Chance: 7000
- Refine: 13
Chance: 7000
- Refine: 14
Chance: 7000
- Refine: 15
Chance: 7000
- Refine: 16
Chance: 7000
- Refine: 17
Chance: 7000
- Refine: 18
Chance: 7000
- Refine: 19
Chance: 7000
- Refine: 20
Chance: 7000
Refine: 11
Chance: 7000
Bonus: 10
Catalyst:
Item: Blessed_Etel_Dust
@@ -102,29 +78,8 @@ Body:
Amount: 5
Zeny: 875000
- Grade: D
Chances:
- Refine: 10
Chance: 2000
- Refine: 11
Chance: 6000
- Refine: 12
Chance: 6000
- Refine: 13
Chance: 6000
- Refine: 14
Chance: 6000
- Refine: 15
Chance: 6000
- Refine: 16
Chance: 6000
- Refine: 17
Chance: 6000
- Refine: 18
Chance: 6000
- Refine: 19
Chance: 6000
- Refine: 20
Chance: 6000
Refine: 11
Chance: 6000
Bonus: 30
Catalyst:
Item: Blessed_Etel_Dust
@@ -142,27 +97,8 @@ Body:
Amount: 5
Zeny: 875000
- Grade: C
Chances:
- Refine: 11
Chance: 5000
- Refine: 12
Chance: 5000
- Refine: 13
Chance: 5000
- Refine: 14
Chance: 5000
- Refine: 15
Chance: 5000
- Refine: 16
Chance: 5000
- Refine: 17
Chance: 5000
- Refine: 18
Chance: 5000
- Refine: 19
Chance: 5000
- Refine: 20
Chance: 5000
Refine: 11
Chance: 5000
Bonus: 50
AnnounceFail: true
Catalyst:
@@ -181,27 +117,8 @@ Body:
Amount: 5
Zeny: 875000
- Grade: B
Chances:
- Refine: 11
Chance: 4000
- Refine: 12
Chance: 4000
- Refine: 13
Chance: 4000
- Refine: 14
Chance: 4000
- Refine: 15
Chance: 4000
- Refine: 16
Chance: 4000
- Refine: 17
Chance: 4000
- Refine: 18
Chance: 4000
- Refine: 19
Chance: 4000
- Refine: 20
Chance: 4000
Refine: 11
Chance: 4000
Bonus: 100
AnnounceFail: true
Catalyst:
@@ -224,31 +141,8 @@ Body:
- Level: 5
Grades:
- Grade: None
Chances:
- Refine: 9
Chance: 1000
- Refine: 10
Chance: 2000
- Refine: 11
Chance: 7000
- Refine: 12
Chance: 7000
- Refine: 13
Chance: 7000
- Refine: 14
Chance: 7000
- Refine: 15
Chance: 7000
- Refine: 16
Chance: 7000
- Refine: 17
Chance: 7000
- Refine: 18
Chance: 7000
- Refine: 19
Chance: 7000
- Refine: 20
Chance: 7000
Refine: 11
Chance: 7000
Bonus: 10
Catalyst:
Item: Blessed_Etel_Dust
@@ -266,29 +160,8 @@ Body:
Amount: 5
Zeny: 875000
- Grade: D
Chances:
- Refine: 10
Chance: 2000
- Refine: 11
Chance: 6000
- Refine: 12
Chance: 6000
- Refine: 13
Chance: 6000
- Refine: 14
Chance: 6000
- Refine: 15
Chance: 6000
- Refine: 16
Chance: 6000
- Refine: 17
Chance: 6000
- Refine: 18
Chance: 6000
- Refine: 19
Chance: 6000
- Refine: 20
Chance: 6000
Refine: 11
Chance: 6000
Bonus: 30
Catalyst:
Item: Blessed_Etel_Dust
@@ -306,27 +179,8 @@ Body:
Amount: 5
Zeny: 875000
- Grade: C
Chances:
- Refine: 11
Chance: 5000
- Refine: 12
Chance: 5000
- Refine: 13
Chance: 5000
- Refine: 14
Chance: 5000
- Refine: 15
Chance: 5000
- Refine: 16
Chance: 5000
- Refine: 17
Chance: 5000
- Refine: 18
Chance: 5000
- Refine: 19
Chance: 5000
- Refine: 20
Chance: 5000
Refine: 11
Chance: 5000
Bonus: 50
AnnounceFail: true
Catalyst:
@@ -345,27 +199,8 @@ Body:
Amount: 5
Zeny: 875000
- Grade: B
Chances:
- Refine: 11
Chance: 4000
- Refine: 12
Chance: 4000
- Refine: 13
Chance: 4000
- Refine: 14
Chance: 4000
- Refine: 15
Chance: 4000
- Refine: 16
Chance: 4000
- Refine: 17
Chance: 4000
- Refine: 18
Chance: 4000
- Refine: 19
Chance: 4000
- Refine: 20
Chance: 4000
Refine: 11
Chance: 4000
Bonus: 100
AnnounceFail: true
Catalyst:

View File

@@ -379,154 +379,3 @@ Body:
Exp: 87140000
- Level: 174
Exp: 94875000
# TODO: unconfirmed values from here
- Level: 175
Exp: 104362500
- Level: 176
Exp: 112711500
- Level: 177
Exp: 121728420
- Level: 178
Exp: 131466693
- Level: 179
Exp: 141984028
- Level: 180
Exp: 153342750
- Level: 181
Exp: 165610170
- Level: 182
Exp: 178858983
- Level: 183
Exp: 193167701
- Level: 184
Exp: 208621117
- Level: 185
Exp: 225310806
- Level: 186
Exp: 243335670
- Level: 187
Exp: 262802523
- Level: 188
Exp: 283826724
- Level: 189
Exp: 306532861
- Level: 190
Exp: 331055489
- Level: 191
Exp: 357539928
- Level: 192
Exp: 386143122
- Level: 193
Exp: 417034571
- Level: 194
Exp: 450397336
- Level: 195
Exp: 486429122
- Level: 196
Exp: 525343451
- Level: 197
Exp: 567370927
- Level: 198
Exp: 612760601
- Level: 199
Exp: 661781449
- Level: 200
Exp: 714723964
- Level: 201
Exp: 771901881
- Level: 202
Exp: 833654031
- Level: 203
Exp: 900346353
- Level: 204
Exp: 972374061
- Level: 205
Exp: 1050163985
- Level: 206
Exp: 1134177103
- Level: 207
Exp: 1224911271
- Level: 208
Exp: 1322904172
- Level: 209
Exp: 1428736505
- Level: 210
Exp: 1543035425
- Level: 211
Exp: 1666478259
- Level: 212
Exp: 1799796519
- Level: 213
Exp: 1943780240
- Level: 214
Exp: 2099282659
- Level: 215
Exp: 2267225271
- Level: 216
Exp: 2448603292
- Level: 217
Exp: 2644491555
- Level: 218
Exp: 2856050879
- Level: 219
Exp: 3084534949
- Level: 220
Exp: 3331297744
- Level: 221
Exp: 3597801563
- Level: 222
Exp: 3885625688
- Level: 223
Exp: 4196475743
- Level: 224
Exp: 4532193802
- Level: 225
Exp: 4894769306
- Level: 226
Exp: 5286350850
- Level: 227
Exp: 5709258918
- Level: 228
Exp: 6165999631
- Level: 229
Exp: 6659279601
- Level: 230
Exp: 7192021969
- Level: 231
Exp: 7767383726
- Level: 232
Exp: 8388774424
- Level: 233
Exp: 9059876377
- Level: 234
Exp: 9784666487
- Level: 235
Exp: 10567439805
- Level: 236
Exp: 11412834989
- Level: 237
Exp: 12325861788
- Level: 238
Exp: 13311930731
- Level: 239
Exp: 14376885189
- Level: 240
Exp: 15527036004
- Level: 241
Exp: 16769198884
- Level: 242
Exp: 18110734794
- Level: 243
Exp: 19559593577
- Level: 244
Exp: 21124361063
- Level: 245
Exp: 22814309948
- Level: 246
Exp: 24639454743
- Level: 247
Exp: 26610611122
- Level: 248
Exp: 28739460011
- Level: 249
Exp: 31038616811

33
db/re/homunculus_db.txt Normal file
View File

@@ -0,0 +1,33 @@
// Homunculus Database
//
// Structure of Database:
// Class,EvoClass,Name,FoodID,HungryDelay,BaseSize,EvoSize,Race,Element,bASPD,bHP,bSP,bSTR,bAGI,bVIT,bINT,bDEX,bLUK,gnHP,gxHP,gnSP,gxSP,gnSTR,gxSTR,gnAGI,gxAGI,gnVIT,gxVIT,gnINT,gxINT,gnDEX,gxDEX,gnLUK,gxLUK,enHP,exHP,enSP,exSP,enSTR,exSTR,enAGI,exAGI,enVIT,exVIT,enINT,exINT,enDEX,exDEX,enLUK,exLUK
//
// 01. Class Homunculus ID.
// 02. EvoClass Homunculus ID of the evolved version.
// 03. Name Name of the homunculus.
// 04. FoodID Item ID of the homunuclus food.
// 05. HungryDelay Time interval in milliseconds after which the homunculus' hunger value is altered.
// 06. BaseSize Size of the base homunculus class (0 = small, 1 = normal, 2 = large).
// 07. EvoSize Size of the evolved homunculus class (0 = small, 1 = normal, 2 = large).
// 08. Race Race of the homunculus (0 = formless, 1 = undead, 2 = brute, 3 = plant, 4 = insect, 5 = fish, 6 = demon, 7 = demi-human, 8 = angel, 9 = dragon).
// 09. Element Element of the homunculus (0 = neutral, 1 = water, 2 = earth, 3 = fire, 4 = wind, 5 = poison, 6 = holy, 7 = dark, 8 = ghost, 9 = undead).
// The element level is always 1.
// ...
//
// Legend: b: base, gn: growth min, gx: growth max, en: evolution min, ex: evolution max
// NOTE: Only the growth values are in a 1/10 scale, the other stats are 1/1 (eg: 5 gmAGI means 0.5 agi)
6001,6009,Lif,537,60000,0,1,7,0,700,150,40,17,20,15,35,24,12,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,800,2400,220,480,10,30,10,30,20,40,30,50,20,50,10,30
6002,6010,Amistr,912,60000,0,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,1600,3600,120,360,20,50,10,30,20,50,20,50,10,30,10,30
6003,6011,Filir,910,60000,0,1,2,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,1200,3200,200,400,20,50,10,30,20,50,20,50,10,30,10,30
6004,6012,Vanilmirth,911,60000,0,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1200,4800,480,640,10,30,10,30,10,30,20,50,10,50,10,100
6005,6013,Lif,537,60000,0,1,7,0,700,150,40,17,20,15,35,24,12,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,800,2400,220,480,10,30,10,30,20,40,30,50,20,50,10,30
6006,6014,Amistr,912,60000,0,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,1600,3600,120,360,20,50,10,30,20,50,20,50,10,30,10,30
6007,6015,Filir,910,60000,0,1,2,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,1200,3200,200,400,20,50,10,30,20,50,20,50,10,30,10,30
6008,6016,Vanilmirth,911,60000,0,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1200,4800,480,640,10,30,10,30,10,30,20,50,10,50,10,100
6048,6048,Eira,6098,60000,1,1,8,4,700,150,40,17,20,15,35,24,12,40,160,20,42,13,39,28,42,15,25,14,48,16,36,9,18,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,10
6049,6049,Bayeri,6112,60000,1,1,2,6,700,320,10,20,17,35,11,24,12,90,360,48,52,18,36,8,36,16,32,22,44,12,24,20,36,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,10
6050,6050,Sera,6108,60000,1,1,4,2,700,90,25,29,35,9,8,30,9,60,240,36,64,10,25,16,32,5,25,7,35,28,40,20,40,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,10
6051,6051,Dieter,6104,60000,1,1,0,3,700,80,11,11,11,11,11,11,11,240,480,40,120,20,40,13,26,18,36,15,40,16,32,4,16,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,10
6052,6052,Eleanor,6115,60000,1,1,7,5,700,320,10,20,17,35,11,24,12,60,300,10,20,20,40,10,50,24,48,5,15,12,36,2,10,1000,2000,10,200,1,10,1,10,1,10,1,10,1,10,1,10

View File

@@ -1,948 +0,0 @@
# This file is a part of rAthena.
# Copyright(C) 2023 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Homunculus Database
###########################################################################
#
# Homunculus Settings
#
###########################################################################
# - BaseClass Base class.
# Name Name of homunculus.
# EvolutionClass Evolution class.
# Food Homunculus food item. (Default: Pet_Food)
# HungryDelay Time interval in milliseconds after which the hunger value is altered. (Default: 60000)
# Race Race. (Default: Demihuman)
# Element Element. (Default: Neutral)
# Size Size. (Default: Small)
# EvolutionSize Evolution size. (Default: Medium)
# AttackDelay Base ASPD. (Default: 700)
# Status: Homunculus stats.
# - Type Type of status.
# Base Base value of this status. (Default: 1)
# GrowthMinimum Minimum growth of this status. (Default: 0)
# GrowthMaximum Maximum growth of this status. (Default: 0)
# EvolutionMinimum Minimum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# EvolutionMaximum Maximum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# SkillTree: Skill tree.
# - Skill Skill name.
# Clear True to remove the given skill name. (Optional)
# MaxLevel Maximum level of skill.
# RequiredLevel Required base level of homunculus to learn. (Default: 0)
# RequiredIntimacy Required intimacy of homunculus to learn. (Default: 0)
# RequireEvolution Require the homunculus to be evolved to be available. (Default: false)
# Required: Prerequisite skills. (Default: null)
# - Skill Prerequisite skill name.
# Level Level of prerequisite skill.
# Clear True to remove the given prerequisite skill name. (Optional)
###########################################################################
Header:
Type: HOMUNCULUS_DB
Version: 1
Body:
- Class: Lif
Name: Lif
EvolutionClass: Lif_H
Status:
- Type: Hp
Base: 150
GrowthMinimum: 60
GrowthMaximum: 100
EvolutionMinimum: 800
EvolutionMaximum: 2400
- Type: Sp
Base: 40
GrowthMinimum: 4
GrowthMaximum: 9
EvolutionMinimum: 220
EvolutionMaximum: 480
- Type: Str
Base: 17
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Agi
Base: 20
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 15
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 20
EvolutionMaximum: 40
- Type: Int
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 30
EvolutionMaximum: 50
- Type: Dex
Base: 24
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Luk
Base: 12
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
SkillTree:
- Skill: HLIF_HEAL
MaxLevel: 5
- Skill: HLIF_AVOID
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 3
- Skill: HLIF_BRAIN
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 5
- Skill: HLIF_CHANGE
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Amistr
Name: Amistr
EvolutionClass: Amistr_H
Food: Zargon
Race: Brute
Status:
- Type: Hp
Base: 320
GrowthMinimum: 80
GrowthMaximum: 130
EvolutionMinimum: 1600
EvolutionMaximum: 3600
- Type: Sp
Base: 10
GrowthMinimum: 1
GrowthMaximum: 4
EvolutionMinimum: 120
EvolutionMaximum: 360
- Type: Str
Base: 20
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Agi
Base: 17
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Dex
Base: 24
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Luk
Base: 12
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
SkillTree:
- Skill: HAMI_CASTLE
MaxLevel: 5
- Skill: HAMI_DEFENCE
MaxLevel: 5
Required:
- Skill: HAMI_CASTLE
Level: 5
- Skill: HAMI_SKIN
MaxLevel: 5
Required:
- Skill: HAMI_DEFENCE
Level: 3
- Skill: HAMI_BLOODLUST
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Filir
Name: Filir
EvolutionClass: Filir_H
Food: Garlet
Race: Brute
Status:
- Type: Hp
Base: 90
GrowthMinimum: 45
GrowthMaximum: 75
EvolutionMinimum: 1200
EvolutionMaximum: 3200
- Type: Sp
Base: 25
GrowthMinimum: 3
GrowthMaximum: 6
EvolutionMinimum: 200
EvolutionMaximum: 400
- Type: Str
Base: 29
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Agi
Base: 35
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 9
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Int
Base: 8
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Dex
Base: 30
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Luk
Base: 9
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
SkillTree:
- Skill: HFLI_MOON
MaxLevel: 5
- Skill: HFLI_FLEET
MaxLevel: 5
Required:
- Skill: HFLI_MOON
Level: 3
- Skill: HFLI_SPEED
MaxLevel: 5
Required:
- Skill: HFLI_FLEET
Level: 3
- Skill: HFLI_SBR44
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Vanilmirth
Name: Vanilmirth
EvolutionClass: Vanilmirth_H
Food: Scell
Race: Formless
Status:
- Type: Hp
Base: 80
GrowthMinimum: 30
GrowthMaximum: 150
EvolutionMinimum: 1200
EvolutionMaximum: 4800
- Type: Sp
Base: 11
GrowthMinimum: 0
GrowthMaximum: 7
EvolutionMinimum: 480
EvolutionMaximum: 640
- Type: Str
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Agi
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Dex
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 50
- Type: Luk
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 100
SkillTree:
- Skill: HVAN_CAPRICE
MaxLevel: 5
- Skill: HVAN_CHAOTIC
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 3
- Skill: HVAN_INSTRUCT
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 5
- Skill: HVAN_EXPLOSION
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Lif2
Name: Lif
EvolutionClass: Lif_H2
Status:
- Type: Hp
Base: 150
GrowthMinimum: 60
GrowthMaximum: 100
EvolutionMinimum: 800
EvolutionMaximum: 2400
- Type: Sp
Base: 40
GrowthMinimum: 4
GrowthMaximum: 9
EvolutionMinimum: 220
EvolutionMaximum: 480
- Type: Str
Base: 17
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Agi
Base: 20
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 15
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 20
EvolutionMaximum: 40
- Type: Int
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 30
EvolutionMaximum: 50
- Type: Dex
Base: 24
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Luk
Base: 12
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
SkillTree:
- Skill: HLIF_HEAL
MaxLevel: 5
- Skill: HLIF_AVOID
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 3
- Skill: HLIF_BRAIN
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 5
- Skill: HLIF_CHANGE
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Amistr2
Name: Amistr
EvolutionClass: Amistr_H2
Food: Zargon
Race: Brute
Status:
- Type: Hp
Base: 320
GrowthMinimum: 80
GrowthMaximum: 130
EvolutionMinimum: 1600
EvolutionMaximum: 3600
- Type: Sp
Base: 10
GrowthMinimum: 1
GrowthMaximum: 4
EvolutionMinimum: 120
EvolutionMaximum: 360
- Type: Str
Base: 20
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Agi
Base: 17
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Dex
Base: 24
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Luk
Base: 12
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
SkillTree:
- Skill: HAMI_CASTLE
MaxLevel: 5
- Skill: HAMI_DEFENCE
MaxLevel: 5
Required:
- Skill: HAMI_CASTLE
Level: 5
- Skill: HAMI_SKIN
MaxLevel: 5
Required:
- Skill: HAMI_DEFENCE
Level: 3
- Skill: HAMI_BLOODLUST
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Filir2
Name: Filir
EvolutionClass: Filir_H2
Food: Garlet
Race: Brute
Status:
- Type: Hp
Base: 90
GrowthMinimum: 45
GrowthMaximum: 75
EvolutionMinimum: 1200
EvolutionMaximum: 3200
- Type: Sp
Base: 25
GrowthMinimum: 3
GrowthMaximum: 6
EvolutionMinimum: 200
EvolutionMaximum: 400
- Type: Str
Base: 29
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Agi
Base: 35
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 9
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Int
Base: 8
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Dex
Base: 30
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Luk
Base: 9
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 10
EvolutionMaximum: 30
SkillTree:
- Skill: HFLI_MOON
MaxLevel: 5
- Skill: HFLI_FLEET
MaxLevel: 5
Required:
- Skill: HFLI_MOON
Level: 3
- Skill: HFLI_SPEED
MaxLevel: 5
Required:
- Skill: HFLI_FLEET
Level: 3
- Skill: HFLI_SBR44
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Vanilmirth2
Name: Vanilmirth
EvolutionClass: Vanilmirth_H2
Food: Scell
Race: Formless
Status:
- Type: Hp
Base: 80
GrowthMinimum: 30
GrowthMaximum: 150
EvolutionMinimum: 1200
EvolutionMaximum: 4800
- Type: Sp
Base: 11
GrowthMinimum: 0
GrowthMaximum: 7
EvolutionMinimum: 480
EvolutionMaximum: 640
- Type: Str
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Agi
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Vit
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 30
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 20
EvolutionMaximum: 50
- Type: Dex
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 50
- Type: Luk
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 10
EvolutionMaximum: 100
SkillTree:
- Skill: HVAN_CAPRICE
MaxLevel: 5
- Skill: HVAN_CHAOTIC
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 3
- Skill: HVAN_INSTRUCT
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 5
- Skill: HVAN_EXPLOSION
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Eira
Name: Eira
Food: Small_Snow_Flower
Race: Angel
Element: Wind
Size: Medium
Status:
- Type: Hp
Base: 150
GrowthMinimum: 40
GrowthMaximum: 160
- Type: Sp
Base: 40
GrowthMinimum: 20
GrowthMaximum: 42
- Type: Str
Base: 17
GrowthMinimum: 13
GrowthMaximum: 39
- Type: Agi
Base: 20
GrowthMinimum: 28
GrowthMaximum: 42
- Type: Vit
Base: 15
GrowthMinimum: 15
GrowthMaximum: 25
- Type: Int
Base: 35
GrowthMinimum: 14
GrowthMaximum: 48
- Type: Dex
Base: 24
GrowthMinimum: 16
GrowthMaximum: 36
- Type: Luk
Base: 12
GrowthMinimum: 9
GrowthMaximum: 18
SkillTree:
- Skill: MH_LIGHT_OF_REGENE
MaxLevel: 5
RequiredLevel: 128
- Skill: MH_OVERED_BOOST
MaxLevel: 5
RequiredLevel: 114
- Skill: MH_ERASER_CUTTER
MaxLevel: 10
RequiredLevel: 106
- Skill: MH_XENO_SLASHER
MaxLevel: 10
RequiredLevel: 121
- Skill: MH_SILENT_BREEZE
MaxLevel: 5
RequiredLevel: 137
- Skill: MH_CLASSY_FLUTTER
MaxLevel: 10
RequiredLevel: 210
- Skill: MH_TWISTER_CUTTER
MaxLevel: 10
RequiredLevel: 215
- Skill: MH_ABSOLUTE_ZEPHYR
MaxLevel: 10
RequiredLevel: 230
- Class: Bayeri
Name: Bayeri
Food: Fresh_Plant
Race: Brute
Element: Holy
Size: Medium
Status:
- Type: Hp
Base: 320
GrowthMinimum: 90
GrowthMaximum: 360
- Type: Sp
Base: 10
GrowthMinimum: 48
GrowthMaximum: 52
- Type: Str
Base: 20
GrowthMinimum: 18
GrowthMaximum: 36
- Type: Agi
Base: 17
GrowthMinimum: 8
GrowthMaximum: 36
- Type: Vit
Base: 35
GrowthMinimum: 16
GrowthMaximum: 32
- Type: Int
Base: 11
GrowthMinimum: 22
GrowthMaximum: 44
- Type: Dex
Base: 24
GrowthMinimum: 12
GrowthMaximum: 24
- Type: Luk
Base: 12
GrowthMinimum: 20
GrowthMaximum: 36
SkillTree:
- Skill: MH_STAHL_HORN
MaxLevel: 10
RequiredLevel: 105
- Skill: MH_GOLDENE_FERSE
MaxLevel: 5
RequiredLevel: 112
- Skill: MH_STEINWAND
MaxLevel: 5
RequiredLevel: 121
- Skill: MH_HEILIGE_STANGE
MaxLevel: 10
RequiredLevel: 138
- Skill: MH_ANGRIFFS_MODUS
MaxLevel: 5
RequiredLevel: 130
- Skill: MH_LICHT_GEHORN
MaxLevel: 10
RequiredLevel: 210
- Skill: MH_GLANZEN_SPIES
MaxLevel: 10
RequiredLevel: 215
- Skill: MH_HEILIGE_PFERD
MaxLevel: 10
RequiredLevel: 230
- Skill: MH_GOLDENE_TONE
MaxLevel: 10
RequiredLevel: 230
- Class: Sera
Name: Sera
Food: Apple_Pudding
Race: Insect
Element: Earth
Size: Medium
Status:
- Type: Hp
Base: 90
GrowthMinimum: 60
GrowthMaximum: 240
- Type: Sp
Base: 25
GrowthMinimum: 36
GrowthMaximum: 64
- Type: Str
Base: 29
GrowthMinimum: 10
GrowthMaximum: 25
- Type: Agi
Base: 35
GrowthMinimum: 16
GrowthMaximum: 32
- Type: Vit
Base: 9
GrowthMinimum: 5
GrowthMaximum: 25
- Type: Int
Base: 8
GrowthMinimum: 7
GrowthMaximum: 35
- Type: Dex
Base: 30
GrowthMinimum: 28
GrowthMaximum: 40
- Type: Luk
Base: 9
GrowthMinimum: 20
GrowthMaximum: 40
SkillTree:
- Skill: MH_SUMMON_LEGION
MaxLevel: 5
RequiredLevel: 132
- Skill: MH_NEEDLE_OF_PARALYZE
MaxLevel: 10
RequiredLevel: 105
- Skill: MH_POISON_MIST
MaxLevel: 5
RequiredLevel: 116
- Skill: MH_PAIN_KILLER
MaxLevel: 10
RequiredLevel: 123
- Skill: MH_POLISHING_NEEDLE
MaxLevel: 10
RequiredLevel: 210
- Skill: MH_TOXIN_OF_MANDARA
MaxLevel: 10
RequiredLevel: 215
- Skill: MH_NEEDLE_STINGER
MaxLevel: 10
RequiredLevel: 230
- Class: Dieter
Name: Dieter
Food: Big_Cell
Race: Formless
Element: Fire
Size: Medium
Status:
- Type: Hp
Base: 80
GrowthMinimum: 240
GrowthMaximum: 480
- Type: Sp
Base: 11
GrowthMinimum: 40
GrowthMaximum: 120
- Type: Str
Base: 11
GrowthMinimum: 20
GrowthMaximum: 40
- Type: Agi
Base: 11
GrowthMinimum: 13
GrowthMaximum: 26
- Type: Vit
Base: 11
GrowthMinimum: 18
GrowthMaximum: 36
- Type: Int
Base: 11
GrowthMinimum: 15
GrowthMaximum: 40
- Type: Dex
Base: 11
GrowthMinimum: 16
GrowthMaximum: 32
- Type: Luk
Base: 11
GrowthMinimum: 4
GrowthMaximum: 16
SkillTree:
- Skill: MH_MAGMA_FLOW
MaxLevel: 5
RequiredLevel: 122
- Skill: MH_GRANITIC_ARMOR
MaxLevel: 5
RequiredLevel: 116
- Skill: MH_LAVA_SLIDE
MaxLevel: 10
RequiredLevel: 109
- Skill: MH_PYROCLASTIC
MaxLevel: 10
RequiredLevel: 131
- Skill: MH_VOLCANIC_ASH
MaxLevel: 5
RequiredLevel: 102
- Skill: MH_BLAST_FORGE
MaxLevel: 10
RequiredLevel: 215
- Skill: MH_TEMPERING
MaxLevel: 10
RequiredLevel: 230
- Skill: MH_BLAZING_LAVA
MaxLevel: 10
RequiredLevel: 210
- Class: Eleanor
Name: Eleanor
Food: Bun_
Element: Poison
Size: Medium
Status:
- Type: Hp
Base: 320
GrowthMinimum: 60
GrowthMaximum: 300
- Type: Sp
Base: 10
GrowthMinimum: 10
GrowthMaximum: 20
- Type: Str
Base: 20
GrowthMinimum: 20
GrowthMaximum: 40
- Type: Agi
Base: 17
GrowthMinimum: 10
GrowthMaximum: 50
- Type: Vit
Base: 35
GrowthMinimum: 24
GrowthMaximum: 48
- Type: Int
Base: 11
GrowthMinimum: 5
GrowthMaximum: 15
- Type: Dex
Base: 24
GrowthMinimum: 12
GrowthMaximum: 36
- Type: Luk
Base: 12
GrowthMinimum: 2
GrowthMaximum: 10
SkillTree:
- Skill: MH_STYLE_CHANGE
MaxLevel: 1
RequiredLevel: 100
- Skill: MH_SONIC_CRAW
MaxLevel: 5
RequiredLevel: 100
- Skill: MH_SILVERVEIN_RUSH
MaxLevel: 10
RequiredLevel: 114
- Skill: MH_MIDNIGHT_FRENZY
MaxLevel: 10
RequiredLevel: 128
- Skill: MH_TINDER_BREAKER
MaxLevel: 5
RequiredLevel: 100
- Skill: MH_CBC
MaxLevel: 5
RequiredLevel: 112
- Skill: MH_EQC
MaxLevel: 5
RequiredLevel: 133
- Skill: MH_BRUSHUP_CLAW
MaxLevel: 10
RequiredLevel: 210
- Skill: MH_BLAZING_AND_FURIOUS
MaxLevel: 10
RequiredLevel: 215
- Skill: MH_THE_ONE_FIGHTER_RISES
MaxLevel: 10
RequiredLevel: 230

View File

@@ -375,204 +375,3 @@ Body:
Map: 1@begi
X: 100
Y: 22
- Id: 49
Name: Old Glast Heim (Challenge Mode)
Enter:
Map: 1@gl_he
X: 150
Y: 28
- Id: 50
Name: Old Glast Heim (Beginner)
Enter:
Map: 1@gl_k2
X: 150
Y: 20
- Id: 51
Name: Fall of Glast Heim (Normal)
Enter:
Map: 1@gl_prq
X: 299
Y: 19
- Id: 52
Name: Fall of Glast Heim (Advanced)
Enter:
Map: 1@gl_prq
X: 79
Y: 22
- Id: 53
Name: Twilight Garden
Enter:
Map: 1@bamn
X: 100
Y: 320
AdditionalMaps:
1@bamq: true
- Id: 54
Name: Hey! Sweety
Enter:
Map: 1@bamq
X: 16
Y: 39
AdditionalMaps:
1@bamn: true
- Id: 55
Name: Farm Lost in Time
Enter:
Map: 1@lost
X: 161
Y: 42
- Id: 56
Name: Water Garden
Enter:
Map: 1@ghg
X: 64
Y: 69
- Id: 57
Name: Water Garden Hard
Enter:
Map: 1@ghg
X: 64
Y: 69
- Id: 58
Name: Hidden Flower Garden
Enter:
Map: 1@herbs
X: 51
Y: 273
- Id: 59
Name: Security Area 1
Enter:
Map: 1@herbs
X: 45
Y: 208
- Id: 60
Name: Security Area 2
Enter:
Map: 1@herbs
X: 59
Y: 214
- Id: 61
Name: Sunken Tower
Enter:
Map: 1@ch_u
X: 13
Y: 59
- Id: 62
Name: Constellation Tower
Enter:
Map: 1@ch_t
X: 48
Y: 183
AdditionalMaps:
2@ch_t: true
3@ch_t: true
- Id: 63
Name: Tomb of Remorse
Enter:
Map: 1@spa2
X: 51
Y: 197
- Id: 64
Name: Geffen Night Arena
Enter:
Map: 1@ge_sn
X: 89
Y: 48
- Id: 65
Name: Airship Crash
Enter:
Map: 1@mjo1
X: 219
Y: 379
AdditionalMaps:
1@mjo2: true
- Id: 66
Name: Thanatos Tower
Enter:
Map: 1@thts
X: 74
Y: 371
AdditionalMaps:
2@thts: true
3@thts: true
4@thts: true
5@thts: true
6@thts: true
7@thts: true
8@thts: true
- Id: 67
Name: The Maze of Oz
Enter:
Map: 1@oz
X: 284
Y: 167
- Id: 68
Name: Thor Gunsu Base
Enter:
Map: 1@tcamp
X: 103
Y: 237
- Id: 69
Name: A Gathering Place of Wolves
Enter:
Map: 1@nyr
X: 194
Y: 30
AdditionalMaps:
2@nyr: true
- Id: 70
Name: Sanctuary Purification
Enter:
Map: 1@nyr
X: 194
Y: 30
AdditionalMaps:
2@nyr: true
- Id: 71
Name: Villa of High Priest
Enter:
Map: 1@adv
X: 123
Y: 17
- Id: 72
Name: Villa of Deception
Enter:
Map: 1@advs
X: 111
Y: 19
- Id: 73
Name: Villa of Deception Advanced
Enter:
Map: 1@advs
X: 111
Y: 19
- Id: 74
Name: Bagot Laboratory
Enter:
Map: 1@jorlab
X: 57
Y: 45
- Id: 75
Name: Confused Snake's Nest
Enter:
Map: 1@jorchs
X: 272
Y: 20
- Id: 76
Name: Iwin Patrol
Enter:
Map: 1@iwp
X: 380
Y: 229
- Id: 77
Name: Airship Destruction
Enter:
Map: 1@whl
X: 32
Y: 53
- Id: 78
Name: Simulation Battle
Enter:
Map: 1@jorlab
X: 57
Y: 45

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -66,60 +66,6 @@
11547,1 // Woe_Violet_Potion
12600,1 // Treasure_Box_Scroll
// Lesser Guild Member's Gear
2052,1 // Woe_T_Staff1_Z
1329,1 // Woe_One_Hand_Axe1_Z
28751,1 // Woe_Knife1_Z
32103,1 // Woe_Instrument1_Z
26210,1 // Woe_Whip1_Z
26019,1 // Woe_T_Lance1_Z
16085,1 // Woe_Club_1_Z
26147,1 // Woe_Wand1_Z
28036,1 // Woe_Katar1_Z
26146,1 // Woe_Healstaff1_Z
21044,1 // Woe_Twohand_Sword1_Z
28133,1 // Woe_Twohand_Axe1_Z
32015,1 // Woe_Onehand_Spear1_Z
18175,1 // Woe_Bow1_Z
13490,1 // Woe_Onehand_Sword1_Z
650000,1 // Woe_Huuma1_Z
1859,1 // Woe_Pist1_Z
22148,1 // Siege_Greave_1Tier
15216,1 // Siege_Robe_1Tier
20865,1 // Siege_Muffler_1Tier
20864,1 // Siege_Manteau_1Tier
22147,1 // Siege_Boots_1Tier
22146,1 // Siege_Shoes_1Tier
15217,1 // Siege_Suits_1Tier
15218,1 // Siege_Plate_1Tier
// Intermediate Guild Member's Gear
520001,1 // Woe_One_Hand_Axe2_Z
570003,1 // Woe_Instrument2_Z
580003,1 // Woe_Whip2_Z
510005,1 // Woe_Knife2_Z
630001,1 // Woe_T_Lance2_Z
590004,1 // Woe_Club_2_Z
550005,1 // Woe_Wand2_Z
610004,1 // Woe_Katar2_Z
550004,1 // Woe_Healstaff2_Z
600005,1 // Woe_Twohand_Sword2_Z
620001,1 // Woe_Twohand_Axe2_Z
640001,1 // Woe_T_Staff2_Z
530001,1 // Woe_Onehand_Spear2_Z
650001,1 // Woe_Huuma2_Z
500006,1 // Woe_Onehand_Sword2_Z
560003,1 // Woe_Pist2_Z
700005,1 // Woe_Bow2_Z
450012,1 // Siege_Robe_2Tier
470011,1 // Siege_Shoes_2Tier
450014,1 // Siege_Plate_2Tier
450013,1 // Siege_Suits_2Tier
470012,1 // Siege_Boots_2Tier
480007,1 // Siege_Muffler_2Tier
480008,1 // Siege_Manteau_2Tier
470013,1 // Siege_Greave_2Tier
//----------------------------------------------------------------------------
// PVP
//----------------------------------------------------------------------------
@@ -263,60 +209,6 @@
12600,16 // Treasure_Box_Scroll
14590,16 // Pty_Assumptio_Scroll
// Lesser Guild Member's Gear
2052,16 // Woe_T_Staff1_Z
1329,16 // Woe_One_Hand_Axe1_Z
28751,16 // Woe_Knife1_Z
32103,16 // Woe_Instrument1_Z
26210,16 // Woe_Whip1_Z
26019,16 // Woe_T_Lance1_Z
16085,16 // Woe_Club_1_Z
26147,16 // Woe_Wand1_Z
28036,16 // Woe_Katar1_Z
26146,16 // Woe_Healstaff1_Z
21044,16 // Woe_Twohand_Sword1_Z
28133,16 // Woe_Twohand_Axe1_Z
32015,16 // Woe_Onehand_Spear1_Z
18175,16 // Woe_Bow1_Z
13490,16 // Woe_Onehand_Sword1_Z
650000,16 // Woe_Huuma1_Z
1859,16 // Woe_Pist1_Z
22148,16 // Siege_Greave_1Tier
15216,16 // Siege_Robe_1Tier
20865,16 // Siege_Muffler_1Tier
20864,16 // Siege_Manteau_1Tier
22147,16 // Siege_Boots_1Tier
22146,16 // Siege_Shoes_1Tier
15217,16 // Siege_Suits_1Tier
15218,16 // Siege_Plate_1Tier
// Intermediate Guild Member's Gear
520001,16 // Woe_One_Hand_Axe2_Z
570003,16 // Woe_Instrument2_Z
580003,16 // Woe_Whip2_Z
510005,16 // Woe_Knife2_Z
630001,16 // Woe_T_Lance2_Z
590004,16 // Woe_Club_2_Z
550005,16 // Woe_Wand2_Z
610004,16 // Woe_Katar2_Z
550004,16 // Woe_Healstaff2_Z
600005,16 // Woe_Twohand_Sword2_Z
620001,16 // Woe_Twohand_Axe2_Z
640001,16 // Woe_T_Staff2_Z
530001,16 // Woe_Onehand_Spear2_Z
650001,16 // Woe_Huuma2_Z
500006,16 // Woe_Onehand_Sword2_Z
560003,16 // Woe_Pist2_Z
700005,16 // Woe_Bow2_Z
450012,16 // Siege_Robe_2Tier
470011,16 // Siege_Shoes_2Tier
450014,16 // Siege_Plate_2Tier
450013,16 // Siege_Suits_2Tier
470012,16 // Siege_Boots_2Tier
480007,16 // Siege_Muffler_2Tier
480008,16 // Siege_Manteau_2Tier
470013,16 // Siege_Greave_2Tier
//----------------------------------------------------------------------------
// Zone 1 - Aldebaran Turbo Track
//----------------------------------------------------------------------------

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -726,7 +726,7 @@ Body:
- Item: Gunslinger_Enchant
RewardGroup: GUNSLINGER_ENCHANT
Requirements:
- Item: Droop_Gunslinger
- Item: Drooping_Rebellion_
- Item: EnchantStone_Recipe
RewardGroup: ENCHANTSTONE_RECIPE
RequiredRequirementsCount: 3
@@ -814,10 +814,10 @@ Body:
- Item: MaxHP_Stone
- Item: ShrinkEffect_Bottom
- Item: ElectricEffect_Top
- Item: Upg_SPdrainStone_Top
- Item: Upg_HPdrainStone_Top
- Item: Upg_SPdrainStone_Robe
- Item: Upg_HPdrainStone_Robe
- Item: SPAbsorb_Stone_Top
- Item: HPAbsorb_Stone_Top
- Item: SPAbsorb_Stone_Robe
- Item: HPAbsorb_Stone_Robe
- Item: WaterFieldEffect_Bottom
- Item: ExplodingEffect_Middle
- Item: WhiteBodyEffect_Middle
@@ -1345,19 +1345,19 @@ Body:
Amount: 10
- Item: Shabby_Crown
Amount: 10
- Item: Stone_Of_Chill
- Item: Cold_Core
Amount: 10
- Item: Soften_Skin
- Item: Silicone_Shell
Amount: 10
- Item: Porcupine_Big_Spike
- Item: Hedgehog_Picks
Amount: 10
- Item: Shabby_Old_Belt
- Item: Old_Belt
Amount: 10
- Item: Moving_Black_Things
- Item: Moving_Dark_Matter
Amount: 10
- Item: Valkyrie_Fragment
- Item: Fragments_Valkyrie_Power
Amount: 10
- Item: Will_Of_Owner
- Item: Will_Master
Amount: 10
- Item: Piece_Of_Chimera
Amount: 10
@@ -1385,19 +1385,19 @@ Body:
Amount: 10
- Item: BrownRatTail
Amount: 10
- Item: Frozen_PieceOfRock
- Item: Frozen_Stone_Fragment
Amount: 10
- Item: SpritJewel
Amount: 10
- Item: Snowball
Amount: 10
- Item: KTULLANUXsEye
- Item: Ktullanux_Eye
Amount: 10
- Item: HazyDream
- Item: Hazy_Dream_Fragment
Amount: 10
- Item: BrokenArrow
- Item: Broken_Arrow
Amount: 10
- Item: SubjugationFlyer
- Item: Recruitment_Leaflet
Amount: 10
- Item: IllusoryStone
Amount: 10
@@ -1415,9 +1415,9 @@ Body:
Amount: 10
- Item: SuspiciousMagicCircle
Amount: 10
- Item: PieceOfBlackSpirit
- Item: Piece_of_Black_Horn
Amount: 10
- Item: OldDoll
- Item: Fine_Old_Doll
Amount: 10
- Item: OldShell
Amount: 10
@@ -1573,7 +1573,7 @@ Body:
- Item: C_Loose_Wave_Twin_BL
- Item: C_Cupid_Wing_Pink
- Item: C_Pecopeco_Cap
- Item: C_Woodie_Hat
- Item: C_Green_Hat
- Item: C_Little_Aquarium
- Item: C_Angel_Fluttering
- Item: C_Niflheim_Bunny_Hat
@@ -1590,9 +1590,9 @@ Body:
- Item: C_Morocc_Kid_Servant
- Item: C_Monochrome_RibbonHat
- Item: C_Khalitzburg_KN_Helm
- Item: C_Laser_Of_Eagle
- Item: C_Laser_of_Eagle
- Item: C_Devil_Wing
- Item: C_Tone_Of_Gold
- Item: C_Tone_of_Gold
- Item: C_Dwarf_Beard
- Item: C_Mad_Hatter
- Item: C_Cons_Of_Water
@@ -1753,14 +1753,14 @@ Body:
- Item: C_Royalguard_Necklace
- Item: C_Happy_Cat_TW
- Item: C_Monochrome_Cap
- Item: C_Sky_Of_Memory
- Item: C_Sky_of_Memory
- Item: C_Ice_Wing
- Item: C_Under_Rim_Glasses_Bu
- Item: C_Under_Rim_Glasses_Blue
- Item: C_Gimmick_One_Feather
- Item: C_PocketWatch_Hair_Orna
- Item: C_Pocketwatch_Hair_Ornament
- Item: C_Poring_Traffic_Light
- Item: C_PGstone_Knit_Hat_PK
- Item: C_Drooping_Nine_Tail
- Item: C_Lazy_Ninetail
- Item: C_Sakura_Wing
- Item: C_Looking
- Item: C_Wolf_Masquerade
@@ -1832,7 +1832,7 @@ Body:
- Item: C_Triple_Ice_Cream
- Item: C_Wrapping_Ribbon
- Item: C_Bear_Head
- Item: C_Preschool_Hat
- Item: C_Kindergarten_Hat
- Item: C_Poulet_TW
- Item: C_Avenger
- Item: C_WitchManteau
@@ -1840,16 +1840,16 @@ Body:
- Item: C_Gothic_Pumpkin_Head
- Item: C_Barrel_Helm
- Item: C_White_Cat_On_Shoulder
- Item: C_Rabbit_Hopping_BL
- Item: C_Black_Rabbit_Ears
- Item: C_G_DaeHyon_Sword_TW
- Item: C_Cat_Ears_Cape_Red
- Item: C_Debril_Doll_Hat
- Item: C_Sheep_Hat
- Item: C_Tare_W_Doll
- Item: C_Goat_Hat
- Item: C_Put_On_Coat
- Item: C_Pink_Pajamas_Hat
- Item: C_L_RibbonMuff_Black
- Item: C_Black_Cat_Ears_Beret
- Item: C_Teardrop
- Item: C_Watery_Eyes
- Item: Fan_Upgrade_Kit
RewardGroup: FAN_UPGRADE_KIT
Requirements:
@@ -1857,11 +1857,11 @@ Body:
- Item: Suit_Upgrade_Kit
RewardGroup: SUIT_UPGRADE_KIT
Requirements:
- Item: Kafra_Suit
- Item: Kafra_Uniform
- Item: FallenAngelWing_Reset
RewardGroup: SCROLL_OF_FALLEN_ANGEL_WINGS
Requirements:
- Item: K_Fallen_Angel_Wing
- Item: Fallen_Angel_Wings_
- Item: Fallen_Angel_Wing
- Item: JobShadow_Mix_Weapon
RewardGroup: CLASS_SHADOW_BOX_WEAPON
@@ -2051,15 +2051,15 @@ Body:
- Item: Candy_Bag_Scroll_Melee
RewardGroup: CANDY_BAG_SCROLL_MELEE
Requirements:
- Item: Bag_Of_Antonio_Melee
- Item: Bag_Of_Antonio_P
- Item: Candy_Bag_Scroll_Range
RewardGroup: CANDY_BAG_SCROLL_RANGE
Requirements:
- Item: Bag_Of_Antonio_Range
- Item: Bag_Of_Antonio_S
- Item: Candy_Bag_Scroll_Magic
RewardGroup: CANDY_BAG_SCROLL_MAGIC
Requirements:
- Item: Bag_Of_Antonio_Magic
- Item: Bag_Of_Antonio_
- Item: Booster_Amplifier
RewardGroup: BOOSTER_AMPLIFIER
Requirements:
@@ -4550,265 +4550,3 @@ Body:
# Amount: 30
# - Item: Zelunium
# Amount: 250
# - Item: Bs_Item_M_S_60
# RewardGroup: BS_ITEM_M_S_60
# RequiredRequirementsCount: 2
# Requirements:
# - Item: EP20_D_Scale
# Amount: 30
# - Item: Zelunium
# Amount: 250
# - Item: Bs_Item_M_S_61
# RewardGroup: BS_ITEM_M_S_61
# RequiredRequirementsCount: 2
# Requirements:
# - Item: Will_Of_Darkness_
# Amount: 30
# - Item: Zelunium
# Amount: 250
# - Item: Bs_Item_M_S_62
# RewardGroup: BS_ITEM_M_S_62
# RequiredRequirementsCount: 2
# Requirements:
# - Item: EP19_Luminant
# Amount: 30
# - Item: Zelunium
# Amount: 250
# - Item: Bs_Item_M_S_63
# RewardGroup: BS_ITEM_M_S_63
# RequiredRequirementsCount: 2
# Requirements:
# - Item: EP19_D_P_Stone
# Amount: 30
# - Item: Zelunium
# Amount: 250
# - Item: Mocadas_Slabs1
# RewardGroup: MOCADAS_SLABS1
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs2
# RewardGroup: MOCADAS_SLABS2
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs3
# RewardGroup: MOCADAS_SLABS3
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs4
# RewardGroup: MOCADAS_SLABS4
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs5
# RewardGroup: MOCADAS_SLABS5
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs6
# RewardGroup: MOCADAS_SLABS6
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs7
# RewardGroup: MOCADAS_SLABS7
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs8
# RewardGroup: MOCADAS_SLABS8
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs9
# RewardGroup: MOCADAS_SLABS9
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs10
# RewardGroup: MOCADAS_SLABS10
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs11
# RewardGroup: MOCADAS_SLABS11
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs12
# RewardGroup: MOCADAS_SLABS12
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs13
# RewardGroup: MOCADAS_SLABS13
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs14
# RewardGroup: MOCADAS_SLABS14
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs15
# RewardGroup: MOCADAS_SLABS15
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs16
# RewardGroup: MOCADAS_SLABS16
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs17
# RewardGroup: MOCADAS_SLABS17
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 50
# - Item: Mocadas_Water
# Amount: 50
# - Item: Crystal_Of_Pollution
# Amount: 50
# - Item: Mocadas_Slabs18
# RewardGroup: MOCADAS_SLABS18
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 50
# - Item: Mocadas_Water
# Amount: 50
# - Item: Crystal_Of_Pollution
# Amount: 50
# - Item: Mocadas_Slabs19
# RewardGroup: MOCADAS_SLABS19
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs20
# RewardGroup: MOCADAS_SLABS20
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs21
# RewardGroup: MOCADAS_SLABS21
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs22
# RewardGroup: MOCADAS_SLABS22
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100
# - Item: Mocadas_Slabs23
# RewardGroup: MOCADAS_SLABS23
# RequiredRequirementsCount: 3
# Requirements:
# - Item: Mocadas_Gold
# Amount: 100
# - Item: Mocadas_Water
# Amount: 100
# - Item: Crystal_Of_Pollution
# Amount: 100

File diff suppressed because it is too large Load Diff

View File

@@ -27,7 +27,7 @@
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item, n/100000.
# Rate Drop rate of item.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
# SpecificDrops Drops for specific monsters on this map. (Default: empty)
# - Monster Monster name.
@@ -35,173 +35,10 @@
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item, n/100000.
# Rate Drop rate of item.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
###########################################################################
Header:
Type: MAP_DROP_DB
Version: 2
Body:
- Map: tur_d03_i
SpecificDrops:
- Monster: ILL_ASSULTER
Drops:
- Index: 0
Item: IllusionStone
Rate: 10
- Index: 1
Item: Huuma_Bird_Wing_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_PERMETER
Drops:
- Index: 0
Item: Fancy_Flower_IL
Rate: 25
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_FREEZER
Drops:
- Index: 0
Item: Immaterial_Sword_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_SOLIDER
Drops:
- Index: 0
Item: Iron_Driver_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: War_Axe_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 3
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_HEATER
Drops:
- Index: 0
Item: Pole_Axe_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Map: tur_d04_i
SpecificDrops:
- Monster: ILL_ASSULTER
Drops:
- Index: 0
Item: IllusionStone
Rate: 10
- Index: 1
Item: Huuma_Bird_Wing_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_PERMETER
Drops:
- Index: 0
Item: Fancy_Flower_IL
Rate: 25
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_FREEZER
Drops:
- Index: 0
Item: Immaterial_Sword_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_SOLIDER
Drops:
- Index: 0
Item: Iron_Driver_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: War_Axe_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 3
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_HEATER
Drops:
- Index: 0
Item: Pole_Axe_IL
Rate: 25
RandomOptionGroup: ILL_PHYSIC_NORMAL
- Index: 1
Item: IllusionStone
Rate: 10
- Index: 2
Item: Turtle_Is_Box_IL
Rate: 5
- Monster: ILL_TURTLE_GENERAL
Drops:
- Index: 0
Item: Fancy_Flower_IL
Rate: 5000
- Index: 1
Item: Immaterial_Sword_IL
Rate: 5000
RandomOptionGroup: ILL_PHYSIC_BOSS
- Index: 2
Item: Iron_Driver_IL
Rate: 5000
RandomOptionGroup: ILL_PHYSIC_BOSS
- Index: 3
Item: Pole_Axe_IL
Rate: 5000
RandomOptionGroup: ILL_PHYSIC_BOSS
- Index: 4
Item: IllusionStone
Rate: 15000
- Index: 5
Item: War_Axe_IL
Rate: 5000
RandomOptionGroup: ILL_PHYSIC_BOSS
- Index: 6
Item: Huuma_Bird_Wing_IL
Rate: 5000
RandomOptionGroup: ILL_PHYSIC_BOSS
- Index: 7
Item: S_Turtle_Is_Box_IL
Rate: 150
Version: 1

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -112,7 +112,7 @@ Body:
Amount: 1
- Target: SWEETS_DROPS
ItemRequirements:
- Item: Sweets_Coin
- Item: Sweets_Festival_Coin
Amount: 500
- Item: Candy
Amount: 50
@@ -168,6 +168,7 @@ Body:
Amount: 30
- Item: Leaf_Lunatic_Card
Amount: 1
- Mob: PICKY
TameItem: Earthworm_The_Dude
EggItem: Picky_Egg
@@ -1360,7 +1361,7 @@ Body:
- Mob: TEDDY_BEAR
TameItem: Little_Dall_Needle
EggItem: Teddy_Bear_Egg
FoodItem: Wad_Of_Cotton
FoodItem: Cotton_Tufts
Fullness: 3
IntimacyFed: 50
CaptureRate: 2000
@@ -1497,7 +1498,7 @@ Body:
}
- Mob: MOONLIGHT
EggItem: Moonlight_Egg
FoodItem: High_Class_Pet_food
FoodItem: Luxurious_Pet_Food
Fullness: 1
HungryDelay: 120
IntimacyFed: 15
@@ -1921,7 +1922,7 @@ Body:
bonus bAspdRate,1;
}
- Mob: SWEETS_DROPS
EggItem: Sweets_Drops_Egg
EggItem: Sweet_Drops_Egg
FoodItem: Candy
Fullness: 2
HungryDelay: 120
@@ -2059,7 +2060,7 @@ Body:
}
# - Mob: BACSOJIN2
# EggItem: Bacsojin2_Egg_
# FoodItem: High_Class_Pet_food
# FoodItem: Luxurious_Pet_Food
# Fullness: 7
# IntimacyFed: 10
# CaptureRate: 0
@@ -2082,7 +2083,7 @@ Body:
# }
# - Mob: ORK_HERO2
# EggItem: Orc_Hero_Egg_
# FoodItem: High_Class_Pet_food
# FoodItem: Luxurious_Pet_Food
# Fullness: 2
# HungryDelay: 120
# IntimacyFed: 15
@@ -2103,70 +2104,3 @@ Body:
# } else {
# bonus bAtkRate,1;
# }
# - Mob: PHREEONI2
# EggItem: Phreeoni_Egg
# FoodItem: High_Class_Pet_food
# Fullness: 2 # unknown
# HungryDelay: 120 # unknown
# IntimacyFed: 15 # unknown
# CaptureRate: 0 # unknown
# SpecialPerformance: false # unknown
# AllowAutoFeed: true
# Script: >
# .@intimate = getpetinfo(PETINFO_INTIMATE);
# if (.@intimate == PET_INTIMATE_AWKWARD || .@intimate == PET_INTIMATE_SHY) {
# bonus bHit,6;
# }
# if (.@intimate == PET_INTIMATE_NEUTRAL) {
# bonus bHit,10;
# bonus bPerfectHitRate,5;
# }
# if (.@intimate == PET_INTIMATE_CORDIAL) {
# bonus bHit,14;
# bonus bPerfectHitRate,10;
# }
# if (.@intimate == PET_INTIMATE_LOYAL) {
# bonus bHit,18;
# bonus bPerfectHitRate,15;
# }
- Mob: EP17_2_CHILD_ADMIN1
CaptureRate : 1000
EggItem: Ep17_2_C_Admin1_Egg
EquipItem: Ep_17_2_C_Admin1_Acc
FoodItem: Cloud_Cotton
Fullness: 2
IntimacyFed: 20
Script: >
.@i = getpetinfo(PETINFO_INTIMATE);
if (.@i >= PET_INTIMATE_LOYAL) {
bonus2 bAddRace2,RC2_EP172BETA,10;
} else if (.@i >= PET_INTIMATE_CORDIAL) {
bonus2 bAddRace2,RC2_EP172BETA,6;
} else if (.@i >= PET_INTIMATE_NEUTRAL) {
bonus2 bAddRace2,RC2_EP172BETA,3;
}
Evolution:
- Target: EP17_2_CHILD_ADMIN2
ItemRequirements:
- Item: Mystery_Piece
Amount: 10
- Item: Broken_Steel_Piece
Amount: 50
- Item: BarMealTicket
Amount: 500
- Mob: EP17_2_CHILD_ADMIN2
CaptureRate : 1000
EggItem: Ep17_2_C_Admin2_Egg
EquipItem: Ep_17_2_C_Admin2_Acc
FoodItem: Pet_Food
Fullness: 2
IntimacyFed: 20
Script: >
.@i = getpetinfo(PETINFO_INTIMATE);
if (.@i >= PET_INTIMATE_LOYAL) {
bonus2 bAddRace2,RC2_EP172ALPHA,15;
} else if (.@i >= PET_INTIMATE_CORDIAL) {
bonus2 bAddRace2,RC2_EP172ALPHA,8;
} else if (.@i >= PET_INTIMATE_NEUTRAL) {
bonus2 bAddRace2,RC2_EP172ALPHA,4;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -2057,8 +2057,8 @@ Body:
Flags:
NoSave: true
NoClearance: true
RequireWeapon: true
RemoveOnHermode: true
RequireNoWeapon: true
- Status: Spirit
Icon: EFST_SOULLINK
DurationLookup: SL_HIGH
@@ -5822,6 +5822,7 @@ Body:
NoBanishingBuster: true
NoClearance: true
SendVal1: true
NoForcedEnd: true
- Status: Angel_Protect
Icon: EFST_ANGEL_PROTECT
Flags:
@@ -8529,246 +8530,3 @@ Body:
NoClearance: true
- Status: WeaponBreaker
DurationLookup: NPC_WEAPONBRAKER
- Status: Tempering
Icon: EFST_TEMPERING
DurationLookup: MH_TEMPERING
CalcFlags:
Patk: true
- Status: Goldene_Tone
Icon: EFST_GOLDENE_TONE
DurationLookup: MH_GOLDENE_TONE
CalcFlags:
Res: true
Mres: true
- Status: Toxin_of_Mandara
Icon: EFST_TOXIN_OF_MANDARA
DurationLookup: MH_TOXIN_OF_MANDARA
Flags:
Debuff: true
CalcFlags:
Res: true
- Status: GRADUAL_GRAVITY
Icon: EFST_GRADUAL_GRAVITY
DurationLookup: NPC_GRADUAL_GRAVITY
Flags:
BlEffect: true
DisplayPc: true
NoDispell: true
NoClearance: true
- Status: ALL_STAT_DOWN
Icon: EFST_ALL_STAT_DOWN
DurationLookup: NPC_ALL_STAT_DOWN
CalcFlags:
Str: true
Agi: true
Vit: true
Int: true
Dex: true
Luk: true
Flags:
NoDispell: true
NoClearance: true
- Status: Killing_Aura
Icon: EFST_KILLING_AURA
DurationLookup: NPC_KILLING_AURA
Flags:
BlEffect: true
DisplayPc: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
- Status: DAMAGE_HEAL
Icon: EFST_DAMAGE_HEAL
DurationLookup: NPC_DAMAGE_HEAL
Flags:
NoDispell: true
- Status: IMMUNE_PROPERTY_NOTHING
Icon: EFST_IMMUNE_PROPERTY_NOTHING
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_WATER
Icon: EFST_IMMUNE_PROPERTY_WATER
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_GROUND
Icon: EFST_IMMUNE_PROPERTY_GROUND
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_FIRE
Icon: EFST_IMMUNE_PROPERTY_FIRE
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_WIND
Icon: EFST_IMMUNE_PROPERTY_WIND
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_POISON
Icon: EFST_IMMUNE_PROPERTY_POISON
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_SAINT
Icon: EFST_IMMUNE_PROPERTY_SAINT
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_DARKNESS
Icon: EFST_IMMUNE_PROPERTY_DARKNESS
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_TELEKINESIS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_TELEKINESIS
Icon: EFST_IMMUNE_PROPERTY_TELEKINESIS
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_UNDEAD: true
- Status: IMMUNE_PROPERTY_UNDEAD
Icon: EFST_IMMUNE_PROPERTY_UNDEAD
DurationLookup: NPC_IMMUNE_PROPERTY
Flags:
BlEffect: true
DisplayPc: true
EndOnStart:
IMMUNE_PROPERTY_NOTHING: true
IMMUNE_PROPERTY_WATER: true
IMMUNE_PROPERTY_GROUND: true
IMMUNE_PROPERTY_FIRE: true
IMMUNE_PROPERTY_WIND: true
IMMUNE_PROPERTY_POISON: true
IMMUNE_PROPERTY_SAINT: true
IMMUNE_PROPERTY_DARKNESS: true
IMMUNE_PROPERTY_TELEKINESIS: true
- Status: RELIEVE_ON
Icon: EFST_RELIEVE_DAMAGE
DurationLookup: NPC_RELIEVE_ON
Flags:
BlEffect: true
DisplayPc: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
EndOnStart:
Relieve_off: true
- Status: Relieve_off
DurationLookup: NPC_RELIEVE_OFF
Flags:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
EndOnStart:
Relieve_on: true
- Status: Rush_Quake1
Icon: EFST_RUSH_QUAKE1
DurationLookup: MT_RUSH_QUAKE
Flags:
BlEffect: true
Debuff: true
- Status: Rush_Quake2
Icon: EFST_RUSH_QUAKE2
DurationLookup: MT_RUSH_QUAKE
CalcFlags:
All: true

View File

@@ -304,10 +304,10 @@ Body:
- Index: 1
Value: 0
CostsHuman:
RequiredItem: Clothing_Dye_Coupon2
RequiredItem: Clothing_Dye_Coupon_II
RequiredItemBox: CCloth_Dye_Coupon2_Box
CostsDoram:
RequiredItem: Clothing_Dye_Coupon2
RequiredItem: Clothing_Dye_Coupon_II
RequiredItemBox: CCloth_Dye_Coupon2_Box
- Index: 2
Value: 2

View File

@@ -30,7 +30,7 @@ This list contains all available constants referenced in the 'bonus' commands.
RC2_Treasure, RC2_BioLab, RC2_Manuk, RC2_Splendide, RC2_Scaraba, RC2_OGH_ATK_DEF, RC2_OGH_Hidden,
RC2_Bio5_Swordman_Thief, RC2_Bio5_Acolyte_Merchant, RC2_Bio5_Mage_Archer, RC2_Bio5_MVP,
RC2_Clocktower, RC2_Thanatos, RC2_Faceworm, RC2_Hearthunter, RC2_Rockridge, RC2_Werner_Lab,
RC2_Temple_Demon, RC2_Illusion_Vampire, RC2_Malangdo, RC2_EP172ALPHA, RC2_EP172BETA, RC2_EP172BATH
RC2_Temple_Demon, RC2_Illusion_Vampire, RC2_Malangdo
* Class (c)
Class_Normal, Class_Boss, Class_Guardian, Class_All
@@ -322,11 +322,6 @@ bonus bIgnoreMDefEle,e; Disregard MDEF against enemies of element e
bonus2 bIgnoreDefClassRate,c,n; Disregard n% of the target's DEF if the target belongs to class c
bonus2 bIgnoreMdefClassRate,c,n; Disregard n% of the target's MDEF if the target belongs to class c
Ignore Res
----------
bonus2 bIgnoreResRaceRate,r,n; Disregard n% of the target's Res if the target belongs to race r
bonus2 bIgnoreMResRaceRate,r,n; Disregard n% of the target's MRes if the target belongs to race r
Experience
----------
bonus2 bExpAddRace,r,x; Increase exp gained by x% against enemies of race r

View File

@@ -212,8 +212,6 @@ ex: if your NPC is named 'Hunter#hunter1', it will be displayed as 'Hunter'
<from mapname>,<fromX>,<fromY>,<facing>%TAB%warp%TAB%<warp name>%TAB%<spanx>,<spany>,<to mapname>,<toX>,<toY>
<from mapname>,<fromX>,<fromY>,<facing>%TAB%warp2%TAB%<warp name>%TAB%<spanx>,<spany>,<to mapname>,<toX>,<toY>
<from mapname>,<fromX>,<fromY>,<facing>%TAB%warp(<state>)%TAB%<warp name>%TAB%<spanx>,<spany>,<to mapname>,<toX>,<toY>
<from mapname>,<fromX>,<fromY>,<facing>%TAB%warp2(<state>)%TAB%<warp name>%TAB%<spanx>,<spany>,<to mapname>,<toX>,<toY>
This will define a warp NPC that will warp a player between maps, and while most
arguments of that are obvious, some deserve special mention.
@@ -231,20 +229,10 @@ current scripts have a zero in there.
Unlike 'warp', 'warp2' will also be triggered by hidden player.
The basic state of the warp can be defined in <state>. Only one state can be defined at a time.
Duplicate warps (including instance warps) inherit the <state> of the original warp.
Valid <state> are:
CLOAKED Make the warp specified cloaked.
HIDDEN Make the warp specified hidden.
DISABLED Make the warp specified disabled.
** Define an NPC object.
<map name>,<x>,<y>,<facing>%TAB%script%TAB%<NPC Name>%TAB%<sprite id>,{<code>}
<map name>,<x>,<y>,<facing>%TAB%script%TAB%<NPC Name>%TAB%<sprite id>,<triggerX>,<triggerY>,{<code>}
<map name>,<x>,<y>,<facing>%TAB%script(<state>)%TAB%<NPC Name>%TAB%<sprite id>,{<code>}
<map name>,<x>,<y>,<facing>%TAB%script(<state>)%TAB%<NPC Name>%TAB%<sprite id>,<triggerX>,<triggerY>,{<code>}
This will place an NPC object on a specified map at the specified location, and
is a top-level command you will use the most in your custom scripting. The NPCs
@@ -258,8 +246,6 @@ degrees, where 0 means facing towards the top of the map. (So to turn the sprite
towards the bottom of the map, you use facing 4, and to make it look southeast
it's facing 5.)
<state> works like the warp <state> defined above, but for NPCs.
Sprite ID is the sprite number or constant used to display this particular NPC.
You may also use a monster's ID instead to display a monster sprite for this NPC.
It is possible to use a job sprite as well, but you must first define it as a
@@ -283,24 +269,6 @@ triggered. It may contain commands and function calls, descriptions of which
compose most of this document. It has to be in curly brackets, unlike elsewhere
where we use curly brackets, these do NOT signify an optional parameter.
Example of how <state> works:
// Define a cloaked NPC :
lighthalzen,306,267,5 script Skia#ep162_04 4_EP16_SKIA,{
//...
end;
OnInit:
cloakonnpc();
end;
}
// Another way to define a cloaked NPC using <state> :
lighthalzen,306,267,5 script(CLOAKED) Skia#ep162_04 4_EP16_SKIA,{
//...
end;
}
** Define a 'floating' NPC object.
-%TAB%script%TAB%<NPC Name>%TAB%-1,{<code>}
@@ -1159,17 +1127,13 @@ In 2015 the tag name was changed to <ITEM> resulting in the following syntax:
<ITEM>Display Name<INFO>Item ID</INFO></ITEM>
We therefore created script command "mesitemlink" that allows you to create the correct syntax
depending on your configured packet version. We recommend that you use this script command
instead of hardcoding the HTML-like tags. For more details see the documentation for "mesitemlink".
The following sample will open a preview window for Red Potion:
mes "Did you ever consume a <ITEMLINK>Red Potion<INFO>501</INFO></ITEMLINK>?";
// Or in 2015:
mes "Did you ever consume a <ITEM>Red Potion<INFO>501</INFO></ITEM>?";
NOTE: Be aware that item links are broken in some 2015 clients.
NOTE: Be aware that item links are rendered incorrectly in 2015+ clients at the moment.
URLs
----
@@ -4446,6 +4410,7 @@ you have maximum. Like 'heal', this will not call up any animations or effects.
*recovery <type>{,<option>,<revive_flag>{,<map name>}};
This command will revive and fully restore the HP/SP of the selected characters.
It returns 1 upon successful use.
<type> is the target, and determines the <option> parameter:
0: Player -> Character ID number
@@ -6483,7 +6448,8 @@ the invoking character. Example can be found in the wedding script.
This function will "un-marry" the invoking character from whoever they were
married to. Both will no longer be each other's marriage partner, (at least in
current SVN, which prevents the cases of multi-spouse problems).
current SVN, which prevents the cases of multi-spouse problems). It will return
1 upon success or 0 if the character was not married at all.
This function will also destroy both wedding rings and send a message to both
players, telling them they are now divorced.
@@ -7068,6 +7034,9 @@ the invoking NPC's actions, such as using an emotion or talking.
Whichever of the both NPCs is talked to, both will show a random emotion at the
same time.
As of r16564, command now returns 1 or 0 on success and failure.
A debug message also shows on the console when no events are triggered.
---------------------------------------
*cmdothernpc "<npc name>","<command>";
@@ -7075,6 +7044,8 @@ same time.
This is simply "donpcevent <npc name>::OnCommand<command>".
It is an approximation of official server script language's 'cmdothernpc'.
Returns true if the command was executed on the other NPC successfully, false if not.
---------------------------------------
*npctalk "<message>"{,"<NPC name>",<flag>{,<color>}};
@@ -8515,10 +8486,10 @@ flag: Specify target
---------------------------------------
*unitskilluseid <GID>,<skill id>,<skill lvl>{,<target id>,<casttime>,<cancel>,<Line_ID>,<ignore_range>};
*unitskilluseid <GID>,"<skill name>",<skill lvl>{,<target id>,<casttime>,<cancel>,<Line_ID>,<ignore_range>};
*unitskillusepos <GID>,<skill id>,<skill lvl>,<x>,<y>{,<casttime>,<cancel>,<Line_ID>,<ignore_range>};
*unitskillusepos <GID>,"<skill name>",<skill lvl>,<x>,<y>{,<casttime>,<cancel>,<Line_ID>,<ignore_range>};
*unitskilluseid <GID>,<skill id>,<skill lvl>{,<target id>,<casttime>,<cancel>,<Line_ID>};
*unitskilluseid <GID>,"<skill name>",<skill lvl>{,<target id>,<casttime>,<cancel>,<Line_ID>};
*unitskillusepos <GID>,<skill id>,<skill lvl>,<x>,<y>{,<casttime>,<cancel>,<Line_ID>};
*unitskillusepos <GID>,"<skill name>",<skill lvl>,<x>,<y>{,<casttime>,<cancel>,<Line_ID>};
This is the replacement of the older commands, these use the same values for
GID as the other unit* commands (See 'GID').
@@ -8534,9 +8505,6 @@ CastCancel from skill_db.yml is the default value of <cancel>.
If <Line_ID> is defined (positive number, default 0) the monster will say the message from 'Line_ID'
in mob_chat_db.yml when casting the skill.
If <ignore_range> is true, the unit will ignore the skill range defined by the database. The default value is false.
Attention! this setting does not work for all skills.
---------------------------------------
*unitexists <GID>;
@@ -9725,18 +9693,12 @@ Examples:
---------------------------------------
*instance_warpall "<map name>",<x>,<y>{,<instance id>,{<flag>}};
*instance_warpall "<map name>",<x>,<y>{,<instance id>};
Warps all players in the <instance id> to <map name> to the given coordinates.
If no ID is specified, the IM_PARTY instance the invoking player is attached
to is used. If that fails, the script will come to a halt.
<flag> bitmask allows to add restrictions.
Available values for the <flag> bitmask:
IWA_NONE No restriction. (default)
IWA_NOTDEAD If dead players are warped or not
---------------------------------------
*instance_announce <instance id>,"<text>",<flag>{,<fontColor>{,<fontType>{,<fontSize>{,<fontAlign>{,<fontY>}}}}};
@@ -11036,13 +10998,13 @@ If <char id> is specified, the specified player is used rather than the attached
---------------------------------------
*itemlink(<item_id>{,<refine>{,<card0>{,<card1>{,<card2>{,<card3>,{<enchantgrade>{,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>}}}}}}});
*itemlink(<item_id>,<refine>,<card0>,<card1>,<card2>,<card3>,<enchantgrade>{,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>});
Generates an item link string for an item that can be used for npctalk, message,
dispbottom, and broadcast commands. The result is a clickable-item name just
like SHIFT+Click from a player's inventory/cart/equipment window. This command can be
used with mes but the item name will not be clickable. You should use script command
"mesitemlink" for displaying item links in mes dialogues, if the client supports them.
used with mes but the item name will not be clickable. You should use the normal client
tags for displaying item links in mes dialogues, if the client supports them.
Examples:
@@ -11059,24 +11021,6 @@ Examples:
RandomIDArray, RandomValueArray, and RandomParamArray only works if the
client (and server) supports the Item Random Options feature (PACKETVER >= 20150225).
---------------------------------------
*mesitemlink(<item_id>{,<use_brackets>{,<display_name>});
Generates an itemlink string for an item and can be used with NPC's mes command.
The NPC message will show the item's name which will be clickable and opens the
item description client side.
By default <use_brackets> is true which surrounds the link with brackets. Send false to disable.
By default the link will be created with the name of the item stored in the item database,
but in some cases it might be necessary to overwrite the <display_name> with something else.
Examples:
mes mesitemlink( 1201 ); // Will display "[Knife]" and will be clickable. If clicked it opens the description for Knife [3]
mes "Bring me a " + mesitemlink( 1201 ) + "."; // Will display "Bring me a [Knife]." and "[Knife]" will be clickable.
mes "Bring me a " + mesitemlink( 1201, false ) + "."; // Will display "Bring me a Knife." and "Knife" will be clickable.
mes "Bring me a " + mesitemlink( 1201, true, "Super cutting knife" ) + "."; // Will display "Bring me a [Super cutting knife]." and "[Super cutting knife]" will be clickable.
========================
|14.- Channel commands.|
========================

View File

@@ -248,7 +248,6 @@ Flags: Various status flags for specific status change events.
NonPlayer - Sends the NPC_SHOWEFST_UPDATE packet. Used to send effects to NPC/monsters.
RequireWeapon - Status requires a weapon to be equipped.
RequireNoWeapon - Status requires that no weapons be equipped.
RequireShield - Status requires a shield to be equipped.
SuperNoviceAngel - Status that is given from Super Novice Angel.

View File

@@ -1,34 +0,0 @@
###########################################################################
# Enchantgrade Database
###########################################################################
#
# Enchantgrade Settings
#
###########################################################################
# - Type Item type.
# Levels: Enchantgrade settings per item level.
# - Level Item level.
# Grades: Enchantgrade settings per grade level.
# - Grade Enchantgrade level.
# Chances: Chance settings per refine level.
# - Refine Refine level.
# Chance Base chance of success out of 0~10000.
# Bonus Enchantgrade bonus. (Default: 0)
# AnnounceSuccess Announce on upgrade success. (Default: true)
# AnnounceFail Announce on upgrade failure. (Default: false)
# Announce Announce on upgrade success and failure.
# Catalyst: Catalyst item to increase chance of success.
# Item The item that can be used.
# AmountPerStep Amount of Item needed.
# Set to 0 to disable the catalyst.
# MaximumSteps Maximum amount of times Item can be used.
# ChanceIncrease Amount at which the chance increases for each Item used.
# Options: Success chance based on cost type.
# - Option Index of the client option.
# Item Required item.
# Amount Amount of required item. (Default: 1)
# Set to 0 to remove an option.
# Price Amount of zeny required. (Default: 0)
# BreakingRate Chance of item breaking out of 0~10000. (Default: 0)
# DowngradeAmount Number of refine levels reduced on failure. (Default: 0)
###########################################################################

View File

@@ -1,36 +0,0 @@
###########################################################################
# Homunculus Database
###########################################################################
#
# Homunculus Settings
#
###########################################################################
# - BaseClass Base class.
# Name Name of homunculus.
# EvolutionClass Evolution class.
# Food Homunculus food item. (Default: Pet_Food)
# HungryDelay Time interval in milliseconds after which the hunger value is altered. (Default: 60000)
# Race Race. (Default: Demihuman)
# Element Element. (Default: Neutral)
# Size Size. (Default: Small)
# EvolutionSize Evolution size. (Default: Medium)
# AttackDelay Base ASPD. (Default: 700)
# Status: Homunculus stats.
# - Type Type of status.
# Base Base value of this status. (Default: 1)
# GrowthMinimum Minimum growth of this status. (Default: 0)
# GrowthMaximum Maximum growth of this status. (Default: 0)
# EvolutionMinimum Minimum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# EvolutionMaximum Maximum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# SkillTree: Skill tree.
# - Skill Skill name.
# Clear True to remove the given skill name. (Optional)
# MaxLevel Maximum level of skill.
# RequiredLevel Required base level of homunculus to learn. (Default: 0)
# RequiredIntimacy Required intimacy of homunculus to learn. (Default: 0)
# RequireEvolution Require the homunculus to be evolved to be available. (Default: false)
# Required: Prerequisite skills. (Default: null)
# - Skill Prerequisite skill name.
# Level Level of prerequisite skill.
# Clear True to remove the given prerequisite skill name. (Optional)
###########################################################################

View File

@@ -1,5 +1,5 @@
# This file is a part of rAthena.
# Copyright(C) 2023 rAthena Development Team
# Copyright(C) 2021 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify

View File

@@ -39,7 +39,6 @@ CREATE TABLE `item_db2_re` (
`job_rogue` tinyint(1) unsigned DEFAULT NULL,
`job_sage` tinyint(1) unsigned DEFAULT NULL,
`job_soullinker` tinyint(1) unsigned DEFAULT NULL,
`job_spirit_handler` tinyint(1) unsigned DEFAULT NULL,
`job_stargladiator` tinyint(1) unsigned DEFAULT NULL,
`job_summoner` tinyint(1) unsigned DEFAULT NULL,
`job_supernovice` tinyint(1) unsigned DEFAULT NULL,
@@ -54,7 +53,6 @@ CREATE TABLE `item_db2_re` (
`class_third` tinyint(1) unsigned DEFAULT NULL,
`class_third_upper` tinyint(1) unsigned DEFAULT NULL,
`class_third_baby` tinyint(1) unsigned DEFAULT NULL,
`class_fourth` tinyint(1) unsigned DEFAULT NULL,
`gender` varchar(10) DEFAULT NULL,
`location_head_top` tinyint(1) unsigned DEFAULT NULL,
`location_head_mid` tinyint(1) unsigned DEFAULT NULL,

View File

@@ -39,7 +39,6 @@ CREATE TABLE `item_db_re` (
`job_rogue` tinyint(1) unsigned DEFAULT NULL,
`job_sage` tinyint(1) unsigned DEFAULT NULL,
`job_soullinker` tinyint(1) unsigned DEFAULT NULL,
`job_spirit_handler` tinyint(1) unsigned DEFAULT NULL,
`job_stargladiator` tinyint(1) unsigned DEFAULT NULL,
`job_summoner` tinyint(1) unsigned DEFAULT NULL,
`job_supernovice` tinyint(1) unsigned DEFAULT NULL,
@@ -54,7 +53,6 @@ CREATE TABLE `item_db_re` (
`class_third` tinyint(1) unsigned DEFAULT NULL,
`class_third_upper` tinyint(1) unsigned DEFAULT NULL,
`class_third_baby` tinyint(1) unsigned DEFAULT NULL,
`class_fourth` tinyint(1) unsigned DEFAULT NULL,
`gender` varchar(10) DEFAULT NULL,
`location_head_top` tinyint(1) unsigned DEFAULT NULL,
`location_head_mid` tinyint(1) unsigned DEFAULT NULL,

View File

@@ -57,9 +57,6 @@ CREATE TABLE `mob_db` (
`racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
`racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
`racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
`element` varchar(24) DEFAULT NULL,
`element_level` tinyint(4) unsigned DEFAULT NULL,
`walk_speed` smallint(6) unsigned DEFAULT NULL,

View File

@@ -57,9 +57,6 @@ CREATE TABLE `mob_db2` (
`racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
`racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
`racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
`element` varchar(24) DEFAULT NULL,
`element_level` tinyint(4) unsigned DEFAULT NULL,
`walk_speed` smallint(6) unsigned DEFAULT NULL,

View File

@@ -59,9 +59,6 @@ CREATE TABLE `mob_db2_re` (
`racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
`racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
`racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
`element` varchar(24) DEFAULT NULL,
`element_level` tinyint(4) unsigned DEFAULT NULL,
`walk_speed` smallint(6) unsigned DEFAULT NULL,

View File

@@ -59,9 +59,6 @@ CREATE TABLE `mob_db_re` (
`racegroup_temple_demon` tinyint(1) unsigned DEFAULT NULL,
`racegroup_illusion_vampire` tinyint(1) unsigned DEFAULT NULL,
`racegroup_malangdo` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172alpha` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172beta` tinyint(1) unsigned DEFAULT NULL,
`racegroup_ep172bath` tinyint(1) unsigned DEFAULT NULL,
`element` varchar(24) DEFAULT NULL,
`element_level` tinyint(4) unsigned DEFAULT NULL,
`walk_speed` smallint(6) unsigned DEFAULT NULL,

View File

@@ -260,7 +260,7 @@ L_Shield:
case 3: goto L_Menu; break;
}
mes .@n$;
mes mesitemlink( .@item, false );
mes "<ITEM>"+getitemname(.@item)+"<INFO>"+.@item+"</INFO></ITEM>";
mes "Price is "+.@cost+" coins";
mes "Do you wish to exchange your coins?";
next;
@@ -303,7 +303,7 @@ L_Ring:
break;
}
mes .@n$;
mes mesitemlink( .@item, false );
mes "<ITEM>"+getitemname(.@item)+"<INFO>"+.@item+"</INFO></ITEM>";
mes "Price is "+.@cost+" coins";
mes "Do you wish to exchange your coins?";
next;
@@ -345,7 +345,7 @@ L_Armor:
break;
}
mes .@n$;
mes mesitemlink( .@item, false );
mes "<ITEM>"+getitemname(.@item)+"<INFO>"+.@item+"</INFO></ITEM>";
mes "Price is "+.@cost+" coins";
mes "Do you wish to exchange your coins?";
next;

View File

@@ -345,7 +345,6 @@ D8: Restrict("RE",4,5);
Disp("Bio Lab 1:Bio Lab 2:Bio Lab 3:Bio Lab 4:Tomb of the Fallen"); Pick("","lhz_dun01","lhz_dun02","lhz_dun03","lhz_dun04","lhz_dun_n");
D9: Restrict("RE");
setarray @c[2],87,47,262,262;
Disp("Brasilis Dungeon",1,2); Pick("bra_dun");
D10: Restrict("RE",6);
setarray @c[0],168,168,253,252,236,204,32,63,26,27,141,187;
Disp("Byalan Dungeon",1,6); Pick("iz_dun",1);
@@ -383,7 +382,7 @@ D23: menu "Illusion of Abyss",SubD1, "Illusion of Frozen",SubD2, "Illusion of La
"Illusion of Luanda",SubD4, "Illusion of Moonlight",SubD5, "Illusion of Teddy Bear",SubD6,
"Illusion of Twins",SubD7, "Illusion of Underwater",SubD8, "Illusion of Vampire",SubD9;
SubD1: Restrict("RE");
setarray @c[2],132,189,99,186;
setarray @c[2],132,189,100,192;
Disp("Desolate Village:Bleak Turtle Palace"); Pick("","tur_d03_i","tur_d04_i");
SubD2: Restrict("RE");
Go("ice_d03_i",149,22);

View File

@@ -7,7 +7,6 @@
//= 1.7 Updated. [Lupus]
//= 1.8 Updated. [L0ne_W0lf]
//= 1.9 Renewal split. [Euphy]
//= 2.0 Moved instances to pre-renewal. [Lemongrass]
//============================================================
//============================================================
@@ -269,6 +268,23 @@ que_qaru03 mapflag nosave SavePoint
que_qaru04 mapflag nosave SavePoint
que_qaru05 mapflag nosave SavePoint
//============================================================
// Sealed Shrine
//============================================================
1@cata mapflag nosave SavePoint
2@cata mapflag nosave SavePoint
//============================================================
// Endless Tower
//============================================================
e_tower mapflag nosave SavePoint
1@tower mapflag nosave SavePoint
2@tower mapflag nosave SavePoint
3@tower mapflag nosave SavePoint
4@tower mapflag nosave SavePoint
5@tower mapflag nosave SavePoint
6@tower mapflag nosave SavePoint
//============================================================
// Battlegrounds
//============================================================
@@ -291,6 +307,18 @@ schg_dun01 mapflag nosave SavePoint
arug_que01 mapflag nosave SavePoint
arug_dun01 mapflag nosave SavePoint
//============================================================
// Orc's Memory
//============================================================
1@orcs mapflag nosave SavePoint
2@orcs mapflag nosave SavePoint
//============================================================
// Nidhoggr's Instance
//============================================================
1@nyd mapflag nosave SavePoint
2@nyd mapflag nosave SavePoint
//============================================================
// RWC
//============================================================

View File

@@ -1,37 +0,0 @@
//===== rAthena Script =======================================
//= Mapflag: Disable auto-save.
//===== Description: =========================================
//= Characters logging out on the specified map will be warped
//= to the map specified in the last field, or "SavePoint".
//===== Additional Comments: =================================
//= 1.0 Renewal Split. [Lemongrass]
//============================================================
//============================================================
// Endless Tower
//============================================================
e_tower mapflag nosave SavePoint
1@tower mapflag nosave SavePoint
2@tower mapflag nosave SavePoint
3@tower mapflag nosave SavePoint
4@tower mapflag nosave SavePoint
5@tower mapflag nosave SavePoint
6@tower mapflag nosave SavePoint
//============================================================
// Sealed Shrine
//============================================================
1@cata mapflag nosave SavePoint
2@cata mapflag nosave SavePoint
//============================================================
// Orc's Memory
//============================================================
1@orcs mapflag nosave SavePoint
2@orcs mapflag nosave SavePoint
//============================================================
// Nidhoggr's Instance
//============================================================
1@nyd mapflag nosave SavePoint
2@nyd mapflag nosave SavePoint

View File

@@ -608,7 +608,7 @@ alberta,120,53,1 script Stylish Merchant#new30 51,{
mes "[Zic]";
mes "Let's see, I'll need...";
mes "1 ^0000FFSilk Ribbon^000000";
mes "50 ^0000FFHeroic Emblem^000000";
mes "50 ^0000FFHeroic Emlbem^000000";
mes "...Did you know this already?";
close;
case 2:
@@ -617,7 +617,7 @@ alberta,120,53,1 script Stylish Merchant#new30 51,{
next;
mes "[Zic]";
mes "Okay, I'll need...";
mes "1 ^0000FFHeart Hairpin^000000";
mes "1 ^0000FFHeart hair pin^000000";
mes "10 ^0000FFSteel^000000";
mes "...Did you know this already?";
close;
@@ -627,7 +627,7 @@ alberta,120,53,1 script Stylish Merchant#new30 51,{
next;
mes "[Zic]";
mes "I need to have...";
mes "1 ^0000FFJack be Dandy^000000";
mes "1 ^0000FFJack a Dandy^000000";
mes "1 ^0000FFScarlet Dyestuffs^000000";
mes "...Did you know this already?";
close;
@@ -760,7 +760,7 @@ alberta,136,79,1 script Hat store girl#new30 71,{
mes "^0000FF1 Wizard Hat^000000";
mes "^0000FF400 Dragon Scale^000000";
mes "^0000FF50 Mould Powder^000000";
mes "^0000FF1 Elder Willow Card^000000";
mes "^0000FF1 Elder Wilow Card^000000";
next;
if ((countitem(2252) > 0) && (countitem(1036) > 399) && (countitem(4052) > 0) && (countitem(7001) > 49)) {
mes "[Tempestra]";

View File

@@ -2066,22 +2066,22 @@ lasagna,131,245,5 script The diligent second son 4_CAT_3COLOR,{
mes "[Yota Chara]";
switch(.@s) {
case 1:
mes mesitemlink( 28413, false ) + " is for my father who is far out to the sea.";
mes "<ITEM>Low-grade Horse Mackerel Amulet <INFO>28413</INFO></ITEM> is for my father who is far out to the sea.";
break;
case 2:
mes mesitemlink( 28416, false ) + " is for my mother who should be wandering about the deep side of the forest.";
mes "<ITEM>Low-grade Leaf Amulet <INFO>28416</INFO></ITEM> is for my mother who should be wandering about the deep side of the forest.";
break;
case 3:
mes mesitemlink( 28419, false ) + " is for my brothers' health and wellness.";
mes "<ITEM>Low-grade Rabbit Amulet <INFO>28419</INFO></ITEM> is for my brothers' health and wellness.";
break;
case 4:
mes mesitemlink( 28422, false ) + " is to wish for my mother to return home safely from anywhere in the world.";
mes "<ITEM>Shining Twig Charm <INFO>28422</INFO></ITEM> is to wish for my mother to return home safely from anywhere in the world.";
break;
case 5:
mes mesitemlink( 28423, false ) + " is to wish for my father to return home quick with his ship full of tunas.";
mes "<ITEM>Fresh Tuna Amulet <INFO>28423</INFO></ITEM> is to wish for my father to return home quick with his ship full of tunas.";
break;
case 6:
mes mesitemlink( 28424, false ) + " is to wish for easy fishing so that my family won't be starved.";
mes "<ITEM>Plump Earthworm Amulet <INFO>28424</INFO></ITEM> is to wish for easy fishing so that my family won't be starved.";
break;
}
if (.@s < 4) {
@@ -2092,7 +2092,7 @@ lasagna,131,245,5 script The diligent second son 4_CAT_3COLOR,{
.@cost = 30;
.@item_id = 28418 + .@s;
}
mes "Will you exchange it for " + .@cost + " " + mesitemlink( 25142, false ) + "?";
mes "Will you exchange it for " + .@cost + " <ITEM>Doram Token<INFO>25142</INFO></ITEM>?";
next;
if (select( "Exchange", "Cancel" ) == 2) {
mes "[Yota Chara]";
@@ -2164,7 +2164,7 @@ lasagna,131,250,5 script The brave third#weapon 4_DR_M_02,{
emotion ET_SPARK;
mes "[Jogi Chara]";
mes "Whoa, a new weapon! New power!";
mes "What are you going to give me? Do you have a lot of weapons? Can I search into them? Will you exchange it for " + mesitemlink( 25142, false ) + "?";
mes "What are you going to give me? Do you have a lot of weapons? Can I search into them? Will you exchange it for <ITEM>Doram Token <INFO>25142</INFO></ITEM>?";
next;
if (select( "Search", "Cancel" ) == 1) {
setarray .@item_data[0],
@@ -2193,7 +2193,7 @@ lasagna,131,250,5 script The brave third#weapon 4_DR_M_02,{
else {
mes "[Jogi Chara]";
mes "Whoa! This is ^3131FF" + getitemname(.@item_data[.@i]) + "^000000!";
mes "Exchange it for " + .@item_data[.@i+1] + " " + mesitemlink( 25142, false ) + "! Please? Will you do it, please?";
mes "Exchange it for " + .@item_data[.@i+1] + " <ITEM>Doram Token<INFO>25142</INFO></ITEM>! Please? Will you do it, please?";
next;
if (select( "Exchange", "Quit exchanging" ) == 2) {
mes "[Jogi Chara]";
@@ -2253,7 +2253,7 @@ lasagna,140,250,3 script The skittish fourth#wea 4_DR_F_01,{
}
mes "[Dandi Chara]";
mes "Do you mind if I search you to see the items you have with you?";
mes "If I find an item suitable for Jogi, I'll pay " + mesitemlink( 25142, false ) + "....";
mes "If I find an item suitable for Jogi, I'll pay <INFO>25142</INFO><ITEM>Doram Token </ITEM>....";
next;
if (select( "Search", "Cancel" ) == 1) {
setarray .@item_data[0], // keep the order
@@ -2298,7 +2298,7 @@ lasagna,140,250,3 script The skittish fourth#wea 4_DR_F_01,{
else {
mes "[Dandi Chara]";
mes "Whoa, this must be ^3131FF" + getitemname(.@item_data[.@i]) + "^000000!!";
mes "Don't you want to exchange this with " + .@item_data[.@i+1] + " " + mesitemlink( 25142, false ) + "?";
mes "Don't you want to exchange this with " + .@item_data[.@i+1] + " <ITEM>Doram Token<INFO>25142</INFO></ITEM>?";
next;
if (select( "Exchange", "Quit exchanging" ) == 2) {
mes "[Dandi Chara]";
@@ -2388,8 +2388,8 @@ lasagna,140,245,3 script The sensitive-minded ela 4_CAT_SAILOR3,{
mes "...I knew this was going to happen again. Worse, this one must require a lot more time to polish!";
next;
mes "[Goma Chara]";
mes "Hey, if you give me " + .@needCoin + " " + mesitemlink( 25142, false ) + ", I'll fix this for you.";
mes "This should produce " + mesitemlink( .@next_charm_ID, false ) + ", I guess. How do you like it?";
mes "Hey, if you give me " + .@needCoin + "<ITEM>Doram Token<INFO>25142</INFO></ITEM>, I'll fix this for you.";
mes "<ITEM>This should produce the <INFO>" + .@next_charm_ID + "</INFO></ITEM> function, I guess. How do you like it?";
next;
if (select( "Upgrade", "Cancel" ) == 2) {
mes "[Goma Chara]";

File diff suppressed because it is too large Load Diff

View File

@@ -1,881 +0,0 @@
//===== rAthena Script =======================================
//= Friday Memorial Dungeon
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Friday Memorial Dungeon
//===== Changelogs: ==========================================
//= 1.0 Initial release [Everade]
//= 1.1 Clean-up [Capuche]
//============================================================
gef_tower,57,170,3 script Marry Jay 4_F_JOB_BLACKSMITH,{
if (BaseLevel < 130) {
mes "[Marry Jay]";
mes "Your base level is too low, come back when you hit level 130.";
close;
}
mes "^ff0000If you do any monster processing, such as monster taming within the dungeon, it won't count towards your progress. Please take note.^000000";
next;
.@day = gettime(DT_DAYOFWEEK);
if (.@day != FRIDAY) {
mes "[Marry Jay]";
mes "Oh, a curious onlooker? I'm Marry Jay, the person in charge of Fridays among the days of the week.";
next;
select( "When is the opening time?" );
mes "[Marry Jay]";
mes "The dungeon will be open during:";
mes "^0000FFFriday 00:00 ~ Friday 23:59^000000";
next;
mes "[Marry Jay]";
mes "I hope to see you when Friday arrives~";
close;
}
.@md_name$ = "Friday Dungeon";
switch(checkquest(12379,PLAYTIME)) {
case -1:
break;
case 0:
case 1:
mes "[Marry Jay]";
mes "Sorry, but the entry period to the " + .@md_name$ + " has expired.";
mes "Take a rest while waiting for the dungeon to be available again.";
close;
case 2:
erasequest 12379;
mes "[Marry Jay]";
mes "The cooldown has expired.";
mes "You may re-enter the Memorial Dungeon.";
close;
}
mes "[Marry Jay]";
mes "You came just in time.";
mes "The memorial dungeon is just ready to be opened.";
mes "Would you like to enter now?";
next;
if (is_party_leader() == true)
.@menu$ = "Prepare Friday Memorial";
switch( select( .@menu$, "Enter Friday Memorial", "Cancel" ) ) {
case 1:
instance_create(.@md_name$);
mes "[Marry Jay]";
mes "The Memorial Dungeon has been created.";
mes "You may now enter.";
close;
case 2:
switch( instance_enter(.@md_name$) ) {
case IE_NOMEMBER:
if (is_party_leader() == true)
end;
mes "Only party members can enter this Memorial dungeon.";
close;
case IE_NOINSTANCE:
if (is_party_leader() == true) {
mes "There is no Memorial Dungeon registered.";
close;
}
mes "The Friday Memorial Dungeon does not exist.";
mes "Your party leader has not yet created the Memorial dungeon.";
close;
case IE_OTHER:
mes "An unknown error occurred.";
close;
case IE_OK:
mes "[Marry Jay]";
mes "Off you go!";
mapannounce "gef_tower", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering the " + .@md_name$ + ".", bc_map, 0xFF99;
if (isbegin_quest(12379) < 1)
setquest 12379;
end;
}
end;
case 3:
mes "[Marry Jay]";
mes "You have not prepared?";
mes "Can't really help it I guess";
close;
}
end;
}
//Instance
1@md_gef,185,81 monster Shining Plant 1083,1,1800000,900000
1@md_gef,110,129,6 script Marry Jay#0_1 4_F_JOB_BLACKSMITH,{
if (is_party_leader() == false)
end;
mes "[Marry Jay]";
mes "Before we start setting up the environment here, we'll give you the chance to choose an appropriate difficulty level.";
mes "I could make my own choice, but each person handles it differently based on their abilities.";
next;
switch( select( "Cancel", "LV130 ~ 199", "LV200 + " ) ) {
case 1:
close;
case 2:
//MinLevel, Lich Lord, Nightmare, Jakk, Ghoul, Drainliar
'hard = 0;
setarray 'mob[0],130,3658,3660,3662,3664,3666;
break;
case 3:
if (BaseLevel < 200) {
mes "[Marry Jay]";
mes "You can't choose this difficulty, because your base level is below 200.";
close;
}
'hard = 1;
setarray 'mob[0],200,3659,3661,3663,3665,3667;
break;
}
if (BaseLevel < 'mob[0]) {
mes "[Marry Jay]";
mes "Your base level is too low to select this, you need to be level " + 'mob[0] + " or above.";
close;
}
close2;
npctalk "Now, this place is about to become a hunting ground. I'll get out and close the front door.";
sleep 4000;
npctalk "Good Luck~";
sleep 3000;
if ('step == 0) {
'step = 1;
donpcevent instance_npcname("md_gef_mobs_spawn") + "::OnStart";
disablenpc();
enablenpc instance_npcname("The Stranger#cadaver");
enablenpc instance_npcname("Bizzare Sculpture#boss");
}
end;
}
1@md_gef,1,1,6 script md_gef_mobs_spawn -1,{
end;
OnStart:
.@npc_name$ = instance_npcname("md_gef_mobs_spawn");
monster 'map_md_gef$,0,0,"Nightmare",'mob[2],20, .@npc_name$ + "::OnNightmareDead";
monster 'map_md_gef$,0,0,"Jakk",'mob[3],30, .@npc_name$ + "::OnJakkDead";
monster 'map_md_gef$,0,0,"Ghoul",'mob[4],30, .@npc_name$ + "::OnGhoulDead";
monster 'map_md_gef$,0,0,"Drainliar",'mob[5],20, .@npc_name$ + "::OnDrainliarDead";
end;
OnNightmareDead:
callsub( S_Mob, 'mob[2], "Nightmare", "OnNightmareDead" );
OnJakkDead:
callsub( S_Mob, 'mob[3], "Jakk", "OnJakkDead" );
OnGhoulDead:
callsub( S_Mob, 'mob[4], "Ghoul", "OnGhoulDead" );
OnDrainliarDead:
callsub( S_Mob, 'mob[5], "Drainliar", "OnDrainliarDead" );
S_Mob:
'count++;
if (('count % 100) == 0) {
'rand_chest++;
if ('rand_chest > 4)
'rand_chest = 1;
// Treasure Chest Spawn
donpcevent instance_npcname("#fd_box" + 'rand_chest) + "::OnStart";
}
sleep 10000;
monster 'map_md_gef$,0,0, getarg(1), getarg(0),1, instance_npcname("md_gef_mobs_spawn") + "::" + getarg(2);
end;
OnInstanceInit:
'step = 0;
'hard = 0;
'count = 0;
'rand_chest = 0;
'freestones = 0;
'boss_actv = 0;
'map_md_gef$ = instance_mapname("1@md_gef");
end;
}
1@md_gef,110,129,6 script(DISABLED) Mary Juj#0_2 4_F_JOB_BLACKSMITH,{
npctalk "Hello";
end;
}
1@md_gef,183,222,5 script(DISABLED) The Stranger#cadaver 4_TOWER_11,{
mes "It is a stranger's corpse.";
mes "Perhaps he died while wandering in this place on the search for treasure.";
next;
if (select( "Calm down", "Investigate the body" ) == 1) {
mes "You respect the dead and decided to leave the body alone.";
close;
}
mes "Looking at a hastily scribbled note in his pocket, perhaps the adventurer's name was Walter.";
next;
mes "[Adventurer's Log]";
mes "My name is Walter. For the adventurers who will visit this place in the future, I'm leaving this so that you don't make the same mistake again.";
next;
mes "[Adventurer's Log]";
mes "On the first day, I curiously put my hand on the slab of a strange Sculpture nearby.";
mes "...and I awokened something that I should not have.";
next;
mes "[Adventurer's Log]";
mes "Right now the revived ancient king is wandering in front of me.";
mes "Perhaps he has no memories of his previous life.";
mes "One thing is certain, he will kill me.";
next;
mes "[Adventurer's Log]";
mes "To the adventurers who will visit this place in the future, I hope you do not make the same mistake as me.";
mes "If you do see a suspicious slab, do not show any interest and pass by it.";
next;
mes "[Adventurer's Log]";
mes "Again, never touch the slab. Whatever temptation you may have.";
if ('freestones != 0)
close;
next;
mes "Several craft stones fall from his body. They were probably collected while exploring this place.";
close2;
if ('freestones == 0) {
'freestones = 1;
if ('hard == 1)
.@num = rand(7,9);
else
.@num = rand(5,7);
for ( .@i = 0; .@i < .@num; ++.@i )
makeitem 25235,1, 'map_md_gef$, rand(181,183), rand(221,224);
}
end;
}
1@md_gef,199,73,0 script(DISABLED) Bizzare Sculpture#boss CLEAR_NPC,{
if ('count < 100) {
mes "It is a strange sculpture with a lot of dust piled up. I don't see anything suspicious.";
close;
}
if ('boss_actv >= 1) {
mes "Craft Stones have been melted by a powerful force into the sockets.";
mes "Seems like the sockets can't be used for a while.";
close;
}
mes "At some point, the accumulated dust scatters, and 10 hollow holes are visible on the slab under the sculpture.";
next;
mes "Each of the 10 hollow sockets seem to perfectly fit a craft stone.";
next;
if (select( "Ignore", "Try inserting craft stones" ) == 1)
end;
if (countitem(25235) < 10) {
mes "Craft Stones have been melted by a powerful force into the sockets.";
mes "Seems like the sockets can't be used for a while.";
close;
}
mes "When you insert a craft stone into a hole, it emits a bright light and melts.";
next;
delitem 25235,10;
specialeffect EF_ANGELUS;
if (rand(1,10) == 10) {
mes "Something seems to have changed in the air around me.";
instance_announce 0, "Lord of the Dead: Who Awakened Me? I will meet you in person and ask you why.", bc_map, "0xFFFF00";
if ('boss_actv == 0) {
'boss_actv = 1;
monster 'map_md_gef$,210,110,"Lich King",'mob[1],1;
}
}
else {
mes "But nothing else happened.";
close2;
if ('boss_actv == 0) {
disablenpc(); // Disable NPC for 5 minutes when MVP didn't spawn.
initnpctimer;
}
end;
}
close;
OnTimer300000:
stopnpctimer;
enablenpc();
end;
}
// Treasure Chest Reward
1@md_gef,212,212,3 script(DISABLED) #fd_box1 4_TREASURE_BOX,{
specialeffect EF_COIN;
disablenpc();
stopnpctimer;
sleep 500;
if ('hard == 1)
.@num = rand(7,9);
else
.@num = rand(5,7);
.@npc_name$ = strnpcinfo(2);
if (.@npc_name$ == "fd_box1") {
for ( .@i = 0; .@i < .@num; ++.@i )
makeitem 25235,1, 'map_md_gef$, rand(210,214), rand(210,214);
}
if (.@npc_name$ == "fd_box2") {
for ( .@i = 0; .@i < .@num; ++.@i )
makeitem 25235,1, 'map_md_gef$, rand(188,192), rand(54,58);
}
if (.@npc_name$ == "fd_box3") {
for ( .@i = 0; .@i < .@num; ++.@i )
makeitem 25235,1, 'map_md_gef$, rand(47,51), rand(55,59);
}
if (.@npc_name$ == "fd_box4") {
for ( .@i = 0; .@i < .@num; ++.@i )
makeitem 25235,1, 'map_md_gef$, rand(42,46), rand(209,213);
}
end;
OnStart:
enablenpc();
instance_announce 0, "A treasure chest appeared somewhere in the dungeon. It'll disappear after a while, so let's find it.", bc_map, "0xff5500";
initnpctimer;
end;
OnTimer180000: //3min before chest disappears
disablenpc();
stopnpctimer;
end;
}
1@md_gef,190,56,3 duplicate(#fd_box1) #fd_box2 4_TREASURE_BOX
1@md_gef,49,57,3 duplicate(#fd_box1) #fd_box3 4_TREASURE_BOX
1@md_gef,44,211,3 duplicate(#fd_box1) #fd_box4 4_TREASURE_BOX
//Merchant
gef_tower,57,167,3 script Amateur Collector#pa0829 1_F_01,{
disable_items;
function F_equip_menu;
function F_enchant;
if (checkweight(1201,1) == 0) {
mes "You have too many kinds of objects. Clear your inventory.";
close;
}
if (MaxWeight - Weight < 10000) {
mes "Can't continue because you have too many heavy objects. Reduce your total weight by clearing your inventory.";
close;
}
mes "[Amateur Collector]";
mes "If you bring me a " + mesitemlink(25235, false) + ", I can enchant a wonderful effect on your accessory!";
next;
switch( select( "What can you do with the Crafting Stone?", "Accessory Enchantment", "Reset Enchant" ) ) {
case 1:
mes "[Amateur Collector]";
mes "I trade expensive stones from the dungeon in exchange for my craftsmanship. I'm still a beginner, but my skills are passable.";
mes "Please take care of me.";
next;
if (select( "I've heard this before.", "I'm listening." ) == 1) {
mes "[Amateur Collector]";
mes "Is that so?";
close;
}
mes "[Amateur Collector]";
mes "By using the Craft Stone, I can enchant one of your accessories with abilities.";
next;
mes "[Amateur Collector]";
mes "I need 10 x " + mesitemlink(25235, false) + " and 100,000 Zeny.";
mes "There is no failure in the enchantment process.";
next;
mes "[Amateur Collector]";
mes "However ^0000FFif the accessory has a random option, the random option will be removed after enchantment.^000000";
next;
select( "Anything else?" );
mes "[Amateur Collector]";
mes "Cards slotted to the accessory will remain after the enchantement.";
next;
mes "[Amateur Collector]";
mes "A reset is possible, but I can't say that I'm experienced.";
mes "My success rate is:";
mes "Royal Ring: 80%";
mes "Other Accessory: 20%";
next;
mes "[Amateur Collector]";
mes "^0000FFIf the accessory has a random option, the random option will be removed after initialization.^000000";
close;
case 2:
.@type = 1;
.@type_name$ = "enchant";
break;
case 3:
.@type = 2;
.@type_name$ = "reset";
break;
}
.@slot = F_equip_menu();
.@equip_id = getequipid(.@slot);
setarray .@equip_card[0], getequipcardid(.@slot,0), getequipcardid(.@slot,1), getequipcardid(.@slot,2), getequipcardid(.@slot,3);
copyarray .@card[0], .@equip_card[0], 4;
switch( .@equip_id ) {
case 0:
mes "[Amateur Collector]";
mes "Please equip your accessory.";
close;
case 28483:
case 2601:
case 2602:
case 2603:
case 2605:
case 2607:
case 2608:
case 2609:
case 2610:
case 2611:
case 2612:
case 2613:
case 2614:
case 2615:
case 2616:
case 2617:
case 2618:
case 2619:
case 2620:
case 2621:
case 2622:
case 2623:
case 2625:
case 2626:
case 2627:
case 2628:
case 2636:
case 2637:
case 2638:
case 2639:
case 2640:
case 2641:
case 2645:
case 2648:
case 2649:
case 2650:
case 2651:
case 2652:
case 2653:
case 2654:
case 2655:
case 2656:
case 2658:
case 2663:
case 2664:
case 2665:
case 2666:
case 2667:
case 2671:
case 2680:
case 2692:
case 2700:
case 2701:
case 2702:
case 2703:
case 2712:
case 2714:
case 2715:
case 2716:
case 2718:
case 2719:
case 2720:
case 2721:
case 2722:
case 2723:
case 2724:
case 2725:
case 2726:
case 2727:
case 2728:
case 2729:
case 2730:
case 2731:
case 2732:
case 2736:
case 2737:
case 2743:
case 2744:
case 2745:
case 2746:
case 2747:
case 2748:
case 2749:
case 2766:
case 2767:
case 2768:
case 2769:
case 2770:
case 2771:
case 2772:
case 2773:
case 2774:
case 2777:
case 2778:
case 2779:
case 2780:
case 2781:
case 2783:
case 2784:
case 2787:
case 2788:
case 2789:
case 2790:
case 2794:
case 2795:
case 2800:
case 2801:
case 2802:
case 2803:
case 2804:
case 2805:
case 2807:
case 2808:
case 2809:
case 2810:
case 2826:
case 2827:
case 2843:
case 2853:
case 2854:
case 2881:
case 2956:
break;
default:
mes "[Amateur Collector]";
mes "I cannot " + .@type_name$ + " this " + mesitemlink(.@equip_id, false) + " accessory.";
close;
}
if (.@type == 1) { // enchant
switch( .@equip_id ) {
case 28483: //Royal Ring Enchantment
if (.@equip_card[2] != 0) {
mes "[Amateur Collector]";
mes "The " + mesitemlink(.@equip_id, false) + " already has maximum enchantment.";
mes "I cannot work on this any further.";
close;
}
.@pos = .@equip_card[3] != 0 ? 2 : 3;
mes "[Amateur Collector]";
mes "Please select an enchantment type~";
next;
switch( select( "Physical", "Magical", "Ranged" ) ) {
case 1:
if (.@pos == 2)
.@equip_card[2] = F_enchant(2);
else
.@equip_card[3] = F_enchant(3);
break;
case 2:
if (.@pos == 2)
.@equip_card[2] = F_enchant(4);
else
.@equip_card[3] = F_enchant(5);
break;
case 3:
if (.@pos == 2)
.@equip_card[2] = F_enchant(6);
else
.@equip_card[3] = F_enchant(7);
break;
}
if (.@pos == 2) {
mes "[Amateur Collector]";
mes "Are you sure to enhance the " + mesitemlink(.@equip_id, false) + "?";
mes "^0000FFThere is a no chance of failure^000000.";
next;
if (select( "Yes, please proceed", "Cancel" ) == 2)
end;
}
if (countitem(25235) < 10) {
mes "[Amateur Collector]";
mes "Please bring me 10 x " + mesitemlink(25235, false) + ".";
close;
}
if (Zeny < 100000) {
mes "[Amateur Collector]";
mes "I need 100,000 zeny!";
close;
}
delitem 25235,10; //Catalyst
Zeny -= 100000;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@slot, .@equip_id) || callfunc("F_IsEquipCardHack", .@slot, .@card[0], .@card[1], .@card[2], .@card[3]))
end;
delequip .@slot;
specialeffect2 EF_REPAIRWEAPON;
mes "[Amateur Collector]";
mes "The " + mesitemlink(.@equip_id, false) + " has been enchanted!!";
getitem2 .@equip_id,1,1,0,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@equip_card[3];
close;
default: // Normal Accessory Enchantment
if (.@equip_card[3] != 0) {
mes "[Amateur Collector]";
mes "The " + mesitemlink(.@equip_id, false) + " already has an enchant.";
mes "I cannot work on this any further.";
close;
}
mes "[Amateur Collector]";
mes "Are you sure you want to enhance the " + mesitemlink(.@equip_id, false) + "?";
mes "^0000FFThere is a no chance of failure^000000.";
next;
if (select( "Yes, please proceed", "Cancel") == 2)
end;
if (countitem(25235) < 10) {
mes "[Amateur Collector]";
mes "Please bring me 10 x " + mesitemlink(25235, false) + ".";
close;
}
if (Zeny < 100000) {
mes "[Amateur Collector]";
mes "I need 100,000 zeny!";
close;
}
delitem 25235,10; //Catalyst
Zeny -= 100000;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@slot, .@equip_id) || callfunc("F_IsEquipCardHack", .@slot, .@card[0], .@card[1], .@card[2], .@card[3]))
end;
delequip .@slot;
.@enchant = F_enchant(1);
specialeffect2 EF_REPAIRWEAPON;
mes "[Amateur Collector]";
mes "The " + mesitemlink(.@equip_id, false) + " has been enchanted with " + mesitemlink(.@enchant, false) + ".";
getitem2 .@equip_id,1,1,0,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@enchant;
close;
}
end;
}
else { // reset
if (.@equip_id == 28483) {
.@pos = 2;
.@success = 80; // success royal
} else {
.@pos = 3;
.@success = 20; // success normal
}
if (.@equip_card[.@pos] == 0) {
mes "[Amateur Collector]";
mes "The " + mesitemlink(.@equip_id, false) + " is not at its maximum enchantment.";
mes "I cannot reset this accessory.";
close;
}
mes "[Amateur Collector]";
mes "All enchanted effects will be removed from the " + mesitemlink(.@equip_id, false) + "?";
mes "^FF0000There is a " + .@success + "% chance of success. The accessory will be destroyed if the reset fails!^000000";
next;
if (select( "I'll be back later", "Please proceed") == 1)
end;
if (countitem(25235) < 10) {
mes "[Amateur Collector]";
mes "Please bring me 10 x " + mesitemlink(25235, false) + "";
close;
}
if (Zeny < 100000) {
mes "[Amateur Collector]";
mes "I need 100,000 zeny!";
close;
}
delitem 25235,10; //Catalyst
Zeny -= 100000;
// anti-hack
if (callfunc("F_IsEquipIDHack", .@slot, .@equip_id) || callfunc("F_IsEquipCardHack", .@slot, .@card[0], .@card[1], .@card[2], .@card[3]))
end;
delequip .@slot;
if (rand(100) > .@success) {
specialeffect2 EF_SUI_EXPLOSION;
mes "[Amateur Collector]";
mes "Darn it...";
mes "I have failed and the accessory has been destroyed. I'm so sorry.";
close;
}
specialeffect2 EF_REPAIRWEAPON;
mes "[Amateur Collector]";
mes "I have succeeded.";
mes "The " + mesitemlink(.@equip_id, false) + " has been initialized.";
getitem2 .@equip_id,1,1,0,0,.@equip_card[0],.@equip_card[1],0,0;
close;
}
end;
function F_equip_menu {
.@l$ = getitemname(getequipid(EQI_ACC_L));
.@r$ = getitemname(getequipid(EQI_ACC_R));
.@acc_l$ = .@l$ == "null" ? "" : "Left Acc - " + .@l$;
.@acc_r$ = .@r$ == "null" ? "" : "Right Acc - " + .@r$;
switch( select( .@acc_l$, .@acc_r$ ) ) {
case 1:
.@slot = EQI_ACC_L;
break;
case 2:
.@slot = EQI_ACC_R;
break;
}
return .@slot;
}
function F_enchant {
.@type = getarg(0);
switch(.@type) {
case 1: //Normal Enchant
.@i = rand(920);
if (.@i < 30) .@enchant = 4701; //STR+2
else if (.@i < 60) .@enchant = 4702; //STR+3
else if (.@i < 90) .@enchant = 4703; //STR+4
else if (.@i < 120) .@enchant = 4711; //INT+2
else if (.@i < 150) .@enchant = 4712; //INT+3
else if (.@i < 180) .@enchant = 4713; //INT+4
else if (.@i < 210) .@enchant = 4721; //DEX+2
else if (.@i < 240) .@enchant = 4722; //DEX+3
else if (.@i < 270) .@enchant = 4723; //DEX+4
else if (.@i < 300) .@enchant = 4731; //AGI+2
else if (.@i < 330) .@enchant = 4732; //AGI+3
else if (.@i < 360) .@enchant = 4733; //AGI+4
else if (.@i < 390) .@enchant = 4741; //VIT+2
else if (.@i < 420) .@enchant = 4742; //VIT+3
else if (.@i < 450) .@enchant = 4743; //VIT+4
else if (.@i < 480) .@enchant = 4796; //HP+200
else if (.@i < 510) .@enchant = 4798; //HP+400
else if (.@i < 540) .@enchant = 4792; //DEF+6
else if (.@i < 570) .@enchant = 4794; //DEF+12
else if (.@i < 600) .@enchant = 4800; //SP+50
else if (.@i < 630) .@enchant = 4801; //SP+100
else if (.@i < 660) .@enchant = 4786; //MDEF+2
else if (.@i < 690) .@enchant = 4787; //MDEF+4
else if (.@i < 710) .@enchant = 4861; //MHP+1%
else if (.@i < 730) .@enchant = 4862; //MHP+2%
else if (.@i < 750) .@enchant = 4929; //MSP+1%
else if (.@i < 770) .@enchant = 4882; //ATK+1%
else if (.@i < 790) .@enchant = 4883; //MATK+1%
else if (.@i < 800) .@enchant = 4817; //Sharp2
else if (.@i < 810) .@enchant = 4816; //Sharp3
else if (.@i < 815) .@enchant = 4843; //Sharp4
else if (.@i < 825) .@enchant = 29047; //Fatal
else if (.@i < 835) .@enchant = 4863; //Fatal1Lv
else if (.@i < 840) .@enchant = 4864; //Fatal2Lv
else if (.@i < 850) .@enchant = 4832; //Expert Archer1
else if (.@i < 860) .@enchant = 4813; //Spell3
else if (.@i < 870) .@enchant = 4812; //Spell4
else if (.@i < 875) .@enchant = 4826; //Spell5
else if (.@i < 885) .@enchant = 4805; //Archbishop1Lv
else if (.@i < 895) .@enchant = 4850; //Heal Amount2
else if (.@i < 905) .@enchant = 4809; //Fighting Spirit3
else if (.@i < 915) .@enchant = 4808; //Fighting Spirit4
else .@enchant = 4820; //Fighting Spirit5
break;
case 2: //Royal Physical Slot 3
.@i = rand(225);
if (.@i < 30) .@enchant = 4809; //Fighting Spirit3
else if (.@i < 60) .@enchant = 4808; //Fighting Spirit4
else if (.@i < 70) .@enchant = 4820; //Fighting Spirit5
else if (.@i < 80) .@enchant = 4821; //Fighting Spirit6
else if (.@i < 85) .@enchant = 4822; //Fighting Spirit7
else if (.@i < 115) .@enchant = 4818; //Sharp1
else if (.@i < 145) .@enchant = 4817; //Sharp2
else if (.@i < 155) .@enchant = 4816; //Sharp3
else if (.@i < 165) .@enchant = 4843; //Sharp4
else if (.@i < 170) .@enchant = 4844; //Sharp5
else if (.@i < 200) .@enchant = 4819; //Atk1
else if (.@i < 210) .@enchant = 4766; //ATK+2%
else if (.@i < 215) .@enchant = 4767; //ATK+3%
else if (.@i < 220) .@enchant = 4807; //Atk Speed1
else .@enchant = 4842; //Atk Speed2
break;
case 3: //Royal Physical Slot 4
.@i = rand(375);
if (.@i < 50) .@enchant = 4702; //STR+3
else if (.@i < 100) .@enchant = 4703; //STR+4
else if (.@i < 110) .@enchant = 4704; //STR+5
else if (.@i < 120) .@enchant = 4705; //STR+6
else if (.@i < 125) .@enchant = 4706; //STR+7
else if (.@i < 175) .@enchant = 4732; //AGI+3
else if (.@i < 225) .@enchant = 4733; //AGI+4
else if (.@i < 235) .@enchant = 4734; //AGI+5
else if (.@i < 245) .@enchant = 4735; //AGI+6
else if (.@i < 250) .@enchant = 4736; //AGI+7
else if (.@i < 300) .@enchant = 4742; //VIT+3
else if (.@i < 350) .@enchant = 4743; //VIT+4
else if (.@i < 360) .@enchant = 4744; //VIT+5
else if (.@i < 370) .@enchant = 4745; //VIT+6
else .@enchant = 4746; //VIT+7
break;
case 4: //Royal Magical Slot 3
.@i = rand(230);
if (.@i < 30) .@enchant = 4813; //Spell3
else if (.@i < 60) .@enchant = 4812; //Spell4
else if (.@i < 70) .@enchant = 4826; //Spell5
else if (.@i < 80) .@enchant = 4827; //Spell6
else if (.@i < 85) .@enchant = 4828; //Spell7
else if (.@i < 115) .@enchant = 4929; //MSP+1%
else if (.@i < 145) .@enchant = 4805; //Archbishop1Lv
else if (.@i < 155) .@enchant = 4850; //Archbishop2Lv
else if (.@i < 165) .@enchant = 4851; //Archbishop3Lv
else if (.@i < 170) .@enchant = 4852; //Archbishop4Lv
else if (.@i < 200) .@enchant = 4883; //MATK + 1%
else if (.@i < 210) .@enchant = 4896; //MATK + 2%
else if (.@i < 215) .@enchant = 4897; //MATK + 3%
else if (.@i < 225) .@enchant = 4760; //MATK 1Lv
else .@enchant = 4761; //MATK 2Lv
break;
case 5: //Royal Magical Slot 4
.@i = rand(375);
if (.@i < 50) .@enchant = 4712; //INT+3
else if (.@i < 100) .@enchant = 4713; //INT+4
else if (.@i < 110) .@enchant = 4714; //INT+5
else if (.@i < 120) .@enchant = 4715; //INT+6
else if (.@i < 125) .@enchant = 4716; //INT+7
else if (.@i < 175) .@enchant = 4722; //DEX+3
else if (.@i < 225) .@enchant = 4723; //DEX+4
else if (.@i < 235) .@enchant = 4724; //DEX+5
else if (.@i < 245) .@enchant = 4725; //DEX+6
else if (.@i < 250) .@enchant = 4726; //DEX+7
else if (.@i < 300) .@enchant = 4742; //VIT+3
else if (.@i < 350) .@enchant = 4743; //VIT+4
else if (.@i < 360) .@enchant = 4744; //VIT+5
else if (.@i < 370) .@enchant = 4745; //VIT+6
else .@enchant = 4746; //VIT+7
break;
case 6: //Royal Ranged Slot 3
.@i = rand(225);
if (.@i < 30) .@enchant = 29047; //Fatal
else if (.@i < 60) .@enchant = 4863; //Fatal1Lv
else if (.@i < 70) .@enchant = 4864; //Fatal2Lv
else if (.@i < 80) .@enchant = 4865; //Fatal3Lv
else if (.@i < 85) .@enchant = 4866; //Fatal4Lv
else if (.@i < 115) .@enchant = 4818; //Sharp1
else if (.@i < 145) .@enchant = 4817; //Sharp2
else if (.@i < 155) .@enchant = 4816; //Sharp3
else if (.@i < 165) .@enchant = 4843; //Sharp4
else if (.@i < 170) .@enchant = 4844; //Sharp5
else if (.@i < 200) .@enchant = 4832; //Expert Archer1
else if (.@i < 210) .@enchant = 4833; //Expert Archer2
else if (.@i < 215) .@enchant = 4834; //Expert Archer3
else if (.@i < 220) .@enchant = 4807; //Atk Speed1
else .@enchant = 4842; //Atk Speed2
break;
case 7: //Royal Ranged Slot 4
.@i = rand(375);
if (.@i < 50) .@enchant = 4732; //AGI+3
else if (.@i < 100) .@enchant = 4733; //AGI+4
else if (.@i < 110) .@enchant = 4734; //AGI+5
else if (.@i < 120) .@enchant = 4735; //AGI+6
else if (.@i < 125) .@enchant = 4736; //AGI+7
else if (.@i < 175) .@enchant = 4722; //DEX+3
else if (.@i < 225) .@enchant = 4723; //DEX+4
else if (.@i < 235) .@enchant = 4724; //DEX+5
else if (.@i < 245) .@enchant = 4725; //DEX+6
else if (.@i < 250) .@enchant = 4726; //DEX+7
else if (.@i < 300) .@enchant = 4752; //LUK+3
else if (.@i < 350) .@enchant = 4753; //LUK+4
else if (.@i < 360) .@enchant = 4754; //LUK+5
else if (.@i < 370) .@enchant = 4755; //LUK+6
else .@enchant = 4756; //LUK+7
break;
}
return .@enchant;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -99,7 +99,7 @@ mal_in01,172,28,2 script Albo#mal 561,{
case 2: callsub L_GiveQuest,.@i,12262,12272,"Deep Sea Sword Fish";
case 3: callsub L_GiveQuest,.@i,12263,12272,"Deep Sea Strouf";
case 4: callsub L_GiveQuest,.@i,12264,12272,"Deep Sea Anolian";
case 5: callsub L_GiveQuest,.@i,12265,12272,"Deep Sea Obeaune";
case 5: callsub L_GiveQuest,.@i,12265,12272,"Deep Sea Obeanue";
case 6: callsub L_GiveQuest,.@i,12266,12272,"Deep Sea Kapha";
}
case 3: // General Culvert Weekly Service

View File

@@ -1,923 +0,0 @@
//===== rAthena Script =======================================
//= Twilight Garden
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Episode 17.2 Twilight Garden
//= Episode 17.2 Hey Sweety
//= Note:
// - NPC_LOCKON_LASER skill is currently no implemented.
//===== Changelog: ===========================================
//= 1.0 Initial release [crazyarashi]
//= 1.1 Optimizations and cleanup [Everade]
//= 1.2 Cleanup [Capuche]
//============================================================
1@bamn,1,1,0 script #twilight_garden_control -1,{
end;
OnInstanceInit:
'twilight_story = 0;
'sweety = 0;
'map_bamn$ = instance_mapname("1@bamn");
'map_bamq$ = instance_mapname("1@bamq");
// npcs from story
//----------------------------
// npcs on 1@bamn
// disablenpc instance_npcname("Repeater#wifi03"); // (not disabled)
// disablenpc instance_npcname("Repeater#wifi02"); // (not disabled)
// disablenpc instance_npcname("Repeater#wifi01"); // (not disabled)
//----------------------------
// Daily: Hey! Sweety
if (instance_live_info(ILI_NAME) == "Hey! Sweety")
disablenpc instance_npcname("#bamn_evt01"); // story starter npc
else
disablenpc instance_npcname("#sweety_evt01"); // daily starter npc
end;
}
// Story
1@bamn,100,320,0 script #bamn_evt01 HIDDEN_WARP_NPC,2,2,{
end;
OnTouch:
if (!is_party_leader())
end;
disablenpc();
enablenpc instance_npcname("Est#est01");
end;
}
1@bamn,96,318,5 script(DISABLED) Est#est01 4_F_ESTLOVELOY,{
if (!is_party_leader())
end;
if ('twilight_story == 0) {
'twilight_story = 1;
npctalk "Est : It's dark and quiet. If you want to execute the plan, now's the perfect time. Right?";
sleep 2000;
npctalk "Est : Elena said she'd join us later, but there's a good chance she won't able to join.";
sleep 2000;
npctalk "Est : Even so, there's no need to worry. The others are prepared and waiting for the ambush signal.";
sleep 2000;
npctalk "Est : All we have to do is walk around like a patrol and catch them off guard.";
sleep 2000;
npctalk "Est : Go along the road to the main building of the mansion. I'll lurk behind you.";
sleep 2000;
npctalk "Est : Don't look around too much, and pretend you're not vigilant, got it?";
sleep 2000;
npctalk "Est : Now, let's go.";
for ( .@i = 1; .@i < 6; ++.@i )
enablenpc instance_npcname("Heart Hunter#md_hh0" + .@i);
end;
}
if ('twilight_story == 1)
end;
if ('twilight_story == 2) {
cutin "ep162_est01",2;
mes "[Est]";
mes "They must have been waiting too.";
mes "Let's do this more quietly.";
close3;
}
end;
}
1@bamn,119,299,3 script(DISABLED) Heart Hunter#md_hh01 G_EP17_2_HEART_HUNTER,3,3,{
end;
OnTouch_:
if (!is_party_leader())
end;
if ('twilight_story == 1) {
'twilight_story = 2;
npctalk "Quietly surrender or return back to where you came from.";
sleep 2000;
npctalk "Well, that doesn't mean we'll let you go back.";
sleep 1000;
for ( .@i = 1; .@i < 6; ++.@i )
disablenpc instance_npcname("Heart Hunter#md_hh0" + .@i);
donpcevent instance_npcname("twilight_story_mob_1") + "::OnStart";
}
end;
}
1@bamn,119,305,3 duplicate(dummy_disabled_npc) Heart Hunter#md_hh02 G_EP17_2_HEART_HUNTER
1@bamn,119,302,3 duplicate(dummy_disabled_npc) Heart Hunter#md_hh03 G_EP17_2_HEART_HUNTER
1@bamn,119,296,3 duplicate(dummy_disabled_npc) Heart Hunter#md_hh04 G_EP17_2_HEART_HUNTER
1@bamn,119,293,3 duplicate(dummy_disabled_npc) Heart Hunter#md_hh05 G_EP17_2_HEART_HUNTER
1@bamn,1,1,0 script twilight_story_mob_1 -1,{
end;
OnStart:
.@event$ = instance_npcname("twilight_story_mob_1") + "::OnMobDead";
monster 'map_bamn$,119,308,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,128,308,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,121,300,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,118,293,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,124,294,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,130,308,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
end;
OnMobDead:
.@event$ = instance_npcname("twilight_story_mob_1") + "::OnMobDead";
if (mobcount('map_bamn$, .@event$) < 1) {
disablenpc instance_npcname("Est#est01");
enablenpc instance_npcname("Est#est02");
if ('twilight_story == 2)
'twilight_story = 3;
}
end;
}
1@bamn,119,299,5 script(DISABLED) Est#est02 4_F_ESTLOVELOY,{
if (!is_party_leader())
end;
if ('twilight_story == 3) {
cutin "ep162_est01",2;
mes "[Est]";
mes "I don't know if we should set a trap, or give you a chance.";
mes "Activate the tracker that we got from Elyumina.";
next;
cutin "",255;
unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : According to the intuition of the great Elyumina... Too Doo Too Doo Too~";
sleep2 2000;
unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : Over there!! Beep!";
navigateto("1@bamn",206,273);
sleep2 2000;
cutin "ep162_est01",2;
mes "[Est]";
mes "That's a loud thing.";
mes "Will you move out first?";
mes "I have a place to go for a second.";
next;
mes "[Est]";
mes "I'll join you soon.";
close2;
if ('twilight_story == 3) {
'twilight_story = 4;
donpcevent instance_npcname("twilight_story_mob_2") + "::OnStart";
}
cutin "",255;
disablenpc();
end;
}
end;
}
1@bamn,1,1,0 script twilight_story_mob_2 -1,{
end;
OnStart:
.@event$ = instance_npcname("twilight_story_mob_2") + "::OnMobDead";
monster 'map_bamn$,208,283,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,210,285,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,210,282,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,213,284,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,213,281,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
end;
OnMobDead:
.@event$ = instance_npcname("twilight_story_mob_2") + "::OnMobDead";
if (mobcount('map_bamn$, .@event$) < 1) {
enablenpc instance_npcname("Est#est03");
enablenpc instance_npcname("Almond#amond01");
if ('twilight_story == 4)
'twilight_story = 5;
}
end;
}
1@bamn,202,274,5 script(DISABLED) Est#est03 4_F_ESTLOVELOY,{
if ('twilight_story == 5) {
cutin "ep162_est01",2;
mes "[Est]";
mes "I thought it might be better to throw in more bait, so I went to ask for the help of the automatic dolls.";
mes "Also, Almond said she had to go out and check something.";
next;
cutin "ep172_beta",0;
mes "[Almond]";
mes "The repeater is dead again. That's why I have to fix it.";
mes "The repeater is the favorite target of the intruders, so we can't just leave it broken, right?";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "For that reason, I'd like to ask you to escort Almon here to check the repeater.";
mes "I'll look around and find other routes.";
next;
cutin "ep172_beta",0;
mes "[Almond]";
mes "Let's go together whenever you're ready.";
close2;
cutin "",255;
if ('twilight_story == 5)
'twilight_story = 6;
end;
}
if ('twilight_story == 6) {
cutin "ep162_est01",2;
mes "[Est]";
mes "Talk to Almond, when you're ready to move.";
close3;
}
end;
}
1@bamn,199,275,5 script(DISABLED) Almond#amond01 EP17_2_BETA_BASIC,{
if ('twilight_story < 6) {
cutin "ep172_beta",2;
mes "[Almond]";
mes "Everyone was supposed to be in the mansion today.";
mes "Something important came up. That's why I'm here with Est.";
close3;
}
if ('twilight_story == 6) {
'guide = getnpcid(0);
'twilight_story = 7;
npcspeed 200;
npctalk "Then, let us go.";
unitwalk 'guide,199,248, instance_npcname("Almond#amond01") + "::OnEvent00";
enablenpc instance_npcname("Intruder#sweety02");
end;
}
if ('twilight_story == 7)
end;
if ('twilight_story == 8) {
'twilight_story = 9;
unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : Pyo-o-o-o-o! There!!";
setpcblock PCBLOCK_NPC, true;
navigateto("1@bamn",242,206);
sleep2 2000;
npctalk "Ahahaha, it's noisy.";
sleep2 2000;
npctalk "I'm curious, should we go quickly?";
sleep2 2000;
npctalk "Guest, there is an intruder!";
donpcevent instance_npcname("twilight_story_mob_3") + "::OnStart";
setpcblock PCBLOCK_NPC, false;
sleep 200;
npcspeed 80;
unitwalk 'guide,245,229, instance_npcname("Almond#amond01") + "::OnEvent02";
end;
}
if ('twilight_story == 10 || 'twilight_story == 11 || 'twilight_story == 12) {
npctalk "Be careful!";
end;
}
if ('twilight_story == 13) {
'twilight_story = 14;
npcspeed 200;
setpcblock PCBLOCK_NPC, true;
npctalk "Let's go check the repeater.";
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
sleep2 1000;
unitwalk 'guide,244,208, instance_npcname("Almond#amond01") + "::OnEvent04";
end;
}
if ('twilight_story == 14)
end;
if ('twilight_story == 15) {
'twilight_story = 16;
setpcblock PCBLOCK_NPC, true;
for ( .@i = 1; .@i < 5; ++.@i )
enablenpc instance_npcname("Rebellion#md_rb0" + .@i);
for ( .@i = 6; .@i < 9; ++.@i )
enablenpc instance_npcname("Heart Hunter#md_hh0" + .@i);
unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : Kakakakakakakil! The culprit is around! They're on my radar! It's that way!";
navigateto("1@bamn",332,143);
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
sleep2 1000;
npcspeed 80;
npctalk "There's another intruder! No wonder I'm starting to get excited~!";
unitwalk 'guide,332,169;
end;
}
if ('twilight_story < 18)
end;
if ('twilight_story == 18) {
npcspeed 200;
'twilight_story = 19;
npctalk "Are you all right, adventurer? Then, we can keep going.";
unitwalk 'guide,332,143, instance_npcname("Almond#amond01") + "::OnEvent11";
end;
}
if ('twilight_story == 19)
end;
if ('twilight_story == 20) {
npctalk "Shouldn't you talk to Est? Looks like she've been waiting.";
end;
}
end;
OnEvent00:
npctalk "This way.";
sleep 1000;
unitwalk 'guide,225,248, instance_npcname("Almond#amond01") + "::OnFollow00";
end;
OnFollow00:
unitwalk 'guide,245,248, instance_npcname("Almond#amond01") + "::OnEvent01";
end;
OnEvent01:
npctalk "Let's go see the Repeater that is oftenly hacked.";
sleep 2000;
npctalk "Huh? What are you carrying right now? Take it out and show it to me.";
'twilight_story = 8;
end;
OnEvent02:
npctalk "Adventurer, there's an intruder!";
unitwalk 'guide,245,215, instance_npcname("Almond#amond01") + "::OnEvent03";
end;
OnEvent03:
'twilight_story = 10;
end;
OnEvent04:
npctalk "...checking the signal.";
sleep 2000;
npctalk "...hacking channel checked.";
sleep 2000;
npctalk "...recovering...";
sleep 2000;
npctalk "...recovering...84%";
sleep 2000;
npctalk "...recovery completed.";
sleep 2000;
npctalk "Shall we go to the repeater?";
sleep 2000;
unitwalk 'guide,245,204, instance_npcname("Almond#amond01") + "::OnEvent05";
end;
OnEvent05:
npctalk "Adventurer. Do you like Almonds? A customer who liked almonds named me. Does it suit me?";
sleep 3000;
unitwalk 'guide,265,204, instance_npcname("Almond#amond01") + "::OnEvent06";
end;
OnEvent06:
npctalk "That kid a while ago, I've seen him before.";
unitwalk 'guide,285,204, instance_npcname("Almond#amond01") + "::OnEvent07";
end;
OnEvent07:
npctalk "But he always ran so well, It's the first time I've seen him properly~";
unitwalk 'guide,300,204, instance_npcname("Almond#amond01") + "::OnEvent08";
end;
OnEvent08:
npctalk "The Pitaya's here is cute~ They say Almonds is delicious? Have you eaten almonds before?";
sleep 2000;
npctalk "This way.";
unitwalk 'guide,300,190, instance_npcname("Almond#amond01") + "::OnEvent09";
end;
OnEvent09:
npctalk "It's been a while since I've been this comfortable~";
unitwalk 'guide,327,189, instance_npcname("Almond#amond01") + "::OnEvent10";
end;
OnEvent10:
npctalk "Adventurer. Is that noisy thing flickering again? Let us check it for a second.";
'twilight_story = 15;
end;
OnEvent11:
npctalk "...checking the signal.";
sleep 2000;
npctalk "...hacking channel checked.";
sleep 2000;
npctalk "...recovering...";
sleep 2000;
npctalk "...recovering...72%";
sleep 2000;
npctalk "...recovery completed.";
sleep 2000;
npctalk "Let's go to the next repeater~";
sleep 2000;
unitwalk 'guide,320,139, instance_npcname("Almond#amond01") + "::OnFollow12";
end;
OnFollow12:
unitwalk 'guide,300,139, instance_npcname("Almond#amond01") + "::OnEvent12";
end;
OnEvent12:
npctalk "It's the kid from before, right? He's an intruder. That's weird, kind of like almonds...";
unitwalk 'guide,285,139, instance_npcname("Almond#amond01") + "::OnEvent13";
end;
OnEvent13:
npctalk "Shall we go faster? There's a sound coming from over there...";
unitwalk 'guide,285,118, instance_npcname("Almond#amond01") + "::OnEvent14";
end;
OnEvent14:
npctalk "It's more quiet than I thought. Where did the intruders go?";
unitwalk 'guide,285,98, instance_npcname("Almond#amond01") + "::OnEvent15";
end;
OnEvent15:
npctalk "This way.";
unitwalk 'guide,261,98, instance_npcname("Almond#amond01") + "::OnEvent16";
end;
OnEvent16:
npcspeed 80;
npctalk "It's Est!";
'twilight_story = 20;
unitwalk 'guide,261,87;
end;
}
1@bamn,1,1,0 script twilight_story_mob_3 -1,{
end;
OnStart:
.@event$ = instance_npcname("twilight_story_mob_3") + "::OnMobDead";
monster 'map_bamn$,246,208,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,248,208,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,246,206,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
monster 'map_bamn$,248,206,"Heart Hunter","G_EP17_2_HEART_HUNTER",1, .@event$;
enablenpc instance_npcname("Intruder#sweety02");
end;
OnMobDead:
.@event$ = instance_npcname("twilight_story_mob_3") + "::OnMobDead";
if (mobcount('map_bamn$, .@event$) < 1) {
if ('twilight_story == 10)
'twilight_story = 11;
}
end;
}
1@bamn,243,208,5 script Repeater#wifi03 CLEAR_NPC,{
mes "There is no way to find out what the state of the repeater is. The communication chip seems to be properly installed.";
close;
}
1@bamn,242,206,7 script(DISABLED) Intruder#sweety02 4_EP17_SWEETY,{
if ('twilight_story < 11) {
npctalk "You're one step behind! You bunch of idiots!";
end;
}
if ('twilight_story == 11) {
'twilight_story = 12;
npctalk "Hah! Do you think you can catch me?";
sleep 2000;
npctalk "Go suffer!";
sleep 500;
disablenpc();
donpcevent instance_npcname("twilight_story_mob_4") + "::OnStart";
end;
}
end;
}
1@bamn,1,1,0 script twilight_story_mob_4 -1,{
end;
OnStart:
.@event$ = instance_npcname("twilight_story_mob_4") + "::OnMobDead";
monster 'map_bamn$,248,206,"Heart Hunter Commander","G_BELLARE3",1, .@event$;
monster 'map_bamn$,248,208,"Heart Hunter Commander","G_BELLARE3",1, .@event$;
end;
OnMobDead:
.@event$ = instance_npcname("twilight_story_mob_4") + "::OnMobDead";
if (mobcount('map_bamn$, .@event$) < 1) {
if ('twilight_story == 12)
'twilight_story = 13;
}
end;
}
1@bamn,331,161,3 script(DISABLED) Rebellion#md_rb02 4_F_REBELLION,7,7,{
end;
OnTouch:
if ('twilight_story == 16) {
'twilight_story = 17;
npctalk "We'll take over this place, just watch!";
sleep 1000;
specialeffect EF_DESPERADO, AREA, instance_npcname("Heart Hunter#md_hh06");
sleep 1000;
npctalk "Kakaka, Let's beat them down with a blast!", instance_npcname("Rebellion#md_rb04");
specialeffect EF_TRIPLEACTION, AREA, instance_npcname("Heart Hunter#md_hh07");
sleep 1000;
specialeffect EF_DESPERADO, AREA, instance_npcname("Heart Hunter#md_hh07");
sleep 2000;
npctalk "Thank you for showing yourselves! You bastards!", instance_npcname("Rebellion#md_rb03");
sleep 2000;
specialeffect EF_DESPERADO, AREA, instance_npcname("Heart Hunter#md_hh08");
sleep 2000;
npctalk "...", instance_npcname("Heart Hunter#md_hh07");
sleep 2000;
npctalk "...(Nods)", instance_npcname("Heart Hunter#md_hh06");
sleep 1000;
npctalk "...", instance_npcname("Heart Hunter#md_hh08");
sleep 1000;
npctalk "What signal are you sending to each other?";
sleep 1000;
specialeffect EF_DESPERADO, AREA, instance_npcname("Heart Hunter#md_hh07");
for ( .@i = 1; .@i < 5; ++.@i )
specialeffect EF_SPREADATTACK, AREA, instance_npcname("Rebellion#md_rb0" + .@i);
sleep 1000;
for ( .@i = 6; .@i < 9; ++.@i )
disablenpc instance_npcname("Heart Hunter#md_hh0" + .@i);
sleep 1000;
npctalk "What? Did they ran?! Move out!";
sleep 2000;
for ( .@i = 1; .@i < 5; ++.@i )
disablenpc instance_npcname("Rebellion#md_rb0" + .@i);
enablenpc instance_npcname("Intruder#sweety03");
npctalk "What...?", instance_npcname("Intruder#sweety03");
}
end;
}
1@bamn,321,161,5 duplicate(dummy_disabled_npc) Rebellion#md_rb01 4_M_REBELLION
1@bamn,331,155,1 duplicate(dummy_disabled_npc) Rebellion#md_rb03 4_M_REBELLION
1@bamn,321,155,7 duplicate(dummy_disabled_npc) Rebellion#md_rb04 4_F_REBELLION
1@bamn,324,158,7 duplicate(dummy_disabled_npc) Heart Hunter#md_hh06 G_EP17_2_HEART_HUNTER
1@bamn,326,159,3 duplicate(dummy_disabled_npc) Heart Hunter#md_hh07 G_EP17_2_HEART_HUNTER
1@bamn,328,158,1 duplicate(dummy_disabled_npc) Heart Hunter#md_hh08 G_EP17_2_HEART_HUNTER
1@bamn,333,141,7 script(DISABLED) Intruder#sweety03 4_EP17_SWEETY,{
if ('twilight_story == 17) {
setpcblock PCBLOCK_NPC, true;
'twilight_story = 18;
npctalk "What, where did the other guys go?";
sleep2 2000;
npctalk "Did you do it?";
sleep2 2000;
npctalk "You're pretty good, aren't you?";
sleep2 2000;
npctalk "Repeater : (... .. ..)", instance_npcname("Repeater#wifi02");
npctalk "Oh, there's a message. Stay there for a while. Yes, Hello.";
sleep2 2000;
npctalk "Repeater : (... ??... ??)", instance_npcname("Repeater#wifi02");
sleep2 2000;
npctalk "Now? More time... Yes, no... Ah...";
sleep2 2000;
npctalk "... ... so far... no?!... Okay...";
sleep2 2000;
emotion ET_THINK;
sleep2 2000;
npctalk "You! You're the reason I don't have time right now! I'll kill you the next time we meet!";
sleep2 2000;
disablenpc();
enablenpc instance_npcname("Est#est04");
for ( .@i = 5; .@i < 9; ++.@i )
enablenpc instance_npcname("Rebellion#md_rb0" + .@i);
for ( .@i = 0; .@i < 3; ++.@i )
enablenpc instance_npcname("Heart Hunter#md_hh1" + .@i);
setpcblock PCBLOCK_NPC, false;
}
end;
}
1@bamn,334,143,5 duplicate(dummy_npc) Repeater#wifi02 2_POSTBOX
1@bamn,257,84,3 script(DISABLED) Est#est04 4_F_ESTLOVELOY,{
if ('twilight_story == 20) {
cutin "ep162_est01",2;
mes "[Est]";
mes "I've heard the report. You found a guy who looked like the leader?";
mes "I think the rest of the members are somewhat good too.";
next;
mes "[Est]";
mes "What happened to the repeater?";
next;
cutin "ep172_beta",2;
mes "[Almond]";
mes "Were on the way to the other one.";
mes "But it's quite far from here.";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "Hmm... Shall we do this?";
mes "The guy you missed is a boy with purple hair, right?";
mes "We're going to bait him out.";
next;
mes "[Est]";
mes "I'll deal with the rest who's hiding in the garden.";
mes "Ah. I'll also escort Almond.";
next;
mes "[Est]";
mes "He probably went to the western part of the mansion, so head over there.";
mes "You have Elyumina's tracker. It will activate, if you get near him.";
if ('twilight_story == 20) {
'twilight_story = 21;
enablenpc instance_npcname("#to_bamq");
enablenpc instance_npcname("Intruder#sweety");
enablenpc instance_npcname("#to_swty01");
enablenpc instance_npcname("#to_swty02");
}
close3;
}
if ('twilight_story == 21) {
mes "[Est]";
mes "He probably went to the western part of the mansion, so head over there.";
mes "You have Elyumina's tracker, if you get near him, it will activate.";
next;
mes "[Est]";
mes "Don't worry, I'll take care of Almond from here.";
close3;
}
end;
}
1@bamn,250,80,7 script(DISABLED) Rebellion#md_rb05 4_M_REBELLION,{
npctalk "Leave the rest to us.";
end;
}
// 1@bamn,254,80,7 script Rebellion#md_rb06 4_F_REBELLION,7,7,{ // unknown effect
1@bamn,254,80,7 script(DISABLED) Rebellion#md_rb06 4_F_REBELLION,{
npctalk "Hehehe... It's finally time for revenge... Hehehe...";
end;
}
1@bamn,258,80,1 script(DISABLED) Rebellion#md_rb07 4_M_REBELLION,{
npctalk "If there's an enemy causing commotion, we should attack them with more numbers.";
end;
}
1@bamn,202,84,3 script(DISABLED) Rebellion#md_rb08 4_M_REBELLION2,{
npctalk "You're looking for a boy with purple hair, right? He went towards the labs.";
end;
}
1@bamn,67,173,0 script(DISABLED) #to_swty01 HIDDEN_WARP_NPC,5,5,{
end;
OnTouch:
if ('twilight_story == 21) {
unittalk getcharid(3), "" + strcharinfo(0) + " : Tracker : Pyo-o-o-o-o! That way! Pyo-pyo~!";
navigateto("1@bamn",33,224);
}
end;
}
1@bamn,121,204,0 duplicate(#to_swty01) #to_swty02 HIDDEN_WARP_NPC,7,7
1@bamn,67,195,3 script(DISABLED) Heart Hunter#md_hh10 G_BELLARE3,5,5,{
end;
OnTouch:
monster 'map_bamn$,67,195,"Heart Hunter Commander","G_BELLARE3",1;
monster 'map_bamn$,65,199,"Heart Hunter Commander","G_BELLARE3",1;
monster 'map_bamn$,71,197,"Heart Hunter Commander","G_BELLARE3",1;
disablenpc();
end;
}
1@bamn,78,204,5 script(DISABLED) Heart Hunter#md_hh11 G_BELLARE3,5,5,{
end;
OnTouch:
emotion ET_GO;
monster 'map_bamn$,78,204,"Heart Hunter Commander","G_BELLARE3",1;
monster 'map_bamn$,83,204,"Heart Hunter Commander","G_BELLARE3",1;
monster 'map_bamn$,76,200,"Heart Hunter Commander","G_BELLARE3",1;
disablenpc();
end;
}
1@bamn,61,214,7 script(DISABLED) Heart Hunter#md_hh12 G_BELLARE3,5,5,{
end;
OnTouch:
emotion ET_GO;
monster 'map_bamn$,61,214,"Heart Hunter Commander","G_BELLARE3",1;
monster 'map_bamn$,58,212,"Heart Hunter Commander","G_BELLARE3",1;
monster 'map_bamn$,64,214,"Heart Hunter Commander","G_BELLARE3",1;
disablenpc();
end;
}
1@bamn,145,106,5 duplicate(dummy_npc) Repeater#wifi01 CLEAR_NPC
1@bamq,125,39,3 script(DISABLED) Intruder#sweety 4_EP17_SWEETY,5,5,{
end;
OnTouch:
if ('twilight_story == 21) {
setpcblock PCBLOCK_NPC, true;
'twilight_story = 22;
npctalk "You're too late. You idiots!";
sleep2 2000;
npctalk "They already escaped using the airships!";
sleep2 2000;
npctalk "Now, I, Sweety will take care of the idiots that just came in!";
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
disablenpc();
donpcevent instance_npcname("twilight_story_mob_5") + "::OnStart";
end;
}
end;
}
1@bamq,1,1,7 script twilight_story_mob_5 -1,{
end;
OnStart:
monster 'map_bamq$,125,39,"Sweety",20642,1, instance_npcname("twilight_story_mob_5") + "::OnMobDead";
setunitdata $@mobid[0],UMOB_HP,500000;
end;
OnMobDead:
killmonster 'map_bamq$, instance_npcname("twilight_story_mob_5") + "::OnMobDead";
if ('twilight_story == 22)
'twilight_story = 23;
mapannounce 'map_bamq$, "Est: Did you hear a loud noise from here?", bc_map, 0xFF00;
enablenpc instance_npcname("Broken Sweety#sweety04");
enablenpc instance_npcname("Est#est05");
enablenpc instance_npcname("#tgd_bamq_exit");
end;
}
1@bamq,123,39,3 script(DISABLED) Broken Sweety#sweety04 4_EP17_SWEETY,{
specialeffect EF_NPC_STOP;
npctalk " ... yes ... s ... go ... no ... two ...";
mes "The electricity bounces and doesn't move, as if the machine is broken.";
mes "Seeing that he averts his gaze, he doesn't seem completely broken.";
close;
}
1@bamq,108,41,5 script(DISABLED) Est#est05 4_F_ESTLOVELOY,{
cutin "ep162_est01",2;
mes "[Est]";
mes "It's a little late, but it's over.";
mes "So that's you. The guy who was dragging his feet in the garden.";
next;
mes "[Est]";
mes "Did this guy think that controlling the automatic dolls will help him buy time?";
next;
cutin "ep162_est02",2;
mes "[Est]";
mes "After all, they're just automatic dolls, right?";
mes "I had no choice but to blow the automatic dolls of the mansion...";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "Let's get out of here.";
mes "I'll be waiting at the guesthouse.";
close3;
}
// warps story
1@bamn,33,224,0 script(DISABLED) #to_bamq WARPNPC,1,1,{
end;
OnTouch_:
if ('twilight_story == 21)
warp 'map_bamq$,103,39;
end;
}
1@bamq,101,39,0 warp2(DISABLED) #tgd_bamq_exit 1,1,ba_maison,33,220
// Daily
1@bamq,16,39,0 script #sweety_evt01 HIDDEN_WARP_NPC,2,2,{
end;
OnTouch:
if (!is_party_leader())
end;
disablenpc();
enablenpc instance_npcname("Almond#amond02");
enablenpc instance_npcname("Sweety#sweety_boss");
enablenpc instance_npcname("#to_bamq2");
enablenpc instance_npcname("#to_bamn");
monster 'map_bamn$,120,257,"--ja--",20681,1; // G_EP17_2_HEART_HUNTER
monster 'map_bamn$,130,255,"--ja--",20681,1;
monster 'map_bamn$,130,244,"--ja--",20681,1;
monster 'map_bamn$,127,184,"--ja--",20681,1;
monster 'map_bamn$,188,240,"--ja--",20699,1; // G_BELLARE3
monster 'map_bamn$,203,248,"--ja--",20699,1;
monster 'map_bamn$,203,252,"--ja--",20699,1;
monster 'map_bamn$,301,234,"--ja--",20681,1;
monster 'map_bamn$,302,239,"--ja--",20681,1;
monster 'map_bamn$,297,244,"--ja--",20681,1;
monster 'map_bamn$,197,52,"--ja--",20699,1;
monster 'map_bamn$,120,83,"--ja--",20681,1;
monster 'map_bamn$,117,84,"--ja--",20681,1;
monster 'map_bamn$,137,176,"--ja--",20681,1;
monster 'map_bamn$,143,181,"--ja--",20681,1;
monster 'map_bamn$,62,165,"--ja--",20699,1;
end;
}
1@bamq,32,49,3 script(DISABLED) Sweety#sweety_boss 4_EP17_Sweety,{
if ('sweety == 0) {
cutin "ep172_Sweety01",2;
mes "[Sweety]";
mes "Hey, are you ready?";
mes "Come at me anytime.";
mes "I'm sure I'll feel better once I beat you.";
next;
if (select( "Wait a bit.", "Let's go!" ) == 1) {
mes "[Sweety]";
mes "What, did you come here to explore the garden?";
mes "The heart hunter don't know what happened to me, but...";
next;
cutin "ep172_Sweety02",2;
mes "[Sweety]";
mes "What, why?";
mes "I'm not like them at all, I'm an excellent creature!";
mes "So did the teachers.";
mes "But, those guys are nothing but failures.";
close3;
}
cutin "",255;
npctalk "I won't lose to you this time!";
disablenpc();
donpcevent instance_npcname("twilight_daily") + "::OnStart";
'sweety = 1;
close;
}
specialeffect EF_NPC_STOP;
mes "He is not responding to anything.";
mes "I think he fainted from my attacks.";
npctalk "... ...";
close;
}
1@bamq,1,1,7 script twilight_daily -1,{
end;
OnStart:
monster 'map_bamq$,32,49,"Sweety",20642,1, instance_npcname("twilight_daily") + "::OnMobDead";
end;
OnMobDead:
killmonster 'map_bamq$, instance_npcname("twilight_daily") + "::OnMobDead";
mapannounce 'map_bamq$, "Almond: Sweety~ Do it in moderation~", bc_map, 0xFF00;
enablenpc instance_npcname("Sweety#sweety_boss");
'sweety = 2;
end;
}
1@bamq,32,43,3 script(DISABLED) Stunned Sweety#sweety_bo 4_EP17_SWEETY,{
setpcblock PCBLOCK_NPC, true;
specialeffect EF_NPC_STOP;
sleep2 500;
setpcblock PCBLOCK_NPC, false;
npctalk " ... ... ";
mes "I passed out from the shock.";
mes "Looks like he passed out.";
close;
}
1@bamq,37,59,3 script(DISABLED) Almond#amond02 EP17_2_BETA_BASIC,{
if ('sweety < 2) {
cutin "ep172_beta",2;
mes "[Almond]";
mes "I can't understand.";
mes "Why Sweety likes to push his body to the limit...";
next;
mes "[Almond]";
mes "And it's my job to fix his destroyed body.";
mes "Please deal with him enough to make him satisfied.";
close3;
}
cutin "ep172_beta",2;
mes "[Almond]";
mes "I will take care of moving Sweety.";
mes "Do you want to wrap up now?";
next;
if (select( "Let's wrap up.", "I'll explore the garden first." ) == 2) {
mes "[Almond]";
mes "There is still some intruders out there.";
mes "Are you aware of it?";
close3;
}
mes "[Almond]";
mes "Then, shall we?";
close2;
warp "ba_in01",18,255;
end;
}
// warps daily
1@bamn,33,224,0 warp2(DISABLED) #to_bamq2 1,1,1@bamq,13,39
1@bamq,8,39,0 warp2(DISABLED) #to_bamn 1,1,1@bamn,33,220
// Daily quest
1@bamn,150,47,3 script #bam_body01 4_EP17_BROKENBETA,{
if (isbegin_quest(18024) == 1) {
if (checkweight(1000226,1) == 0) { // (custom)
mes "^008800Wait a sec!!";
mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
close;
}
.@id = atoi(replacestr(strnpcinfo(2), "bam_body0", ""));
if ('broken_beta[.@id] == 0) {
mes "The body of Manager Beta is hidden under the landscapes.";
next;
if (rand(1,10) < 5)
mes "The core slot is empty.";
else {
mes "I've recovered the core.";
getitem 1000226,1;
}
mes "I'll let Alpha know later so she can retrieve the doll's body.";
'broken_beta[.@id] = 1;
}
}
mes "The core part is empty.";
close;
OnInstanceInit:
questinfo( QTYPE_CLICKME, QMARK_YELLOW, "isbegin_quest(18024) == 1" );
end;
}
1@bamn,221,193,3 duplicate(#bam_body01) #bam_body02 4_EP17_BROKENBETA
1@bamn,208,87,3 duplicate(#bam_body01) #bam_body03 4_EP17_BROKENBETA
1@bamn,314,146,3 duplicate(#bam_body01) #bam_body04 4_EP17_BROKENBETA
1@bamn,207,276,3 duplicate(#bam_body01) #bam_body05 4_EP17_BROKENBETA
1@bamn,70,256,3 duplicate(#bam_body01) #bam_body06 4_EP17_BROKENBETA
1@bamn,64,187,3 duplicate(#bam_body01) #bam_body07 4_EP17_BROKENBETA
1@bamn,275,313,3 duplicate(#bam_body01) #bam_body08 4_EP17_BROKENBETA
1@bamn,338,267,3 duplicate(#bam_body01) #bam_body09 4_EP17_BROKENBETA

File diff suppressed because it is too large Load Diff

View File

@@ -1,401 +0,0 @@
//===== rAthena Script =======================================
//= Weekend Memorial Dungeon
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Weekend Memorial Dungeon
//===== Changelogs: ==========================================
//= 1.0 Initial release [Everade]
//============================================================
pay_arche,44,124,5 script Marry Jae 4_F_JOB_BLACKSMITH,{
mes "[Marry Jae]";
if (BaseLevel < 60) {
mes "Your base level is too low, come back when you hit level 60+.";
close;
}
mes "^ff0000If you attempt to tame any monsters, it will not count as a kill. Please be careful.^000000";
next;
.@day = gettime(DT_DAYOFWEEK);
if (.@day != SATURDAY && .@day != SUNDAY) {
mes "[Marry Jae]";
mes "Oh, a curious onlooker? I'm Marry Jae, the person in charge of weekends among the days of the week.";
next;
mes "[Marry Jae]";
mes "What is the weekend dungeon? Actually, it's a specially designed space for new adventurers to train.";
next;
mes "^0000FFLooking around, it's obvious that Marry Jae is talking to you.^000000";
next;
mes "[Marry Jae]";
mes "For those who do not have a party on the weekends, this place is hunting and experience gaining grounds for lonely adventurers!";
next;
mes "[Marry Jae]";
mes "Besides, the experience gain here is very generous.";
next;
select( "When is the opening time?" );
mes "[Marry Jae]";
mes "The dungeon will be open during:";
mes "^0000FFSaturday 00:00 ~ Sunday 23:59^000000";
next;
mes "[Marry Jae]";
mes "I hope to see you when the weekend arrives~";
close;
}
.@md_name$ = "Weekend Dungeon";
if (is_party_leader() == false) {
mes "[Marry Jae]";
mes "You need to form a party of one member or more.";
close;
}
switch( checkquest(12378,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
switch( checkquest(12377,PLAYTIME) ) {
case -1:
case 2:
mes "[Marry Jae]";
mes "Sorry, but the entry period to the " + .@md_name$ + " has expired.";
mes "Take a rest while waiting for the dungeon to be available again.";
close;
case 0:
case 1:
break;
}
break;
case 2:
erasequest 12377;
erasequest 12378;
mes "[Marry Jae]";
mes "The cooldown has expired.";
mes "You may re-enter the Memorial Dungeon.";
close;
}
mes "[Marry Jae]";
mes "I think you're just about ready.";
mes "Now, would you like to enter it now?";
next;
switch( select( "Prepare Memorial Dungeon", "Enter Weekend Dungeon", "Cancel" ) ) {
case 1:
instance_create(.@md_name$);
mes "[Marry Jae]";
mes "The Memorial Dungeon has been created.";
mes "You may now enter.";
close;
case 2:
switch( instance_enter(.@md_name$) ) {
case IE_NOMEMBER:
end;
case IE_NOINSTANCE:
mes "There is no Memorial Dungeon registered.";
close;
case IE_OTHER:
mes "An unknown error has occurred.";
close;
case IE_OK:
mes "[Marry Jae]";
mes "Off you go!";
mapannounce "pay_arche", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering the " + .@md_name$ + ".", bc_map, 0xFF99;
if (isbegin_quest(12377) == 0)
setquest 12377;
if (isbegin_quest(12378) == 0)
setquest 12378;
end;
}
end;
case 3:
mes "[Marry Jae]";
mes "You have not prepared?";
mes "Can't really help it I guess.";
close;
}
}
//Merchant
pay_arche,44,121,5 script Gift Supplies Clerk 4_F_02,{
.@zeny = 60000;
mes "[Gift Supplies Clerk]";
mes "I offer packaging services for those who wish to present a precious gift to a cherished one.";
next;
mes "[Gift Supplies Clerk]";
mes "If you have 5 units of <ITEM>" + getitemname(23143) + "<INFO>23143</INFO></ITEM> or <ITEM>" + getitemname(23142) + "<INFO>23142</INFO></ITEM>, I can pack it for just ^FF0000" + F_InsertComma(.@zeny) + "^000000 Zeny!";
mes "Do you want to pack it right now?";
next;
switch( select( "Cancel", "Growth Elixir Packing", "Job Elixir Packing" ) ) {
case 1:
mes "[Gift Supplies Clerk]";
mes "Come back whenever you need packaging services!";
close;
case 2:
.@item = 23142;
.@box = 23144;
break;
case 3:
.@item = 23143;
.@box = 23145;
break;
}
mes "[Gift Supplies Clerk]";
if (countitem(.@item) < 5) {
mes "Please come back when you have enough materials.";
close;
}
if (Zeny < .@zeny) {
mes "Please come back when you have enough Zeny.";
mes F_InsertComma(.@zeny) + "z to be specific.";
close;
}
if (checkweight(23144,1) == 0) {
mes "You have too many kinds of objects. Clear your inventory.";
close;
}
if (MaxWeight - Weight < 10000) {
mes "Can't continue because you have too many heavy objects. Reduce your total weight by clearing your inventory.";
close;
}
mes "Confirm to spend " + F_InsertComma(.@zeny) + "z to package 5 <ITEM>" + getitemname(.@item) + "<INFO>" + .@item + "</INFO></ITEM> into <ITEM>" + getitemname(.@box) + "<INFO>" + .@box + "</INFO></ITEM>?";
next;
if (select( "Yes", "No" ) == 2) {
mes "[Gift Supplies Clerk]";
mes "Come back whenever you need packaging services!";
close;
}
Zeny -= .@zeny;
delitem .@item,5;
getitem .@box,1;
end;
}
//Instance
1@md_pay,239,30,6 script Marry Jae#0_1 4_F_JOB_BLACKSMITH,{
if (is_party_leader() == false)
end;
mes "[Marry Jae]";
mes "Before we start setting up the environment here, we'll give you the chance to choose an appropriate difficulty level.";
mes "I could make my own choice, but each person handles it differently based on their abilities.";
next;
switch( select( "Cancel", "Lv60 ~ 79", "Lv80 ~ 99", "Lv100 ~ 119", "Lv120 ~ 139", "Lv140 ~ 159", "Lv160 ~ " ) ) {
case 1:
end;
//Familiar, Skeleton, Zombie
case 2:
.@min_level = 60;
setarray 'mob[0],3643,3637,3649;
break;
case 3:
.@min_level = 80;
setarray 'mob[0],3644,3638,3650;
break;
case 4:
.@min_level = 100;
setarray 'mob[0],3645,3639,3651;
break;
case 5:
.@min_level = 120;
setarray 'mob[0],3646,3640,3652;
break;
case 6:
.@min_level = 140;
setarray 'mob[0],3647,3641,3653;
break;
case 7:
.@min_level = 160;
setarray 'mob[0],3648,3642,3654;
break;
}
mes "[Marry Jae]";
if (BaseLevel < .@min_level) {
mes "Your base level is too low to select this, you need to be level " + .@min_level + " + .";
close;
}
mes "Good luck finding the treasures!";
npctalk "Good luck~";
donpcevent instance_npcname("map_md_pay_spawn") + "::OnStart";
close;
}
1@md_pay,1,1,6 script map_md_pay_spawn -1,{
end;
OnStart:
sleep 2500;
disablenpc instance_npcname("Marry Jae#0_1");
.@event$ = instance_npcname("map_md_pay_spawn") + "::OnFarmiliarDead";
killmonster 'map_md_pay$, .@event$;
monster 'map_md_pay$,252,54,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,260,40,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,249,93,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,224,38,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,255,125,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,264,132,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,255,165,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,265,181,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,225,165,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,235,115,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,205,145,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,190,180,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,213,250,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,90,263,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,135,200,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,175,155,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,165,145,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,180,117,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,175,115,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,185,66,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,155,55,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,165,45,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,124,57,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,54,45,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,53,48,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,55,65,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,51,66,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,42,84,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,41,152,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,46,171,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,45,185,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,64,172,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,75,181,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,50,202,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,55,205,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,75,245,"Familiar",'mob[0],1,.@event$;
monster 'map_md_pay$,90,263,"Familiar",'mob[0],1,.@event$;
.@event$ = instance_npcname("map_md_pay_spawn") + "::OnSkelDead";
killmonster 'map_md_pay$, .@event$;
monster 'map_md_pay$,245,55,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,243,63,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,259,98,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,258,204,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,239,122,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,189,190,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,239,231,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,205,225,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,172,207,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,166,234,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,171,236,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,126,180,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,150,150,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,155,135,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,174,75,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,186,67,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,95,65,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,55,85,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,37,92,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,34,90,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,27,99,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,57,76,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,62,93,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,33,97,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,60,45,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,48,60,"Skeleton",'mob[1],1,.@event$;
monster 'map_md_pay$,73,51,"Skeleton",'mob[1],1,.@event$;
.@event$ = instance_npcname("map_md_pay_spawn") + "::OnZombieDead";
killmonster 'map_md_pay$, .@event$;
monster 'map_md_pay$,245,65,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,218,61,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,255,171,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,215,165,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,237,127,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,215,105,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,198,168,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,243,267,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,165,207,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,157,236,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,113,259,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,105,255,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,117,238,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,164,194,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,159,172,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,175,155,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,146,131,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,152,126,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,181,85,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,165,81,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,157,74,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,175,45,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,49,48,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,65,175,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,78,180,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,33,207,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,49,227,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,55,235,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,60,240,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,70,237,"Zombie",'mob[2],1,.@event$;
monster 'map_md_pay$,65,265,"Zombie",'mob[2],1,.@event$;
'rand_chest = rand(1,4);
end;
OnFarmiliarDead:
callsub( S_Mob, 'mob[0], "Familiar", "OnFarmiliarDead" );
OnSkelDead:
callsub( S_Mob, 'mob[1], "Skeleton", "OnSkelDead" );
OnZombieDead:
callsub( S_Mob, 'mob[2], "Zombie", "OnZombieDead" );
S_Mob:
if (rand(100) == 0) {
'rand_chest++;
if ('rand_chest > 4)
'rand_chest = 1;
// Treasure Chest Spawn
donpcevent instance_npcname("#WDbox" + 'rand_chest) + "::OnStart";
}
sleep 10000;
monster 'map_md_pay$,0,0, getarg(1), getarg(0),1, instance_npcname("map_md_pay_spawn") + "::" + getarg(2);
end;
OnInstanceInit:
'count = 0;
'rand_chest = 0;
'map_md_pay$ = instance_mapname("1@md_pay");
disablenpc instance_npcname("#WDbox1");
disablenpc instance_npcname("#WDbox2");
disablenpc instance_npcname("#WDbox3");
disablenpc instance_npcname("#WDbox4");
end;
}
// Treasure Chest Reward
1@md_pay,99,172,3 script #WDbox1 4_TREASURE_BOX,{
specialeffect EF_COIN;
disablenpc();
stopnpctimer;
sleep 500;
.@chestname$ = strnpcinfo(2);
if (.@chestname$ == "WDbox1") {
for ( .@i = 0; .@i < 3; ++.@i )
makeitem rand(23142,23143),1, 'map_md_pay$, rand(97,101), rand(170,174);
}
else if (.@chestname$ == "WDbox2") {
for ( .@i = 0; .@i < 3; ++.@i )
makeitem rand(23142,23143),1, 'map_md_pay$, rand(233,237), rand(58,62);
}
else if (.@chestname$ == "WDbox3") {
for ( .@i = 0; .@i < 3; ++.@i )
makeitem rand(23142,23143),1, 'map_md_pay$, rand(51,55), rand(265,269);
}
else if (.@chestname$ == "WDbox4") {
for ( .@i = 0; .@i < 3; ++.@i )
makeitem rand(23142,23143),1, 'map_md_pay$, rand(236,240), rand(250,254);
}
end;
OnStart:
enablenpc();
instance_announce -1, "A treasure chest appeared somewhere in the dungeon. It'll disappear after a while, so let's find it.", bc_map, "0xff5500";
initnpctimer;
end;
OnTimer180000: //3min before chest disappears
disablenpc();
stopnpctimer;
end;
}
1@md_pay,235,60,3 duplicate(#WDbox1) #WDbox2 4_TREASURE_BOX
1@md_pay,53,267,3 duplicate(#WDbox1) #WDbox3 4_TREASURE_BOX
1@md_pay,238,252,3 duplicate(#WDbox1) #WDbox4 4_TREASURE_BOX

View File

@@ -241,12 +241,6 @@ que_swat mapflag nobranch
har_in01 mapflag nobranch
rockmi2 mapflag nobranch
//============================================================
// Memorial day
//============================================================
1@md_gef mapflag nobranch
1@md_pay mapflag nobranch
//============================================================
// Lasagna
//============================================================

View File

@@ -256,12 +256,6 @@ har_in01 mapflag nomemo
rockmi1 mapflag nomemo
rockmi2 mapflag nomemo
//============================================================
// Memorial day
//============================================================
1@md_gef mapflag nomemo
1@md_pay mapflag nomemo
//============================================================
// Lasagna
//============================================================

View File

@@ -6,7 +6,6 @@
//===== Changelogs: ==========================================
//= 1.0 Renewal split. [Euphy]
//= 1.1 Added GVG TE Guild Dungeons. [Capuche]
//= 1.2 Removed instances. [Lemongrass]
//============================================================
//============================================================
@@ -61,10 +60,27 @@ te_aldecas3 mapflag nosave SavePoint
te_aldecas4 mapflag nosave SavePoint
te_aldecas5 mapflag nosave SavePoint
//============================================================
// Misty Forest Labyrinth
//============================================================
1@mist mapflag nosave SavePoint
//============================================================
// Octopus Cave
//============================================================
1@cash mapflag nosave SavePoint
//============================================================
// Drain
//============================================================
1@pump mapflag nosave SavePoint
2@pump mapflag nosave SavePoint
//============================================================
// Somatology Laboratory
//============================================================
que_lhz mapflag nosave SavePoint
1@lhz mapflag nosave SavePoint
//============================================================
// Port Malaya
@@ -79,22 +95,240 @@ ma_zif07 mapflag nosave SavePoint
ma_zif08 mapflag nosave SavePoint
ma_zif09 mapflag nosave SavePoint
//============================================================
// Bangungot Hospital F2
//============================================================
1@ma_h mapflag nosave SavePoint
//============================================================
// Buwaya Cave
//============================================================
1@ma_c mapflag nosave SavePoint
//============================================================
// Bakonawa Hideout
//============================================================
1@ma_b mapflag nosave SavePoint
//============================================================
// Inside Eclage
//============================================================
que_avan01 mapflag nosave SavePoint
1@ecl mapflag nosave SavePoint
//============================================================
// Glastheim Memorial Dungeon
//============================================================
1@gl_k mapflag nosave SavePoint
2@gl_k mapflag nosave SavePoint
//============================================================
// Wave Mode Memorial Dungeon
//============================================================
1@def01 mapflag nosave SavePoint
1@def02 mapflag nosave SavePoint
1@def03 mapflag nosave SavePoint
//============================================================
// Heroes' Trail - Part 1
//============================================================
1@face mapflag nosave SavePoint
1@sara mapflag nosave SavePoint
//============================================================
// Heroes' Trail - Part 2
//============================================================
1@ge_st mapflag nosave SavePoint
1@gef mapflag nosave SavePoint
1@gef_in mapflag nosave SavePoint
1@spa mapflag nosave SavePoint
1@tnm1 mapflag nosave SavePoint
1@tnm2 mapflag nosave SavePoint
1@tnm3 mapflag nosave SavePoint
//============================================================
// Horror Toy Factory Memorial Dungeon
//============================================================
1@xm_d mapflag nosave SavePoint
//============================================================
// Heroes' Trail - Part 3
//============================================================
1@glast mapflag nosave SavePoint
1@air1 mapflag nosave SavePoint
1@air2 mapflag nosave SavePoint
//============================================================
// Decisive Battle - Part 1
//============================================================
1@dth1 mapflag nosave SavePoint
1@dth2 mapflag nosave SavePoint
1@dth3 mapflag nosave SavePoint
1@rev mapflag nosave SavePoint
//============================================================
// Decisive Battle - Part 2
//============================================================
1@eom mapflag nosave SavePoint
1@jtb mapflag nosave SavePoint
//============================================================
// Episode 15 - Phantasmagorica
//============================================================
1@lab mapflag nosave SavePoint
1@uns mapflag nosave SavePoint
un_myst mapflag nosave SavePoint
1@mcd mapflag nosave SavePoint
//============================================================
// Infinite Space
//============================================================
1@infi mapflag nosave
//============================================================
// Episode 16.1 - Banquet of Heroes
//============================================================
que_swat mapflag nosave SavePoint
1@mir mapflag nosave SavePoint
2@mir mapflag nosave SavePoint
1@sthb mapflag nosave SavePoint
1@sthc mapflag nosave SavePoint
1@sthd mapflag nosave SavePoint
1@slw mapflag nosave SavePoint
1@swat mapflag nosave SavePoint
//============================================================
// Rockridge
//============================================================
rockmi2 mapflag nosave SavePoint
//============================================================
// Chicken Mode - Nightmare Glastheim
//============================================================
1@gl_k2 mapflag nosave SavePoint
2@gl_k2 mapflag nosave SavePoint
//============================================================
// Chicken Mode - Horror Toy Factory
//============================================================
1@xm_d2 mapflag nosave SavePoint
//============================================================
// Suspicious Shipwreck
//============================================================
1@tre mapflag nosave SavePoint
//============================================================
// Poring Village
//============================================================
1@begi mapflag nosave SavePoint
//============================================================
// Volcanic Island Korodo
//============================================================
1@crd mapflag nosave SavePoint
//============================================================
// Noodles Festival July
//============================================================
1@drdo mapflag nosave SavePoint
//============================================================
// Soul Reaper Job Change
//============================================================
1@soul mapflag nosave SavePoint
//============================================================
// Episode 17.1
//============================================================
1@cor mapflag nosave SavePoint
1@os_a mapflag nosave SavePoint
1@os_b mapflag nosave SavePoint
1@rgsr mapflag nosave SavePoint
//============================================================
// Episode 17.2
//============================================================
1@bamn mapflag nosave SavePoint
1@bamq mapflag nosave SavePoint
1@ghg mapflag nosave SavePoint
1@herbs mapflag nosave SavePoint
1@lost mapflag nosave SavePoint
1@odin mapflag nosave SavePoint
//============================================================
// 4th Jobs Change
//============================================================
1@4win mapflag nosave SavePoint
1@4mag mapflag nosave SavePoint
1@4mst mapflag nosave SavePoint
1@4sac mapflag nosave SavePoint
1@4tro mapflag nosave SavePoint
1@4inq mapflag nosave SavePoint
1@4cdn mapflag nosave SavePoint
1@4igd mapflag nosave SavePoint
1@4drk mapflag nosave SavePoint
//============================================================
// Geffen Night Arena
//============================================================
1@ge_sn mapflag nosave SavePoint
//============================================================
// Traces of Heroes
//============================================================
1@mjo1 mapflag nosave SavePoint
1@mjo2 mapflag nosave SavePoint
1@spa2 mapflag nosave SavePoint
//============================================================
// Thanatos Tower Memorial Dungeon
//============================================================
1@thts mapflag nosave SavePoint
2@thts mapflag nosave SavePoint
3@thts mapflag nosave SavePoint
4@thts mapflag nosave SavePoint
5@thts mapflag nosave SavePoint
6@thts mapflag nosave SavePoint
7@thts mapflag nosave SavePoint
8@thts mapflag nosave SavePoint
//============================================================
// Glastheim Challenge Mode
//============================================================
1@gl_he mapflag nosave SavePoint
1@gl_he2 mapflag nosave SavePoint
//============================================================
// EDDA
//============================================================
1@gl_prq mapflag nosave SavePoint
1@gol1 mapflag nosave SavePoint
1@gol2 mapflag nosave SavePoint
//============================================================
// 2018 Halloween
//============================================================
1@halo mapflag nosave SavePoint
//============================================================
// Constellation Tower
//============================================================
1@ch_t mapflag nosave SavePoint
2@ch_t mapflag nosave SavePoint
3@ch_t mapflag nosave SavePoint
//============================================================
// Episode 18 - Direction of Prayer
//============================================================
1@adv mapflag nosave SavePoint
1@advs mapflag nosave SavePoint
1@nyr mapflag nosave SavePoint
1@oz mapflag nosave SavePoint
1@tcamp mapflag nosave SavePoint
2@nyr mapflag nosave SavePoint
//============================================================
// Sunken Tower
//============================================================
1@ch_u mapflag nosave SavePoint

View File

@@ -246,12 +246,6 @@ rebel_in mapflag monster_noteleport
har_in01 mapflag noteleport
rockmi2 mapflag noteleport
//============================================================
// Memorial day
//============================================================
1@md_gef mapflag noteleport
1@md_pay mapflag noteleport
//============================================================
// Lasagna
//============================================================

View File

@@ -189,12 +189,6 @@ har_in01 mapflag nowarpto
rockmi1 mapflag nowarpto
rockmi2 mapflag nowarpto
//============================================================
// Memorial day
//============================================================
1@md_gef mapflag nowarpto
1@md_pay mapflag nowarpto
//============================================================
// Lasagna
//============================================================

View File

@@ -122,12 +122,6 @@
1@slw mapflag partylock
1@swat mapflag partylock
//============================================================
// Memorial day
//============================================================
1@md_gef mapflag partylock
1@md_pay mapflag partylock
//============================================================
// Chicken Mode Nightmare Glastheim
//============================================================

View File

@@ -107,12 +107,6 @@ lhz_d_n2 mapflag restricted 6
1@slw mapflag restricted 6
1@swat mapflag restricted 6
//============================================================
// Memorial day
//============================================================
1@md_gef mapflag restricted 6
1@md_pay mapflag restricted 6
//============================================================
// Chicken Mode Nightmare Glastheim
//============================================================

View File

@@ -28,7 +28,7 @@ prt_in,212,169,3 script Guild Clerk 4_M_04,{
next;
mes "[Guild Clerk]";
mes "As part of that,";
mes "we are selling a limited quantity of 100 " + mesitemlink( 714, false ) + " every day";
mes "we are selling a limited quantity of 100 <ITEM>Emperium<INFO>714</INFO></ITEM> every day";
mes "from ^0000ff18:00 to 23:59^000000 from ^0000ffMonday to Saturday^000000.";
next;
mes "[Guild Clerk]";

View File

@@ -15,7 +15,7 @@
prt_in,211,173,3 script Slot Move Card Sales#slo 4_F_01,{
mes "[Salesman]";
mes "Howdy.";
mes "I'm selling " + mesitemlink( 12786 ) + ".";
mes "I'm selling <ITEM>[Character Position Change Coupon]<INFO>12786</INFO></ITEM>.";
mes "You can ^4d4dffchange the slot position of a character using the card^000000.";
next;
mes "[Salesman]";

View File

@@ -52,10 +52,6 @@ Footer:
- Path: npc/re/merchants/barters/quests_16_1.yml
- Path: npc/re/merchants/barters/quests_16_2.yml
- Path: npc/re/merchants/barters/quests_17_1.yml
- Path: npc/re/merchants/barters/quests_17_2.yml
- Path: npc/re/merchants/barters/refine.yml
- Path: npc/re/merchants/barters/enchantgrade.yml
- Path: npc/re/merchants/barters/cashmall.yml
- Path: npc/re/merchants/barters/rgsr_in.yml
- Path: npc/re/merchants/barters/enchan_illusion_16_2.yml
- Path: npc/re/merchants/barters/quests_exp_175.yml

Some files were not shown because too many files have changed in this diff Show More