Compare commits
56 Commits
upgrade/c+
...
hotfix/iss
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
03dfba0dd8 | ||
|
|
c8e44d2b68 | ||
|
|
f8c5cd9552 | ||
|
|
6673e1a786 | ||
|
|
49ba072f3a | ||
|
|
8abf9960a0 | ||
|
|
f0e374ea23 | ||
|
|
819b7cb361 | ||
|
|
4d9b1a0b83 | ||
|
|
1ccdc17df5 | ||
|
|
b95daa3041 | ||
|
|
36972bf9ea | ||
|
|
4e646235d2 | ||
|
|
b4f740ce18 | ||
|
|
19bbd82c55 | ||
|
|
067c21b647 | ||
|
|
22abdf8dbe | ||
|
|
7dd6eb5182 | ||
|
|
cbb5380527 | ||
|
|
ae2ea3df10 | ||
|
|
6ff1ebfa98 | ||
|
|
3f45df1025 | ||
|
|
eb875d1af5 | ||
|
|
bee2c27d78 | ||
|
|
b3881bd1fc | ||
|
|
1c35482ecf | ||
|
|
3998f7ed75 | ||
|
|
8f4a1d2932 | ||
|
|
1b1164f91d | ||
|
|
6a0b7afd88 | ||
|
|
bb8c4a03c8 | ||
|
|
b22e186e77 | ||
|
|
b56f11207c | ||
|
|
839d378680 | ||
|
|
1985662045 | ||
|
|
08d3467faa | ||
|
|
240f71cbce | ||
|
|
b2ceb30e30 | ||
|
|
a35063dfd6 | ||
|
|
56ae2174c0 | ||
|
|
c6c9babb5e | ||
|
|
42d8c163b7 | ||
|
|
9d2bcc7a70 | ||
|
|
e235c9cab4 | ||
|
|
eff6131087 | ||
|
|
bc7b9cdd2e | ||
|
|
36bcfaecee | ||
|
|
98b3f2af52 | ||
|
|
7629ff4032 | ||
|
|
ce8f053359 | ||
|
|
56af701ade | ||
|
|
1c02e5b253 | ||
|
|
b9aa1344e6 | ||
|
|
bb8d09dfca | ||
|
|
920b57965c | ||
|
|
658d64abba |
@@ -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 2013, 2015, 2017](https://www.visualstudio.com/downloads/)
|
||||
Windows | [MS Visual Studio 2017 or newer](https://www.visualstudio.com/downloads/)
|
||||
|
||||
### Required Applications
|
||||
Application | Name
|
||||
|
||||
@@ -33,6 +33,11 @@ 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
|
||||
@@ -163,3 +168,10 @@ 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
|
||||
|
||||
@@ -50,7 +50,7 @@ homunculus_auto_vapor: 80
|
||||
homunculus_max_level: 99
|
||||
|
||||
// Max level for Homunculus S
|
||||
homunculus_S_max_level: 175
|
||||
homunculus_S_max_level: 250
|
||||
|
||||
// Growth level for Homunculus S
|
||||
// This is the level at which homunculus S can use their growth tables
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -1,119 +0,0 @@
|
||||
// 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
|
||||
65
db/homunculus_db.yml
Normal file
65
db/homunculus_db.yml
Normal file
@@ -0,0 +1,65 @@
|
||||
# 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
|
||||
@@ -1,15 +0,0 @@
|
||||
// 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.
|
||||
@@ -1,20 +0,0 @@
|
||||
// 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)
|
||||
|
||||
57
db/import-tmpl/homunculus_db.yml
Normal file
57
db/import-tmpl/homunculus_db.yml
Normal file
@@ -0,0 +1,57 @@
|
||||
# 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
|
||||
@@ -1,33 +0,0 @@
|
||||
// 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
|
||||
623
db/pre-re/homunculus_db.yml
Normal file
623
db/pre-re/homunculus_db.yml
Normal file
@@ -0,0 +1,623 @@
|
||||
# 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
|
||||
@@ -120,7 +120,7 @@ Body:
|
||||
Holy: 125
|
||||
Dark: 0
|
||||
Ghost: 100
|
||||
Undead: -25
|
||||
Undead: 0
|
||||
Ghost:
|
||||
Neutral: 90
|
||||
Water: 100
|
||||
@@ -136,8 +136,8 @@ Body:
|
||||
Neutral: 100
|
||||
Water: 100
|
||||
Earth: 100
|
||||
Fire: 100
|
||||
Wind: 90
|
||||
Fire: 90
|
||||
Wind: 100
|
||||
Poison: 75
|
||||
Holy: 125
|
||||
Dark: 0
|
||||
@@ -217,7 +217,7 @@ Body:
|
||||
Fire: 100
|
||||
Wind: 100
|
||||
Poison: 75
|
||||
Holy: -25
|
||||
Holy: 0
|
||||
Dark: 150
|
||||
Ghost: 100
|
||||
Undead: 150
|
||||
@@ -229,9 +229,9 @@ Body:
|
||||
Wind: 100
|
||||
Poison: 75
|
||||
Holy: 150
|
||||
Dark: -25
|
||||
Dark: 0
|
||||
Ghost: 100
|
||||
Undead: -50
|
||||
Undead: 0
|
||||
Ghost:
|
||||
Neutral: 70
|
||||
Water: 100
|
||||
@@ -268,7 +268,7 @@ Body:
|
||||
Undead: 100
|
||||
Water:
|
||||
Neutral: 100
|
||||
Water: -25
|
||||
Water: 0
|
||||
Earth: 100
|
||||
Fire: 200
|
||||
Wind: 70
|
||||
@@ -280,7 +280,7 @@ Body:
|
||||
Earth:
|
||||
Neutral: 100
|
||||
Water: 100
|
||||
Earth: -25
|
||||
Earth: 0
|
||||
Fire: 70
|
||||
Wind: 200
|
||||
Poison: 125
|
||||
@@ -292,7 +292,7 @@ Body:
|
||||
Neutral: 100
|
||||
Water: 70
|
||||
Earth: 200
|
||||
Fire: -25
|
||||
Fire: 0
|
||||
Wind: 100
|
||||
Poison: 125
|
||||
Holy: 100
|
||||
@@ -304,7 +304,7 @@ Body:
|
||||
Water: 200
|
||||
Earth: 70
|
||||
Fire: 100
|
||||
Wind: -25
|
||||
Wind: 0
|
||||
Poison: 125
|
||||
Holy: 100
|
||||
Dark: 100
|
||||
@@ -328,7 +328,7 @@ Body:
|
||||
Fire: 100
|
||||
Wind: 100
|
||||
Poison: 50
|
||||
Holy: -50
|
||||
Holy: 0
|
||||
Dark: 175
|
||||
Ghost: 100
|
||||
Undead: 175
|
||||
@@ -340,9 +340,9 @@ Body:
|
||||
Wind: 100
|
||||
Poison: 50
|
||||
Holy: 175
|
||||
Dark: -50
|
||||
Dark: 0
|
||||
Ghost: 100
|
||||
Undead: -75
|
||||
Undead: 0
|
||||
Ghost:
|
||||
Neutral: 50
|
||||
Water: 100
|
||||
@@ -379,7 +379,7 @@ Body:
|
||||
Undead: 100
|
||||
Water:
|
||||
Neutral: 100
|
||||
Water: -50
|
||||
Water: 0
|
||||
Earth: 100
|
||||
Fire: 200
|
||||
Wind: 60
|
||||
@@ -391,7 +391,7 @@ Body:
|
||||
Earth:
|
||||
Neutral: 100
|
||||
Water: 100
|
||||
Earth: -50
|
||||
Earth: 0
|
||||
Fire: 60
|
||||
Wind: 200
|
||||
Poison: 125
|
||||
@@ -403,7 +403,7 @@ Body:
|
||||
Neutral: 100
|
||||
Water: 60
|
||||
Earth: 200
|
||||
Fire: -50
|
||||
Fire: 0
|
||||
Wind: 100
|
||||
Poison: 125
|
||||
Holy: 100
|
||||
@@ -415,7 +415,7 @@ Body:
|
||||
Water: 200
|
||||
Earth: 60
|
||||
Fire: 100
|
||||
Wind: -50
|
||||
Wind: 0
|
||||
Poison: 125
|
||||
Holy: 100
|
||||
Dark: 100
|
||||
@@ -431,7 +431,7 @@ Body:
|
||||
Holy: 50
|
||||
Dark: 50
|
||||
Ghost: 50
|
||||
Undead: -100
|
||||
Undead: 0
|
||||
Holy:
|
||||
Neutral: 100
|
||||
Water: 100
|
||||
@@ -439,7 +439,7 @@ Body:
|
||||
Fire: 100
|
||||
Wind: 100
|
||||
Poison: 50
|
||||
Holy: -100
|
||||
Holy: 0
|
||||
Dark: 200
|
||||
Ghost: 100
|
||||
Undead: 200
|
||||
@@ -451,9 +451,9 @@ Body:
|
||||
Wind: 100
|
||||
Poison: 50
|
||||
Holy: 200
|
||||
Dark: -100
|
||||
Dark: 0
|
||||
Ghost: 100
|
||||
Undead: -100
|
||||
Undead: 0
|
||||
Ghost:
|
||||
Neutral: 0
|
||||
Water: 100
|
||||
@@ -471,7 +471,7 @@ Body:
|
||||
Earth: 100
|
||||
Fire: 60
|
||||
Wind: 100
|
||||
Poison: -25
|
||||
Poison: 0
|
||||
Holy: 200
|
||||
Dark: 0
|
||||
Ghost: 175
|
||||
|
||||
@@ -379,3 +379,154 @@ 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
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
// 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
|
||||
948
db/re/homunculus_db.yml
Normal file
948
db/re/homunculus_db.yml
Normal file
@@ -0,0 +1,948 @@
|
||||
# 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
|
||||
@@ -375,3 +375,204 @@ 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
@@ -2866,6 +2866,23 @@ Body:
|
||||
getitem 12796,10;
|
||||
getitem 12684,5;
|
||||
getitembound 23919,1,Bound_Account;
|
||||
- Id: 9991
|
||||
AegisName: Boarding_Halter_Box_7d
|
||||
Name: "[Not for Sale] Boarding Halter 7D Box"
|
||||
Type: Cash
|
||||
Weight: 10
|
||||
Flags:
|
||||
Container: true
|
||||
Trade:
|
||||
NoDrop: true
|
||||
NoTrade: true
|
||||
NoSell: true
|
||||
NoCart: true
|
||||
NoGuildStorage: true
|
||||
NoMail: true
|
||||
NoAuction: true
|
||||
Script: |
|
||||
getgroupitem(IG_Boarding_Halter_Box);
|
||||
- Id: 9999
|
||||
AegisName: Season_Evt_Reward_2
|
||||
Name: Sweets Snack Pack
|
||||
@@ -40363,6 +40380,13 @@ Body:
|
||||
Container: true
|
||||
Script: |
|
||||
getgroupitem(IG_Libra_Scroll);
|
||||
- Id: 16674
|
||||
AegisName: New_Insurance_Box
|
||||
Name: 10 New Life Insurance Box
|
||||
Type: Usable
|
||||
Weight: 10
|
||||
Script: |
|
||||
getitem 6413,10;
|
||||
- Id: 16675
|
||||
AegisName: Splash_Scroll
|
||||
Name: Splash Scroll
|
||||
@@ -48610,21 +48634,6 @@ Body:
|
||||
NoAuction: true
|
||||
Script: |
|
||||
getgroupitem(IG_Blessing_Scarlet_Scroll);
|
||||
- Id: 17780
|
||||
AegisName: Cash_Can_Box
|
||||
Name: Cash Can Box
|
||||
Type: Cash
|
||||
Weight: 10
|
||||
Trade:
|
||||
NoDrop: true
|
||||
NoTrade: true
|
||||
NoSell: true
|
||||
NoCart: true
|
||||
NoGuildStorage: true
|
||||
NoMail: true
|
||||
NoAuction: true
|
||||
Script: |
|
||||
getitem 25308,1;
|
||||
- Id: 17712
|
||||
AegisName: 3_Life_Potion_pack9
|
||||
Name: Three Master Package IX
|
||||
@@ -48947,6 +48956,21 @@ Body:
|
||||
NoAuction: true
|
||||
Script: |
|
||||
getgroupitem(IG_3_LIFE_POTION_10PACK10);
|
||||
- Id: 17780
|
||||
AegisName: Cash_Can_Box
|
||||
Name: Cash Can Box
|
||||
Type: Cash
|
||||
Weight: 10
|
||||
Trade:
|
||||
NoDrop: true
|
||||
NoTrade: true
|
||||
NoSell: true
|
||||
NoCart: true
|
||||
NoGuildStorage: true
|
||||
NoMail: true
|
||||
NoAuction: true
|
||||
Script: |
|
||||
getitem 25308,1;
|
||||
- Id: 17783
|
||||
AegisName: Unlimited_10_Box6
|
||||
Name: Unlimited Box VI (10)
|
||||
@@ -61610,7 +61634,7 @@ Body:
|
||||
Script: |
|
||||
getgroupitem(IG_MD_AIRBOAT_REWARD);
|
||||
- Id: 100465
|
||||
AegisName: aegis_100465
|
||||
AegisName: Stone_Robe_Box
|
||||
Name: 3rd/Expanded Stone (Garment) Box
|
||||
Type: Usable
|
||||
Weight: 10
|
||||
@@ -61739,7 +61763,7 @@ Body:
|
||||
Script: |
|
||||
laphine_upgrade();
|
||||
- Id: 100495
|
||||
AegisName: aegis_100495
|
||||
AegisName: Stone_Robe2_Box
|
||||
Name: 3rd/Expanded Stone II (Garment) Box
|
||||
Type: Usable
|
||||
Weight: 10
|
||||
@@ -61748,7 +61772,7 @@ Body:
|
||||
Script: |
|
||||
getgroupitem(IG_THIRD_JOB_STONE_GARMENT_BOX2);
|
||||
- Id: 100496
|
||||
AegisName: aegis_100496
|
||||
AegisName: Stone_Top_Box
|
||||
Name: Rebirth/Expanded Stone (Top) Box
|
||||
Type: Usable
|
||||
Weight: 10
|
||||
@@ -61757,7 +61781,7 @@ Body:
|
||||
Script: |
|
||||
getgroupitem(IG_THIRD_JOB_STONE_TOP_BOX);
|
||||
- Id: 100497
|
||||
AegisName: aegis_100497
|
||||
AegisName: Stone_Top2_Box
|
||||
Name: Rebirth/Expanded Stone II (Top) Box
|
||||
Type: Usable
|
||||
Weight: 10
|
||||
@@ -61766,7 +61790,7 @@ Body:
|
||||
Script: |
|
||||
getgroupitem(IG_THIRD_JOB_STONE_TOP_BOX2);
|
||||
- Id: 100498
|
||||
AegisName: aegis_100498
|
||||
AegisName: Stone_Middle_Box
|
||||
Name: Rebirth/Expanded Stone (Middle) Box
|
||||
Type: Usable
|
||||
Weight: 10
|
||||
@@ -61775,7 +61799,7 @@ Body:
|
||||
Script: |
|
||||
getgroupitem(IG_THIRD_JOB_STONE_MIDDLE_BOX);
|
||||
- Id: 100499
|
||||
AegisName: aegis_100499
|
||||
AegisName: Stone_Middle2_Box
|
||||
Name: Rebirth/Expanded Stone II (Middle) Box
|
||||
Type: Usable
|
||||
Weight: 10
|
||||
@@ -61784,7 +61808,7 @@ Body:
|
||||
Script: |
|
||||
getgroupitem(IG_THIRD_JOB_STONE_MIDDLE_BOX2);
|
||||
- Id: 100500
|
||||
AegisName: aegis_100500
|
||||
AegisName: Stone_Bottom_Box
|
||||
Name: Rebirth/Expanded Stone (Bottom) Box
|
||||
Type: Usable
|
||||
Weight: 10
|
||||
@@ -61793,7 +61817,7 @@ Body:
|
||||
Script: |
|
||||
getgroupitem(IG_THIRD_JOB_STONE_BOTTOM_BOX);
|
||||
- Id: 100501
|
||||
AegisName: aegis_100501
|
||||
AegisName: Stone_Bottom2_Box
|
||||
Name: Rebirth/Expanded Stone II (Bottom) Box
|
||||
Type: Usable
|
||||
Weight: 10
|
||||
@@ -65363,6 +65387,23 @@ Body:
|
||||
BuyingStore: true
|
||||
Script: |
|
||||
laphine_synthesis();
|
||||
- Id: 101352
|
||||
AegisName: E_Bubble_Gum_Box10
|
||||
Name: "[Not For Sale] Bubble Gum Box"
|
||||
Type: Cash
|
||||
Weight: 100
|
||||
Flags:
|
||||
UniqueId: true
|
||||
Trade:
|
||||
NoDrop: true
|
||||
NoTrade: true
|
||||
NoSell: true
|
||||
NoCart: true
|
||||
NoGuildStorage: true
|
||||
NoMail: true
|
||||
NoAuction: true
|
||||
Script: |
|
||||
getitem 12264,10;
|
||||
- Id: 101355
|
||||
AegisName: OS_Weapon_Reform
|
||||
Name: OS Weapon Modification Box
|
||||
@@ -66034,6 +66075,15 @@ Body:
|
||||
Container: true
|
||||
Script: |
|
||||
getgroupitem(IG_Enchant_Stone_Box29);
|
||||
- Id: 102193
|
||||
AegisName: aegis_102193
|
||||
Name: Costume Enchant Stone Box 30
|
||||
Type: Usable
|
||||
Weight: 10
|
||||
Flags:
|
||||
Container: true
|
||||
Script: |
|
||||
getgroupitem(IG_Enchant_Stone_Box30);
|
||||
- Id: 200003
|
||||
AegisName: LI_HD_Oridecon_Box2
|
||||
Name: (Limited) HD Oridecon Box(Blacksmith)(30)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -24036,9 +24036,9 @@ Body:
|
||||
Rate: 160
|
||||
- Item: ElectricEffect_Middle
|
||||
Rate: 160
|
||||
- Item: aegis_100465
|
||||
- Item: Stone_Robe_Box
|
||||
Rate: 160
|
||||
- Item: aegis_100495
|
||||
- Item: Stone_Robe2_Box
|
||||
Rate: 160
|
||||
- Item: ReloadStone_Top
|
||||
Rate: 240
|
||||
@@ -24058,17 +24058,17 @@ Body:
|
||||
Rate: 360
|
||||
- Item: Critical_Stone_Bottom
|
||||
Rate: 360
|
||||
- Item: aegis_100496
|
||||
- Item: Stone_Top_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100497
|
||||
- Item: Stone_Top2_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100498
|
||||
- Item: Stone_Middle_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100499
|
||||
- Item: Stone_Middle2_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100500
|
||||
- Item: Stone_Bottom_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100501
|
||||
- Item: Stone_Bottom2_Box
|
||||
Rate: 360
|
||||
- Group: THIRD_JOB_STONE_GARMENT_BOX
|
||||
SubGroups:
|
||||
@@ -30431,9 +30431,9 @@ Body:
|
||||
Rate: 250
|
||||
- Item: CastingStone_Bottom
|
||||
Rate: 250
|
||||
- Item: aegis_100465
|
||||
- Item: Stone_Robe_Box
|
||||
Rate: 250
|
||||
- Item: aegis_100495
|
||||
- Item: Stone_Robe2_Box
|
||||
Rate: 250
|
||||
- Item: Range_Stone_Top
|
||||
Rate: 250
|
||||
@@ -30457,17 +30457,17 @@ Body:
|
||||
Rate: 380
|
||||
- Item: Critical_Stone_Bottom
|
||||
Rate: 380
|
||||
- Item: aegis_100496
|
||||
- Item: Stone_Top_Box
|
||||
Rate: 560
|
||||
- Item: aegis_100497
|
||||
- Item: Stone_Top2_Box
|
||||
Rate: 560
|
||||
- Item: aegis_100498
|
||||
- Item: Stone_Middle_Box
|
||||
Rate: 560
|
||||
- Item: aegis_100499
|
||||
- Item: Stone_Middle2_Box
|
||||
Rate: 560
|
||||
- Item: aegis_100500
|
||||
- Item: Stone_Bottom_Box
|
||||
Rate: 560
|
||||
- Item: aegis_100501
|
||||
- Item: Stone_Bottom2_Box
|
||||
Rate: 560
|
||||
- Group: ENCHANT_STONE_BOX23
|
||||
SubGroups:
|
||||
@@ -30527,9 +30527,9 @@ Body:
|
||||
Rate: 140
|
||||
- Item: ASPDStone_Top
|
||||
Rate: 160
|
||||
- Item: aegis_100465
|
||||
- Item: Stone_Robe_Box
|
||||
Rate: 160
|
||||
- Item: aegis_100495
|
||||
- Item: Stone_Robe2_Box
|
||||
Rate: 160
|
||||
- Item: Range_Stone
|
||||
Rate: 240
|
||||
@@ -30567,17 +30567,17 @@ Body:
|
||||
Rate: 360
|
||||
- Item: Critical_Stone_Bottom
|
||||
Rate: 360
|
||||
- Item: aegis_100496
|
||||
- Item: Stone_Top_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100497
|
||||
- Item: Stone_Top2_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100498
|
||||
- Item: Stone_Middle_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100499
|
||||
- Item: Stone_Middle2_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100500
|
||||
- Item: Stone_Bottom_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100501
|
||||
- Item: Stone_Bottom2_Box
|
||||
Rate: 360
|
||||
- Group: ENCHANT_STONE_BOX24
|
||||
SubGroups:
|
||||
@@ -30671,9 +30671,9 @@ Body:
|
||||
Rate: 160
|
||||
- Item: WaterFieldEffect_Bottom
|
||||
Rate: 160
|
||||
- Item: aegis_100465
|
||||
- Item: Stone_Robe_Box
|
||||
Rate: 160
|
||||
- Item: aegis_100495
|
||||
- Item: Stone_Robe2_Box
|
||||
Rate: 160
|
||||
- Item: Range_Stone
|
||||
Rate: 240
|
||||
@@ -30693,17 +30693,17 @@ Body:
|
||||
Rate: 360
|
||||
- Item: Critical_Stone_Bottom
|
||||
Rate: 360
|
||||
- Item: aegis_100496
|
||||
- Item: Stone_Top_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100497
|
||||
- Item: Stone_Top2_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100498
|
||||
- Item: Stone_Middle_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100499
|
||||
- Item: Stone_Middle2_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100500
|
||||
- Item: Stone_Bottom_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100501
|
||||
- Item: Stone_Bottom2_Box
|
||||
Rate: 360
|
||||
- Group: ENCHANT_STONE_BOX25
|
||||
SubGroups:
|
||||
@@ -30797,9 +30797,9 @@ Body:
|
||||
Rate: 160
|
||||
- Item: WaterFieldEffect_Bottom
|
||||
Rate: 160
|
||||
- Item: aegis_100465
|
||||
- Item: Stone_Robe_Box
|
||||
Rate: 160
|
||||
- Item: aegis_100495
|
||||
- Item: Stone_Robe2_Box
|
||||
Rate: 160
|
||||
- Item: ReloadStone_Top
|
||||
Rate: 240
|
||||
@@ -30819,17 +30819,17 @@ Body:
|
||||
Rate: 360
|
||||
- Item: Critical_Stone_Bottom
|
||||
Rate: 360
|
||||
- Item: aegis_100496
|
||||
- Item: Stone_Top_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100497
|
||||
- Item: Stone_Top2_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100498
|
||||
- Item: Stone_Middle_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100499
|
||||
- Item: Stone_Middle2_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100500
|
||||
- Item: Stone_Bottom_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100501
|
||||
- Item: Stone_Bottom2_Box
|
||||
Rate: 360
|
||||
- Group: ENCHANT_STONE_BOX27
|
||||
SubGroups:
|
||||
@@ -30887,9 +30887,9 @@ Body:
|
||||
Rate: 80
|
||||
- Item: GuillcrossStone_Bottom3
|
||||
Rate: 80
|
||||
- Item: aegis_100465
|
||||
- Item: Stone_Robe_Box
|
||||
Rate: 160
|
||||
- Item: aegis_100495
|
||||
- Item: Stone_Robe2_Box
|
||||
Rate: 160
|
||||
- Item: Magic_Stone_Top
|
||||
Rate: 240
|
||||
@@ -30933,17 +30933,17 @@ Body:
|
||||
Rate: 150
|
||||
- Item: AssacrossStone_Bottom2
|
||||
Rate: 150
|
||||
- Item: aegis_100496
|
||||
- Item: Stone_Top_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100497
|
||||
- Item: Stone_Top2_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100498
|
||||
- Item: Stone_Middle_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100499
|
||||
- Item: Stone_Middle2_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100500
|
||||
- Item: Stone_Bottom_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100501
|
||||
- Item: Stone_Bottom2_Box
|
||||
Rate: 360
|
||||
- Item: CastingStone_Top
|
||||
Rate: 360
|
||||
@@ -31102,9 +31102,9 @@ Body:
|
||||
Rate: 80
|
||||
- Item: ReaperStone_Bottom3
|
||||
Rate: 80
|
||||
- Item: aegis_100465
|
||||
- Item: Stone_Robe_Box
|
||||
Rate: 160
|
||||
- Item: aegis_100495
|
||||
- Item: Stone_Robe2_Box
|
||||
Rate: 160
|
||||
- Item: Magic_Stone_Top
|
||||
Rate: 240
|
||||
@@ -31142,17 +31142,17 @@ Body:
|
||||
Rate: 240
|
||||
- Item: Range_Stone_Bottom
|
||||
Rate: 240
|
||||
- Item: aegis_100496
|
||||
- Item: Stone_Top_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100497
|
||||
- Item: Stone_Top2_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100498
|
||||
- Item: Stone_Middle_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100499
|
||||
- Item: Stone_Middle2_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100500
|
||||
- Item: Stone_Bottom_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100501
|
||||
- Item: Stone_Bottom2_Box
|
||||
Rate: 360
|
||||
- Item: CastingStone_Top
|
||||
Rate: 360
|
||||
@@ -31442,9 +31442,9 @@ Body:
|
||||
Rate: 80
|
||||
- Item: DoramStone_Bottom3
|
||||
Rate: 80
|
||||
- Item: aegis_100465
|
||||
- Item: Stone_Robe_Box
|
||||
Rate: 160
|
||||
- Item: aegis_100495
|
||||
- Item: Stone_Robe2_Box
|
||||
Rate: 160
|
||||
- Item: Magic_Stone_Top
|
||||
Rate: 240
|
||||
@@ -31482,17 +31482,17 @@ Body:
|
||||
Rate: 240
|
||||
- Item: EXPStone_Top
|
||||
Rate: 240
|
||||
- Item: aegis_100496
|
||||
- Item: Stone_Top_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100497
|
||||
- Item: Stone_Top2_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100498
|
||||
- Item: Stone_Middle_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100499
|
||||
- Item: Stone_Middle2_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100500
|
||||
- Item: Stone_Bottom_Box
|
||||
Rate: 360
|
||||
- Item: aegis_100501
|
||||
- Item: Stone_Bottom2_Box
|
||||
Rate: 360
|
||||
- Item: CastingStone_Top
|
||||
Rate: 360
|
||||
@@ -49192,3 +49192,195 @@ Body:
|
||||
Rate: 1667
|
||||
- Item: S_Archer_earring
|
||||
Rate: 1667
|
||||
- Group: ENCHANT_STONE_BOX30
|
||||
SubGroups:
|
||||
- SubGroup: 1
|
||||
List:
|
||||
- Item: Range_Stone_Robe_D
|
||||
Rate: 10
|
||||
- Item: Melee_Stone_Robe_D
|
||||
Rate: 10
|
||||
- Item: Magic_Stone_Robe_D
|
||||
Rate: 10
|
||||
- Item: SmatkStone_Robe
|
||||
Rate: 10
|
||||
- Item: M_PATKStone_Robe
|
||||
Rate: 10
|
||||
- Item: R_PATKStone_Robe
|
||||
Rate: 10
|
||||
- Item: ReloadStone_Robe_D
|
||||
Rate: 10
|
||||
- Item: CriticalStone_Robe_D
|
||||
Rate: 10
|
||||
- Item: Critical_Stone_Robe
|
||||
Rate: 20
|
||||
- Item: CastStone_Robe_D
|
||||
Rate: 40
|
||||
- Item: CastStone_Robe
|
||||
Rate: 80
|
||||
- Item: KagerouStone_Top3
|
||||
Rate: 30
|
||||
- Item: KagerouStone_Middle3
|
||||
Rate: 30
|
||||
- Item: KagerouStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: OboroStone_Top3
|
||||
Rate: 30
|
||||
- Item: OboroStone_Middle3
|
||||
Rate: 30
|
||||
- Item: OboroStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: DoramStone_Top3
|
||||
Rate: 30
|
||||
- Item: DoramStone_Middle3
|
||||
Rate: 30
|
||||
- Item: DoramStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: StarStone_Top3
|
||||
Rate: 30
|
||||
- Item: StarStone_Middle3
|
||||
Rate: 30
|
||||
- Item: StarStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: RebelStone_Top3
|
||||
Rate: 30
|
||||
- Item: RebelStone_Middle3
|
||||
Rate: 30
|
||||
- Item: RebelStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: ReaperStone_Top3
|
||||
Rate: 30
|
||||
- Item: ReaperStone_Middle3
|
||||
Rate: 30
|
||||
- Item: ReaperStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: SuraStone_Top3
|
||||
Rate: 30
|
||||
- Item: SuraStone_Middle3
|
||||
Rate: 30
|
||||
- Item: SuraStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: MechanicStone_Top3
|
||||
Rate: 30
|
||||
- Item: MechanicStone_Middle3
|
||||
Rate: 30
|
||||
- Item: MechanicStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: GuillcrossStone_Top3
|
||||
Rate: 30
|
||||
- Item: GuillcrossStone_Middle3
|
||||
Rate: 30
|
||||
- Item: GuillcrossStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: ArchbishopStone_Top3
|
||||
Rate: 30
|
||||
- Item: ArchbishopStone_Middle3
|
||||
Rate: 30
|
||||
- Item: ArchbishopStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: RangerStone_Top3
|
||||
Rate: 30
|
||||
- Item: RangerStone_Middle3
|
||||
Rate: 30
|
||||
- Item: RangerStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: ShadowchasStone_Top3
|
||||
Rate: 30
|
||||
- Item: ShadowchasStone_Middle3
|
||||
Rate: 30
|
||||
- Item: ShadowchasStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: WanderMinsStone_Top3
|
||||
Rate: 30
|
||||
- Item: WanderMinsStone_Middle3
|
||||
Rate: 30
|
||||
- Item: WanderMinsStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: GeneticStone_Top3
|
||||
Rate: 30
|
||||
- Item: GeneticStone_Middle3
|
||||
Rate: 30
|
||||
- Item: GeneticStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: SorcererStone_Top3
|
||||
Rate: 30
|
||||
- Item: SorcererStone_Middle3
|
||||
Rate: 30
|
||||
- Item: SorcererStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: RuneknightStone_Top3
|
||||
Rate: 30
|
||||
- Item: RuneknightStone_Middle3
|
||||
Rate: 30
|
||||
- Item: RuneknightStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: WarlockStone_Top3
|
||||
Rate: 30
|
||||
- Item: WarlockStone_Middle3
|
||||
Rate: 30
|
||||
- Item: WarlockStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: RoyalguardStone_Top3
|
||||
Rate: 30
|
||||
- Item: RoyalguardStone_Middle3
|
||||
Rate: 30
|
||||
- Item: RoyalguardStone_Bottom3
|
||||
Rate: 30
|
||||
- Item: Stone_Robe_Box
|
||||
Rate: 180
|
||||
- Item: Stone_Robe2_Box
|
||||
Rate: 180
|
||||
- Item: Magic_Stone_Top
|
||||
Rate: 200
|
||||
- Item: Magic_Stone_Middle
|
||||
Rate: 200
|
||||
- Item: Magic_Stone_Bottom
|
||||
Rate: 200
|
||||
- Item: Range_Stone_Top
|
||||
Rate: 200
|
||||
- Item: Range_Stone
|
||||
Rate: 200
|
||||
- Item: Range_Stone_Bottom
|
||||
Rate: 200
|
||||
- Item: Melee_Stone_Top
|
||||
Rate: 200
|
||||
- Item: Melee_Stone_Middle
|
||||
Rate: 200
|
||||
- Item: Melee_Stone_Bottom
|
||||
Rate: 200
|
||||
- Item: ReloadStone_Top
|
||||
Rate: 200
|
||||
- Item: ReloadStone_Middle
|
||||
Rate: 200
|
||||
- Item: ReloadStone_Bottom
|
||||
Rate: 200
|
||||
- Item: EXPStone_Middle
|
||||
Rate: 200
|
||||
- Item: EXPStone_Bottom
|
||||
Rate: 200
|
||||
- Item: EXPStone_Top
|
||||
Rate: 200
|
||||
- Item: Stone_Top_Box
|
||||
Rate: 400
|
||||
- Item: Stone_Top2_Box
|
||||
Rate: 400
|
||||
- Item: Stone_Middle_Box
|
||||
Rate: 400
|
||||
- Item: Stone_Middle2_Box
|
||||
Rate: 400
|
||||
- Item: Stone_Bottom_Box
|
||||
Rate: 400
|
||||
- Item: Stone_Bottom2_Box
|
||||
Rate: 400
|
||||
- Item: CastingStone_Top
|
||||
Rate: 400
|
||||
- Item: CastingStone_Middle
|
||||
Rate: 400
|
||||
- Item: CastingStone_Bottom
|
||||
Rate: 400
|
||||
- Item: Critical_Stone
|
||||
Rate: 400
|
||||
- Item: Critical_Stone_Top
|
||||
Rate: 400
|
||||
- Item: Critical_Stone_Bottom
|
||||
Rate: 400
|
||||
|
||||
@@ -2560,17 +2560,17 @@ Body:
|
||||
- Item: Up_Crimson_Rose
|
||||
- Item: Up_OneSkyOneSun
|
||||
- Item: Up_SoulWeight
|
||||
- Item: aegis_2064
|
||||
- Item: Comp_Iron_Staff
|
||||
- Item: Comp_Undine_Spear_K
|
||||
- Item: Comp_Royal_Bow_K
|
||||
- Item: Comp_Shadow_Staff_K
|
||||
- Item: aegis_1873
|
||||
- Item: Comp_Iron_Nail_K
|
||||
- Item: Comp_Sword_Of_Bluefire
|
||||
- Item: Comp_Oriental_Sword
|
||||
- Item: aegis_18202
|
||||
- Item: aegis_1350
|
||||
- Item: Comp_Narcis_Bow
|
||||
- Item: Comp_Avenger
|
||||
- Item: Comp_Magic_Sword
|
||||
- Item: aegis_28646
|
||||
- Item: Comp_D_Hunt_Bible_K
|
||||
- Item: Comp_Shiver_Katar_K_TH
|
||||
- Item: Comp_Demon_S_Shot
|
||||
- Item: Comp_Sharp_Wind_Sword
|
||||
@@ -2578,7 +2578,7 @@ Body:
|
||||
- Item: Comp_Crimson_Rose
|
||||
- Item: Comp_The_Black_Gatling
|
||||
- Item: Comp_MeawFoxtail
|
||||
- Item: aegis_21066
|
||||
- Item: Comp_Dragonic_Slayer
|
||||
- Item: Comp_Fatalist
|
||||
- Item: Comp_Light_Blade
|
||||
- Item: Comp_Scalet_DragonL_Bow
|
||||
@@ -2656,17 +2656,17 @@ Body:
|
||||
- Item: Up_Crimson_Rose
|
||||
- Item: Up_OneSkyOneSun
|
||||
- Item: Up_SoulWeight
|
||||
- Item: aegis_2064
|
||||
- Item: Comp_Iron_Staff
|
||||
- Item: Comp_Undine_Spear_K
|
||||
- Item: Comp_Royal_Bow_K
|
||||
- Item: Comp_Shadow_Staff_K
|
||||
- Item: aegis_1873
|
||||
- Item: Comp_Iron_Nail_K
|
||||
- Item: Comp_Sword_Of_Bluefire
|
||||
- Item: Comp_Oriental_Sword
|
||||
- Item: aegis_18202
|
||||
- Item: aegis_1350
|
||||
- Item: Comp_Narcis_Bow
|
||||
- Item: Comp_Avenger
|
||||
- Item: Comp_Magic_Sword
|
||||
- Item: aegis_28646
|
||||
- Item: Comp_D_Hunt_Bible_K
|
||||
- Item: Comp_Shiver_Katar_K_TH
|
||||
- Item: Comp_Demon_S_Shot
|
||||
- Item: Comp_Sharp_Wind_Sword
|
||||
@@ -2674,7 +2674,7 @@ Body:
|
||||
- Item: Comp_Crimson_Rose
|
||||
- Item: Comp_The_Black_Gatling
|
||||
- Item: Comp_MeawFoxtail
|
||||
- Item: aegis_21066
|
||||
- Item: Comp_Dragonic_Slayer
|
||||
- Item: Comp_Fatalist
|
||||
- Item: Comp_Light_Blade
|
||||
- Item: Comp_Scalet_DragonL_Bow
|
||||
|
||||
460
db/re/mob_db.yml
460
db/re/mob_db.yml
@@ -97145,25 +97145,447 @@ Body:
|
||||
- Item: R001_Bestia_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
# - Id: 20935
|
||||
# AegisName: GAN_CEANN
|
||||
# - Id: 20936
|
||||
# AegisName: DISGUISER
|
||||
# - Id: 20937
|
||||
# AegisName: BRUTAL_MURDERER
|
||||
# - Id: 20938
|
||||
# AegisName: GHOST_CUBE
|
||||
# - Id: 20939
|
||||
# AegisName: LUDE_GAL
|
||||
# - Id: 20940
|
||||
# AegisName: BLUEMOON_LOLI_RURI
|
||||
# - Id: 20941
|
||||
# AegisName: GROTE
|
||||
# - Id: 20942
|
||||
# AegisName: PIERROTZOIST
|
||||
# - Id: 20943
|
||||
# AegisName: DEATH_WITCH
|
||||
# DamageTaken: 10
|
||||
- Id: 20935
|
||||
AegisName: GAN_CEANN
|
||||
Name: Gan Ceann
|
||||
Level: 215
|
||||
Hp: 11785610
|
||||
BaseExp: 267854
|
||||
JobExp: 188128
|
||||
Attack: 7951
|
||||
Attack2: 922
|
||||
Defense: 380
|
||||
MagicDefense: 99
|
||||
MagicResistance: 130
|
||||
Resistance: 130
|
||||
Str: 278
|
||||
Agi: 166
|
||||
Vit: 121
|
||||
Int: 121
|
||||
Dex: 178
|
||||
Luk: 123
|
||||
AttackRange: 2
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Formless
|
||||
Element: Neutral
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 155
|
||||
AttackDelay: 238
|
||||
AttackMotion: 576
|
||||
DamageMotion: 360
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Broken_Armor_Piece
|
||||
Rate: 2400
|
||||
- Item: Broken_Steel_Piece
|
||||
Rate: 1600
|
||||
- Item: Shadowdecon_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium_Ore
|
||||
Rate: 150
|
||||
- Item: Shadowdecon
|
||||
Rate: 12
|
||||
- Item: Zelunium
|
||||
Rate: 12
|
||||
- Item: Gan_Ceann_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20936
|
||||
AegisName: DISGUISER
|
||||
Name: Disguiser
|
||||
Level: 254
|
||||
Hp: 42303800
|
||||
BaseExp: 335956
|
||||
JobExp: 235169
|
||||
Attack: 9874
|
||||
Attack2: 1230
|
||||
Defense: 542
|
||||
MagicDefense: 168
|
||||
MagicResistance: 171
|
||||
Resistance: 187
|
||||
Str: 314
|
||||
Agi: 203
|
||||
Vit: 147
|
||||
Int: 135
|
||||
Dex: 201
|
||||
Luk: 198
|
||||
AttackRange: 2
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Demon
|
||||
Element: Undead
|
||||
ElementLevel: 2
|
||||
WalkSpeed: 150
|
||||
AttackDelay: 384
|
||||
AttackMotion: 768
|
||||
DamageMotion: 384
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Red_Scarf
|
||||
Rate: 2500
|
||||
- Item: Tangled_Chain
|
||||
Rate: 1800
|
||||
- Item: White_Powder
|
||||
Rate: 50
|
||||
- Item: Shadowdecon_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium
|
||||
Rate: 25
|
||||
- Item: Shadowdecon
|
||||
Rate: 25
|
||||
- Item: Disguiser_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20937
|
||||
AegisName: BRUTAL_MURDERER
|
||||
Name: Brutal Murderer
|
||||
Level: 214
|
||||
Hp: 13909270
|
||||
BaseExp: 269952
|
||||
JobExp: 188966
|
||||
Attack: 8135
|
||||
Attack2: 998
|
||||
Defense: 470
|
||||
MagicDefense: 80
|
||||
MagicResistance: 143
|
||||
Resistance: 187
|
||||
Str: 277
|
||||
Agi: 174
|
||||
Vit: 175
|
||||
Int: 134
|
||||
Dex: 131
|
||||
Luk: 130
|
||||
AttackRange: 2
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Large
|
||||
Race: Demihuman
|
||||
Element: Neutral
|
||||
ElementLevel: 2
|
||||
WalkSpeed: 175
|
||||
AttackDelay: 336
|
||||
AttackMotion: 672
|
||||
DamageMotion: 288
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Old_Manteau
|
||||
Rate: 2400
|
||||
- Item: Rusty_Cleaver
|
||||
Rate: 1600
|
||||
- Item: Mr_Scream
|
||||
Rate: 20
|
||||
- Item: Shadowdecon_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium_Ore
|
||||
Rate: 150
|
||||
- Item: Shadowdecon
|
||||
Rate: 12
|
||||
- Item: Zelunium
|
||||
Rate: 12
|
||||
- Item: Brutal_Murderer_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20938
|
||||
AegisName: GHOST_CUBE
|
||||
Name: Ghost Cube
|
||||
Level: 213
|
||||
Hp: 12735150
|
||||
BaseExp: 261542
|
||||
JobExp: 183079
|
||||
Attack: 8114
|
||||
Attack2: 1032
|
||||
Defense: 482
|
||||
MagicDefense: 114
|
||||
MagicResistance: 171
|
||||
Resistance: 171
|
||||
Str: 274
|
||||
Agi: 185
|
||||
Vit: 161
|
||||
Int: 161
|
||||
Dex: 177
|
||||
Luk: 169
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Small
|
||||
Race: Undead
|
||||
Element: Undead
|
||||
ElementLevel: 1
|
||||
WalkSpeed: 150
|
||||
AttackDelay: 624
|
||||
AttackMotion: 1248
|
||||
DamageMotion: 576
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Piece_Of_Black_Cloth
|
||||
Rate: 2400
|
||||
- Item: Ectoplasm
|
||||
Rate: 2000
|
||||
- Item: Black_Powder
|
||||
Rate: 250
|
||||
- Item: Shadowdecon_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium_Ore
|
||||
Rate: 150
|
||||
- Item: Shadowdecon
|
||||
Rate: 12
|
||||
- Item: Zelunium
|
||||
Rate: 12
|
||||
- Item: Ghost_Cube_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20939
|
||||
AegisName: LUDE_GAL
|
||||
Name: Lude Gal
|
||||
Level: 213
|
||||
Hp: 12840680
|
||||
BaseExp: 259877
|
||||
JobExp: 181914
|
||||
Attack: 7925
|
||||
Attack2: 1001
|
||||
Defense: 410
|
||||
MagicDefense: 105
|
||||
MagicResistance: 151
|
||||
Resistance: 179
|
||||
Str: 274
|
||||
Agi: 171
|
||||
Vit: 168
|
||||
Int: 142
|
||||
Dex: 168
|
||||
Luk: 134
|
||||
AttackRange: 2
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Small
|
||||
Race: Undead
|
||||
Element: Undead
|
||||
ElementLevel: 2
|
||||
WalkSpeed: 150
|
||||
AttackDelay: 480
|
||||
AttackMotion: 960
|
||||
DamageMotion: 480
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Pumpkin_Bucket
|
||||
Rate: 2500
|
||||
- Item: Ectoplasm
|
||||
Rate: 2000
|
||||
- Item: Transparent_Cloth
|
||||
Rate: 500
|
||||
- Item: Shadowdecon_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium_Ore
|
||||
Rate: 150
|
||||
- Item: Shadowdecon
|
||||
Rate: 12
|
||||
- Item: Zelunium
|
||||
Rate: 12
|
||||
- Item: Lude_Gal_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20940
|
||||
AegisName: BLUEMOON_LOLI_RURI
|
||||
Name: Blue Moon Loli Ruri
|
||||
Level: 255
|
||||
Hp: 46338500
|
||||
BaseExp: 339785
|
||||
JobExp: 237850
|
||||
Attack: 9325
|
||||
Attack2: 1345
|
||||
Defense: 457
|
||||
MagicDefense: 191
|
||||
MagicResistance: 260
|
||||
Resistance: 238
|
||||
Str: 301
|
||||
Agi: 205
|
||||
Vit: 187
|
||||
Int: 204
|
||||
Dex: 192
|
||||
Luk: 205
|
||||
AttackRange: 2
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Large
|
||||
Race: Demon
|
||||
Element: Water
|
||||
ElementLevel: 3
|
||||
WalkSpeed: 125
|
||||
AttackDelay: 510
|
||||
AttackMotion: 1020
|
||||
DamageMotion: 576
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Black_Kitty_Doll
|
||||
Rate: 500
|
||||
- Item: Striped_Socks
|
||||
Rate: 2400
|
||||
- Item: Bat_Cage
|
||||
Rate: 2000
|
||||
- Item: Loki's_Whispers
|
||||
Rate: 2
|
||||
- Item: Shadowdecon_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium_Ore
|
||||
Rate: 150
|
||||
- Item: Shadowdecon
|
||||
Rate: 25
|
||||
- Item: Bluemoon_Loli_Ruri_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20941
|
||||
AegisName: GROTE
|
||||
Name: Grote
|
||||
Level: 253
|
||||
Hp: 47842600
|
||||
BaseExp: 346622
|
||||
JobExp: 242635
|
||||
Attack: 9354
|
||||
Attack2: 1320
|
||||
Defense: 456
|
||||
MagicDefense: 117
|
||||
MagicResistance: 153
|
||||
Resistance: 237
|
||||
Str: 311
|
||||
Agi: 207
|
||||
Vit: 187
|
||||
Int: 121
|
||||
Dex: 199
|
||||
Luk: 207
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Large
|
||||
Race: Demon
|
||||
Element: Earth
|
||||
ElementLevel: 2
|
||||
WalkSpeed: 180
|
||||
AttackDelay: 792
|
||||
AttackMotion: 1584
|
||||
DamageMotion: 576
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Hanging_Doll
|
||||
Rate: 1000
|
||||
- Item: Rotten_Rope
|
||||
Rate: 2500
|
||||
- Item: Tree_Knot
|
||||
Rate: 2000
|
||||
- Item: Branch_Of_Dead_Tree
|
||||
Rate: 5
|
||||
- Item: Bloody_Dead_Branch
|
||||
Rate: 2
|
||||
- Item: Shadowdecon
|
||||
Rate: 25
|
||||
- Item: Zelunium
|
||||
Rate: 25
|
||||
- Item: Grote_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20942
|
||||
AegisName: PIERROTZOIST
|
||||
Name: Pierrotzoist
|
||||
Level: 255
|
||||
Hp: 38506310
|
||||
BaseExp: 339451
|
||||
JobExp: 237616
|
||||
Attack: 9356
|
||||
Attack2: 1247
|
||||
Defense: 541
|
||||
MagicDefense: 134
|
||||
MagicResistance: 226
|
||||
Resistance: 212
|
||||
Str: 311
|
||||
Agi: 177
|
||||
Vit: 166
|
||||
Int: 177
|
||||
Dex: 201
|
||||
Luk: 169
|
||||
AttackRange: 1
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Demon
|
||||
Element: Dark
|
||||
ElementLevel: 2
|
||||
WalkSpeed: 155
|
||||
AttackDelay: 768
|
||||
AttackMotion: 1536
|
||||
DamageMotion: 480
|
||||
Ai: 04
|
||||
Drops:
|
||||
- Item: Broken_Needle
|
||||
Rate: 2400
|
||||
- Item: Needle_Pouch
|
||||
Rate: 2000
|
||||
- Item: Stuffed_Doll
|
||||
Rate: 40
|
||||
- Item: Ectoplasm
|
||||
Rate: 150
|
||||
- Item: Shadowdecon_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium_Ore
|
||||
Rate: 150
|
||||
- Item: Zelunium
|
||||
Rate: 25
|
||||
- Item: Pierrotzoist_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
- Id: 20943
|
||||
AegisName: DEATH_WITCH
|
||||
Name: Death Witch
|
||||
Level: 255
|
||||
Hp: 398856250
|
||||
BaseExp: 9051055
|
||||
JobExp: 6335739
|
||||
Attack: 14658
|
||||
Attack2: 2687
|
||||
Defense: 687
|
||||
MagicDefense: 210
|
||||
MagicResistance: 539
|
||||
Resistance: 273
|
||||
Str: 424
|
||||
Agi: 236
|
||||
Vit: 214
|
||||
Int: 423
|
||||
Dex: 241
|
||||
Luk: 174
|
||||
AttackRange: 3
|
||||
SkillRange: 10
|
||||
ChaseRange: 12
|
||||
Size: Medium
|
||||
Race: Demihuman
|
||||
Element: Dark
|
||||
ElementLevel: 2
|
||||
WalkSpeed: 150
|
||||
AttackDelay: 517
|
||||
AttackMotion: 1134
|
||||
DamageMotion: 480
|
||||
DamageTaken: 10
|
||||
Ai: 21
|
||||
Class: Boss
|
||||
Modes:
|
||||
Mvp: true
|
||||
Drops:
|
||||
- Item: Ectoplasm
|
||||
Rate: 200
|
||||
- Item: Yggdrasilberry
|
||||
Rate: 1500
|
||||
- Item: Seed_Of_Yggdrasil
|
||||
Rate: 1500
|
||||
- Item: Leaf_Of_Yggdrasil
|
||||
Rate: 1500
|
||||
- Item: Shadowdecon
|
||||
Rate: 1000
|
||||
- Item: Zelunium
|
||||
Rate: 1000
|
||||
- Item: Death_Witch_Card
|
||||
Rate: 1
|
||||
StealProtected: true
|
||||
# - Id: 20944
|
||||
# AegisName: JP_E_MONSTER_151
|
||||
# - Id: 20945
|
||||
|
||||
@@ -13239,6 +13239,108 @@
|
||||
20934,R001_BESTIA@NPC_DRAGONFEAR,attack,659,5,10000,0,10000,no,self,always,0,,,,,,,
|
||||
// 20934,R001_BESTIA@NPC_DAMAGE_HEAL,attack,753,1,3000,1500,40000,no,target,myhpltmaxrate,20,,,,,,,
|
||||
|
||||
// nif_dun
|
||||
20935,GAN_CEANN@NPC_CRITICALSLASH,attack,170,1,1000,500,5000,no,target,always,0,,,,,,,
|
||||
20935,GAN_CEANN@NPC_DARKNESSATTACK,attack,190,3,500,500,5000,no,target,always,0,,,,,,6,
|
||||
20935,GAN_CEANN@NPC_BLINDATTACK,attack,177,3,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
20935,GAN_CEANN@NPC_DARKNESSATTACK,attack,190,3,1000,500,5000,no,target,always,0,,,,,,6,
|
||||
20935,GAN_CEANN@NPC_BLEEDING2,attack,764,5,2000,0,60000,yes,target,always,0,,,,,,,
|
||||
20935,GAN_CEANN@NPC_BLEEDING,attack,660,5,2000,0,60000,yes,target,always,0,,,,,,,
|
||||
20935,GAN_CEANN@NPC_DARKCROSS,attack,338,3,300,0,5000,yes,target,always,0,,,,,,,
|
||||
20936,DISGUISER@NPC_COMBOATTACK,attack,171,2,1000,700,5000,no,target,always,0,,,,,,19,
|
||||
20936,DISGUISER@NPC_PIERCINGATT,attack,158,5,500,0,5000,yes,target,always,0,,,,,,,
|
||||
20936,DISGUISER@AS_GRIMTOOTH,chase,137,5,2000,0,0,yes,target,always,0,,,,,,,
|
||||
20936,DISGUISER@NPC_GUIDEDATTACK,attack,172,3,8000,500,600000,no,target,always,0,,,,,,,
|
||||
20936,DISGUISER@NPC_COMBOATTACK,attack,171,3,1000,500,15000,no,target,always,0,,,,,,,
|
||||
20936,DISGUISER@NPC_CHANGEWIND,attack,165,1,10000,500,100000,no,self,always,0,,,,,,,
|
||||
20936,DISGUISER@NPC_CHANGEFIRE,attack,164,1,10000,500,100000,no,self,always,0,,,,,,,
|
||||
20936,DISGUISER@NPC_CHANGEWATER,attack,162,1,10000,500,100000,no,self,always,0,,,,,,,
|
||||
20936,DISGUISER@NPC_CHANGEGROUND,attack,163,1,10000,500,100000,no,self,always,0,,,,,,,
|
||||
20937,BRUTAL_MURDERER@AS_SONICBLOW,attack,136,7,500,800,5000,no,target,always,0,,,,,,29,
|
||||
20937,BRUTAL_MURDERER@NPC_CURSEATTACK,attack,181,5,500,800,5000,no,target,always,0,,,,,,29,
|
||||
20937,BRUTAL_MURDERER@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
20937,BRUTAL_MURDERER@NPC_IGNITIONBREAK,attack,740,2,1000,300,30000,no,self,always,0,,,,,,,
|
||||
20937,BRUTAL_MURDERER@NPC_CRITICALWOUND,attack,673,1,8000,300,5000,no,target,always,0,,,,,,,
|
||||
20938,GHOST_CUBE@MG_STONECURSE,attack,16,10,500,1500,5000,no,target,always,0,,,,,,6,
|
||||
20938,GHOST_CUBE@NPC_MENTALBREAKER,attack,159,3,500,800,5000,no,target,always,0,,,,,,29,
|
||||
20938,GHOST_CUBE@NPC_BLINDATTACK,attack,177,3,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
20938,GHOST_CUBE@NPC_SILENCEATTACK,attack,178,3,500,700,5000,no,target,always,0,,,,,,,
|
||||
20938,GHOST_CUBE@NPC_SLEEPATTACK,attack,182,3,500,0,5000,yes,target,always,0,,,,,,,
|
||||
20938,GHOST_CUBE@NPC_WINDATTACK,attack,187,3,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
20939,LUDE_GAL@NPC_CHEAL,idle,729,3,2500,500,5000,no,self,always,0,,,,,,5,
|
||||
20939,LUDE_GAL@AL_HEAL,chase,28,9,10000,500,5000,no,friend,friendhpltmaxrate,60,,,,,,18,
|
||||
20939,LUDE_GAL@AL_HEAL,attack,28,9,10000,500,5000,no,friend,friendhpltmaxrate,60,,,,,,18,
|
||||
20939,LUDE_GAL@AL_HEAL,chase,28,9,10000,500,5000,no,friend,myhpltmaxrate,30,,,,,,18,
|
||||
20939,LUDE_GAL@AL_HEAL,attack,28,9,10000,500,5000,no,friend,myhpltmaxrate,30,,,,,,18,
|
||||
20939,LUDE_GAL@PR_LEXAETERNA,chase,78,1,1000,1000,5000,no,target,always,0,,,,,,6,
|
||||
20939,LUDE_GAL@PR_LEXAETERNA,attack,78,1,1000,1000,5000,no,target,always,0,,,,,,6,
|
||||
20939,LUDE_GAL@NPC_CHEAL,chase,729,3,2500,500,5000,no,self,always,0,,,,,,5,
|
||||
20939,LUDE_GAL@AM_POTIONPITCHER,attack,231,4,10000,500,5000,no,friend,friendhpltmaxrate,60,,,,,,5,
|
||||
20939,LUDE_GAL@AM_POTIONPITCHER,attack,231,4,10000,500,5000,no,friend,myhpltmaxrate,30,,,,,,5,
|
||||
20939,LUDE_GAL@NPC_GROUNDATTACK,attack,185,5,2000,500,5000,no,target,always,0,,,,,,6,
|
||||
20939,LUDE_GAL@NPC_STUNATTACK,attack,179,5,2000,0,0,yes,target,always,0,,,,,,,
|
||||
20940,BLUEMOON_LOLI_RURI@AL_TELEPORT,idle,26,1,5000,0,5000,yes,self,rudeattacked,0,,,,,,,
|
||||
20940,BLUEMOON_LOLI_RURI@AL_TELEPORT,walk,26,1,5000,0,5000,yes,self,rudeattacked,0,,,,,,,
|
||||
20940,BLUEMOON_LOLI_RURI@NPC_DARKSTRIKE,attack,340,5,500,700,5000,no,target,myhpltmaxrate,50,,,,,,6,
|
||||
20940,BLUEMOON_LOLI_RURI@NPC_DARKSTRIKE,chase,340,5,500,700,5000,no,target,always,0,,,,,,6,
|
||||
20940,BLUEMOON_LOLI_RURI@NPC_EMOTION,chase,197,1,2000,0,5000,yes,self,always,0,,,,,,3,
|
||||
20940,BLUEMOON_LOLI_RURI@PR_LEXDIVINA,chase,76,10,500,1000,5000,no,target,always,0,,,,,,2,
|
||||
20940,BLUEMOON_LOLI_RURI@PR_LEXDIVINA,attack,76,10,500,1000,5000,no,target,always,0,,,,,,2,
|
||||
20940,BLUEMOON_LOLI_RURI@SA_REVERSEORCISH,chase,294,1,50,0,30000,yes,target,always,0,,,,,,18,
|
||||
20940,BLUEMOON_LOLI_RURI@SA_REVERSEORCISH,attack,294,1,50,0,30000,yes,target,always,0,,,,,,18,
|
||||
20941,GROTE@AS_GRIMTOOTH,chase,137,5,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
20941,GROTE@NPC_CURSEATTACK,attack,181,3,1000,800,5000,no,target,always,0,,,,,,6,
|
||||
20941,GROTE@NPC_UNDEADATTACK,attack,347,3,500,500,5000,no,target,always,0,,,,,,6,
|
||||
20941,GROTE@NPC_CHEAL,chase,729,3,2500,500,5000,no,self,always,0,,,,,,5,
|
||||
20941,GROTE@NPC_COMBOATTACK,attack,171,5,1500,0,5000,yes,target,always,0,,,,,,,
|
||||
20941,GROTE@NPC_WIDEBLEEDING2,attack,756,4,10000,0,15000,yes,self,always,0,,,,,,,
|
||||
20941,GROTE@NPC_WIDEBLEEDING,attack,665,4,10000,0,15000,yes,self,always,0,,,,,,,
|
||||
20941,GROTE@NPC_GROUNDATTACK,attack,185,5,2000,500,5000,no,target,always,0,,,,,,6,
|
||||
20941,GROTE@NPC_STUNATTACK,attack,179,5,2000,0,0,yes,target,always,0,,,,,,,
|
||||
20942,PIERROTZOIST@AL_DECAGI,attack,30,1,500,1000,5000,no,target,always,0,,,,,,29,
|
||||
20942,PIERROTZOIST@NPC_HALLUCINATION,chase,207,1,500,500,5000,no,target,always,0,,,,,,9,
|
||||
20942,PIERROTZOIST@NPC_HALLUCINATION,attack,207,1,500,500,5000,no,target,always,0,,,,,,9,
|
||||
20942,PIERROTZOIST@MO_BODYRELOCATION,chase,264,1,2000,500,5000,no,target,always,0,,,,,,,
|
||||
20942,PIERROTZOIST@KN_SPEARSTAB,chase,58,5,2500,0,5000,yes,target,groundattacked,0,,,,,,9,
|
||||
20942,PIERROTZOIST@KN_SPEARSTAB,chase,58,5,5000,0,5000,yes,target,longrangeattacked,0,,,,,,,
|
||||
20942,PIERROTZOIST@SM_MAGNUM,attack,7,4,500,500,5000,no,self,always,0,,,,,,,
|
||||
20942,PIERROTZOIST@KN_TWOHANDQUICKEN,attack,60,5,2000,0,120000,yes,self,myhpltmaxrate,30,,,,,,6,
|
||||
20942,PIERROTZOIST@KN_BRANDISHSPEAR,attack,57,5,2000,0,10000,yes,target,always,0,,,,,,6,
|
||||
20942,PIERROTZOIST@NPC_DARKNESSATTACK,attack,190,4,1000,0,5000,yes,target,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_WIDESILENCE,chase,663,1,2000,1000,20000,no,self,always,0,,,,,,32,
|
||||
20943,DEATH_WITCH@NPC_WIDESILENCE,attack,663,1,2000,700,25000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_WIDEFREEZE,chase,664,1,2000,1000,20000,no,self,always,0,,,,,,36,
|
||||
20943,DEATH_WITCH@NPC_WIDEFREEZE,attack,664,1,2000,1000,20000,no,self,always,0,,,,,,36,
|
||||
20943,DEATH_WITCH@NPC_WIDESLEEP,chase,668,1,2000,700,25000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_WIDESLEEP,attack,668,1,2000,700,25000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_DARKTHUNDER,chase,341,3,500,1500,15000,no,target,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_DARKTHUNDER,attack,341,3,500,1500,15000,no,target,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_WIDESOULDRAIN,chase,680,1,1000,500,5000,no,self,always,0,,,,,,42,
|
||||
20943,DEATH_WITCH@NPC_WIDESOULDRAIN,attack,680,1,1000,500,5000,no,self,always,0,,,,,,42,
|
||||
20943,DEATH_WITCH@WZ_WATERBALL,attack,86,10,3000,500,25000,no,target,always,0,,,,,,0,
|
||||
20943,DEATH_WITCH@WZ_WATERBALL,chase,86,10,3000,500,25000,no,target,always,0,,,,,,0,
|
||||
20943,DEATH_WITCH@NPC_WIDECURSE,chase,677,1,500,800,5000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_SUMMONSLAVE,attack,196,1,10000,700,10000,no,self,slavele,3,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_SUMMONSLAVE,idle,196,1,10000,700,10000,no,self,slavele,3,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_WIDECURSE,attack,677,1,500,800,5000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_WIDESTUN,chase,678,1,2000,1300,180000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_WIDESTUN,attack,678,1,2000,1300,180000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_DARKNESSATTACK,attack,190,5,2000,0,5000,yes,target,always,0,,,,,,29,
|
||||
20943,DEATH_WITCH@NPC_DARKNESSATTACK,chase,190,5,2000,0,5000,yes,target,always,0,,,,,,29,
|
||||
20943,DEATH_WITCH@WZ_FROSTNOVA,chase,88,10,3000,1000,10000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@WZ_FROSTNOVA,attack,88,10,3000,1000,10000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_PULSESTRIKE,attack,661,5,2000,0,30000,yes,self,always,0,,,,,,32,
|
||||
20943,DEATH_WITCH@HW_GANBANTEIN,attack,483,1,2000,0,5000,yes,target,always,0,,,,,,,
|
||||
// 20943,DEATH_WITCH@NPC_EARTHQUAKE_K,attack,750,5,10000,1500,25000,no,target,myhpltmaxrate,20,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_EARTHQUAKE,attack,653,5,10000,1500,25000,no,target,myhpltmaxrate,20,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_HELLJUDGEMENT,chase,662,2,2000,500,5000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_HELLJUDGEMENT,attack,662,2,2000,500,5000,no,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_CLOUD_KILL,attack,739,5,2000,500,16000,no,target,always,0,,,,,,,
|
||||
// 20943,DEATH_WITCH@NPC_DAMAGE_HEAL,attack,753,1,10000,1000,60000,no,target,myhpltmaxrate,10,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_CALLSLAVE,idle,352,1,5000,0,30000,yes,self,always,0,,,,,,,
|
||||
20943,DEATH_WITCH@NPC_CALLSLAVE,attack,352,1,5000,0,30000,yes,self,always,0,,,,,,,
|
||||
|
||||
// Training Ground outside Prontera
|
||||
21064,S_DUMMY_100_SMALL@NPC_ALLHEAL,attack,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
21064,S_DUMMY_100_SMALL@NPC_ALLHEAL,idle,687,1,10000,0,500,no,self,myhpltmaxrate,90,,,,,,,
|
||||
|
||||
@@ -5704,24 +5704,75 @@ Body:
|
||||
- Id: 8595
|
||||
Title: Playing with Pitaya - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8639
|
||||
Title: Great banquet hall in the depths of the underworld
|
||||
- Id: 8640
|
||||
Title: Both the dead and the living are in high spirits
|
||||
- Id: 8641
|
||||
Title: He looks cute
|
||||
Targets:
|
||||
- Mob: GHOST_CUBE
|
||||
Count: 15
|
||||
- Mob: LUDE_GAL
|
||||
Count: 15
|
||||
- Id: 8642
|
||||
Title: He looks cute - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8644
|
||||
Title: That's not an instrument
|
||||
Targets:
|
||||
- Mob: BRUTAL_MURDERER
|
||||
Count: 10
|
||||
- Mob: GAN_CEANN
|
||||
Count: 10
|
||||
- Id: 8645
|
||||
Title: That's not an instrument - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8647
|
||||
Title: Playing the piano
|
||||
- Id: 8648
|
||||
Title: Playing the piano - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8649
|
||||
Title: It was a great performance
|
||||
- Id: 8650
|
||||
Title: Guys with messy hair
|
||||
Targets:
|
||||
- Mob: DISGUISER
|
||||
Count: 15
|
||||
- Mob: BLUEMOON_LOLI_RURI
|
||||
Count: 15
|
||||
- Id: 8651
|
||||
Title: Guys with messy hair - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8652
|
||||
Title: Guys with messy hair
|
||||
Targets:
|
||||
- Mob: DISGUISER
|
||||
Count: 15
|
||||
- Mob: BLUEMOON_LOLI_RURI
|
||||
Count: 15
|
||||
- Id: 8653
|
||||
Title: The ones with dolls
|
||||
Targets:
|
||||
- Mob: GROTE
|
||||
Count: 10
|
||||
- Mob: PIERROTZOIST
|
||||
Count: 10
|
||||
- Id: 8654
|
||||
Title: The ones with dolls - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8655
|
||||
Title: The ones with dolls
|
||||
- Id: 8656
|
||||
Title: Wake them up
|
||||
- Id: 8657
|
||||
Title: Wake them up - Standby
|
||||
TimeLimit: 4h
|
||||
- Id: 8658
|
||||
Title: Sorry for being sleepy (1)
|
||||
- Id: 8659
|
||||
Title: Sorry for being sleepy (2)
|
||||
- Id: 8661
|
||||
Title: "[Standby] Subjugation-Audumra Chowon-3"
|
||||
TimeLimit: 4h
|
||||
|
||||
@@ -17907,6 +17907,108 @@ Body:
|
||||
NoReiteration: true
|
||||
NoOverlap: true
|
||||
Status: PropertyWalk
|
||||
- Id: 747
|
||||
Name: NPC_LEASH
|
||||
Description: Leash
|
||||
MaxLevel: 5
|
||||
TargetType: Attack
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
Flags:
|
||||
IsNpc: true
|
||||
Range:
|
||||
- Level: 1
|
||||
Size: 5
|
||||
- Level: 2
|
||||
Size: 10
|
||||
- Level: 3
|
||||
Size: 15
|
||||
- Level: 4
|
||||
Size: 20
|
||||
- Level: 5
|
||||
Size: 25
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
- Id: 748
|
||||
Name: NPC_WIDELEASH
|
||||
Description: Wide Leash
|
||||
MaxLevel: 5
|
||||
TargetType: Attack
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
Splash: true
|
||||
Flags:
|
||||
IsNpc: true
|
||||
Range:
|
||||
- Level: 1
|
||||
Size: 5
|
||||
- Level: 2
|
||||
Size: 10
|
||||
- Level: 3
|
||||
Size: 15
|
||||
- Level: 4
|
||||
Size: 20
|
||||
- Level: 5
|
||||
Size: 25
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
SplashArea: -1
|
||||
- Id: 751
|
||||
Name: NPC_ALL_STAT_DOWN
|
||||
Description: Decrease All Stats
|
||||
MaxLevel: 5
|
||||
TargetType: Attack
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
Flags:
|
||||
IsNpc: true
|
||||
Range: 9
|
||||
Duration1: 10000
|
||||
Status: ALL_STAT_DOWN
|
||||
- Id: 752
|
||||
Name: NPC_GRADUAL_GRAVITY
|
||||
Description: Increased Gravity
|
||||
MaxLevel: 3
|
||||
TargetType: Attack
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
Flags:
|
||||
IsNpc: true
|
||||
Range: 9
|
||||
Duration1: 3000
|
||||
Status: GRADUAL_GRAVITY
|
||||
- Id: 753
|
||||
Name: NPC_DAMAGE_HEAL
|
||||
Description: Damage Heal
|
||||
MaxLevel: 3
|
||||
TargetType: Self
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
Flags:
|
||||
IsNpc: true
|
||||
Duration1: 30000
|
||||
Status: DAMAGE_HEAL
|
||||
- Id: 754
|
||||
Name: NPC_IMMUNE_PROPERTY
|
||||
Description: Property Immune
|
||||
MaxLevel: 10
|
||||
TargetType: Support
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
Flags:
|
||||
IsNpc: true
|
||||
Range: 14 #TODO: confirm
|
||||
Duration1: 30000
|
||||
- Id: 755
|
||||
Name: NPC_MOVE_COORDINATE
|
||||
Description: Change Location
|
||||
MaxLevel: 1
|
||||
TargetType: Attack
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
Flags:
|
||||
IsNpc: true
|
||||
Range: 14
|
||||
- Id: 756
|
||||
Name: NPC_WIDEBLEEDING2
|
||||
Description: Wide Bleeding
|
||||
@@ -18164,6 +18266,23 @@ Body:
|
||||
SplashArea: 14
|
||||
Duration2: 18000
|
||||
Status: Curse
|
||||
- Id: 783
|
||||
Name: NPC_KILLING_AURA
|
||||
Description: Killing Aura
|
||||
MaxLevel: 5 #TODO unknown interactions with level
|
||||
Type: Misc
|
||||
TargetType: Support
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
DamageFlags:
|
||||
IgnoreFlee: true
|
||||
IgnoreDefCard: true
|
||||
Splash: true
|
||||
Flags:
|
||||
IsNpc: true
|
||||
SplashArea: 5
|
||||
Duration1: 30000
|
||||
Status: Killing_Aura
|
||||
- Id: 1001
|
||||
Name: KN_CHARGEATK
|
||||
Description: Charge Attack
|
||||
@@ -42624,6 +42743,845 @@ Body:
|
||||
PathCheck: true
|
||||
RangedSingleUnit: true
|
||||
Status: Ash
|
||||
- Id: 8044
|
||||
Name: MH_BLAST_FORGE
|
||||
Description: Blast Forge
|
||||
MaxLevel: 10
|
||||
Type: Weapon
|
||||
TargetType: Ground
|
||||
DamageFlags:
|
||||
Splash: true
|
||||
Range: 1
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
Element: Fire
|
||||
ActiveInstance: 1
|
||||
CastTime:
|
||||
- Level: 1
|
||||
Time: 5000
|
||||
- Level: 2
|
||||
Time: 5000
|
||||
- Level: 3
|
||||
Time: 5000
|
||||
- Level: 4
|
||||
Time: 4500
|
||||
- Level: 5
|
||||
Time: 4500
|
||||
- Level: 6
|
||||
Time: 4500
|
||||
- Level: 7
|
||||
Time: 4000
|
||||
- Level: 8
|
||||
Time: 4000
|
||||
- Level: 9
|
||||
Time: 4000
|
||||
- Level: 10
|
||||
Time: 3500
|
||||
AfterCastActDelay: 1000
|
||||
Duration1: 5000
|
||||
FixedCastTime: 1000
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 52
|
||||
- Level: 2
|
||||
Amount: 59
|
||||
- Level: 3
|
||||
Amount: 66
|
||||
- Level: 4
|
||||
Amount: 73
|
||||
- Level: 5
|
||||
Amount: 80
|
||||
- Level: 6
|
||||
Amount: 87
|
||||
- Level: 7
|
||||
Amount: 94
|
||||
- Level: 8
|
||||
Amount: 101
|
||||
- Level: 9
|
||||
Amount: 108
|
||||
- Level: 10
|
||||
Amount: 115
|
||||
Unit:
|
||||
Id: Lava_Slide
|
||||
Layout:
|
||||
- Level: 1
|
||||
Size: 1
|
||||
- Level: 2
|
||||
Size: 1
|
||||
- Level: 3
|
||||
Size: 1
|
||||
- Level: 4
|
||||
Size: 1
|
||||
- Level: 5
|
||||
Size: 2
|
||||
- Level: 6
|
||||
Size: 2
|
||||
- Level: 7
|
||||
Size: 2
|
||||
- Level: 8
|
||||
Size: 2
|
||||
- Level: 9
|
||||
Size: 3
|
||||
- Level: 10
|
||||
Size: 3
|
||||
Interval: 1000
|
||||
Target: Enemy
|
||||
Flag:
|
||||
NoReiteration: true
|
||||
NoOverlap: true
|
||||
PathCheck: true
|
||||
- Id: 8045
|
||||
Name: MH_TEMPERING
|
||||
Description: Tempering
|
||||
MaxLevel: 10
|
||||
TargetType: Self
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
CastTime:
|
||||
- Level: 1
|
||||
Time: 1000
|
||||
- Level: 2
|
||||
Time: 1500
|
||||
- Level: 3
|
||||
Time: 2000
|
||||
- Level: 4
|
||||
Time: 2500
|
||||
- Level: 5
|
||||
Time: 3000
|
||||
- Level: 6
|
||||
Time: 3500
|
||||
- Level: 7
|
||||
Time: 4000
|
||||
- Level: 8
|
||||
Time: 4500
|
||||
- Level: 9
|
||||
Time: 5000
|
||||
- Level: 10
|
||||
Time: 5500
|
||||
AfterCastActDelay: 1000
|
||||
Duration1:
|
||||
- Level: 1
|
||||
Time: 45000
|
||||
- Level: 2
|
||||
Time: 60000
|
||||
- Level: 3
|
||||
Time: 75000
|
||||
- Level: 4
|
||||
Time: 90000
|
||||
- Level: 5
|
||||
Time: 105000
|
||||
- Level: 6
|
||||
Time: 120000
|
||||
- Level: 7
|
||||
Time: 135000
|
||||
- Level: 8
|
||||
Time: 150000
|
||||
- Level: 9
|
||||
Time: 165000
|
||||
- Level: 10
|
||||
Time: 180000
|
||||
FixedCastTime: 200
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 83
|
||||
- Level: 2
|
||||
Amount: 91
|
||||
- Level: 3
|
||||
Amount: 99
|
||||
- Level: 4
|
||||
Amount: 107
|
||||
- Level: 5
|
||||
Amount: 115
|
||||
- Level: 6
|
||||
Amount: 123
|
||||
- Level: 7
|
||||
Amount: 131
|
||||
- Level: 8
|
||||
Amount: 139
|
||||
- Level: 9
|
||||
Amount: 147
|
||||
- Level: 10
|
||||
Amount: 155
|
||||
Status: Tempering
|
||||
- Id: 8046
|
||||
Name: MH_CLASSY_FLUTTER
|
||||
Description: Classy Flutter
|
||||
MaxLevel: 10
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
- Id: 8047
|
||||
Name: MH_TWISTER_CUTTER
|
||||
Description: Twister Cutter
|
||||
MaxLevel: 10
|
||||
Type: Magic
|
||||
TargetType: Attack
|
||||
DamageFlags:
|
||||
IgnoreDefense: true
|
||||
Range: 7
|
||||
Element: Wind
|
||||
Hit: Multi_Hit
|
||||
HitCount: -2
|
||||
CastCancel: true
|
||||
CastTime: # !TODO: Confirm cast time
|
||||
- Level: 1
|
||||
Time: 600
|
||||
- Level: 2
|
||||
Time: 700
|
||||
- Level: 3
|
||||
Time: 800
|
||||
- Level: 4
|
||||
Time: 900
|
||||
- Level: 5
|
||||
Time: 1000
|
||||
- Level: 6
|
||||
Time: 1100
|
||||
- Level: 7
|
||||
Time: 1200
|
||||
- Level: 8
|
||||
Time: 1300
|
||||
- Level: 9
|
||||
Time: 1400
|
||||
- Level: 10
|
||||
Time: 1500
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 106
|
||||
- Level: 2
|
||||
Amount: 112
|
||||
- Level: 3
|
||||
Amount: 118
|
||||
- Level: 4
|
||||
Amount: 124
|
||||
- Level: 5
|
||||
Amount: 130
|
||||
- Level: 6
|
||||
Amount: 136
|
||||
- Level: 7
|
||||
Amount: 142
|
||||
- Level: 8
|
||||
Amount: 148
|
||||
- Level: 9
|
||||
Amount: 154
|
||||
- Level: 10
|
||||
Amount: 160
|
||||
- Id: 8048
|
||||
Name: MH_ABSOLUTE_ZEPHYR
|
||||
Description: Absolute Zephyr
|
||||
MaxLevel: 10
|
||||
Type: Magic
|
||||
TargetType: Attack
|
||||
DamageFlags:
|
||||
Splash: true
|
||||
IgnoreDefense: true
|
||||
Range: 7
|
||||
Hit: Multi_Hit
|
||||
HitCount: -6
|
||||
Element: Wind
|
||||
SplashArea:
|
||||
- Level: 1
|
||||
Area: 1
|
||||
- Level: 2
|
||||
Area: 1
|
||||
- Level: 3
|
||||
Area: 1
|
||||
- Level: 4
|
||||
Area: 2
|
||||
- Level: 5
|
||||
Area: 2
|
||||
- Level: 6
|
||||
Area: 2
|
||||
- Level: 7
|
||||
Area: 3
|
||||
- Level: 8
|
||||
Area: 3
|
||||
- Level: 9
|
||||
Area: 3
|
||||
- Level: 10
|
||||
Area: 4
|
||||
CastTime: # !TODO: Confirm cast time
|
||||
- Level: 1
|
||||
Time: 600
|
||||
- Level: 2
|
||||
Time: 700
|
||||
- Level: 3
|
||||
Time: 800
|
||||
- Level: 4
|
||||
Time: 900
|
||||
- Level: 5
|
||||
Time: 1000
|
||||
- Level: 6
|
||||
Time: 1100
|
||||
- Level: 7
|
||||
Time: 1200
|
||||
- Level: 8
|
||||
Time: 1300
|
||||
- Level: 9
|
||||
Time: 1400
|
||||
- Level: 10
|
||||
Time: 1500
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 122
|
||||
- Level: 2
|
||||
Amount: 129
|
||||
- Level: 3
|
||||
Amount: 136
|
||||
- Level: 4
|
||||
Amount: 143
|
||||
- Level: 5
|
||||
Amount: 150
|
||||
- Level: 6
|
||||
Amount: 157
|
||||
- Level: 7
|
||||
Amount: 164
|
||||
- Level: 8
|
||||
Amount: 171
|
||||
- Level: 9
|
||||
Amount: 178
|
||||
- Level: 10
|
||||
Amount: 185
|
||||
- Id: 8049
|
||||
Name: MH_BRUSHUP_CLAW
|
||||
Description: Brushup Claw
|
||||
MaxLevel: 10
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
- Id: 8050
|
||||
Name: MH_BLAZING_AND_FURIOUS
|
||||
Description: Blazing And Furious
|
||||
MaxLevel: 10
|
||||
Type: Weapon
|
||||
TargetType: Support
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
IgnoreDefense: true
|
||||
Splash: true
|
||||
Range: 7
|
||||
Hit: Multi_Hit
|
||||
HitCount: 1
|
||||
SplashArea:
|
||||
- Level: 1
|
||||
Area: 1
|
||||
- Level: 2
|
||||
Area: 1
|
||||
- Level: 3
|
||||
Area: 1
|
||||
- Level: 4
|
||||
Area: 1
|
||||
- Level: 5
|
||||
Area: 2
|
||||
- Level: 6
|
||||
Area: 2
|
||||
- Level: 7
|
||||
Area: 2
|
||||
- Level: 8
|
||||
Area: 2
|
||||
- Level: 9
|
||||
Area: 3
|
||||
- Level: 10
|
||||
Area: 3
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 103
|
||||
- Level: 2
|
||||
Amount: 108
|
||||
- Level: 3
|
||||
Amount: 113
|
||||
- Level: 4
|
||||
Amount: 118
|
||||
- Level: 5
|
||||
Amount: 123
|
||||
- Level: 6
|
||||
Amount: 128
|
||||
- Level: 7
|
||||
Amount: 133
|
||||
- Level: 8
|
||||
Amount: 138
|
||||
- Level: 9
|
||||
Amount: 143
|
||||
- Level: 10
|
||||
Amount: 148
|
||||
SpiritSphereCost: 1
|
||||
- Id: 8051
|
||||
Name: MH_THE_ONE_FIGHTER_RISES
|
||||
Description: The One Fighter Rises
|
||||
MaxLevel: 10
|
||||
Type: Weapon
|
||||
TargetType: Self
|
||||
DamageFlags:
|
||||
IgnoreDefense: true
|
||||
Splash: true
|
||||
Range: 7
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
SplashArea:
|
||||
- Level: 1
|
||||
Area: 1
|
||||
- Level: 2
|
||||
Area: 1
|
||||
- Level: 3
|
||||
Area: 1
|
||||
- Level: 4
|
||||
Area: 1
|
||||
- Level: 5
|
||||
Area: 2
|
||||
- Level: 6
|
||||
Area: 2
|
||||
- Level: 7
|
||||
Area: 2
|
||||
- Level: 8
|
||||
Area: 2
|
||||
- Level: 9
|
||||
Area: 3
|
||||
- Level: 10
|
||||
Area: 3
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 100
|
||||
- Level: 2
|
||||
Amount: 106
|
||||
- Level: 3
|
||||
Amount: 112
|
||||
- Level: 4
|
||||
Amount: 118
|
||||
- Level: 5
|
||||
Amount: 124
|
||||
- Level: 6
|
||||
Amount: 130
|
||||
- Level: 7
|
||||
Amount: 136
|
||||
- Level: 8
|
||||
Amount: 142
|
||||
- Level: 9
|
||||
Amount: 148
|
||||
- Level: 10
|
||||
Amount: 154
|
||||
- Id: 8052
|
||||
Name: MH_POLISHING_NEEDLE
|
||||
Description: Polishing Needle
|
||||
MaxLevel: 10
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
- Id: 8053
|
||||
Name: MH_TOXIN_OF_MANDARA
|
||||
Description: Toxin Of Mandara
|
||||
MaxLevel: 10
|
||||
Type: Weapon
|
||||
TargetType: Attack
|
||||
DamageFlags:
|
||||
IgnoreDefense: true
|
||||
Splash: true
|
||||
Range: 2
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
Element: Neutral
|
||||
CastTime:
|
||||
- Level: 1
|
||||
Time: 1000
|
||||
- Level: 2
|
||||
Time: 1000
|
||||
- Level: 3
|
||||
Time: 1000
|
||||
- Level: 4
|
||||
Time: 1100
|
||||
- Level: 5
|
||||
Time: 1100
|
||||
- Level: 6
|
||||
Time: 1100
|
||||
- Level: 7
|
||||
Time: 1200
|
||||
- Level: 8
|
||||
Time: 1200
|
||||
- Level: 9
|
||||
Time: 1200
|
||||
- Level: 10
|
||||
Time: 1300
|
||||
Duration1:
|
||||
- Level: 1
|
||||
Time: 2500
|
||||
- Level: 2
|
||||
Time: 3000
|
||||
- Level: 3
|
||||
Time: 3500
|
||||
- Level: 4
|
||||
Time: 4000
|
||||
- Level: 5
|
||||
Time: 4500
|
||||
- Level: 6
|
||||
Time: 5000
|
||||
- Level: 7
|
||||
Time: 5500
|
||||
- Level: 8
|
||||
Time: 6000
|
||||
- Level: 9
|
||||
Time: 6500
|
||||
- Level: 10
|
||||
Time: 7000
|
||||
FixedCastTime:
|
||||
- Level: 1
|
||||
Time: 500
|
||||
- Level: 2
|
||||
Time: 500
|
||||
- Level: 3
|
||||
Time: 500
|
||||
- Level: 4
|
||||
Time: 400
|
||||
- Level: 5
|
||||
Time: 400
|
||||
- Level: 6
|
||||
Time: 400
|
||||
- Level: 7
|
||||
Time: 300
|
||||
- Level: 8
|
||||
Time: 300
|
||||
- Level: 9
|
||||
Time: 300
|
||||
- Level: 10
|
||||
Time: 200
|
||||
SplashArea:
|
||||
- Level: 1
|
||||
Area: 1
|
||||
- Level: 2
|
||||
Area: 1
|
||||
- Level: 3
|
||||
Area: 1
|
||||
- Level: 4
|
||||
Area: 2
|
||||
- Level: 5
|
||||
Area: 2
|
||||
- Level: 6
|
||||
Area: 2
|
||||
- Level: 7
|
||||
Area: 3
|
||||
- Level: 8
|
||||
Area: 3
|
||||
- Level: 9
|
||||
Area: 3
|
||||
- Level: 10
|
||||
Area: 4
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 60
|
||||
- Level: 2
|
||||
Amount: 65
|
||||
- Level: 3
|
||||
Amount: 70
|
||||
- Level: 4
|
||||
Amount: 75
|
||||
- Level: 5
|
||||
Amount: 80
|
||||
- Level: 6
|
||||
Amount: 85
|
||||
- Level: 7
|
||||
Amount: 90
|
||||
- Level: 8
|
||||
Amount: 95
|
||||
- Level: 9
|
||||
Amount: 100
|
||||
- Level: 10
|
||||
Amount: 105
|
||||
Status: Toxin_of_Mandara
|
||||
- Id: 8054
|
||||
Name: MH_NEEDLE_STINGER
|
||||
Description: Needle Stinger
|
||||
MaxLevel: 10
|
||||
Type: Weapon
|
||||
TargetType: Attack
|
||||
DamageFlags:
|
||||
IgnoreDefense: true
|
||||
Range: 7
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
Element: Poison
|
||||
CastTime:
|
||||
- Level: 1
|
||||
Time: 1000
|
||||
- Level: 2
|
||||
Time: 1000
|
||||
- Level: 3
|
||||
Time: 1000
|
||||
- Level: 4
|
||||
Time: 1100
|
||||
- Level: 5
|
||||
Time: 1100
|
||||
- Level: 6
|
||||
Time: 1100
|
||||
- Level: 7
|
||||
Time: 1200
|
||||
- Level: 8
|
||||
Time: 1200
|
||||
- Level: 9
|
||||
Time: 1200
|
||||
- Level: 10
|
||||
Time: 1300
|
||||
FixedCastTime:
|
||||
- Level: 1
|
||||
Time: 500
|
||||
- Level: 2
|
||||
Time: 500
|
||||
- Level: 3
|
||||
Time: 500
|
||||
- Level: 4
|
||||
Time: 400
|
||||
- Level: 5
|
||||
Time: 400
|
||||
- Level: 6
|
||||
Time: 400
|
||||
- Level: 7
|
||||
Time: 300
|
||||
- Level: 8
|
||||
Time: 300
|
||||
- Level: 9
|
||||
Time: 300
|
||||
- Level: 10
|
||||
Time: 200
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 74
|
||||
- Level: 2
|
||||
Amount: 82
|
||||
- Level: 3
|
||||
Amount: 90
|
||||
- Level: 4
|
||||
Amount: 98
|
||||
- Level: 5
|
||||
Amount: 106
|
||||
- Level: 6
|
||||
Amount: 114
|
||||
- Level: 7
|
||||
Amount: 122
|
||||
- Level: 8
|
||||
Amount: 130
|
||||
- Level: 9
|
||||
Amount: 138
|
||||
- Level: 10
|
||||
Amount: 146
|
||||
- Id: 8055
|
||||
Name: MH_LICHT_GEHORN
|
||||
Description: Licht Gehorn
|
||||
MaxLevel: 10
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
- Id: 8056
|
||||
Name: MH_GLANZEN_SPIES
|
||||
Description: Glanzen Spies
|
||||
MaxLevel: 10
|
||||
Type: Weapon
|
||||
TargetType: Attack
|
||||
DamageFlags:
|
||||
IgnoreDefense: true
|
||||
Range: 3
|
||||
Element: Holy
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
FixedCastTime: 500
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 60
|
||||
- Level: 2
|
||||
Amount: 65
|
||||
- Level: 3
|
||||
Amount: 70
|
||||
- Level: 4
|
||||
Amount: 75
|
||||
- Level: 5
|
||||
Amount: 80
|
||||
- Level: 6
|
||||
Amount: 85
|
||||
- Level: 7
|
||||
Amount: 90
|
||||
- Level: 8
|
||||
Amount: 95
|
||||
- Level: 9
|
||||
Amount: 100
|
||||
- Level: 10
|
||||
Amount: 105
|
||||
- Id: 8057
|
||||
Name: MH_HEILIGE_PFERD
|
||||
Description: Heilige Pferd
|
||||
MaxLevel: 10
|
||||
Type: Magic
|
||||
TargetType: Self
|
||||
DamageFlags:
|
||||
Splash: true
|
||||
IgnoreDefense: true
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
Element: Holy
|
||||
SplashArea:
|
||||
- Level: 1
|
||||
Area: 1
|
||||
- Level: 2
|
||||
Area: 1
|
||||
- Level: 3
|
||||
Area: 1
|
||||
- Level: 4
|
||||
Area: 1
|
||||
- Level: 5
|
||||
Area: 2
|
||||
- Level: 6
|
||||
Area: 2
|
||||
- Level: 7
|
||||
Area: 2
|
||||
- Level: 8
|
||||
Area: 2
|
||||
- Level: 9
|
||||
Area: 3
|
||||
- Level: 10
|
||||
Area: 3
|
||||
CastTime: # !TODO: Confirm cast time
|
||||
- Level: 1
|
||||
Time: 600
|
||||
- Level: 2
|
||||
Time: 700
|
||||
- Level: 3
|
||||
Time: 800
|
||||
- Level: 4
|
||||
Time: 900
|
||||
- Level: 5
|
||||
Time: 1000
|
||||
- Level: 6
|
||||
Time: 1100
|
||||
- Level: 7
|
||||
Time: 1200
|
||||
- Level: 8
|
||||
Time: 1300
|
||||
- Level: 9
|
||||
Time: 1400
|
||||
- Level: 10
|
||||
Time: 1500
|
||||
FixedCastTime:
|
||||
- Level: 1
|
||||
Time: 2000
|
||||
- Level: 2
|
||||
Time: 1800
|
||||
- Level: 3
|
||||
Time: 1600
|
||||
- Level: 4
|
||||
Time: 1400
|
||||
- Level: 5
|
||||
Time: 1200
|
||||
- Level: 6
|
||||
Time: 1000
|
||||
- Level: 7
|
||||
Time: 800
|
||||
- Level: 8
|
||||
Time: 600
|
||||
- Level: 9
|
||||
Time: 400
|
||||
- Level: 10
|
||||
Time: 200
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 122
|
||||
- Level: 2
|
||||
Amount: 129
|
||||
- Level: 3
|
||||
Amount: 136
|
||||
- Level: 4
|
||||
Amount: 143
|
||||
- Level: 5
|
||||
Amount: 150
|
||||
- Level: 6
|
||||
Amount: 157
|
||||
- Level: 7
|
||||
Amount: 164
|
||||
- Level: 8
|
||||
Amount: 171
|
||||
- Level: 9
|
||||
Amount: 178
|
||||
- Level: 10
|
||||
Amount: 185
|
||||
- Id: 8058
|
||||
Name: MH_GOLDENE_TONE
|
||||
Description: Goldene Tone
|
||||
MaxLevel: 10
|
||||
TargetType: Self
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
CastTime:
|
||||
- Level: 1
|
||||
Time: 1000
|
||||
- Level: 2
|
||||
Time: 1500
|
||||
- Level: 3
|
||||
Time: 2000
|
||||
- Level: 4
|
||||
Time: 2500
|
||||
- Level: 5
|
||||
Time: 3000
|
||||
- Level: 6
|
||||
Time: 3500
|
||||
- Level: 7
|
||||
Time: 4000
|
||||
- Level: 8
|
||||
Time: 4500
|
||||
- Level: 9
|
||||
Time: 5000
|
||||
- Level: 10
|
||||
Time: 5500
|
||||
AfterCastActDelay: 1000
|
||||
Duration1:
|
||||
- Level: 1
|
||||
Time: 30000
|
||||
- Level: 2
|
||||
Time: 40000
|
||||
- Level: 3
|
||||
Time: 50000
|
||||
- Level: 4
|
||||
Time: 60000
|
||||
- Level: 5
|
||||
Time: 70000
|
||||
- Level: 6
|
||||
Time: 80000
|
||||
- Level: 7
|
||||
Time: 90000
|
||||
- Level: 8
|
||||
Time: 100000
|
||||
- Level: 9
|
||||
Time: 110000
|
||||
- Level: 10
|
||||
Time: 120000
|
||||
FixedCastTime: 200
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 124
|
||||
- Level: 2
|
||||
Amount: 133
|
||||
- Level: 3
|
||||
Amount: 142
|
||||
- Level: 4
|
||||
Amount: 151
|
||||
- Level: 5
|
||||
Amount: 160
|
||||
- Level: 6
|
||||
Amount: 169
|
||||
- Level: 7
|
||||
Amount: 178
|
||||
- Level: 8
|
||||
Amount: 187
|
||||
- Level: 9
|
||||
Amount: 196
|
||||
- Level: 10
|
||||
Amount: 205
|
||||
Status: Goldene_Tone
|
||||
- Id: 8059
|
||||
Name: MH_BLAZING_LAVA
|
||||
Description: Blazing Lava
|
||||
MaxLevel: 10
|
||||
DamageFlags:
|
||||
NoDamage: true
|
||||
- Id: 8201
|
||||
Name: MS_BASH
|
||||
Description: Bash
|
||||
|
||||
213
db/re/status.yml
213
db/re/status.yml
@@ -8530,3 +8530,216 @@ 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
|
||||
|
||||
@@ -322,6 +322,11 @@ 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
|
||||
|
||||
@@ -9697,12 +9697,18 @@ Examples:
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*instance_warpall "<map name>",<x>,<y>{,<instance id>};
|
||||
*instance_warpall "<map name>",<x>,<y>{,<instance id>,{<flag>}};
|
||||
|
||||
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>}}}}};
|
||||
|
||||
36
doc/yaml/db/homunculus_db.yml
Normal file
36
doc/yaml/db/homunculus_db.yml
Normal file
@@ -0,0 +1,36 @@
|
||||
###########################################################################
|
||||
# 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)
|
||||
###########################################################################
|
||||
@@ -39,6 +39,7 @@ 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,
|
||||
@@ -53,6 +54,7 @@ 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,
|
||||
|
||||
@@ -39,6 +39,7 @@ 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,
|
||||
@@ -53,6 +54,7 @@ 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,
|
||||
|
||||
@@ -345,6 +345,7 @@ 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);
|
||||
@@ -382,7 +383,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,100,192;
|
||||
setarray @c[2],132,189,99,186;
|
||||
Disp("Desolate Village:Bleak Turtle Palace"); Pick("","tur_d03_i","tur_d04_i");
|
||||
SubD2: Restrict("RE");
|
||||
Go("ice_d03_i",149,22);
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
//= 1.7 Updated. [Lupus]
|
||||
//= 1.8 Updated. [L0ne_W0lf]
|
||||
//= 1.9 Renewal split. [Euphy]
|
||||
//= 2.0 Moved instances to pre-renewal. [Lemongrass]
|
||||
//============================================================
|
||||
|
||||
//============================================================
|
||||
@@ -268,23 +269,6 @@ 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
|
||||
//============================================================
|
||||
@@ -307,18 +291,6 @@ 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
|
||||
//============================================================
|
||||
|
||||
37
npc/pre-re/mapflag/nosave.txt
Normal file
37
npc/pre-re/mapflag/nosave.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
//===== 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
|
||||
401
npc/re/instances/WeekendDungeon.txt
Normal file
401
npc/re/instances/WeekendDungeon.txt
Normal file
@@ -0,0 +1,401 @@
|
||||
//===== 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
|
||||
@@ -241,6 +241,12 @@ que_swat mapflag nobranch
|
||||
har_in01 mapflag nobranch
|
||||
rockmi2 mapflag nobranch
|
||||
|
||||
//============================================================
|
||||
// Memorial day
|
||||
//============================================================
|
||||
1@md_gef mapflag nobranch
|
||||
1@md_pay mapflag nobranch
|
||||
|
||||
//============================================================
|
||||
// Lasagna
|
||||
//============================================================
|
||||
|
||||
@@ -256,6 +256,12 @@ har_in01 mapflag nomemo
|
||||
rockmi1 mapflag nomemo
|
||||
rockmi2 mapflag nomemo
|
||||
|
||||
//============================================================
|
||||
// Memorial day
|
||||
//============================================================
|
||||
1@md_gef mapflag nomemo
|
||||
1@md_pay mapflag nomemo
|
||||
|
||||
//============================================================
|
||||
// Lasagna
|
||||
//============================================================
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
//===== Changelogs: ==========================================
|
||||
//= 1.0 Renewal split. [Euphy]
|
||||
//= 1.1 Added GVG TE Guild Dungeons. [Capuche]
|
||||
//= 1.2 Removed instances. [Lemongrass]
|
||||
//============================================================
|
||||
|
||||
//============================================================
|
||||
@@ -60,27 +61,10 @@ 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
|
||||
@@ -95,240 +79,22 @@ 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
|
||||
|
||||
@@ -246,6 +246,12 @@ 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
|
||||
//============================================================
|
||||
|
||||
@@ -189,6 +189,12 @@ har_in01 mapflag nowarpto
|
||||
rockmi1 mapflag nowarpto
|
||||
rockmi2 mapflag nowarpto
|
||||
|
||||
//============================================================
|
||||
// Memorial day
|
||||
//============================================================
|
||||
1@md_gef mapflag nowarpto
|
||||
1@md_pay mapflag nowarpto
|
||||
|
||||
//============================================================
|
||||
// Lasagna
|
||||
//============================================================
|
||||
|
||||
@@ -122,6 +122,12 @@
|
||||
1@slw mapflag partylock
|
||||
1@swat mapflag partylock
|
||||
|
||||
//============================================================
|
||||
// Memorial day
|
||||
//============================================================
|
||||
1@md_gef mapflag partylock
|
||||
1@md_pay mapflag partylock
|
||||
|
||||
//============================================================
|
||||
// Chicken Mode Nightmare Glastheim
|
||||
//============================================================
|
||||
|
||||
@@ -107,6 +107,12 @@ 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
|
||||
//============================================================
|
||||
|
||||
18
npc/re/mobs/dungeons/nif_dun.txt
Normal file
18
npc/re/mobs/dungeons/nif_dun.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Niflheim dungeon Monsters Spawn Script
|
||||
//===== Description: =========================================
|
||||
//= Spawns monsters in nif_dun.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version. [Capuche]
|
||||
//============================================================
|
||||
|
||||
nif_dun01 monster Gan Ceann GAN_CEANN,60
|
||||
nif_dun01 monster Brutal Murderer BRUTAL_MURDERER,60
|
||||
nif_dun01 monster Ghost Cube GHOST_CUBE,60
|
||||
nif_dun01 monster Lude Gal LUDE_GAL,60
|
||||
|
||||
nif_dun02 monster Disguiser DISGUISER,80
|
||||
nif_dun02 monster Grote GROTE,80
|
||||
nif_dun02 monster Pierrotzoist PIERROTZOIST,80
|
||||
nif_dun02 monster Blue Moon Loli Ruri BLUEMOON_LOLI_RURI,80
|
||||
nif_dun02 boss_monster Death Witch DEATH_WITCH,1,21600000,600000,0
|
||||
@@ -4,6 +4,7 @@
|
||||
//= [Walkthrough Conversion]
|
||||
//===== Changelog: ===========================================
|
||||
//= 1.0 Added sp_rudus4 quests. [Capuche]
|
||||
//= 1.1 Added nif_dun01 and nif_dun02 quests. [Capuche]
|
||||
//============================================================
|
||||
|
||||
// sp_rudus4
|
||||
@@ -478,3 +479,829 @@ OnInit:
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(16528) == 1" );
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
// nif_dun
|
||||
moc_para01,14,19,7 script Old scholar#lv200 2_M_SAGE_OLD,{
|
||||
if (BaseLevel < 200) {
|
||||
mes "[Old scholar]";
|
||||
mes "I would like to do more research, but if my life is really in danger...";
|
||||
next;
|
||||
mes "[Old scholar]";
|
||||
mes "I have no choice but to hire a strong and sincere adventurer. Hmm...";
|
||||
next;
|
||||
mes "[Old scholar]";
|
||||
mes "I think level 200 would be enough... It's easy to say, but that is not the type of person who can be easily found.";
|
||||
close;
|
||||
}
|
||||
switch( isbegin_quest(8640) ) {
|
||||
case 0:
|
||||
if (isbegin_quest(8639) == 0) {
|
||||
mes "[Old scholar]";
|
||||
mes "Oh, oh my, my gosh. The strong and sincere adventurer I've been looking for has appeared here.";
|
||||
mes "Would you like to help me with my research?";
|
||||
next;
|
||||
.@s = select( "Listen to the request", "Suspicious..." );
|
||||
mes "[Old scholar]";
|
||||
mes "Even if I look at you with my eyes I recognize your skills at a glance, please do something...!";
|
||||
if (.@s == 2)
|
||||
close;
|
||||
mes "...?";
|
||||
mes "What? Will you help me?";
|
||||
next;
|
||||
mes "[Old scholar]";
|
||||
mes "No, that's it... Everyone refused, so the hanging words got stuck in my mouth.";
|
||||
mes "Thank you for your cooperation.";
|
||||
next;
|
||||
select( "You're still cooperating..." );
|
||||
mes "[Old scholar]";
|
||||
mes "Come on, that's it. Of course someone as talented as you can go to Niflheim.";
|
||||
mes "Of course I don't have many days left and it's not the right time for me to go and I can't come back in time.";
|
||||
next;
|
||||
mes "[Old scholar]";
|
||||
mes "According to recent sources... Deep in the darkness of Niflheim, the dead hold a banquet,";
|
||||
mes "in a form we cannot imagine.";
|
||||
mes "But there is nowhere to hear more about it.";
|
||||
next;
|
||||
mes "[Old scholar]";
|
||||
mes "You'll find out soon anyway, but I'm curious now.";
|
||||
mes "Can you take a look? I'll give you plenty of examples.";
|
||||
next;
|
||||
if (select( "That's enough. Can I come back?", "What if I can't come back?" ) == 2) {
|
||||
mes "[Old scholar]";
|
||||
mes "You wouldn't even think that you wouldn't be able to come back at your level...";
|
||||
mes "If you're still that careful, okay. Come back when you're ready.";
|
||||
close;
|
||||
}
|
||||
setquest 8639;
|
||||
mes "[Garim Springfield]";
|
||||
mes "Thank you. Turns out I forgot to introduce myself.";
|
||||
mes "My name is Garim Springfield.";
|
||||
mes "I worked at Sage Castle for a long time... Now that I'm retired, I want to spend some leisure time here and also put in requests...";
|
||||
next;
|
||||
mes "[" + strcharinfo(0) + "]";
|
||||
mes "Relax...";
|
||||
next;
|
||||
mes "[Garim Springfield]";
|
||||
mes "Okay. It's worth it.";
|
||||
mes "Grant an idle old man a wish.";
|
||||
mes "Then I'll wait for the good news.";
|
||||
close;
|
||||
}
|
||||
mes "[Garim Springfield]";
|
||||
mes "What are you doing? Go fast.";
|
||||
close;
|
||||
case 1:
|
||||
mes "[Garim Springfield]";
|
||||
mes "Huh? Did you really visit the banquet hall deep in Niflheim?";
|
||||
mes "You came back alive?";
|
||||
mes "Okay then, tell me your story.";
|
||||
next;
|
||||
mes "[Garim Springfield]";
|
||||
mes "Hmm hmm... I see!";
|
||||
mes "I am prepared like this, so I won't be afraid if I go later!";
|
||||
next;
|
||||
mes "[Garim Springfield]";
|
||||
mes "The research will last forever...!";
|
||||
completequest 8640;
|
||||
close;
|
||||
case 2:
|
||||
mes "[Garim Springfield]";
|
||||
mes "I felt like I could do research even after dying, so I felt better.";
|
||||
close;
|
||||
}
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "BaseLevel >= 200 && isbegin_quest(8639) == 0 && isbegin_quest(8640) == 0" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(8640) == 1" );
|
||||
end;
|
||||
}
|
||||
|
||||
niflheim,164,102,3 script Tired looking dead#lv20 4_F_NFDEADMGCIAN,{
|
||||
switch( isbegin_quest(8640) ) {
|
||||
case 0:
|
||||
switch( isbegin_quest(8639) ) {
|
||||
case 0:
|
||||
mes "[Tired looking dead]";
|
||||
mes "Ha-am...";
|
||||
mes "I can't sleep";
|
||||
mes "What's the fuss that you can't sleep even after you're dead?";
|
||||
mes "Let's get some sleep...";
|
||||
mes "I'm going to die because of the noise.";
|
||||
close;
|
||||
case 1:
|
||||
mes "[Tired looking dead]";
|
||||
mes "Ha-am...";
|
||||
mes "Huh? What? I don't deal with peddlers.";
|
||||
next;
|
||||
if (select( "You have a bad complexion", "Go back quietly" ) == 2) {
|
||||
mes "[Tired looking dead]";
|
||||
mes "Oh, I did mean to ask you if you had sleeping pills... But I'm dead... You won't hear me... Hmm.";
|
||||
close;
|
||||
}
|
||||
mes "[Tired looking dead]";
|
||||
mes "Uh, how did you know?";
|
||||
mes "My complexion must look real bad...";
|
||||
mes "Do you have a sleeping pill?";
|
||||
next;
|
||||
select("I'm not a junkie" );
|
||||
mes "[Tired looking dead]";
|
||||
mes "Ah... I'm sorry. I misunderstood. All the people who have come this far were weird kids or people who sold drugs, so I kicked them out.";
|
||||
next;
|
||||
mes "[Tired looking dead]";
|
||||
mes "By the way... how did you know that I am tired? Does my complexion look that bad?";
|
||||
next;
|
||||
mes "[Tired looking dead]";
|
||||
mes "Actually, I've been dead for a while, but I've only recently come to Niflheim. So I decided to sleep here in this house...";
|
||||
mes "I can't sleep at night because it's so noisy next door.";
|
||||
next;
|
||||
mes "[Tired looking dead]";
|
||||
mes "No, it's the pain of not being able to sleep because the next door is noisy even though I'm already dead..";
|
||||
mes "Oh, not next door. They all ran away.";
|
||||
mes "There's a reason why it is so cheap...";
|
||||
next;
|
||||
mes "[Tired looking dead]";
|
||||
mes "Yes, <NAVI>[there]<INFO>niflheim,148,124,0,101,0</INFO></NAVI>";
|
||||
mes "The crazy villagers over there... they have a banquet every day.";
|
||||
next;
|
||||
mes "[Tired looking dead]";
|
||||
mes "I'm in there every day, every day!!";
|
||||
next;
|
||||
mes "[Tired looking dead]";
|
||||
mes "Ha... I know, even if it's every day, there's a set time.";
|
||||
mes "By the way... If you were a drinker, who would have gone home on time, while you were alive, would you do that even in death?";
|
||||
next;
|
||||
mes "[Tired looking dead]";
|
||||
mes "I'm... dead, so I just want to sleep peacefully...";
|
||||
mes "I hope they return to their senses after the banquet is over.";
|
||||
next;
|
||||
select( "Banquet is..." );
|
||||
mes "[Tired looking dead]";
|
||||
mes "Yeah... you look pretty strong and there's alcohol... they are dead, so it's magic.";
|
||||
mes "If you can silence those who are drunk with magical powers all night long, I will reward you.";
|
||||
mes "Yes, of course every day.";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "I am Milla. I am now a resident of Niflheim.";
|
||||
mes "Please help me sleep, my dear.";
|
||||
erasequest 8639;
|
||||
setquest 8640;
|
||||
close;
|
||||
case 2:
|
||||
end;
|
||||
}
|
||||
end;
|
||||
case 1:
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Yes, thank you for coming back.";
|
||||
mes "Ha-am...";
|
||||
mes "For me and my neighbors... for a good night's sleep.";
|
||||
next;
|
||||
if (select( "Listen to the request.", "Reject." ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "You can't do this if you're busy...";
|
||||
mes "Ah, after all, the living do not hear that sound. This is my agony only known to the dead...";
|
||||
npctalk "Another Dead: Noisy! Get some sleep!", "#lv200althema", bc_self;
|
||||
npctalk "Another Dead: He really can't sleep!", "#lv200althema2", bc_self;
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Beloved living, thank you for your mercy.";
|
||||
mes "It's a luxurious facility with a banquet hall and an Opera House, but each one is a little different.";
|
||||
mes "I'll ask for that kind of skill based on your kindness...";
|
||||
next;
|
||||
switch( select( "He looks cute", "That's not an instrument", "Playing the piano", "Guys with messy hair", "The ones with dolls", "Wake them up", "Stop" ) ) {
|
||||
case 1:
|
||||
switch( checkquest(8642,PLAYTIME) ) {
|
||||
case -1:
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I think they've had enough today.";
|
||||
mes "I hope you can help me tomorrow if you have time.";
|
||||
close;
|
||||
case 2:
|
||||
erasequest 8642;
|
||||
break;
|
||||
}
|
||||
switch( checkquest(8641,HUNTING) ) {
|
||||
case -1:
|
||||
mes "[Milla]";
|
||||
mes "They look cute... but they're terribly noisy.";
|
||||
mes "^0000FF" + getmonsterinfo("GHOST_CUBE", MOB_NAME) + "^000000,";
|
||||
mes "^0000FF" + getmonsterinfo("LUDE_GAL", MOB_NAME) + "^000000";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "I wish you could beat 15 " + getmonsterinfo("GHOST_CUBE", MOB_NAME) + "";
|
||||
mes "and 15 of their mate " + getmonsterinfo("LUDE_GAL", MOB_NAME) + ", who haunted the banquet hall of the dead,";
|
||||
mes "and make them holy for a day.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8641;
|
||||
close;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I wish you could beat 15 " + getmonsterinfo("GHOST_CUBE", MOB_NAME) + "";
|
||||
mes "and 15 of their mate " + getmonsterinfo("LUDE_GAL", MOB_NAME) + ", who haunted the banquet hall of the dead,";
|
||||
mes "and make them holy for a day.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Kya, did you hear them scream all the way here?";
|
||||
mes "I think I can sleep a little deeper today thanks to you...";
|
||||
mes "I have to make it through this commotion again tomorrow.";
|
||||
mes "Thank you.";
|
||||
erasequest 8641;
|
||||
setquest 8642;
|
||||
// getexp 15642570,10949790; // pre-rebalance
|
||||
getexp 20300909,14210636; // rebalance (unknown jexp, 70% of baseexp)
|
||||
close;
|
||||
}
|
||||
end;
|
||||
case 2:
|
||||
switch( checkquest(8645,PLAYTIME) ) {
|
||||
case -1:
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I think they've had enough today.";
|
||||
mes "I hope you can help me tomorrow if you have time.";
|
||||
close;
|
||||
case 2:
|
||||
erasequest 8645;
|
||||
break;
|
||||
}
|
||||
switch( checkquest(8644,HUNTING) ) {
|
||||
case -1:
|
||||
mes "[Milla]";
|
||||
mes "It's called ^0000FF" + getmonsterinfo("BRUTAL_MURDERER", MOB_NAME) + "^000000.";
|
||||
mes "They have knives in their hands... ";
|
||||
mes "It's too loud to knock anywhere!";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "I wish you could beat 10 " + getmonsterinfo("BRUTAL_MURDERER", MOB_NAME) + "";
|
||||
mes "and 10 of their mate " + getmonsterinfo("GAN_CEANN", MOB_NAME) + ", who haunted the banquet hall of the dead,";
|
||||
mes "and make them holy for a day.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead.";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8644;
|
||||
close;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I wish you could beat 10 " + getmonsterinfo("BRUTAL_MURDERER", MOB_NAME) + "";
|
||||
mes "and 10 of their mate " + getmonsterinfo("GAN_CEANN", MOB_NAME) + ", who haunted the banquet hall of the dead,";
|
||||
mes "and make them holy for a day.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Kya, did you hear the sound of their cleavers and their helmets flying all the way up to here?";
|
||||
mes "I think I can sleep a little deeper today thanks to you...";
|
||||
mes "Thank you.";
|
||||
erasequest 8644;
|
||||
setquest 8645;
|
||||
// getexp 10756120,7541880; // pre-rebalance
|
||||
getexp 14106860,9874802; // rebalance (unknown jexp, 70% of baseexp)
|
||||
close;
|
||||
}
|
||||
end;
|
||||
case 3:
|
||||
switch( checkquest(8648,PLAYTIME) ) {
|
||||
case -1:
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I think they've had enough today.";
|
||||
mes "I hope you can help me tomorrow if you have time.";
|
||||
close;
|
||||
case 2:
|
||||
erasequest 8648;
|
||||
break;
|
||||
}
|
||||
switch( isbegin_quest(8647) ) {
|
||||
case 0:
|
||||
mes "[Milla]";
|
||||
mes "If you go into the banquet hall of the dead there, there will be a piano.";
|
||||
mes "It actually screams when a living person knocks on it.";
|
||||
mes "Would it be fun?";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "Play the <NAVI>[piano]<INFO>nif_dun01,140,202,0,101,0</INFO></NAVI>";
|
||||
mes "of the banquet hall of the dead.";
|
||||
mes "There is no such thing as a song request.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8647;
|
||||
close;
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "Play the <NAVI>[piano]<INFO>nif_dun01,140,202,0,101,0</INFO></NAVI>";
|
||||
mes "of the banquet hall of the dead.";
|
||||
mes "There is no such thing as a song request.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Hahaha, did you hear that? It's like alcohol... No, it's like that if you drink magic and act like a hawk.";
|
||||
mes "I think I can sleep a little deeper today thanks to you...";
|
||||
mes "Thank you.";
|
||||
erasequest 8647;
|
||||
erasequest 8649;
|
||||
setquest 8648;
|
||||
getexp 10000000,7500000;
|
||||
close;
|
||||
}
|
||||
end;
|
||||
case 4:
|
||||
if (BaseLevel < 240) {
|
||||
mes "[Milla]";
|
||||
mes "Hmm... no.";
|
||||
mes "It's still too early to leave it to you...";
|
||||
mes "I'll wait until you reach level 240.";
|
||||
mes "I have time.";
|
||||
close;
|
||||
}
|
||||
switch( checkquest(8651,PLAYTIME) ) {
|
||||
case -1:
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I think they've had enough today.";
|
||||
mes "I hope you can help me tomorrow if you have time.";
|
||||
close;
|
||||
case 2:
|
||||
erasequest 8651;
|
||||
break;
|
||||
}
|
||||
switch( isbegin_quest(8650) ) {
|
||||
case 0:
|
||||
case 1:
|
||||
switch( checkquest(8650,HUNTING) ) {
|
||||
case -1:
|
||||
mes "[Milla]";
|
||||
mes "I mean, there are kids called ^0000FF" + getmonsterinfo("DISGUISER", MOB_NAME) + "^000000. ";
|
||||
mes "They've got their hair as if a bomb hit, and they look so excited.";
|
||||
mes "^0000FF" + getmonsterinfo("BLUEMOON_LOLI_RURI", MOB_NAME) + "^000000, it can't be that loud when you get together with guys with broom hair.";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 15 ^0000FF" + getmonsterinfo("DISGUISER", MOB_NAME) + "^000000 and the 15 ^0000FF" + getmonsterinfo("BLUEMOON_LOLI_RURI", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8650;
|
||||
close;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 15 ^0000FF" + getmonsterinfo("DISGUISER", MOB_NAME) + "^000000 and the 15 ^0000FF" + getmonsterinfo("BLUEMOON_LOLI_RURI", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Huh, huh, I can hear the bomb head dusting all the way up to here.";
|
||||
mes "Thanks to you, I will sleep well today.";
|
||||
mes "Thank you. See you again tomorrow.";
|
||||
completequest 8650;
|
||||
setquest 8651;
|
||||
getexp 44984725,31489308; // rebalance (unknown jexp, 70% of baseexp)
|
||||
close;
|
||||
}
|
||||
end;
|
||||
case 2:
|
||||
switch( checkquest(8652,HUNTING) ) {
|
||||
case -1:
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 15 ^0000FF" + getmonsterinfo("DISGUISER", MOB_NAME) + "^000000 and the 15 ^0000FF" + getmonsterinfo("BLUEMOON_LOLI_RURI", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8652;
|
||||
close;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 15 ^0000FF" + getmonsterinfo("DISGUISER", MOB_NAME) + "^000000 and the 15 ^0000FF" + getmonsterinfo("BLUEMOON_LOLI_RURI", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Huh, huh, I can hear the bomb head dusting all the way up to here.";
|
||||
mes "Thanks to you, I will sleep well today.";
|
||||
mes "Thank you. See you again tomorrow.";
|
||||
erasequest 8652;
|
||||
setquest 8651;
|
||||
getexp 44984725,31489308; // rebalance (unknown jexp, 70% of baseexp)
|
||||
close;
|
||||
}
|
||||
end;
|
||||
}
|
||||
end;
|
||||
case 5:
|
||||
if (BaseLevel < 240) {
|
||||
mes "[Milla]";
|
||||
mes "Hmm... no.";
|
||||
mes "It's still too early to leave it to you...";
|
||||
mes "I'll wait until you reach level 240.";
|
||||
mes "I have time.";
|
||||
close;
|
||||
}
|
||||
switch( checkquest(8654,PLAYTIME) ) {
|
||||
case -1:
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I think they've had enough today.";
|
||||
mes "I hope you can help me tomorrow if you have time.";
|
||||
close;
|
||||
case 2:
|
||||
erasequest 8654;
|
||||
break;
|
||||
}
|
||||
switch( isbegin_quest(8653) ) {
|
||||
case 0:
|
||||
case 1:
|
||||
switch( checkquest(8653,HUNTING) ) {
|
||||
case -1:
|
||||
mes "[Milla]";
|
||||
mes "If you look at the collapsed Opera House there,";
|
||||
mes "you'll see the ones with dolls. There's " + getmonsterinfo("GROTE", MOB_NAME) + " and " + getmonsterinfo("PIERROTZOIST", MOB_NAME) + "^000000...";
|
||||
mes "All the ones with dolls are so noisy.";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 10 ^0000FF" + getmonsterinfo("GROTE", MOB_NAME) + "^000000 and the 10 ^0000FF" + getmonsterinfo("PIERROTZOIST", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8653;
|
||||
close;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 10 ^0000FF" + getmonsterinfo("GROTE", MOB_NAME) + "^000000 and the 10 ^0000FF" + getmonsterinfo("PIERROTZOIST", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Kyak-kyak-kyak-kyak-kyak-kyak-kyak, what did you really do?";
|
||||
mes "A while ago, " + getmonsterinfo("GROTE", MOB_NAME) + " and " + getmonsterinfo("PIERROTZOIST", MOB_NAME) + " went home saying they wouldn't make a noise again.";
|
||||
mes "Of course not. They will come again tomorrow.";
|
||||
mes "Thank you. See you tomorrow.";
|
||||
completequest 8653;
|
||||
setquest 8654;
|
||||
getexp 29944101,20960871; // rebalance (unknown jexp, 70% of baseexp)
|
||||
close;
|
||||
}
|
||||
end;
|
||||
case 2:
|
||||
switch( checkquest(8655,HUNTING) ) {
|
||||
case -1:
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 10 ^0000FF" + getmonsterinfo("GROTE", MOB_NAME) + "^000000 and the 10 ^0000FF" + getmonsterinfo("PIERROTZOIST", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8655;
|
||||
close;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I hope you show the hot taste to";
|
||||
mes "the 10 ^0000FF" + getmonsterinfo("GROTE", MOB_NAME) + "^000000 and the 10 ^0000FF" + getmonsterinfo("PIERROTZOIST", MOB_NAME) + "^000000";
|
||||
mes "that haunt the collapsed Opera House.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Milla]";
|
||||
mes "Kyak-kyak-kyak-kyak-kyak-kyak-kyak, what did you really do?";
|
||||
mes "A while ago, " + getmonsterinfo("GROTE", MOB_NAME) + " and " + getmonsterinfo("PIERROTZOIST", MOB_NAME) + " went home saying they wouldn't make a noise again.";
|
||||
mes "Of course not. They will come again tomorrow.";
|
||||
mes "Thank you. See you tomorrow.";
|
||||
erasequest 8655;
|
||||
setquest 8654;
|
||||
getexp 29944101,20960871; // rebalance (unknown jexp, 70% of baseexp)
|
||||
close;
|
||||
}
|
||||
end;
|
||||
}
|
||||
end;
|
||||
case 6:
|
||||
if (BaseLevel < 240) {
|
||||
mes "[Milla]";
|
||||
mes "Hmm... no.";
|
||||
mes "It's still too early to leave it to you...";
|
||||
mes "I'll wait until you reach level 240.";
|
||||
mes "I have time.";
|
||||
close;
|
||||
}
|
||||
switch( checkquest(8657,PLAYTIME) ) {
|
||||
case -1:
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
mes "[Milla]";
|
||||
mes "I think they've had enough today.";
|
||||
mes "I hope you can help me tomorrow if you have time.";
|
||||
close;
|
||||
case 2:
|
||||
erasequest 8657;
|
||||
break;
|
||||
}
|
||||
switch( isbegin_quest(8656) ) {
|
||||
case 0:
|
||||
mes "[Milla]";
|
||||
mes "The smashed... no, don't say that.";
|
||||
mes "If you go to the collapsed Opera House, you will find ghosts in the frames.";
|
||||
mes "But they don't even have a body...";
|
||||
mes "Snoring, my dear.";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "A <NAVI>[ghost talking]<INFO>nif_dun02,37,221,0,101,0</INFO></NAVI>";
|
||||
mes "and <NAVI>[snoring]<INFO>nif_dun02,249,221,0,101,0</INFO></NAVI>";
|
||||
mes "inside the banquet hall of the dead, twist your nose.";
|
||||
mes "You need to calm them down.";
|
||||
next;
|
||||
if (select( "I accept", "I'm busy today" ) == 2) {
|
||||
mes "[Milla]";
|
||||
mes "Ummm...";
|
||||
mes "Yeah... Well, I won't die just because I can't sleep...";
|
||||
mes "I'm already dead";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "Thank you for your kind heart.";
|
||||
mes "Blessed be the mercy of the living!";
|
||||
setquest 8656;
|
||||
close;
|
||||
case 1:
|
||||
if (isbegin_quest(8658) == 0 || isbegin_quest(8659) == 0) {
|
||||
mes "[Milla]";
|
||||
mes "A <NAVI>[ghost talking]<INFO>nif_dun02,37,221,0,101,0</INFO></NAVI>";
|
||||
mes "and <NAVI>[snoring]<INFO>nif_dun02,249,221,0,101,0</INFO></NAVI>";
|
||||
mes "inside the banquet hall of the dead, twist your nose.";
|
||||
mes "You need to calm them down.";
|
||||
close;
|
||||
}
|
||||
mes "[Milla]";
|
||||
mes "...I can't eat any more...";
|
||||
mes "...hick.";
|
||||
mes "Oh, have you been there? I fell asleep without realizing it.";
|
||||
mes "It's really annoying to hear that snoring all the way...";
|
||||
next;
|
||||
mes "[Milla]";
|
||||
mes "It seems that the living do not hear well.";
|
||||
mes "Anyway, thank you for today.";
|
||||
mes "Sleep is precious...";
|
||||
mes "Sleep enough while you're alive.";
|
||||
erasequest 8656;
|
||||
erasequest 8658;
|
||||
erasequest 8659;
|
||||
setquest 8657;
|
||||
getexp 13000000,9100000; // rebalance (unknown jexp, 70% of baseexp)
|
||||
close;
|
||||
case 2:
|
||||
end;
|
||||
}
|
||||
end;
|
||||
case 7:
|
||||
mes "[Milla]";
|
||||
mes "You can't do this if you're busy...";
|
||||
mes "Ah, after all, the living do not hear that sound. This is my agony only known to the dead...";
|
||||
npctalk "Another Dead: Noisy! Get some sleep!", "#lv200althema", bc_self;
|
||||
npctalk "Another Dead: He really can't sleep!", "#lv200althema2", bc_self;
|
||||
close;
|
||||
}
|
||||
end;
|
||||
}
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
// prerequisite
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(8639) == 1" );
|
||||
|
||||
// daily
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(8641,HUNTING) == 2" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(8644,HUNTING) == 2" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(8647) == 2" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(8650,HUNTING) == 2" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(8652,HUNTING) == 2" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(8653,HUNTING) == 2" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "checkquest(8655,HUNTING) == 2" );
|
||||
questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(8656) == 1 && isbegin_quest(8658) == 1 && isbegin_quest(8659) == 1" );
|
||||
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(8642,PLAYTIME) == 2" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(8645,PLAYTIME) == 2" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(8648,PLAYTIME) == 2" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(8651,PLAYTIME) == 2" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(8654,PLAYTIME) == 2" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "checkquest(8657,PLAYTIME) == 2" );
|
||||
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 200 && (checkquest(8641,HUNTING) == -1 && checkquest(8642,PLAYTIME) == -1)" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 200 && (checkquest(8644,HUNTING) == -1 && checkquest(8645,PLAYTIME) == -1)" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 200 && (isbegin_quest(8647) == 0 && checkquest(8648,PLAYTIME) == -1)" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 240 && (checkquest(8650,HUNTING) == -1 && checkquest(8651,PLAYTIME) == -1)" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 240 && isbegin_quest(8650) == 2 && checkquest(8652,HUNTING) == -1 && checkquest(8651,PLAYTIME) == -1" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 240 && (checkquest(8653,HUNTING) == -1 && checkquest(8654,PLAYTIME) == -1)" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 240 && isbegin_quest(8653) == 2 && checkquest(8655,HUNTING) == -1 && checkquest(8654,PLAYTIME) == -1" );
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "BaseLevel >= 240 && (isbegin_quest(8656) == 0 && checkquest(8657,PLAYTIME) == -1)" );
|
||||
end;
|
||||
}
|
||||
|
||||
niflheim,160,106,3 duplicate(dummy_npc) #lv200althema CLEAR_NPC
|
||||
niflheim,165,105,3 duplicate(dummy_npc) #lv200althema2 CLEAR_NPC
|
||||
|
||||
|
||||
niflheim,143,125,6 script Funny Gatekeeper's Friend#lv20 LUDE_GAL,{
|
||||
npctalk "Funny Gatekeeper's Friend: Sing~ All night~ or forever~", "", bc_self;
|
||||
end;
|
||||
}
|
||||
|
||||
niflheim,145,126,6 script Angry Gatekeeper#lv200 GHOST_CUBE,{
|
||||
npctalk "Angry Gatekeeper: Kye-Look! Living! Play! No need to go!", "", bc_self;
|
||||
npctalk "Funny Gatekeeper's Friend: No need to leave! Play with us!", "Funny Gatekeeper's Friend#lv20", bc_self;
|
||||
end;
|
||||
}
|
||||
|
||||
nif_dun01,140,202,3 script Piano#lv200 CLEAR_NPC,{
|
||||
if (isbegin_quest(8647) == 1) {
|
||||
mes "I couldn't hear anything, but the dead around me seem to be in an uproar.";
|
||||
mes "Let's report to Milla.";
|
||||
completequest 8647;
|
||||
setquest 8649;
|
||||
npctalk "Clink clink... Crackle!", "Piano#lv200", bc_self;
|
||||
npctalk "Sleep alive! Kyaaak!", "Exciting Cello#lv200", bc_self;
|
||||
npctalk "The living man plays the piano!", "Dancing Cello#lv200", bc_self;
|
||||
npctalk "Oh my God, he can't really play...", "Quiet Cello#lv200", bc_self;
|
||||
npctalk "How could that be...", "Stranger Cello#lv200", bc_self;
|
||||
npctalk "You ruined the atmosphere!", "Happy Cello#lv200", bc_self;
|
||||
npctalk "Piano Ooo!!!", "Serious Contrabass#lv2", bc_self;
|
||||
npctalk "The piano is stunned...", "Sleek Harp#lv200", bc_self;
|
||||
close;
|
||||
}
|
||||
// note: no text
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(8647) == 1" );
|
||||
end;
|
||||
}
|
||||
nif_dun01,133,198,3 duplicate(dummy_npc) Exciting Cello#lv200 CLEAR_NPC
|
||||
nif_dun01,138,195,3 duplicate(dummy_npc) Dancing Cello#lv200 CLEAR_NPC
|
||||
nif_dun01,153,195,3 duplicate(dummy_npc) Quiet Cello#lv200 CLEAR_NPC
|
||||
nif_dun01,152,198,3 duplicate(dummy_npc) Stranger Cello#lv200 CLEAR_NPC
|
||||
nif_dun01,157,198,3 duplicate(dummy_npc) Happy Cello#lv200 CLEAR_NPC
|
||||
nif_dun01,156,202,3 duplicate(dummy_npc) Serious Contrabass#lv2 CLEAR_NPC
|
||||
nif_dun01,133,201,3 duplicate(dummy_npc) Sleek Harp#lv200 CLEAR_NPC
|
||||
|
||||
nif_dun01,148,43,3 script Helpful Gatekeeper#240 DISGUISER,{
|
||||
if (BaseLevel < 240) {
|
||||
npctalk "Helpful Gatekeeper: Uh-huh-huh. You don't have enough grooming to get through here.", "", bc_self;
|
||||
npctalk "Silent Gatekeeper: ...means you are under-leveled.", "Silent Gatekeeper#240", bc_self;
|
||||
end;
|
||||
}
|
||||
npctalk "Helpful Gatekeeper: Uh-huh-huh. Mountain, go up. Can't come down.", "", bc_self;
|
||||
npctalk "Silent Gatekeeper: ...means welcome.", "Silent Gatekeeper#240", bc_self;
|
||||
end;
|
||||
}
|
||||
|
||||
nif_dun01,143,43,7 script Silent Gatekeeper#240 GROTE,{
|
||||
npctalk "Silent Gatekeeper: ...", "", bc_self;
|
||||
end;
|
||||
}
|
||||
|
||||
nif_dun02,37,221,3 script Sleep Talking Ghost#lv240 CLEAR_NPC,3,3,{
|
||||
if (isbegin_quest(8656) == 1) {
|
||||
switch( isbegin_quest(8659) ) {
|
||||
case 0:
|
||||
setquest 8659;
|
||||
mes "I twisted the nose of the ghost in the frame.";
|
||||
mes "There was no touch, but the ghost stopped talking.";
|
||||
npctalk "????????!", "", bc_self;
|
||||
if (isbegin_quest(8658) == 1)
|
||||
mes "Let's go report to Milla.";
|
||||
close;
|
||||
case 1:
|
||||
mes "The ghost that was talking about is not seen, and another ghost is sleeping.";
|
||||
close;
|
||||
default:
|
||||
end;
|
||||
}
|
||||
}
|
||||
end;
|
||||
|
||||
OnTouch:
|
||||
if (isbegin_quest(8659) == 0) {
|
||||
npctalk "I want to eat it too... it looks delicious...", "", bc_self;
|
||||
end;
|
||||
}
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(8656) == 1 && isbegin_quest(8659) == 0" );
|
||||
end;
|
||||
}
|
||||
|
||||
nif_dun02,249,221,3 script Snoring Ghost#lv240 CLEAR_NPC,3,3,{
|
||||
if (isbegin_quest(8656) == 1) {
|
||||
switch( isbegin_quest(8658) ) {
|
||||
case 0:
|
||||
setquest 8658;
|
||||
mes "I twisted the nose of the ghost in the frame.";
|
||||
mes "There was no touch, but the ghost stopped snoring.";
|
||||
npctalk "Nang!", "", bc_self;
|
||||
if (isbegin_quest(8659) == 1)
|
||||
mes "Let's go report to Milla.";
|
||||
close;
|
||||
case 1:
|
||||
mes "The snoring ghost is nowhere to be seen, and another ghost is sleeping.";
|
||||
close;
|
||||
default:
|
||||
end;
|
||||
}
|
||||
}
|
||||
end;
|
||||
|
||||
OnTouch:
|
||||
if (isbegin_quest(8658) == 0)
|
||||
npctalk "Dorolong Dorolong...", "", bc_self;
|
||||
end;
|
||||
|
||||
OnInit:
|
||||
questinfo( QTYPE_DAILYQUEST, QMARK_YELLOW, "isbegin_quest(8656) == 1 && isbegin_quest(8658) == 0" );
|
||||
end;
|
||||
}
|
||||
|
||||
@@ -96,6 +96,7 @@ npc: npc/re/instances/SealedOs.txt
|
||||
npc: npc/re/instances/SkyFortress.txt
|
||||
npc: npc/re/instances/TempleOfDemonGod.txt
|
||||
//npc: npc/re/instances/WaveMode.txt
|
||||
npc: npc/re/instances/WeekendDungeon.txt
|
||||
npc: npc/re/instances/WernerLaboratoryCentralRoom.txt
|
||||
npc: npc/re/instances/WolfchevLaboratory.txt
|
||||
//npc: npc/custom/official/GeffenMagicTournament.txt
|
||||
|
||||
@@ -46,6 +46,7 @@ npc: npc/re/mobs/dungeons/mjo_dun.txt
|
||||
npc: npc/re/mobs/dungeons/moc_pryd.txt
|
||||
npc: npc/re/mobs/dungeons/moro_vol.txt
|
||||
npc: npc/re/mobs/dungeons/mosk_dun.txt
|
||||
npc: npc/re/mobs/dungeons/nif_dun.txt
|
||||
npc: npc/re/mobs/dungeons/nyd_dun.txt
|
||||
npc: npc/re/mobs/dungeons/odin.txt
|
||||
npc: npc/re/mobs/dungeons/orcsdun.txt
|
||||
|
||||
@@ -26,6 +26,7 @@ npc: npc/re/warps/dungeons/ecl_dun.txt
|
||||
npc: npc/re/warps/dungeons/harboro2.txt
|
||||
npc: npc/re/warps/dungeons/iz_dun.txt
|
||||
npc: npc/re/warps/dungeons/moc_pryd.txt
|
||||
npc: npc/re/warps/dungeons/nif_dun.txt
|
||||
npc: npc/re/warps/dungeons/rockmi1.txt
|
||||
npc: npc/re/warps/dungeons/sp_rudus.txt
|
||||
npc: npc/re/warps/dungeons/slabw01.txt
|
||||
|
||||
34
npc/re/warps/dungeons/nif_dun.txt
Normal file
34
npc/re/warps/dungeons/nif_dun.txt
Normal file
@@ -0,0 +1,34 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Niflheim dungeon warps script
|
||||
//===== Changelogs: ==========================================
|
||||
//= 1.0 First version. [Capuche]
|
||||
//============================================================
|
||||
|
||||
niflheim,149,124,0 script nifla_nifdun01a WARPNPC,1,1,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (isbegin_quest(8640) == 0) {
|
||||
npctalk "Angry Gatekeeper: How are you adventurer? Go in? Do you want to go in? Kick!", "Angry Gatekeeper#lv200", bc_self;
|
||||
npctalk "Funny Gatekeeper's Friend: Awesome!", "Funny Gatekeeper's Friend#lv20", bc_self;
|
||||
end;
|
||||
}
|
||||
warp "nif_dun01",145,85;
|
||||
end;
|
||||
}
|
||||
|
||||
nif_dun01,145,82,0 warp2 nifdun01a_nifla 1,1,niflheim,146,122
|
||||
|
||||
nif_dun01,146,36,0 script nifdun01a_nifdun02a WARPNPC,1,1,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (BaseLevel < 240) {
|
||||
npctalk "Helpful Gatekeeper: Hey, look at how you look! How can you come all the way here!", "Helpful Gatekeeper#240", bc_self;
|
||||
npctalk "Silent Gatekeeper: ...means lack of training.", "Silent Gatekeeper#240", bc_self;
|
||||
end;
|
||||
}
|
||||
warp "nif_dun02",149,23;
|
||||
end;
|
||||
}
|
||||
|
||||
nif_dun02,162,15,0 warp2 nifdun02a_nifdun01a 1,1,nif_dun01,146,39
|
||||
nif_dun02,137,15,0 warp2 nifdun02a_nifdun01a_ 1,1,nif_dun01,146,39
|
||||
@@ -1,8 +1,8 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.40629.0
|
||||
MinimumVisualStudioVersion = 12.0.40629.0
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.0.0
|
||||
MinimumVisualStudioVersion = 15.0.0.0
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3rdparty", "3rdparty", "{6ABA1767-6242-4CA0-BA22-A30972DC8918}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "src\common\common.vcxproj", "{F8FD7B1E-8E1C-4CC3-9CD1-2E28F77B6559}"
|
||||
|
||||
@@ -259,6 +259,7 @@ CREATE TABLE IF NOT EXISTS `char` (
|
||||
`last_map` varchar(11) NOT NULL default '',
|
||||
`last_x` smallint(4) unsigned NOT NULL default '53',
|
||||
`last_y` smallint(4) unsigned NOT NULL default '111',
|
||||
`last_instanceid` int(11) unsigned NOT NULL default '0',
|
||||
`save_map` varchar(11) NOT NULL default '',
|
||||
`save_x` smallint(4) unsigned NOT NULL default '53',
|
||||
`save_y` smallint(4) unsigned NOT NULL default '111',
|
||||
|
||||
3
sql-files/upgrades/upgrade_20230224.sql
Normal file
3
sql-files/upgrades/upgrade_20230224.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
ALTER TABLE `char`
|
||||
ADD COLUMN `last_instanceid` int(11) unsigned NOT NULL default '0' AFTER `last_y`
|
||||
;
|
||||
@@ -2,6 +2,14 @@
|
||||
#
|
||||
# setup and static libraries
|
||||
#
|
||||
|
||||
set(RA_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH
|
||||
"rathena include directory"
|
||||
)
|
||||
mark_as_advanced( RA_INCLUDE_DIRS )
|
||||
|
||||
|
||||
|
||||
add_subdirectory( common )
|
||||
if( HAVE_common )
|
||||
option( BUILD_SERVERS "build server executables" ON )
|
||||
|
||||
@@ -15,7 +15,7 @@ set(CHAR_SOURCES ${CHAR_SOURCES_C} ${CHAR_SOURCES_CXX})
|
||||
#message( STATUS "CHAR_SOURCES="${CHAR_SOURCES})
|
||||
set( DEPENDENCIES common )
|
||||
set( LIBRARIES ${GLOBAL_LIBRARIES} )
|
||||
set( INCLUDE_DIRS ${GLOBAL_INCLUDE_DIRS} ${COMMON_BASE_INCLUDE_DIRS} )
|
||||
set( INCLUDE_DIRS ${GLOBAL_INCLUDE_DIRS} ${COMMON_BASE_INCLUDE_DIRS} ${RA_INCLUDE_DIRS} )
|
||||
set( DEFINITIONS "${GLOBAL_DEFINITIONS} ${COMMON_BASE_DEFINITIONS}" )
|
||||
set( SOURCE_FILES ${COMMON_BASE_HEADERS} ${COMMON_HEADERS} ${CHAR_HEADERS} ${CHAR_SOURCES} )
|
||||
source_group( common FILES ${COMMON_BASE_HEADERS} ${COMMON_HEADERS} )
|
||||
|
||||
@@ -3,6 +3,8 @@ COMMON_H = $(shell ls ../common/*.hpp)
|
||||
COMMON_AR = ../common/obj/common.a
|
||||
COMMON_INCLUDE = -I../common/
|
||||
|
||||
RA_INCLUDE = -I../
|
||||
|
||||
LIBCONFIG_H = $(shell ls ../../3rdparty/libconfig/*.h)
|
||||
LIBCONFIG_AR = ../../3rdparty/libconfig/obj/libconfig.a
|
||||
LIBCONFIG_INCLUDE = -I../../3rdparty/libconfig
|
||||
@@ -65,7 +67,7 @@ obj:
|
||||
|
||||
obj/%.o: %.cpp $(CHAR_H) $(COMMON_H) $(LIBCONFIG_H) $(RAPIDYAML_H)
|
||||
@echo " CXX $<"
|
||||
@@CXX@ @CXXFLAGS@ $(COMMON_INCLUDE) $(LIBCONFIG_INCLUDE) $(RAPIDYAML_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
@@CXX@ @CXXFLAGS@ $(COMMON_INCLUDE) $(RA_INCLUDE) $(LIBCONFIG_INCLUDE) $(RAPIDYAML_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
|
||||
# missing object files
|
||||
$(COMMON_AR):
|
||||
|
||||
@@ -109,8 +109,9 @@
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;_DEBUG;_CONSOLE;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<LanguageStandard>stdcpp14</LanguageStandard>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
@@ -126,7 +127,8 @@
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;_DEBUG;_CONSOLE;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<LanguageStandard>stdcpp14</LanguageStandard>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
@@ -144,7 +146,8 @@
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<LanguageStandard>stdcpp14</LanguageStandard>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
@@ -164,7 +167,8 @@
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<LanguageStandard>stdcpp14</LanguageStandard>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\rapidyaml\src;$(SolutionDir)3rdparty\rapidyaml\ext\c4core\src;$(SolutionDir)3rdparty\libconfig\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
||||
@@ -13,19 +13,19 @@
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include "../common/cli.hpp"
|
||||
#include "../common/core.hpp"
|
||||
#include "../common/db.hpp"
|
||||
#include "../common/malloc.hpp"
|
||||
#include "../common/mapindex.hpp"
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/random.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include "../common/timer.hpp"
|
||||
#include "../common/utilities.hpp"
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/cli.hpp>
|
||||
#include <common/core.hpp>
|
||||
#include <common/db.hpp>
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mapindex.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/random.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
#include <common/timer.hpp>
|
||||
#include <common/utilities.hpp>
|
||||
|
||||
#include "char_clif.hpp"
|
||||
#include "char_cnslif.hpp"
|
||||
@@ -279,7 +279,7 @@ int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p){
|
||||
(p->job_level != cp->job_level) || (p->job_exp != cp->job_exp) ||
|
||||
(p->zeny != cp->zeny) ||
|
||||
( strncmp( p->last_point.map, cp->last_point.map, sizeof( p->last_point.map ) ) != 0 ) ||
|
||||
(p->last_point.x != cp->last_point.x) || (p->last_point.y != cp->last_point.y) ||
|
||||
(p->last_point.x != cp->last_point.x) || (p->last_point.y != cp->last_point.y) || (p->last_point_instanceid != cp->last_point_instanceid) ||
|
||||
( strncmp( p->save_point.map, cp->save_point.map, sizeof( p->save_point.map ) ) != 0 ) ||
|
||||
( p->save_point.x != cp->save_point.x ) || ( p->save_point.y != cp->save_point.y ) ||
|
||||
(p->max_hp != cp->max_hp) || (p->hp != cp->hp) ||
|
||||
@@ -307,7 +307,8 @@ int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p){
|
||||
"`str`='%d',`agi`='%d',`vit`='%d',`int`='%d',`dex`='%d',`luk`='%d',"
|
||||
"`option`='%d',`party_id`='%d',`guild_id`='%d',`pet_id`='%d',`homun_id`='%d',`elemental_id`='%d',"
|
||||
"`weapon`='%d',`shield`='%d',`head_top`='%d',`head_mid`='%d',`head_bottom`='%d',"
|
||||
"`last_map`='%s',`last_x`='%d',`last_y`='%d',`save_map`='%s',`save_x`='%d',`save_y`='%d', `rename`='%d',"
|
||||
"`last_map`='%s',`last_x`='%d',`last_y`='%d',`last_instanceid`='%d',"
|
||||
"`save_map`='%s',`save_x`='%d',`save_y`='%d', `rename`='%d',"
|
||||
"`delete_date`='%lu',`robe`='%d',`moves`='%d',`font`='%u',`uniqueitem_counter`='%u',"
|
||||
"`hotkey_rowshift`='%d', `clan_id`='%d', `title_id`='%lu', `show_equip`='%d', `hotkey_rowshift2`='%d',"
|
||||
"`max_ap`='%u',`ap`='%u',`trait_point`='%d',"
|
||||
@@ -319,7 +320,7 @@ int char_mmo_char_tosql(uint32 char_id, struct mmo_charstatus* p){
|
||||
p->str, p->agi, p->vit, p->int_, p->dex, p->luk,
|
||||
p->option, p->party_id, p->guild_id, p->pet_id, p->hom_id, p->ele_id,
|
||||
p->weapon, p->shield, p->head_top, p->head_mid, p->head_bottom,
|
||||
p->last_point.map, p->last_point.x, p->last_point.y,
|
||||
p->last_point.map, p->last_point.x, p->last_point.y, p->last_point_instanceid,
|
||||
p->save_point.map, p->save_point.x, p->save_point.y, p->rename,
|
||||
(unsigned long)p->delete_date, // FIXME: platform-dependent size
|
||||
p->robe, p->character_moves, p->font, p->uniqueitem_counter,
|
||||
@@ -1060,7 +1061,7 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
|
||||
"`save_map`,`save_x`,`save_y`,`partner_id`,`father`,`mother`,`child`,`fame`,`rename`,`delete_date`,`robe`, `moves`,"
|
||||
"`unban_time`,`font`,`uniqueitem_counter`,`sex`,`hotkey_rowshift`,`clan_id`,`title_id`,`show_equip`,`hotkey_rowshift2`,"
|
||||
"`max_ap`,`ap`,`trait_point`,`pow`,`sta`,`wis`,`spl`,`con`,`crt`,"
|
||||
"`inventory_slots`,`body_direction`,`disable_call`"
|
||||
"`inventory_slots`,`body_direction`,`disable_call`,`last_instanceid`"
|
||||
" FROM `%s` WHERE `char_id`=? LIMIT 1", schema_config.char_db)
|
||||
|| SQL_ERROR == SqlStmt_BindParam(stmt, 0, SQLDT_INT, &char_id, 0)
|
||||
|| SQL_ERROR == SqlStmt_Execute(stmt)
|
||||
@@ -1138,7 +1139,8 @@ int char_mmo_char_fromsql(uint32 char_id, struct mmo_charstatus* p, bool load_ev
|
||||
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 71, SQLDT_SHORT, &p->crt, 0, NULL, NULL)
|
||||
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 72, SQLDT_UINT16, &p->inventory_slots, 0, NULL, NULL)
|
||||
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 73, SQLDT_UINT8, &p->body_direction, 0, NULL, NULL)
|
||||
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 74, SQLDT_UINT16, &p->disable_call, 0, NULL, NULL)
|
||||
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 74, SQLDT_UINT8, &p->disable_call, 0, NULL, NULL)
|
||||
|| SQL_ERROR == SqlStmt_BindColumn(stmt, 75, SQLDT_INT, &p->last_point_instanceid, 0, NULL, NULL)
|
||||
)
|
||||
{
|
||||
SqlStmt_ShowDebug(stmt);
|
||||
@@ -1516,8 +1518,8 @@ int char_make_new_char( struct char_session_data* sd, char* name_, int str, int
|
||||
|
||||
//Insert the new char entry to the database
|
||||
if( SQL_ERROR == Sql_Query(sql_handle, "INSERT INTO `%s` (`account_id`, `char_num`, `name`, `class`, `zeny`, `status_point`, `str`, `agi`, `vit`, `int`, `dex`, `luk`, `max_hp`, `hp`,"
|
||||
"`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`, `sex`) VALUES ("
|
||||
"'%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%u', '%u', '%u', '%u', '%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d', '%c')",
|
||||
"`max_sp`, `sp`, `hair`, `hair_color`, `last_map`, `last_x`, `last_y`, `save_map`, `save_x`, `save_y`, `sex`, `last_instanceid`) VALUES ("
|
||||
"'%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%u', '%u', '%u', '%u', '%d', '%d', '%s', '%d', '%d', '%s', '%d', '%d', '%c', '0')",
|
||||
schema_config.char_db, sd->account_id , slot, esc_name, start_job, charserv_config.start_zeny, status_points, str, agi, vit, int_, dex, luk,
|
||||
(40 * (100 + vit)/100) , (40 * (100 + vit)/100 ), (11 * (100 + int_)/100), (11 * (100 + int_)/100), hair_style, hair_color,
|
||||
tmp_start_point[start_point_idx].map, tmp_start_point[start_point_idx].x, tmp_start_point[start_point_idx].y, tmp_start_point[start_point_idx].map, tmp_start_point[start_point_idx].x, tmp_start_point[start_point_idx].y, sex ) )
|
||||
@@ -2330,7 +2332,7 @@ bool char_checkdb(void){
|
||||
"`moves`,`unban_time`,`font`,`sex`,`hotkey_rowshift`,`clan_id`,`last_login`,`title_id`,`show_equip`,"
|
||||
"`hotkey_rowshift2`,"
|
||||
"`max_ap`,`ap`,`trait_point`,`pow`,`sta`,`wis`,`spl`,`con`,`crt`,"
|
||||
"`inventory_slots`,`body_direction`,`disable_call`"
|
||||
"`inventory_slots`,`body_direction`,`disable_call`,`last_instanceid`"
|
||||
" FROM `%s` LIMIT 1;", schema_config.char_db) ){
|
||||
Sql_ShowDebug(sql_handle);
|
||||
return false;
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
#include "../common/core.hpp" // CORE_ST_LAST
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/msg_conf.hpp"
|
||||
#include "../common/timer.hpp"
|
||||
#include "../config/core.hpp"
|
||||
#include <common/core.hpp> // CORE_ST_LAST
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/msg_conf.hpp>
|
||||
#include <common/timer.hpp>
|
||||
#include <config/core.hpp>
|
||||
|
||||
#include "packets.hpp"
|
||||
|
||||
|
||||
@@ -10,17 +10,17 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/malloc.hpp"
|
||||
#include "../common/mapindex.hpp"
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/random.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/sql.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include "../common/timer.hpp"
|
||||
#include "../common/utilities.hpp"
|
||||
#include "../common/utils.hpp"
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mapindex.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/random.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/sql.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
#include <common/timer.hpp>
|
||||
#include <common/utilities.hpp>
|
||||
#include <common/utils.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "char_logif.hpp"
|
||||
@@ -920,8 +920,8 @@ int chclif_parse_select_accessible_map( int fd, struct char_session_data* sd, ui
|
||||
// FIXME: is this case even possible? [ultramage]
|
||||
if( ( map_fd = map_server[mapserver].fd ) < 1 || session[map_fd] == nullptr ){
|
||||
ShowError( "parse_char: Attempting to write to invalid session %d! Map Server #%d disconnected.\n", map_fd, mapserver );
|
||||
map_server[mapserver] = {};
|
||||
map_server[mapserver].fd = -1;
|
||||
memset( &map_server[mapserver], 0, sizeof( struct mmo_map_server ) );
|
||||
chclif_send_auth_result( fd, 1 ); // Send server closed.
|
||||
return 1;
|
||||
}
|
||||
@@ -1090,8 +1090,8 @@ int chclif_parse_charselect(int fd, struct char_session_data* sd,uint32 ipl){
|
||||
if ((map_fd = map_server[i].fd) < 1 || session[map_fd] == NULL)
|
||||
{
|
||||
ShowError("parse_char: Attempting to write to invalid session %d! Map Server #%d disconnected.\n", map_fd, i);
|
||||
map_server[i] = {};
|
||||
map_server[i].fd = -1;
|
||||
memset(&map_server[i], 0, sizeof(struct mmo_map_server));
|
||||
chclif_send_auth_result(fd,1); //Send server closed.
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
#ifndef CHAR_CLIF_HPP
|
||||
#define CHAR_CLIF_HPP
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include "../common/timer.hpp" //time_t
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/timer.hpp> //time_t
|
||||
|
||||
struct char_session_data;
|
||||
enum pincode_state : uint8;
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/cli.hpp"
|
||||
#include "../common/ers.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/timer.hpp"
|
||||
#include <common/cli.hpp>
|
||||
#include <common/ers.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/timer.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/sql.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include "../common/timer.hpp"
|
||||
#include "../common/utilities.hpp"
|
||||
#include "../common/utils.hpp"
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/sql.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
#include <common/timer.hpp>
|
||||
#include <common/utilities.hpp>
|
||||
#include <common/utils.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "char_clif.hpp"
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
#ifndef CHAR_LOGIF_HPP
|
||||
#define CHAR_LOGIF_HPP
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include "../common/timer.hpp"
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/timer.hpp>
|
||||
|
||||
struct char_session_data;
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h> //memcpy
|
||||
|
||||
#include "../common/malloc.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/sql.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include "../common/timer.hpp"
|
||||
#include "../common/utilities.hpp"
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/sql.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
#include <common/timer.hpp>
|
||||
#include <common/utilities.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "char_logif.hpp"
|
||||
@@ -1480,7 +1480,7 @@ int chmapif_init(int fd){
|
||||
* @param id: id of map-serv (should be >0, FIXME)
|
||||
*/
|
||||
void chmapif_server_init(int id) {
|
||||
memset(&map_server[id], 0, sizeof(map_server[id]));
|
||||
map_server[id] = {};
|
||||
map_server[id].fd = -1;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#ifndef CHAR_MAPIF_HPP
|
||||
#define CHAR_MAPIF_HPP
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include <common/cbasetypes.hpp>
|
||||
|
||||
int chmapif_sendall(unsigned char *buf, unsigned int len);
|
||||
int chmapif_sendallwos(int sfd, unsigned char *buf, unsigned int len);
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/db.hpp"
|
||||
#include "../common/malloc.hpp"
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/sql.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include <common/db.hpp>
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/sql.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "inter.hpp"
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/malloc.hpp"
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/sql.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include "../common/timer.hpp"
|
||||
#include "../common/utilities.hpp"
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/sql.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
#include <common/timer.hpp>
|
||||
#include <common/utilities.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "char_mapif.hpp"
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h> //memset
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include "../common/malloc.hpp"
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "char_mapif.hpp"
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/sql.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/sql.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "inter.hpp"
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
#define __STDC_WANT_LIB_EXT1__ 1
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include "../common/malloc.hpp"
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include "../common/timer.hpp"
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
#include <common/timer.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "char_mapif.hpp"
|
||||
|
||||
@@ -5,8 +5,9 @@
|
||||
#define INT_GUILD_HPP
|
||||
|
||||
#include <string>
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include "../common/database.hpp"
|
||||
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/database.hpp>
|
||||
|
||||
enum e_guild_action : uint32 {
|
||||
GS_BASIC = 0x0001,
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/sql.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include "../common/utils.hpp"
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/sql.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
#include <common/utils.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "inter.hpp"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#ifndef INT_HOMUN_HPP
|
||||
#define INT_HOMUN_HPP
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include <common/cbasetypes.hpp>
|
||||
|
||||
struct s_homunculus;
|
||||
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/sql.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include "../common/utilities.hpp"
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/sql.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
#include <common/utilities.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "char_mapif.hpp"
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
#ifndef INT_MAIL_HPP
|
||||
#define INT_MAIL_HPP
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include "../common/timer.hpp"
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/timer.hpp>
|
||||
|
||||
struct mail_message;
|
||||
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/sql.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/sql.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "inter.hpp"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#ifndef INT_MERCENARY_HPP
|
||||
#define INT_MERCENARY_HPP
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include <common/cbasetypes.hpp>
|
||||
|
||||
int inter_mercenary_sql_init(void);
|
||||
void inter_mercenary_sql_final(void);
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include "../common/malloc.hpp"
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/sql.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include "../common/utilities.hpp"
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/sql.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
#include <common/utilities.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "char_mapif.hpp"
|
||||
@@ -536,7 +536,7 @@ int mapif_parse_CreateParty(int fd, char *name, int item, int item2, struct part
|
||||
|
||||
p = std::make_shared<struct party_data>();
|
||||
|
||||
memcpy(p->party.name,name,NAME_LENGTH);
|
||||
safestrncpy(p->party.name,name,NAME_LENGTH);
|
||||
p->party.exp=0;
|
||||
p->party.item=(item?1:0)|(item2?2:0);
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#ifndef INT_PARTY_HPP
|
||||
#define INT_PARTY_HPP
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include <common/cbasetypes.hpp>
|
||||
|
||||
//Party Flags on what to save/delete.
|
||||
enum e_PartySaveWhatFlag {
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/malloc.hpp"
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/sql.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include "../common/utils.hpp"
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/sql.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
#include <common/utils.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "inter.hpp"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#ifndef INT_PET_HPP
|
||||
#define INT_PET_HPP
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include <common/cbasetypes.hpp>
|
||||
|
||||
struct s_pet;
|
||||
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/malloc.hpp"
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/sql.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/sql.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "inter.hpp"
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/malloc.hpp"
|
||||
#include "../common/mmo.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/sql.hpp"
|
||||
#include "../common/strlib.hpp" // StringBuf
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/mmo.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/sql.hpp>
|
||||
#include <common/strlib.hpp> // StringBuf
|
||||
|
||||
#include "char.hpp"
|
||||
#include "inter.hpp"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#ifndef INT_STORAGE_HPP
|
||||
#define INT_STORAGE_HPP
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include <common/cbasetypes.hpp>
|
||||
|
||||
struct s_storage;
|
||||
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
#include <string>
|
||||
#include <sys/stat.h> // for stat/lstat/fstat - [Dekamaster/Ultimate GM Tool]
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include "../common/database.hpp"
|
||||
#include "../common/malloc.hpp"
|
||||
#include "../common/showmsg.hpp"
|
||||
#include "../common/socket.hpp"
|
||||
#include "../common/strlib.hpp"
|
||||
#include "../common/timer.hpp"
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/database.hpp>
|
||||
#include <common/malloc.hpp>
|
||||
#include <common/showmsg.hpp>
|
||||
#include <common/socket.hpp>
|
||||
#include <common/strlib.hpp>
|
||||
#include <common/timer.hpp>
|
||||
|
||||
#include "char.hpp"
|
||||
#include "char_logif.hpp"
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
|
||||
#include "../common/cbasetypes.hpp"
|
||||
#include "../common/database.hpp"
|
||||
#include "../common/sql.hpp"
|
||||
#include <common/cbasetypes.hpp>
|
||||
#include <common/database.hpp>
|
||||
#include <common/sql.hpp>
|
||||
|
||||
struct s_storage_table;
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#ifndef PACKETS_HPP
|
||||
#define PACKETS_HPP
|
||||
|
||||
#include "../common/mmo.hpp"
|
||||
#include <common/mmo.hpp>
|
||||
|
||||
#pragma warning( push )
|
||||
#pragma warning( disable : 4200 )
|
||||
|
||||
@@ -137,7 +137,7 @@ set( COMMON_BASE_DEFINITIONS
|
||||
${LIBCONFIG_DEFINITIONS}
|
||||
CACHE INTERNAL "common_base definitions" )
|
||||
set( LIBRARIES ${GLOBAL_LIBRARIES} ${ZLIB_LIBRARIES} yaml-cpp ryml )
|
||||
set( INCLUDE_DIRS ${GLOBAL_INCLUDE_DIRS} ${YAML_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} ${COMMON_BASE_INCLUDE_DIRS}} )
|
||||
set( INCLUDE_DIRS ${GLOBAL_INCLUDE_DIRS} ${RA_INCLUDE_DIRS} ${YAML_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} ${COMMON_BASE_INCLUDE_DIRS} )
|
||||
set( DEFINITIONS "${GLOBAL_DEFINITIONS} ${COMMON_BASE_DEFINITIONS}" )
|
||||
set( SOURCE_FILES ${COMMON_BASE_HEADERS} ${COMMON_BASE_SOURCES} )
|
||||
source_group( common FILES ${COMMON_BASE_HEADERS} ${COMMON_BASE_SOURCES} )
|
||||
|
||||
@@ -6,6 +6,8 @@ COMMON_DIR_OBJ = $(COMMON_OBJ:%=obj/%)
|
||||
COMMON_H = $(shell ls ../common/*.hpp)
|
||||
COMMON_AR = obj/common.a
|
||||
|
||||
RA_INCLUDE = -I../
|
||||
|
||||
LIBCONFIG_H = $(shell ls ../../3rdparty/libconfig/*.h)
|
||||
LIBCONFIG_AR = ../../3rdparty/libconfig/obj/libconfig.a
|
||||
LIBCONFIG_INCLUDE = -I../../3rdparty/libconfig
|
||||
@@ -68,11 +70,11 @@ common: obj $(COMMON_DIR_OBJ) $(LIBCONFIG_AR) $(YAML_CPP_AR) $(RAPIDYAML_AR) $(C
|
||||
|
||||
obj/%.o: %.cpp $(COMMON_H) $(LIBCONFIG_H) $(RAPIDYAML_H)
|
||||
@echo " CXX $<"
|
||||
@@CXX@ @CXXFLAGS@ @CFLAGS_AR@ $(LIBCONFIG_INCLUDE) $(RAPIDYAML_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
@@CXX@ @CXXFLAGS@ @CFLAGS_AR@ $(RA_INCLUDE) $(LIBCONFIG_INCLUDE) $(RAPIDYAML_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
|
||||
obj/mini%.o: %.cpp $(COMMON_H) $(LIBCONFIG_H) $(YAML_CPP_H)
|
||||
@echo " CXX $<"
|
||||
@@CXX@ @CXXFLAGS@ @CFLAGS_AR@ $(LIBCONFIG_INCLUDE) $(YAML_CPP_INCLUDE) @MYSQL_CFLAGS@ -DMINICORE @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
@@CXX@ @CXXFLAGS@ @CFLAGS_AR@ $(RA_INCLUDE) $(LIBCONFIG_INCLUDE) $(YAML_CPP_INCLUDE) @MYSQL_CFLAGS@ -DMINICORE @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
|
||||
|
||||
# missing object files
|
||||
$(LIBCONFIG_AR):
|
||||
|
||||
@@ -126,9 +126,9 @@
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;MINICORE;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\mysql\include\;$(SolutionDir)3rdparty\libconfig\;$(SolutionDir)3rdparty\yaml-cpp\include\</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\libconfig\</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\libconfig\</AdditionalIncludeDirectories>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<LanguageStandard>stdcpp14</LanguageStandard>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@@ -143,8 +143,8 @@
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;MINICORE;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\mysql\include\;$(SolutionDir)3rdparty\libconfig\;$(SolutionDir)3rdparty\yaml-cpp\include\</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\libconfig\</AdditionalIncludeDirectories>
|
||||
<LanguageStandard>stdcpp14</LanguageStandard>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\libconfig\</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@@ -161,8 +161,8 @@
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;MINICORE;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\mysql\include\;$(SolutionDir)3rdparty\libconfig\;$(SolutionDir)3rdparty\yaml-cpp\include\</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\libconfig\</AdditionalIncludeDirectories>
|
||||
<LanguageStandard>stdcpp14</LanguageStandard>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\libconfig\</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@@ -181,8 +181,8 @@
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;MINICORE;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\mysql\include\;$(SolutionDir)3rdparty\libconfig\;$(SolutionDir)3rdparty\yaml-cpp\include\</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\libconfig\</AdditionalIncludeDirectories>
|
||||
<LanguageStandard>stdcpp14</LanguageStandard>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)3rdparty\zlib\include\;$(SolutionDir)3rdparty\libconfig\</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
|
||||
@@ -159,8 +159,9 @@
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;PCRE_SUPPORT;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<LanguageStandard>stdcpp14</LanguageStandard>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@@ -178,7 +179,8 @@
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;PCRE_SUPPORT;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<LanguageStandard>stdcpp14</LanguageStandard>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@@ -198,8 +200,8 @@
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;PCRE_SUPPORT;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<LanguageStandard>Default</LanguageStandard>
|
||||
<LanguageStandard>stdcpp14</LanguageStandard>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@@ -221,7 +223,8 @@
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>$(DefineConstants);WIN32;FD_SETSIZE=4096;PCRE_SUPPORT;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;LIBCONFIG_STATIC;YY_USE_CONST;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<LanguageStandard>stdcpp14</LanguageStandard>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)src;$(SolutionDir)\3rdparty\rapidyaml\src;$(SolutionDir)\3rdparty\rapidyaml\ext\c4core\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#ifndef CONF_HPP
|
||||
#define CONF_HPP
|
||||
|
||||
#include "../../3rdparty/libconfig/libconfig.h"
|
||||
#include <libconfig.h>
|
||||
|
||||
#include "cbasetypes.hpp"
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "core.hpp"
|
||||
|
||||
#include "../config/core.hpp"
|
||||
#include <config/core.hpp>
|
||||
|
||||
#ifndef MINICORE
|
||||
#include "database.hpp"
|
||||
@@ -28,8 +28,8 @@
|
||||
#include "strlib.hpp"
|
||||
|
||||
#ifndef DEPRECATED_COMPILER_SUPPORT
|
||||
#if defined( _MSC_VER ) && _MSC_VER < 1900
|
||||
#error "Visual Studio versions older than Visual Studio 2015 are not officially supported anymore"
|
||||
#if defined( _MSC_VER ) && _MSC_VER < 1910
|
||||
#error "Visual Studio versions older than Visual Studio 2017 are not officially supported anymore"
|
||||
#elif defined( __clang__ ) && __clang_major__ < 6
|
||||
#error "clang versions older than clang 6.0 are not officially supported anymore"
|
||||
#elif !defined( __clang__ ) && defined( __GNUC__ ) && __GNUC__ < 5
|
||||
|
||||
@@ -114,6 +114,7 @@ bool YamlDatabase::load(const std::string& path) {
|
||||
ShowError( "Failed to load %s database file from '" CL_WHITE "%s" CL_RESET "'.\n", this->type.c_str(), path.c_str() );
|
||||
ShowError( "There is likely a syntax error in the file.\n" );
|
||||
ShowError( "Error message: %s\n", e.what() );
|
||||
aFree(buf);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -154,13 +155,18 @@ void YamlDatabase::parse( const ryml::Tree& tree ){
|
||||
if( this->nodeExists( tree.rootref(), "Body" ) ){
|
||||
const ryml::NodeRef& bodyNode = tree["Body"];
|
||||
size_t childNodesCount = bodyNode.num_children();
|
||||
size_t childNodesProgressed = 0;
|
||||
const char* fileName = this->currentFile.c_str();
|
||||
#ifdef DEBUG
|
||||
size_t childNodesProgressed = 0;
|
||||
#endif
|
||||
|
||||
ShowStatus("Loading '" CL_WHITE "%" PRIdPTR CL_RESET "' entries in '" CL_WHITE "%s" CL_RESET "'\n", childNodesCount, fileName);
|
||||
|
||||
for( const ryml::NodeRef &node : bodyNode ){
|
||||
count += this->parseBodyNode( node );
|
||||
|
||||
#ifdef DETAILED_LOADING_OUTPUT
|
||||
ShowStatus( "Loading [%" PRIdPTR "/%" PRIdPTR "] entries from '" CL_WHITE "%s" CL_RESET "'" CL_CLL "\r", ++childNodesProgressed, childNodesCount, fileName );
|
||||
#endif
|
||||
}
|
||||
|
||||
ShowStatus( "Done reading '" CL_WHITE "%" PRIu64 CL_RESET "' entries in '" CL_WHITE "%s" CL_RESET "'" CL_CLL "\n", count, fileName );
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include <ryml_std.hpp>
|
||||
#include <ryml.hpp>
|
||||
|
||||
#include "../config/core.hpp"
|
||||
#include <config/core.hpp>
|
||||
|
||||
#include "cbasetypes.hpp"
|
||||
#include "core.hpp"
|
||||
@@ -181,11 +181,11 @@ public:
|
||||
}
|
||||
|
||||
void loadingFinished() override{
|
||||
size_t max_key = 0;
|
||||
// Cache all known values
|
||||
for (auto &pair : *this) {
|
||||
// Calculate the key that should be used
|
||||
size_t key = this->calculateCacheKey(pair.first);
|
||||
|
||||
// Check if the key fits into the current cache size
|
||||
if (this->cache.capacity() <= key) {
|
||||
// Some keys compute to 0, so we allocate a minimum of 500 (250*2) entries
|
||||
@@ -199,19 +199,15 @@ public:
|
||||
|
||||
// Insert the value into the cache
|
||||
this->cache[key] = pair.second;
|
||||
|
||||
// keep track of highest known key for easy resize
|
||||
max_key = std::max(max_key, key);
|
||||
}
|
||||
|
||||
for( auto it = this->cache.rbegin(); it != this->cache.rend(); it++ ){
|
||||
if( *it != nullptr ){
|
||||
// Resize to only fit all existing non null entries
|
||||
this->cache.resize( this->cache.rend() - it );
|
||||
|
||||
// Free the memory that was allocated too much
|
||||
this->cache.shrink_to_fit();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Resize to only fit all existing non null entries
|
||||
this->cache.resize(max_key);
|
||||
// Free the memory that was allocated too much
|
||||
this->cache.shrink_to_fit();
|
||||
this->loaded = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#ifndef MALLOC_HPP
|
||||
#define MALLOC_HPP
|
||||
|
||||
#include <config/core.hpp>
|
||||
|
||||
#include "cbasetypes.hpp"
|
||||
|
||||
#define ALC_MARK __FILE__, __LINE__, __func__
|
||||
@@ -39,6 +41,12 @@
|
||||
# define aStrdup(p) _mstrdup(p,ALC_MARK)
|
||||
# define aFree(p) _mfree(p,ALC_MARK)
|
||||
|
||||
# define aMalloc2(n,file,line,func) _mmalloc(n,file,line,func)
|
||||
# define aCalloc2(m,n,file,line,func) _mcalloc(m,n,file,line,func)
|
||||
# define aRealloc2(p,n,file,line,func) _mrealloc(p,n,file,line,func)
|
||||
# define aStrdup2(p,file,line,func) _mstrdup(p,file,line,func)
|
||||
# define aFree2(p,file,line,func) _mfree(p,file,line,func)
|
||||
|
||||
void* _mmalloc (size_t size, const char *file, int line, const char *func);
|
||||
void* _mcalloc (size_t num, size_t size, const char *file, int line, const char *func);
|
||||
void* _mrealloc (void *p, size_t size, const char *file, int line, const char *func);
|
||||
@@ -53,6 +61,12 @@
|
||||
# define aStrdup(p) aStrdup_(p,ALC_MARK)
|
||||
# define aFree(p) aFree_(p,ALC_MARK)
|
||||
|
||||
# define aMalloc2(n,file,line,func) aMalloc_((n),file,line,func)
|
||||
# define aCalloc2(m,n,file,line,func) aCalloc_((m),(n),file,line,func)
|
||||
# define aRealloc2(p,n,file,line,func) aRealloc_(p,n,file,line,func)
|
||||
# define aStrdup2(p,file,line,func) aStrdup_(p,file,line,func)
|
||||
# define aFree2(p,file,line,func) aFree_(p,file,line,func)
|
||||
|
||||
void* aMalloc_ (size_t size, const char *file, int line, const char *func);
|
||||
void* aCalloc_ (size_t num, size_t size, const char *file, int line, const char *func);
|
||||
void* aRealloc_ (void *p, size_t size, const char *file, int line, const char *func);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#ifndef MAPINDEX_HPP
|
||||
#define MAPINDEX_HPP
|
||||
|
||||
#include "../common/mmo.hpp"
|
||||
#include "mmo.hpp"
|
||||
|
||||
#define MAX_MAPINDEX 2000
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../common/random.hpp"
|
||||
#include "random.hpp"
|
||||
|
||||
#ifndef UINT_MAX
|
||||
#define UINT_MAX 4294967295U
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
#include <time.h>
|
||||
|
||||
#include "../config/core.hpp"
|
||||
#include <config/core.hpp>
|
||||
|
||||
#include "cbasetypes.hpp"
|
||||
#include "db.hpp"
|
||||
@@ -89,7 +89,7 @@ typedef uint32 t_itemid;
|
||||
#endif
|
||||
#define MAX_FAME 1000000000 ///Max fame points
|
||||
#define MAX_CART 100 ///Maximum item in cart
|
||||
#define MAX_SKILL 1465 ///Maximum skill can be hold by Player, Homunculus, & Mercenary (skill list) AND skill_db limit
|
||||
#define MAX_SKILL 1500 ///Maximum skill can be hold by Player, Homunculus, & Mercenary (skill list) AND skill_db limit
|
||||
#define DEFAULT_WALK_SPEED 150 ///Default walk speed
|
||||
#define MIN_WALK_SPEED 20 ///Min walk speed
|
||||
#define MAX_WALK_SPEED 1000 ///Max walk speed
|
||||
@@ -179,7 +179,7 @@ const t_itemid WEDDING_RING_F = 2635;
|
||||
|
||||
//Base Homun skill.
|
||||
#define HM_SKILLBASE 8001
|
||||
#define MAX_HOMUNSKILL 43
|
||||
#define MAX_HOMUNSKILL 59
|
||||
#define MAX_HOMUNCULUS_CLASS 52 //[orn], Increased to 60 from 16 to allow new Homun-S.
|
||||
#define HM_CLASS_BASE 6001
|
||||
#define HM_CLASS_MAX (HM_CLASS_BASE+MAX_HOMUNCULUS_CLASS-1)
|
||||
@@ -595,6 +595,7 @@ struct mmo_charstatus {
|
||||
uint16 mapport;
|
||||
|
||||
struct s_point_str last_point;
|
||||
int32 last_point_instanceid;
|
||||
struct s_point_str save_point;
|
||||
struct s_point_str memo_point[MAX_MEMOPOINTS];
|
||||
struct s_skill skill[MAX_SKILL];
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user