Compare commits

..

2 Commits

Author SHA1 Message Date
Joam
2f6c4d20de Update cast time, skill delay, cooldown match to official (#6961) 2022-05-19 02:53:38 +07:00
aleos
c8db7d3aa1 4th Class Job Improvement Bundle
* This includes several updates in accordance to Gravity's patch for 4th classes.
* Changelog: https://ro.gnjoy.com/news/notice/View.asp?BBSMode=10001&seq=7462&curpage=1
* Additional Changelog: https://ro.gnjoy.com/news/notice/View.asp?BBSMode=10001&seq=7468&curpage=1
2022-04-12 12:04:57 -04:00
186 changed files with 9570 additions and 39339 deletions

View File

@@ -1010,9 +1010,6 @@ Body:
Aliases:
- famepoint
- famepoints
- Command: enchantgradeui
Help: |
Opens the enchantgrade UI.
Footer:
Imports:

View File

@@ -167,9 +167,3 @@ warg_can_falcon: no
// Should the target be able of dodging damage by snapping away to the edge of the screen?
// Official behavior is "no"
snap_dodge: no
// Grant player skills/items the ability to "break" non-player equipment. (Note 1)
// This will effectively apply the strip equip effect to the non-player target.
// NOTE: WS_MELTDOWN is exempt from this check when disabled.
// Official: no
break_mob_equip: no

View File

@@ -19,57 +19,52 @@ monster_hp_rate: 100
monster_max_aspd: 199
// Defines various mob AI related settings. (Note 3)
// 0x0001: When enabled mobs will update their target cell every few iterations
// (normally they never update their target cell until they reach it while
// chasing)
// 0x0002: Makes mob use their "rude attack" skill (usually warping away) if they
// are attacked and they can't attack back regardless of how they were
// attacked (eg: GrimTooth), otherwise, their "rude attack" is only activated
// if they can't melee reach the target (eg: sniping)
// 0x0004: If not set, mobs that can change target only do so when attacked within a
// distance of [attack range+1], otherwise mobs may change target and chase
// ranged attackers. This flag also overrides the 'provoke' target.
// 0x0008: When set, mobs scatter as soon as they lose their target. Use this mode
// to make it much harder to mob-train by hiding and collecting them on a
// single spot (ie: GrimTooth training)
// 0x0010: If set, mob skills defined for friends will also trigger on themselves.
// 0x0020: When set, the monster ai is executed for all monsters in maps that
// have players on them, instead of only for mobs who are in the vicinity
// of players.
// 0x0040: When set, when the mob's target changes map, the mob will walk towards
// any npc-warps in it's sight of view (use with mob_warp below)
// 0x0080: If not set, mobs on attack state will only change targets when attacked
// by normal attacks. Set this if you want mobs to also switch targets when
// hit by skills.
// 0x0100: When set, a mob will pick a random skill from it's list and start from
// that instead of checking skills in orders (when unset, if a mob has too
// many skills, the ones near the end will rarely get selected)
// 0x0200: When set, a mob's skill re-use delay will not be applied to all entries of
// the same skill, instead, only to that particular entry (eg: Mob has heal
// on six lines in the mob_skill_db, only the entry that is actually used
// will receive the delay). This will make monsters harder, especially MvPs.
// 0x0400: Set this to make mobs have a range of 9 for all skills. Otherwise, they
// will obey the normal skill range rules.
// 0x0800: When set, monsters that are provoked will always change target to the
// provoking person, even if they would usually not change target on attack.
// 0x1000: When set, when a monster picks a skill but can't use it because there is
// no valid target in range, it will look for another skill it can use.
// This makes e.g. Greatest General use "Earth Spike" at range 8-9 whereas
// officially it would only use it after already having used "Blind Attack"
// at range 0-7.
// 0x001: When enabled mobs will update their target cell every few iterations
// (normally they never update their target cell until they reach it while
// chasing)
// 0x002: Makes mob use their "rude attack" skill (usually warping away) if they
// are attacked and they can't attack back regardless of how they were
// attacked (eg: GrimTooth), otherwise, their rude attack" is only activated
// if they can't melee reach the target (eg: sniping)
// 0x004: If not set, mobs that can change target only do so when attacked within a
// distance of [attack range+1], otherwise mobs may change target and chase
// ranged attackers. This flag also overrides the 'provoke' target.
// 0x008: When set, mobs scatter as soon as they lose their target. Use this mode
// to make it much harder to mob-train by hiding and collecting them on a
// single spot (ie: GrimTooth training)
// 0x010: If set, mob skills defined for friends will also trigger on themselves.
// 0x020: When set, the monster ai is executed for all monsters in maps that
// have players on them, instead of only for mobs who are in the vicinity
// of players.
// 0x040: When set, when the mob's target changes map, the mob will walk towards
// any npc-warps in it's sight of view (use with mob_warp below)
// 0x080: If not set, mobs on attack state will only change targets when attacked
// by normal attacks. Set this if you want mobs to also switch targets when
// hit by skills.
// 0x100: When set, a mob will pick a random skill from it's list and start from
// that instead of checking skills in orders (when unset, if a mob has too
// many skills, the ones near the end will rarely get selected)
// 0x200: When set, a mob's skill re-use delay will not be applied to all entries of
// the same skill, instead, only to that particular entry (eg: Mob has heal
// on six lines in the mob_skill_db, only the entry that is actually used
// will receive the delay). This will make monsters harder, especially MvPs.
// 0x400: Set this to make mobs have a range of 9 for all skills. Otherwise, they
// will obey the normal skill range rules.
// 0x800: When set, monsters that are provoked will always change target to the
// provoking person, even if they would usually not change target on attack.
// Example: 0x140 -> Chase players through warps + use skills in random order.
monster_ai: 0
// How often should a monster rethink its chase?
// 0: Every 100ms (MIN_MOBTHINKTIME)
// 1: Every cell moved
// x: Every x cells moved or at end of the chase path
// 30 (max): Only at end of the chase path (official)
// Regardless of this setting, a monster will always check for targets in attack
// range. Decrease this value if you want to make monsters to be more reactive while
// chasing. This also defines the maximum amount of cells monsters will move after
// they lost their target (hide, no line of sight, etc.).
monster_chase_refresh: 30
// 2: Every 2 cells moved
// 3: Every 3 cells moved (official)
// x: Every x cells moved
// Regardless of this setting, a monster will always rethink its chase if it has
// reached its target. Increase this value if you want to make monsters continue
// moving after they lost their target (hide, no line of sight, etc.).
monster_chase_refresh: 3
// Should mobs be able to be warped (add as needed)?
// 0: Disable.

View File

@@ -155,8 +155,8 @@ friend_auto_add: yes
invite_request_check: yes
// Players' will drop a 'Skull' when killed?
// Note: The 'Skull' item (ID 7420) is trade restricted by default. You need
// to remove the "NoTrade" flag on the item for this feature to work.
// Note: The 'Skull' item (ID 7420) is trade restricted by default. Please check
// the item_trade database to adjust accordingly.
// 0 = Disabled
// 1 = Dropped only in PvP maps
// 2 = Dropped in all situations

View File

@@ -174,13 +174,8 @@ sense_type: 1
finger_offensive_type: 0
// Grandcross Settings (Don't mess with these)
// Officially, Grand Cross has four damage waves, but each cell will stop
// dealing damage on the next wave after it already dealt at least 3 hits.
// A moving monster can take up to 4 hits, while a stack of monsters may only
// take 1-3 hits.
// Set this to yes if you want all waves to deal damage to all targets.
// Hint: If you want to reduce the number of waves, you need to reduce the
// duration of the skill (e.g. to 800ms for three damage waves).
// If set to no, hit interval is increased based on the amount of mobs standing on the same cell
// (means that when there's stacked mobs in the same cell, they won't receive all hits)
gx_allhit: no
// Grandcross display type (Default 1)
@@ -225,10 +220,6 @@ backstab_bow_penalty: yes
// Use 0 to disable (max allowed value is 255)
skill_steal_max_tries: 0
// Should random options be applied to stolen items? (Note 1)
// Official: no
skill_steal_random_options: no
// Level and Strength of "MVP heal". When someone casts a heal of this level or
// above, the heal formula is bypassed and this value is used instead.
max_heal: 9999

303
conf/groups.conf Normal file
View File

@@ -0,0 +1,303 @@
/*
Player groups configuration file
---------------------------------
This file defines "player groups" and their privileges.
Each group has its id and name, lists of available commands and other
permissions, and a list of other groups it inherits from.
Group settings
--------------
<id>
Unique group number. The only required field.
<name>
Any string. If empty, defaults to "Group <id>". It is used in several @who
commands.
<level>
Equivalent of GM level, which was used in revisions before r15572. You can
set it to any number, but usually it's between 0 (default) and 99. Members of
groups with lower level can not perform some actions/commands (like @kick) on
members of groups with higher level. It is what script command getgmlevel()
returns. Group level can also be used to override trade restrictions
(db/item_trade.txt).
<commands>
A group of settings
<command name> : <bool>
or
<commandname> : [ <bool>, <bool> ]
First boolean value is for atcommand, second one for charcommand. If set to
true, group can use command. If only atcommand value is provided, false is
assumed for charcommand. If a command name is not included, false is assumed for
both atcommand and charcommand.
For a full list of available commands, see: doc/atcommands.txt.
Command names must not be aliases.
<log_commands>
Boolean value. If true then all commands used by the group will be logged to
atcommandlog. If setting is omitted in a group definition, false is assumed.
Requires 'log_commands' to be enabled in 'conf/log_athena.conf'.
<permissions>
A group of settings
<permission> : <bool>
If a permission is not included, false is assumed.
For a full list of available permissions, see: doc/permissions.txt
<inherit>
A list of group names that given group will inherit commands and permissions
from. Group names are case-sensitive.
Inheritance results
-------------------
Both multiple inheritance (Group 2 -> Group 1 and Group 3 -> Group 1) and
recursive inheritance (Group 3 -> Group 2 -> Group 1) are allowed.
Inheritance rules should not create cycles (eg Group 1 inherits from Group 2,
and Group inherits from Group 1 at the same time). Configuration with cycles is
considered faulty and can't be processed fully by server.
Command or permission is inherited ONLY if it's not already defined for the
group.
If group inherits from multiple groups, and the same command or permission is
defined for more than one of these groups, it's undefined which one will be
inherited.
Syntax
------
This config file uses libconfig syntax:
http://www.hyperrealm.com/libconfig/libconfig_manual.html#Configuration-Files
Upgrading from revisions before r15572
-------------------------------------
http://rathena.org/board/index.php?showtopic=58877
*/
groups: (
{
id: 0 /* group 0 is the default group for every new account */
name: "Player"
level: 0
inherit: ( /*empty list*/ )
commands: {
changedress: true
resurrect: true
}
permissions: {
/* without this basic permissions regular players could not
trade or party */
can_trade: true
can_party: true
attendance: true
}
},
{
id: 1
name: "Super Player"
inherit: ( "Player" ) /* can do everything Players can and more */
level: 0
commands: {
/* informational commands */
commands: true
charcommands: true
help: true
rates: true
uptime: true
showdelay: true
exp: true
mobinfo: true
iteminfo: true
whodrops: true
time: true
jailtime: true
hominfo: true
homstats: true
showexp: true
showzeny: true
whereis: true
/* feature commands */
refresh: true
noask: true
noks: true
autoloot: true
alootid: true
autoloottype: true
autotrade: true
request: true
go: true
breakguild: true
channel: true
langtype: true
}
permissions: {
attendance: false
}
},
{
id: 2
name: "Support"
inherit: ( "Super Player" )
level: 1
commands: {
version: true
where: true
jumpto: true
who: true
who2: true
who3: true
whomap: true
whomap2: true
whomap3: true
users: true
broadcast: true
localbroadcast: true
}
log_commands: true
permissions: {
receive_requests: true
view_equipment: true
}
},
{
id: 3
name: "Script Manager"
inherit: ( "Support" )
level: 1
commands: {
tonpc: true
hidenpc: true
shownpc: true
loadnpc: true
unloadnpc: true
npcmove: true
addwarp: true
}
log_commands: true
permissions: {
any_warp: true
}
},
{
id: 4
name: "Event Manager"
inherit: ( "Support" )
level: 1
commands: {
monster: true
monstersmall: true
monsterbig: true
killmonster2: true
cleanarea: true
cleanmap: true
item: [true, true]
zeny: [true, true]
disguise: [true, true]
undisguise: [true, true]
size: [true, true]
raise: true
raisemap: true
day: true
night: true
skillon: true
skilloff: true
pvpon: true
pvpoff: true
gvgon: true
gvgoff: true
allowks: true
me: true
marry: true
divorce: true
refreshall: true
}
log_commands: true
permissions: {
can_trade: false
any_warp: true
}
},
{
id: 5
name: "VIP"
inherit: ( "Player" ) /* can do everything Players can */
level: 0
commands: {
rates: true
who: true
}
permissions: {
/* no permissions by default */
}
},
{
id: 10
name: "Law Enforcement"
inherit: ( "Support" )
level: 2
commands: {
hide: true
follow: true
kick: true
disguise: true
fakename: true
option: true
speed: true
warp: true
kill: true
recall: true
ban: true
block: true
jail: true
jailfor: true
mute: true
storagelist: true
cartlist: true
itemlist: true
stats: true
}
log_commands: true
permissions: {
join_chat: true
kick_chat: true
hide_session: true
who_display_aid: true
hack_info: true
any_warp: true
view_hpmeter: true
}
},
{
id: 99
name: "Admin"
level: 99
inherit: ( "Support", "Law Enforcement" )
commands: {
/* not necessary due to all_commands: true */
}
log_commands: true
permissions: {
can_trade: true
can_party: true
command_enable: true
all_skill: false
all_equipment: false
skill_unconditional: false
use_check: true
use_changemaptype: true
all_commands: true
channel_admin: true
can_trade_bounded: true
item_unconditional: false
bypass_stat_onclone: true
bypass_max_stat: true
/* all_permission: true */
}
}
)

View File

@@ -1,245 +0,0 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# 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/>.
#
###########################################################################
# Player Group Database
###########################################################################
#
# Player Group Settings
#
###########################################################################
# - Id Group ID.
# Name Group name.
# Level GM Level used for ranking groups. (Default: 0)
# LogCommands Whether atcommands should be logged or not. (Default: false)
# Commands: List of atcommands that can be used by this group. (Default: none)
# <atcommand name> Whether the specified atcommand can be used by this group or not.
# CharCommands: List of charcommands that can be used by this group. (Default: none)
# <charcommand name> Whether the specified charcommand can be used by this group or not.
# Permissions: List of permissions the group has. (Default: none)
# <permission name> Whether the group has this permission or not.
# Inherit: List of groups that will be inherited. (Default: none)
# <group name> Whether this group will be inherited or not.
###########################################################################
Header:
Type: PLAYER_GROUP_DB
Version: 1
Body:
- Id: 0
# group 0 is the default group for every new account
Name: Player
Level: 0
Commands:
changedress: true
resurrect: true
Permissions:
# without this basic permissions regular players could not trade or party
can_trade: true
can_party: true
attendance: true
- Id: 1
Name: Super Player
# Can do everything Players can and more
Inherit:
Player: true
Level: 0
Commands:
# Informational commands
commands: true
charcommands: true
help: true
rates: true
uptime: true
showdelay: true
exp: true
mobinfo: true
iteminfo: true
whodrops: true
time: true
jailtime: true
hominfo: true
homstats: true
showexp: true
showzeny: true
whereis: true
# Feature commands
refresh: true
noask: true
noks: true
autoloot: true
alootid: true
autoloottype: true
autotrade: true
request: true
go: true
breakguild: true
channel: true
langtype: true
Permissions:
attendance: false
- Id: 2
Name: Support
Inherit:
Super Player: true
Level: 1
Commands:
version: true
where: true
jumpto: true
who: true
who2: true
who3: true
whomap: true
whomap2: true
whomap3: true
users: true
broadcast: true
localbroadcast: true
LogCommands: true
Permissions:
receive_requests: true
view_equipment: true
- Id: 3
Name: Script Manager
Inherit:
Support: true
Level: 1
Commands:
tonpc: true
hidenpc: true
shownpc: true
loadnpc: true
unloadnpc: true
npcmove: true
addwarp: true
LogCommands: true
Permissions:
any_warp: true
- Id: 4
Name: Event Manager
Inherit:
Support: true
Level: 1
Commands:
monster: true
monstersmall: true
monsterbig: true
killmonster2: true
cleanarea: true
cleanmap: true
item: true
zeny: true
disguise: true
undisguise: true
size: true
raise: true
raisemap: true
day: true
night: true
skillon: true
skilloff: true
pvpon: true
pvpoff: true
gvgon: true
gvgoff: true
allowks: true
me: true
marry: true
divorce: true
refreshall: true
CharCommands:
item: true
zeny: true
disguise: true
undisguise: true
size: true
LogCommands: true
Permissions:
can_trade: false
any_warp: true
- Id: 5
Name: VIP
# Can do everything Players can
Inherit:
Player: true
Level: 0
Commands:
rates: true
who: true
- Id: 10
Name: Law Enforcement
Inherit:
Support: true
Level: 2
Commands:
hide: true
follow: true
kick: true
disguise: true
fakename: true
option: true
speed: true
warp: true
kill: true
recall: true
ban: true
block: true
jail: true
jailfor: true
mute: true
storagelist: true
cartlist: true
itemlist: true
stats: true
LogCommands: true
Permissions:
join_chat: true
kick_chat: true
hide_session: true
who_display_aid: true
hack_info: true
any_warp: true
view_hpmeter: true
- Id: 99
Name: Admin
Level: 99
Inherit:
Support: true
Law Enforcement: true
LogCommands: true
Permissions:
can_trade: true
can_party: true
command_enable: true
all_skill: false
all_equipment: false
skill_unconditional: false
use_check: true
use_changemaptype: true
all_commands: true
channel_admin: true
can_trade_bounded: true
item_unconditional: false
bypass_stat_onclone: true
bypass_max_stat: true
#all_permission: true
Footer:
Imports:
- Path: conf/import/groups.yml

View File

@@ -1,41 +0,0 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# 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/>.
#
###########################################################################
# Player Group Database
###########################################################################
#
# Player Group Settings
#
###########################################################################
# - Id Group ID.
# Name Group name.
# Level GM Level used for ranking groups. (Default: 0)
# LogCommands Whether atcommands should be logged or not. (Default: false)
# Commands: List of atcommands that can be used by this group. (Default: none)
# <atcommand name> Whether the specified atcommand can be used by this group or not.
# CharCommands: List of charcommands that can be used by this group. (Default: none)
# <charcommand name> Whether the specified charcommand can be used by this group or not.
# Permissions: List of permissions the group has. (Default: none)
# <permission name> Whether the group has this permission or not.
# Inherit: List of groups that will be inherited. (Default: none)
# <group name> Whether this group will be inherited or not.
###########################################################################
Header:
Type: PLAYER_GROUP_DB
Version: 1

View File

@@ -8,40 +8,37 @@
//--------------------------------------------------------------
// Enable Logs? (Note 3)
// 0x00000000 - Don't log at all
// 0x00000001 - (T) Log trades
// 0x00000002 - (V) Log vending transactions
// 0x00000004 - (P) Log items drop/picked by players
// 0x00000008 - (L) Log items drop/looted by monsters
// 0x00000010 - (S) Log NPC transactions (buy/sell)
// 0x00000020 - (N) Log Script transactions (items deleted/acquired through quests)
// 0x00000040 - (D) Log items stolen from mobs (Steal/Gank)
// 0x00000080 - (C) Log player-used items (consumables/pet&hom&merc food/items used for skills&attacks)
// 0x00000100 - (O) Log produced/ingredient items
// 0x00000200 - (U) Log MVP prize items
// 0x00000400 - (A) Log player created/deleted items (through @/# commands)
// 0x00000800 - (R) Log items placed/retrieved from storage.
// 0x00001000 - (G) Log items placed/retrieved from guild storage.
// 0x00002000 - (E) Log mail system transactions.
// 0x00004000 - (I) Log auction system transactions.
// 0x00008000 - (B) Log buying store transactions
// 0x00010000 - (X) Log all other transactions (rentals expiring/inserting cards/items removed by item_check/
// 0x0000000 - Don't log at all
// 0x0000001 - (T) Log trades
// 0x0000002 - (V) Log vending transactions
// 0x0000004 - (P) Log items drop/picked by players
// 0x0000008 - (L) Log items drop/looted by monsters
// 0x0000010 - (S) Log NPC transactions (buy/sell)
// 0x0000020 - (N) Log Script transactions (items deleted/acquired through quests)
// 0x0000040 - (D) Log items stolen from mobs (Steal/Gank)
// 0x0000080 - (C) Log player-used items (consumables/pet&hom&merc food/items used for skills&attacks)
// 0x0000100 - (O) Log produced/ingredient items
// 0x0000200 - (U) Log MVP prize items
// 0x0000400 - (A) Log player created/deleted items (through @/# commands)
// 0x0000800 - (R) Log items placed/retrieved from storage.
// 0x0001000 - (G) Log items placed/retrieved from guild storage.
// 0x0002000 - (E) Log mail system transactions.
// 0x0004000 - (I) Log auction system transactions.
// 0x0008000 - (B) Log buying store transactions
// 0x0010000 - (X) Log all other transactions (rentals expiring/inserting cards/items removed by item_check/
// rings deleted by divorce/pet egg (un)hatching/pet armor (un)equipping/Weapon Refine skill/Remove Trap skill/Stylist)
// 0x00020000 - ($) Log cash transactions
// 0x00040000 - (K) Log account bank transactions
// 0x00080000 - (F) Removed bound items when guild/party is broken
// 0x00100000 - (Y) Log Roulette Lottery
// 0x00200000 - (Z) Merged items from item mergers process.
// 0x00400000 - (Q) Log items given from quest-granted drops.
// 0x00800000 - (H) Log items consumed by Private Airship system
// 0x01000000 - (J) Log Barter Shop transactions
// 0x02000000 - (W) Log Laphine system transactions
// 0x04000000 - (0) Enchantgrade UI
// 0x08000000 - (1) Reform UI
// 0x10000000 - (2) Enchant UI
// 0x0020000 - ($) Log cash transactions
// 0x0040000 - (K) Log account bank transactions
// 0x0080000 - (F) Removed bound items when guild/party is broken
// 0x0100000 - (Y) Log Roulette Lottery
// 0x0200000 - (Z) Merged items from item mergers process.
// 0x0400000 - (Q) Log items given from quest-granted drops.
// 0x0800000 - (H) Log items consumed by Private Airship system
// 0x1000000 - (J) Log Barter Shop transactions
// 0x2000000 - (W) Log Laphine system transactions
// Example: Log trades+vending+script items+created items: 1+2+32+1024 = 1059
// Please note that moving items from inventory to cart and back is not logged by design.
enable_logs: 0xFFFFFFFF
enable_logs: 0xFFFFFFF
// Use MySQL Logs? (Note 1)
sql_logs: yes

View File

@@ -1483,25 +1483,5 @@ map: verus02_b
map: tur_d04ia
map: tur_d04ib
// Episode 19
map: icecastle
map: icas_in
map: jor_tail
map: jor_back1
map: jor_back2
map: jor_back3
map: jor_nest
map: jor_dun01
map: jor_dun02
map: jor_dun03
map: jor_ab01
map: jor_ab02
map: jor_que
map: air_if
map: 1@iwp
map: 1@jorchs
map: 1@jorlab
map: 1@whl
//------------------------- Clone Maps ---------------------------
//------------------------- Extra Maps ---------------------------

View File

@@ -921,10 +921,7 @@
// @mobinfo RES/MRES
827: RES:%d MRES:%d
// General packet version check messages
828: This command requires packet version %s or newer.
//829-899 free
//828-899 free
//------------------------------------
// More atcommands message
@@ -1109,7 +1106,8 @@
// @partyrecall
1035: Please enter a party name/ID (usage: @partyrecall <party_name/ID>).
//1036 free
// @reloadatcommand
1036: Error reading groups.conf, reload failed.
//1037 free
// @mapinfo

View File

@@ -865,7 +865,8 @@
// @partyrecall
1035: 請輸入隊伍名稱/ID (用法: @partyrecall <party_name/ID>).
//1036 free
// @reloadatcommand
1036: Error reading groups.conf, reload failed.
//1037 free
// @mapinfo

View File

@@ -877,7 +877,8 @@
// @partyrecall
1035: Entrez un nom/ID d'Equipe (usage: @partyrecall <nom/ID_party>).
//1036 free
// @reloadatcommand
1036: Erreur à la lecture de groups.conf, reload échoué.
//1037 free
// @mapinfo

View File

@@ -964,7 +964,8 @@
// @partyrecall
1035: Harap masukkan nama party/ID. (Penggunaan: @partyrecall <nama party/ID>).
//1036 free
// @reloadatcommand
1036: Terjadi kesalahan saat membaca groups.conf, tidak berhasil dimuat ulang.
//1037 free
// @mapinfo

View File

@@ -1046,7 +1046,8 @@
// @partyrecall
1035: Digite o nome/ID de um grupo (uso: @partyrecall <nome/ID_do_grupo>).
//1036 free
// @reloadatcommand
1036: Erro na leitura do grups.conf, recarregamento falhou.
//1037 free
// @mapinfo

View File

@@ -878,7 +878,8 @@
// @partyrecall
1035: Введите ID/название группы (Использование: @partyrecall <ID/название группы>).
//1036 free
// @reloadatcommand
1036: Ошибка чтения файла groups.conf, перезагрузка не удалась.
//1037 free
// @mapinfo

View File

@@ -1015,7 +1015,8 @@
// @partyrecall
1035: Introduce el nombre/ID de un grupo (instrucciones: @partyrecall <nombre/ID del grupo>).
//1036 free
// @reloadatcommand
1036: Ha ocurrido un error al cargar el archivo groups.conf.
//1037 free
// @mapinfo

View File

@@ -871,7 +871,8 @@
// @partyrecall
1035: ג»<D792>´<EFBFBD><C2B4>÷<EFBFBD>×<EFBFBD>ט<EFBFBD>/ID party (<28><>¸<EFBFBD>ד×י: @partyrecall <×<>ט<EFBFBD>/ID party>).
//1036 free
// @reloadatcommand
1036: א<><D790>´¢י<C2A2>¼<EFBFBD>´¾<C2B4><C2BE>´ד¹<D793><C2B9><EFBFBD>¼ט<C2BC>¹ה<C2B9><D794>ל groups.conf, <20><><EFBFBD>ג<EFBFBD><D792>´ד<C2B4><D793>ט<EFBFBD>י<EFBFBD>א<EFBFBD><D790><EFBFBD>.
//1037 free
// @mapinfo

View File

@@ -32,169 +32,6 @@ Header:
Type: CASTLE_DB
Version: 1
Body:
# WOE FE castle
- Id: 0
Map: aldeg_cas01
Name: Neuschwanstein
#Name: Noisyubantian
Npc: Agit#aldeg_cas01
- Id: 1
Map: aldeg_cas02
Name: Hohenschwangau
#Name: Hohensyubangawoo
Npc: Agit#aldeg_cas02
- Id: 2
Map: aldeg_cas03
Name: Nuernberg
#Name: Nyirenverk
Npc: Agit#aldeg_cas03
- Id: 3
Map: aldeg_cas04
Name: Wuerzburg
#Name: Byirtsburi
Npc: Agit#aldeg_cas04
- Id: 4
Map: aldeg_cas05
Name: Rothenburg
#Name: Rotenburk
Npc: Agit#aldeg_cas05
- Id: 5
Map: gefg_cas01
Name: Repherion
#Name: Reprion
Npc: Agit#gefg_cas01
- Id: 6
Map: gefg_cas02
Name: Eeyolbriggar
#Name: Yolbriger
Npc: Agit#gefg_cas02
- Id: 7
Map: gefg_cas03
Name: Yesnelph
#Name: Isinlife
Npc: Agit#gefg_cas03
- Id: 8
Map: gefg_cas04
Name: Bergel
#Name: Berigel
Npc: Agit#gefg_cas04
- Id: 9
Map: gefg_cas05
Name: Mersetzdeitz
#Name: Melsedetsu
Npc: Agit#gefg_cas05
- Id: 10
Map: payg_cas01
Name: Bright Arbor
#Name: Mingting
Npc: Agit#payg_cas01
- Id: 11
Map: payg_cas02
Name: Scarlet Palace
#Name: Tiantan
Npc: Agit#payg_cas02
- Id: 12
Map: payg_cas03
Name: Holy Shadow
#Name: Fuying
Npc: Agit#payg_cas03
- Id: 13
Map: payg_cas04
Name: Sacred Altar
#Name: Honglou
Npc: Agit#payg_cas04
- Id: 14
Map: payg_cas05
Name: Bamboo Grove Hill
#Name: Zhulinxian
Npc: Agit#payg_cas05
- Id: 15
Map: prtg_cas01
Name: Kriemhild
#Name: Creamhilt
Npc: Agit#prtg_cas01
- Id: 16
Map: prtg_cas02
Name: Swanhild
#Name: Sbanhealt
Npc: Agit#prtg_cas02
- Id: 17
Map: prtg_cas03
Name: Fadhgridh
#Name: Lazrigees
Npc: Agit#prtg_cas03
- Id: 18
Map: prtg_cas04
Name: Skoegul
#Name: Squagul
Npc: Agit#prtg_cas04
- Id: 19
Map: prtg_cas05
Name: Gondul
#Name: Guindull
Npc: Agit#prtg_cas05
# WOE NGuild castle
- Id: 20
Map: nguild_alde
Name: Earth
Npc: Agit_N01
- Id: 21
Map: nguild_gef
Name: Air
Npc: Agit_N02
- Id: 22
Map: nguild_pay
Name: Water
Npc: Agit_N03
- Id: 23
Map: nguild_prt
Name: Fire
Npc: Agit_N04
# WOE SE castle
- Id: 24
Map: schg_cas01
Name: Himinn
Npc: Manager#schg_cas01
- Id: 25
Map: schg_cas02
Name: Andlangr
Npc: Manager#schg_cas02
- Id: 26
Map: schg_cas03
Name: Viblainn
Npc: Manager#schg_cas03
- Id: 27
Map: schg_cas04
Name: Hljod
Npc: Manager#schg_cas04
- Id: 28
Map: schg_cas05
Name: Skidbladnir
Npc: Manager#schg_cas05
- Id: 29
Map: arug_cas01
Name: Mardol
Npc: Manager#arug_cas01
- Id: 30
Map: arug_cas02
Name: Cyr
Npc: Manager#arug_cas02
- Id: 31
Map: arug_cas03
Name: Horn
Npc: Manager#arug_cas03
- Id: 32
Map: arug_cas04
Name: Gefn
Npc: Manager#arug_cas04
- Id: 33
Map: arug_cas05
Name: Bandis
Npc: Manager#arug_cas05
Footer:
Imports:
- Path: db/pre-re/castle_db.yml

View File

@@ -1,58 +0,0 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# 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/>.
#
###########################################################################
# Enchantgrade Database
###########################################################################
#
# Enchantgrade Settings
#
###########################################################################
# - Type Item type.
# Levels: Enchantgrade settings per item level.
# - Level Item level.
# Grades: Enchantgrade settings per grade level.
# - Grade Enchantgrade level.
# Refine Required refine level.
# Chance Base chance of success out of 0~10000.
# Bonus Enchantgrade bonus. (Default: 0)
# Announce Announce if someone tries to increase the enchantgrade. (Default: true)
# Catalyst: Catalyst item to increase chance of success.
# Item The item that can be used.
# AmountPerStep Amount of Item needed.
# Set to 0 to disable the catalyst.
# MaximumSteps Maximum amount of times Item can be used.
# ChanceIncrease Amount at which the chance increases for each Item used.
# Options: Success chance based on cost type.
# - Option Index of the client option.
# Item Required item.
# Amount Amount of required item. (Default: 1)
# Set to 0 to remove an option.
# Price Amount of zeny required. (Default: 0)
# BreakingRate Chance of item breaking out of 0~10000. (Default: 0)
# DowngradeAmount Number of refine levels reduced on failure. (Default: 0)
###########################################################################
Header:
Type: ENCHANTGRADE_DB
Version: 1
Footer:
Imports:
- Path: db/re/enchantgrade.yml
Mode: Renewal
- Path: db/import/enchantgrade.yml

View File

@@ -1,52 +0,0 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# 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/>.
#
###########################################################################
# Enchantgrade Database
###########################################################################
#
# Enchantgrade Settings
#
###########################################################################
# - Type Item type.
# Levels: Enchantgrade settings per item level.
# - Level Item level.
# Grades: Enchantgrade settings per grade level.
# - Grade Enchantgrade level.
# Refine Required refine level.
# Chance Base chance of success out of 0~10000.
# Bonus Enchantgrade bonus. (Default: 0)
# Announce Announce if someone tries to increase the enchantgrade. (Default: true)
# Catalyst: Catalyst item to increase chance of success.
# Item The item that can be used.
# AmountPerStep Amount of Item needed.
# Set to 0 to disable the catalyst.
# MaximumSteps Maximum amount of times Item can be used.
# ChanceIncrease Amount at which the chance increases for each Item used.
# Options: Success chance based on cost type.
# - Option Index of the client option.
# Item Required item.
# Amount Amount of required item. (Default: 1)
# Set to 0 to remove an option.
# Price Amount of zeny required. (Default: 0)
# BreakingRate Chance of item breaking out of 0~10000. (Default: 0)
# DowngradeAmount Number of refine levels reduced on failure. (Default: 0)
###########################################################################
Header:
Type: ENCHANTGRADE_DB
Version: 1

View File

@@ -25,9 +25,9 @@
# - Jobs: List of jobs associated to group.
# Job Job name.
# MaxWeight Base maximum weight. (Default: 20000)
# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0)
# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000)
# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# BaseASPD: Base ASPD for each weapon type. (Default: 2000)
# Weapon Weapon type with associated ASPD.
# BonusStats: Job level bonus stats/traits.
@@ -78,7 +78,7 @@
Header:
Type: JOB_STATS
Version: 2
Version: 1
#Body:
###########################################################################

View File

@@ -33,7 +33,6 @@
# HeadTop Item name of headgear (if Sprite is a player). (Default: 0)
# HeadMid Item name of headgear (if Sprite is a player). (Default: 0)
# HeadLow Item name of headgear (if Sprite is a player). (Default: 0)
# Robe Item name of robe (if Sprite is a player). (Default: 0)
# PetEquip Item name of pet equipment (if Mob is a valid pet). (Default: 0)
# Options: Set an option for an object. (Optional)
# <Option>: bool
@@ -69,7 +68,6 @@ Header:
# HeadTop: Sahkkat
# HeadMid: Sunglasses
# HeadLow: Cigar
# Robe: Archangel_Wing
# Options:
# Falcon: true
# Valaris Worshiper

View File

@@ -22,29 +22,37 @@
# Quest Settings
#
###########################################################################
# - Id Quest ID.
# Title Quest title.
# TimeLimit Amount of time before the quest expires. (Default: 0)
# Targets: Quest objective target. (Default: null)
# - Mob Name of monster to kill.
# Count Amount of monsters to kill. Set to 0 to skip the target on import.
# Id Unique target index for the quest Id. Requires a positive number.
# Race Monster race target. (Default: All)
# Size Monster size target. (Default: All)
# Element Monster element target. (Default: All)
# MinLevel Minimum monster level target. If not supplied but MaxLevel defined, MinLevel is 1. Set to 0 to ignore MinLevel on import. (Default: 0)
# MaxLevel Maximum monster level target. Set to 0 to ignore MaxLevel on import. (Default: 0)
# Location Map name where kills are counted. (Default: All)
# MapName Displayed map name in quest UI. (Default: empty string)
# MapMobTargets List of monster names. Only names in the list will increase the kill counter. Only active when Id is used. (Default: all monsters)
# <name>: <bool> Monster name and whether the monster is added or removed from the list.
# Drops: Quest item drop targets. (Default: null)
# - Mob Monster to kill. 0 will apply to all monsters. (Default: 0)
# Item Item to drop.
# Count Amount of items that will drop. Non-stackable items default to 1. (Default: 1)
# Rate Item drop rate. (10000 = 100%)
# - Id Quest ID.
# Title Quest title.
# TimeLimit Amount of time before the quest expires. (Default: 0)
# Use a number following by "d" for day(s), "h" for hour(s), "mn" for minute(s), and "s" for second(s).
# Specify with "+" for how long until the quest expires.
# Specify without "+" for the exact time the quest expires using "d" (optional), [0-23]"h" (required), [0-59]"mn" (optional), [0-59]"s" (optional) format.
# Please note the number before "d" only shift the exact timer to the given day(s).
# Targets: Quest objective target. (Default: null)
# The target can be a couple of node Mob/Count or of Id/Race/Size/Element/MinLevel/MaxLevel.
# If Mob is supplied, Count is required and the other fields are ignored.
# If Id is supplied, at least one other field of Race/Size/Element/MinLevel/MaxLevel is required.
# If Id is supplied, Count is required for each new entry.
# - Mob Monster to kill (aegis monster name).
# Count Amount of monsters to kill. Set to 0 to skip the target on import.
# Id Unique target index for the quest Id. Requires a positive number.
# Race Monster race target (default All). Valid races are Angel, Brute, DemiHuman, Demon, Dragon, Fish, Formless, Insect, Plant, Undead, All.
# Size Monster size target (default All). Valid sizes are Small, Medium, Large, All.
# Element Monster element target (default All). Valid elements are Dark, Earth, Fire, Ghost, Holy, Neutral, Poison, Undead, Water, Wind, All.
# MinLevel Minimum monster level target. If not supplied but MaxLevel defined, MinLevel is 1. Set to 0 to ignore MinLevel on import. (Default: 0)
# MaxLevel Maximum monster level target. Set to 0 to ignore MaxLevel on import. (Default: 0)
# Location Map name where kills are counted. (Default any location)
# On normal maps only kills of permanently spawned monsters increase the counter.
# On instance maps all monster kills increase the counter.
# MapName Displayed map name in quest UI. (Default: empty string)
# Drops: Quest item drop targets. (Default: null)
# - Mob Monster to kill. 0 will apply to all monsters. (Default: 0)
# Item Item to drop.
# Count Amount of items that will drop. Non-stackable items default to 1. (Default: 1)
# Rate Item drop rate. (10000 = 100%)
###########################################################################
Header:
Type: QUEST_DB
Version: 3
Version: 2

View File

@@ -23,11 +23,11 @@
#
###########################################################################
# - Jobs: List of jobs associated to group.
# Job Job name.
# Job Job ID.
# MaxWeight Base maximum weight. (Default: 20000)
# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0)
# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000)
# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# BaseASPD: Base ASPD for each weapon type. (Default: 2000)
# Weapon Weapon type with associated ASPD.
# BonusStats: Job level bonus stats/traits.
@@ -78,7 +78,7 @@
Header:
Type: JOB_STATS
Version: 2
Version: 1
Footer:
Imports:

Binary file not shown.

View File

@@ -1143,25 +1143,6 @@ que_thr
tur_d04ia
tur_d04ib
wolfvill
icecastle
icas_in
jor_tail
jor_back1
jor_back2
jor_back3
jor_nest
jor_dun01
jor_dun02
jor_dun03
jor_ab01
jor_ab02
jor_que
air_if
1@iwp
1@jorchs
1@jorlab
1@whl
//======================================================================================
// - Other/Extra maps -

View File

@@ -31,3 +31,208 @@
Header:
Type: CASTLE_DB
Version: 1
Body:
# WOE FE castle
- Id: 0
Map: aldeg_cas01
Name: Neuschwanstein
#Name: Noisyubantian
Npc: Agit#aldeg_cas01
- Id: 1
Map: aldeg_cas02
Name: Hohenschwangau
#Name: Hohensyubangawoo
Npc: Agit#aldeg_cas02
- Id: 2
Map: aldeg_cas03
Name: Nuernberg
#Name: Nyirenverk
Npc: Agit#aldeg_cas03
- Id: 3
Map: aldeg_cas04
Name: Wuerzburg
#Name: Byirtsburi
Npc: Agit#aldeg_cas04
- Id: 4
Map: aldeg_cas05
Name: Rothenburg
#Name: Rotenburk
Npc: Agit#aldeg_cas05
- Id: 5
Map: gefg_cas01
Name: Repherion
#Name: Reprion
Npc: Agit#gefg_cas01
- Id: 6
Map: gefg_cas02
Name: Eeyolbriggar
#Name: Yolbriger
Npc: Agit#gefg_cas02
- Id: 7
Map: gefg_cas03
Name: Yesnelph
#Name: Isinlife
Npc: Agit#gefg_cas03
- Id: 8
Map: gefg_cas04
Name: Bergel
#Name: Berigel
Npc: Agit#gefg_cas04
- Id: 9
Map: gefg_cas05
Name: Mersetzdeitz
#Name: Melsedetsu
Npc: Agit#gefg_cas05
- Id: 10
Map: payg_cas01
Name: Bright Arbor
#Name: Mingting
Npc: Agit#payg_cas01
- Id: 11
Map: payg_cas02
Name: Scarlet Palace
#Name: Tiantan
Npc: Agit#payg_cas02
- Id: 12
Map: payg_cas03
Name: Holy Shadow
#Name: Fuying
Npc: Agit#payg_cas03
- Id: 13
Map: payg_cas04
Name: Sacred Altar
#Name: Honglou
Npc: Agit#payg_cas04
- Id: 14
Map: payg_cas05
Name: Bamboo Grove Hill
#Name: Zhulinxian
Npc: Agit#payg_cas05
- Id: 15
Map: prtg_cas01
Name: Kriemhild
#Name: Creamhilt
Npc: Agit#prtg_cas01
- Id: 16
Map: prtg_cas02
Name: Swanhild
#Name: Sbanhealt
Npc: Agit#prtg_cas02
- Id: 17
Map: prtg_cas03
Name: Fadhgridh
#Name: Lazrigees
Npc: Agit#prtg_cas03
- Id: 18
Map: prtg_cas04
Name: Skoegul
#Name: Squagul
Npc: Agit#prtg_cas04
- Id: 19
Map: prtg_cas05
Name: Gondul
#Name: Guindull
Npc: Agit#prtg_cas05
# WOE NGuild castle
- Id: 20
Map: nguild_alde
Name: Earth
Npc: Agit_N01
- Id: 21
Map: nguild_gef
Name: Air
Npc: Agit_N02
- Id: 22
Map: nguild_pay
Name: Water
Npc: Agit_N03
- Id: 23
Map: nguild_prt
Name: Fire
Npc: Agit_N04
# WOE SE castle
- Id: 24
Map: schg_cas01
Name: Himinn
Npc: Manager#schg_cas01
- Id: 25
Map: schg_cas02
Name: Andlangr
Npc: Manager#schg_cas02
- Id: 26
Map: schg_cas03
Name: Viblainn
Npc: Manager#schg_cas03
- Id: 27
Map: schg_cas04
Name: Hljod
Npc: Manager#schg_cas04
- Id: 28
Map: schg_cas05
Name: Skidbladnir
Npc: Manager#schg_cas05
- Id: 29
Map: arug_cas01
Name: Mardol
Npc: Manager#arug_cas01
- Id: 30
Map: arug_cas02
Name: Cyr
Npc: Manager#arug_cas02
- Id: 31
Map: arug_cas03
Name: Horn
Npc: Manager#arug_cas03
- Id: 32
Map: arug_cas04
Name: Gefn
Npc: Manager#arug_cas04
- Id: 33
Map: arug_cas05
Name: Bandis
Npc: Manager#arug_cas05
# WOE TE castle
- Id: 34
Map: te_aldecas1
Name: Kafragarten 1
Npc: Manager_TE#Glaris
- Id: 35
Map: te_aldecas2
Name: Kafragarten 2
Npc: Manager_TE#Defolty
- Id: 36
Map: te_aldecas3
Name: Kafragarten 3
Npc: Manager_TE#Sorin
- Id: 37
Map: te_aldecas4
Name: Kafragarten 4
Npc: Manager_TE#Bennit
- Id: 38
Map: te_aldecas5
Name: Kafragarten 5
Npc: Manager_TE#W
- Id: 39
Map: te_prtcas01
Name: Gloria 1
Npc: Manager_TE#Gaebolg
- Id: 40
Map: te_prtcas02
Name: Gloria 2
Npc: Manager_TE#Richard
- Id: 41
Map: te_prtcas03
Name: Gloria 3
Npc: Manager_TE#Wigner
- Id: 42
Map: te_prtcas04
Name: Gloria 4
Npc: Manager_TE#Heine
- Id: 43
Map: te_prtcas05
Name: Gloria 5
Npc: Manager_TE#Nerious

View File

@@ -844,6 +844,7 @@ Body:
Refineable: true
Script: |
skill "TF_DOUBLE",5;
bonus bDoubleRate,25;
bonus2 bAddRace,RC_DemiHuman,5;
bonus2 bAddRace,RC_Player_Human,5;
- Id: 1131
@@ -10431,9 +10432,8 @@ Body:
bonus bDex,1;
bonus bAtkEle,Ele_Undead;
bonus bMatkRate,20;
.@r = getrefine();
bonus3 bAutoSpellWhenHit,"NPC_WIDECURSE",5,10+.@r;
if (.@r>=9) {
bonus3 bAutoSpellWhenHit,"NPC_WIDECURSE",5,10+getrefine();
if (getrefine()>=9) {
bonus bMatkRate,3;
bonus bMaxSP,300;
}
@@ -10485,9 +10485,8 @@ Body:
Script: |
bonus bInt,4;
bonus bMatkRate,15;
.@r = getrefine();
bonus2 bIgnoreMdefClassRate,Class_Normal,10+.@r;
bonus2 bIgnoreMdefClassRate,Class_Boss,10+.@r;
bonus2 bIgnoreMdefClassRate,Class_Normal,10+getrefine();
bonus2 bIgnoreMdefClassRate,Class_Boss,10+getrefine();
- Id: 1627
AegisName: Staffy
Name: Staffy
@@ -10782,10 +10781,9 @@ Body:
bonus bInt,3;
bonus bDex,3;
bonus bMatkRate,20;
.@r = getrefine();
bonus2 bIgnoreMdefClassRate,Class_Normal,.@r;
bonus2 bIgnoreMdefClassRate,Class_Boss,.@r;
bonus bDelayRate,-(.@r*3/2);
bonus2 bIgnoreMdefClassRate,Class_Normal,getrefine();
bonus2 bIgnoreMdefClassRate,Class_Boss,getrefine();
bonus bDelayRate,-(getrefine()*3/2);
- Id: 1637
AegisName: Eraser
Name: Eraser
@@ -10910,14 +10908,12 @@ Body:
NoMail: true
NoAuction: true
Script: |
bonus bMatkRate,15;
bonus2 bMagicAddRace,RC_DemiHuman,15;
bonus2 bMagicAddRace,RC_Player_Human,15;
.@r = getrefine();
bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25 + ((.@r>5) ? 5 : 0);
bonus2 bIgnoreMdefRaceRate,RC_Player_Human,25 + ((.@r>5) ? 5 : 0);
bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25 + ((getrefine()>5) ? 5 : 0);
bonus2 bIgnoreMdefRaceRate,RC_Player_Human,25 + ((getrefine()>5) ? 5 : 0);
bonus bUnbreakableWeapon;
if (.@r>8) {
if (getrefine()>8) {
bonus bCastrate,-5;
bonus bDelayRate,-5;
bonus bMatkRate,5;
@@ -10952,19 +10948,17 @@ Body:
NoMail: true
NoAuction: true
Script: |
bonus bMatkRate,15;
bonus bHealPower,14;
bonus bDelayRate,-10;
bonus bUnbreakableWeapon;
.@r = getrefine();
if (.@r>5) {
if (getrefine()>5) {
bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5;
bonus2 bIgnoreMdefRaceRate,RC_Player_Human,5;
bonus bHealPower,5+(.@r-5)*2;
bonus bHealPower,5+(getrefine()-5)*2;
}
if (.@r>8)
if (getrefine()>8)
bonus5 bAutoSpellOnSkill,"AL_HEAL","AL_HEAL",10,100,1;
if (.@r>9) {
if (getrefine()>9) {
bonus bHealPower,10;
}
- Id: 1642
@@ -11022,11 +11016,10 @@ Body:
EquipLevelMin: 70
Refineable: true
Script: |
bonus bMatkRate,15;
bonus bMatk,15;
bonus bInt,4;
.@r = getrefine();
if (.@r>5) {
bonus bInt,.@r-5;
if (getrefine()>5) {
bonus bInt,getrefine()-5;
bonus bMaxHP,-200;
bonus bMaxSP,-100;
}
@@ -11064,9 +11057,8 @@ Body:
Script: |
bonus bInt,4;
bonus bMatkRate,15;
.@r = getrefine();
bonus2 bIgnoreMdefClassRate,Class_Normal,10+.@r;
bonus2 bIgnoreMdefClassRate,Class_Boss,10+.@r;
bonus2 bIgnoreMdefClassRate,Class_Normal,10+getrefine();
bonus2 bIgnoreMdefClassRate,Class_Boss,10+getrefine();
- Id: 1645
AegisName: Lich_Bone_Wand_M
Name: Lich's Bone Wand
@@ -11104,9 +11096,8 @@ Body:
bonus bDex,1;
bonus bAtkEle,Ele_Undead;
bonus bMatkRate,20;
.@r = getrefine();
bonus3 bAutoSpellWhenHit,"NPC_WIDECURSE",5,10+.@r;
if (.@r>=9) {
bonus3 bAutoSpellWhenHit,"NPC_WIDECURSE",5,10+getrefine();
if (getrefine()>=9) {
bonus bMatkRate,3;
bonus bMaxSP,300;
}
@@ -11134,10 +11125,9 @@ Body:
Script: |
bonus bInt,4;
bonus bMatkRate,15;
.@r = getrefine();
bonus bMdef,.@r;
bonus2 bSkillAtk,"WZ_STORMGUST",.@r;
if (.@r>9)
bonus bMdef,getrefine();
bonus2 bSkillAtk,"WZ_STORMGUST",getrefine();
if (getrefine()>9)
bonus2 bCastrate,"WZ_STORMGUST",-8;
- Id: 1647
AegisName: Croce_Staff
@@ -14233,12 +14223,11 @@ Body:
EquipLevelMin: 80
Refineable: true
Script: |
.@r = getrefine();
bonus bMatkRate,25+(.@r/2);
bonus bMatkRate,25+getrefine()/2;
bonus bInt,3;
bonus bAgi,10;
bonus bUseSPrate,(.@r*2);
bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(.@r*20);
bonus bUseSPrate,(getrefine()*2);
bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(getrefine()*20);
bonus2 bCastrate,"HW_MAGICPOWER",-50;
- Id: 2001
AegisName: Divine_Cross
@@ -14292,20 +14281,19 @@ Body:
NoMail: true
NoAuction: true
Script: |
.@r = getrefine();
bonus bMatkRate,15 + .@r;
bonus bMatkRate,getrefine();
bonus2 bMagicAddRace,RC_DemiHuman,15;
bonus2 bMagicAddRace,RC_Player_Human,15;
bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,25;
bonus2 bIgnoreMdefRaceRate,RC_Player_Human,25;
bonus bUnbreakableWeapon;
if (.@r>5) {
bonus2 bMagicAddRace,RC_DemiHuman,(.@r-5)*2;
bonus2 bMagicAddRace,RC_Player_Human,(.@r-5)*2;
bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5+(.@r-5)*2;
bonus2 bIgnoreMdefRaceRate,RC_Player_Human,5+(.@r-5)*2;
if (getrefine()>5) {
bonus2 bMagicAddRace,RC_DemiHuman,(getrefine()-5)*2;
bonus2 bMagicAddRace,RC_Player_Human,(getrefine()-5)*2;
bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5+(getrefine()-5)*2;
bonus2 bIgnoreMdefRaceRate,RC_Player_Human,5+(getrefine()-5)*2;
}
if (.@r>8) {
if (getrefine()>8) {
bonus5 bAutoSpellOnSkill,"WZ_STORMGUST","MG_SAFETYWALL",10,200,1;
bonus5 bAutoSpellOnSkill,"WZ_METEOR","MG_SAFETYWALL",10,200,1;
bonus5 bAutoSpellOnSkill,"WZ_VERMILION","MG_SAFETYWALL",10,200,1;
@@ -14338,12 +14326,11 @@ Body:
NoMail: true
NoAuction: true
Script: |
.@r = getrefine();
bonus bMatkRate,25+(.@r/2);
bonus bMatkRate,25+getrefine()/2;
bonus bInt,3;
bonus bAgi,10;
bonus bUseSPrate,(.@r*2);
bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(.@r*20);
bonus bUseSPrate,(getrefine()*2);
bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",5,(getrefine()*20);
bonus2 bCastrate,"HW_MAGICPOWER",-50;
- Id: 2004
AegisName: Kronos
@@ -14366,10 +14353,9 @@ Body:
EquipLevelMin: 50
Refineable: true
Script: |
.@r = getrefine();
bonus bMatkRate,20;
bonus bInt,3+(.@r/2);
bonus bMaxHP,300+(50*.@r/2);
bonus bInt,3+(getrefine()/2);
bonus bMaxHP,300+(50*getrefine()/2);
autobonus "{ bonus bMatkRate,12; bonus buseSPRate,20; }",1,5000,BF_MAGIC,"{ specialeffect2 EF_ENHANCE; }";
- Id: 2005
AegisName: Dea_Staff
@@ -14398,6 +14384,29 @@ Body:
bonus bInt,6;
bonus bVit,2;
autobonus3 "{ }",20,1000,"AL_HEAL","{ specialeffect2 EF_MAGICALATTHIT; heal 0,200; }";
- Id: 2006
AegisName: G_Staff_Of_Light
Name: Staff Of Light
Type: Weapon
SubType: 2hStaff
Buy: 20
Weight: 1900
Attack: 80
Range: 1
Jobs:
Mage: true
Sage: true
SoulLinker: true
Wizard: true
Locations:
Both_Hand: true
WeaponLevel: 4
EquipLevelMin: 60
Refineable: true
Script: |
/* bonus bMatk,150;
*/ bonus bAtkEle,Ele_Holy;
bonus bInt,6;
- Id: 2101
AegisName: Guard
Name: Guard
@@ -24693,6 +24702,7 @@ Body:
Script: |
bonus bMaxSP,100;
skill "TF_DOUBLE",3;
bonus bDoubleRate,15;
skill "TF_STEAL",1;
skill "TF_HIDING",1;
skill "TF_POISON",1;
@@ -28290,6 +28300,8 @@ Body:
bonus bMaxHP,50;
bonus bMaxSP,10;
skill "AL_RUWACH",1;
UnEquipScript: |
sc_end SC_RUWACH;
- Id: 5213
AegisName: Black_Bunny_Band
Name: Sheila Hairnet
@@ -29757,6 +29769,7 @@ Body:
bonus bMaxHP,50;
bonus bMaxSP,50;
skill "TF_DOUBLE",2;
bonus bDoubleRate,10;
bonus2 bSubRace,RC_DemiHuman,3;
bonus2 bSubRace,RC_Player_Human,3;
- Id: 5284
@@ -31590,6 +31603,8 @@ Body:
Script: |
bonus bVit,1;
skill "AL_ANGELUS",1;
UnEquipScript: |
sc_end SC_ANGELUS;
- Id: 5383
AegisName: Hunting_Cap
Name: Hunter's Cap
@@ -31717,6 +31732,7 @@ Body:
NoGuildStorage: true
Script: |
skill "TF_DOUBLE",5;
bonus bDoubleRate,25;
- Id: 5389
AegisName: Angel_Spirit
Name: Angel Spirit
@@ -34159,7 +34175,9 @@ Body:
View: 525
Script: |
bonus bDex,2;
skill "TF_DOUBLE",5;
.@bonus = max(getskilllv("TF_DOUBLE"), 5);
skill "TF_DOUBLE",.@bonus;
bonus bDoubleRate,.@bonus * 5;
- Id: 5532
AegisName: Pirate_Dagger_J
Name: Pirate Dagger
@@ -39949,6 +39967,7 @@ Body:
WeaponLevel: 4
Script: |
skill "TF_DOUBLE",5;
bonus bDoubleRate,25;
bonus2 bAddRace,RC_DemiHuman,40;
bonus2 bAddRace,RC_Player_Human,40;
- Id: 13408
@@ -40335,16 +40354,14 @@ Body:
NoMail: true
NoAuction: true
Script: |
.@r = getrefine();
bonus bInt,6;
bonus bInt,.@r-5;
bonus bInt,getrefine()-5;
bonus bMatkRate,10;
bonus bUnbreakableWeapon;
if (.@r>5)
if (getrefine()>5)
bonus bUseSPrate,-10;
if (.@r>8)
if (getrefine()>8)
bonus4 bAutoSpellOnSkill,"PA_PRESSURE","PR_LEXAETERNA",1,1000;
if (.@r>9)
if (getrefine()>9)
bonus bInt,5;
- Id: 13419
AegisName: Holy_Saber

View File

@@ -4026,6 +4026,7 @@ Body:
BuyingStore: true
Script: |
skill "TF_DOUBLE",1;
bonus bDoubleRate,5;
- Id: 4118
AegisName: Petit_Card
Name: Earth Petite Card
@@ -6450,6 +6451,8 @@ Body:
BuyingStore: true
Script: |
bonus3 bAutoSpellWhenHit,"CR_AUTOGUARD",3+7*(getskilllv("CR_AUTOGUARD") == 10),30;
UnEquipScript: |
sc_end SC_AUTOGUARD;
- Id: 4300
AegisName: Chimera_Card
Name: Chimera Card

View File

@@ -25,9 +25,9 @@
# - Jobs: List of jobs associated to group.
# Job Job name.
# MaxWeight Base maximum weight. (Default: 20000)
# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0)
# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000)
# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# BaseASPD: Base ASPD for each weapon type. (Default: 2000)
# Weapon Weapon type with associated ASPD.
# BonusStats: Job level bonus stats/traits.
@@ -78,7 +78,7 @@
Header:
Type: JOB_STATS
Version: 2
Version: 1
Body:
- Jobs:

View File

@@ -25,9 +25,9 @@
# - Jobs: List of jobs associated to group.
# Job Job name.
# MaxWeight Base maximum weight. (Default: 20000)
# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0)
# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000)
# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# BaseASPD: Base ASPD for each weapon type. (Default: 2000)
# Weapon Weapon type with associated ASPD.
# BonusStats: Job level bonus stats/traits.
@@ -78,7 +78,7 @@
Header:
Type: JOB_STATS
Version: 2
Version: 1
Body:
- Jobs:

View File

@@ -25,9 +25,9 @@
# - Jobs: List of jobs associated to group.
# Job Job name.
# MaxWeight Base maximum weight. (Default: 20000)
# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0)
# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000)
# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# BaseASPD: Base ASPD for each weapon type. (Default: 2000)
# Weapon Weapon type with associated ASPD.
# BonusStats: Job level bonus stats/traits.
@@ -78,7 +78,7 @@
Header:
Type: JOB_STATS
Version: 2
Version: 1
Body:
- Jobs:
@@ -109,7 +109,7 @@ Body:
Swordman: true
MaxWeight: 28000
HpFactor: 70
SpIncrease: 200
SpFactor: 200
BaseASPD:
Fist: 400
Dagger: 500
@@ -162,7 +162,7 @@ Body:
Mage: true
MaxWeight: 22000
HpFactor: 30
SpIncrease: 600
SpFactor: 600
BaseASPD:
Fist: 500
Dagger: 600
@@ -209,7 +209,7 @@ Body:
Archer: true
MaxWeight: 26000
HpFactor: 50
SpIncrease: 200
SpFactor: 200
BaseASPD:
Fist: 400
Dagger: 600
@@ -255,7 +255,7 @@ Body:
Acolyte: true
MaxWeight: 24000
HpFactor: 40
SpIncrease: 500
SpFactor: 500
BaseASPD:
Fist: 400
Mace: 600
@@ -303,7 +303,7 @@ Body:
Merchant: true
MaxWeight: 28000
HpFactor: 40
SpIncrease: 300
SpFactor: 300
BaseASPD:
Fist: 400
Dagger: 600
@@ -353,7 +353,7 @@ Body:
Thief: true
MaxWeight: 24000
HpFactor: 50
SpIncrease: 200
SpFactor: 200
BaseASPD:
Fist: 400
Dagger: 500
@@ -402,7 +402,7 @@ Body:
Knight2: true
MaxWeight: 28000
HpFactor: 150
SpIncrease: 300
SpFactor: 300
BaseASPD:
Fist: 400
Dagger: 500
@@ -479,7 +479,7 @@ Body:
Priest: true
MaxWeight: 26000
HpFactor: 75
SpIncrease: 800
SpFactor: 800
BaseASPD:
Fist: 400
Mace: 600
@@ -552,7 +552,7 @@ Body:
Wizard: true
MaxWeight: 24000
HpFactor: 55
SpIncrease: 900
SpFactor: 900
BaseASPD:
Fist: 500
Dagger: 575
@@ -623,7 +623,7 @@ Body:
Blacksmith: true
MaxWeight: 30000
HpFactor: 90
SpIncrease: 400
SpFactor: 400
BaseASPD:
Fist: 400
Dagger: 600
@@ -697,7 +697,7 @@ Body:
Hunter: true
MaxWeight: 27000
HpFactor: 85
SpIncrease: 400
SpFactor: 400
BaseASPD:
Fist: 400
Dagger: 600
@@ -767,7 +767,7 @@ Body:
Assassin: true
MaxWeight: 24000
HpFactor: 110
SpIncrease: 400
SpFactor: 400
BaseASPD:
Fist: 400
Dagger: 500
@@ -840,8 +840,8 @@ Body:
Crusader2: true
MaxWeight: 28000
HpFactor: 110
HpIncrease: 700
SpIncrease: 470
HpMultiplicator: 700
SpFactor: 470
BaseASPD:
Fist: 400
Dagger: 500
@@ -918,8 +918,8 @@ Body:
Monk: true
MaxWeight: 26000
HpFactor: 90
HpIncrease: 650
SpIncrease: 470
HpMultiplicator: 650
SpFactor: 470
BaseASPD:
Fist: 400
Mace: 575
@@ -992,7 +992,7 @@ Body:
Sage: true
MaxWeight: 24000
HpFactor: 75
SpIncrease: 700
SpFactor: 700
BaseASPD:
Fist: 450
Dagger: 525
@@ -1064,7 +1064,7 @@ Body:
Rogue: true
MaxWeight: 24000
HpFactor: 85
SpIncrease: 500
SpFactor: 500
BaseASPD:
Fist: 400
Dagger: 500
@@ -1135,7 +1135,7 @@ Body:
Alchemist: true
MaxWeight: 30000
HpFactor: 90
SpIncrease: 400
SpFactor: 400
BaseASPD:
Fist: 400
Dagger: 550
@@ -1209,8 +1209,8 @@ Body:
Bard: true
MaxWeight: 27000
HpFactor: 75
HpIncrease: 300
SpIncrease: 600
HpMultiplicator: 300
SpFactor: 600
BaseASPD:
Fist: 400
Dagger: 550
@@ -1281,8 +1281,8 @@ Body:
Dancer: true
MaxWeight: 27000
HpFactor: 75
HpIncrease: 300
SpIncrease: 600
HpMultiplicator: 300
SpFactor: 600
BaseASPD:
Fist: 400
Dagger: 550
@@ -1425,8 +1425,8 @@ Body:
Gunslinger: true
MaxWeight: 28000
HpFactor: 89
HpIncrease: 0
SpIncrease: 469
HpMultiplicator: 0
SpFactor: 469
BaseASPD:
Fist: 500
Revolver: 700
@@ -1487,8 +1487,8 @@ Body:
Ninja: true
MaxWeight: 26000
HpFactor: 80
HpIncrease: 0
SpIncrease: 540
HpMultiplicator: 0
SpFactor: 540
BaseASPD:
Fist: 400
Dagger: 500
@@ -1572,7 +1572,7 @@ Body:
Swordman_High: true
MaxWeight: 28000
HpFactor: 70
SpIncrease: 200
SpFactor: 200
BaseASPD:
Fist: 400
Dagger: 500
@@ -1625,7 +1625,7 @@ Body:
Mage_High: true
MaxWeight: 22000
HpFactor: 30
SpIncrease: 600
SpFactor: 600
BaseASPD:
Fist: 500
Dagger: 600
@@ -1672,7 +1672,7 @@ Body:
Archer_High: true
MaxWeight: 26000
HpFactor: 50
SpIncrease: 200
SpFactor: 200
BaseASPD:
Fist: 400
Dagger: 600
@@ -1718,7 +1718,7 @@ Body:
Acolyte_High: true
MaxWeight: 24000
HpFactor: 40
SpIncrease: 500
SpFactor: 500
BaseASPD:
Fist: 400
Mace: 600
@@ -1766,7 +1766,7 @@ Body:
Merchant_High: true
MaxWeight: 28000
HpFactor: 40
SpIncrease: 300
SpFactor: 300
BaseASPD:
Fist: 400
Dagger: 600
@@ -1816,7 +1816,7 @@ Body:
Thief_High: true
MaxWeight: 24000
HpFactor: 50
SpIncrease: 200
SpFactor: 200
BaseASPD:
Fist: 400
Dagger: 500
@@ -1865,7 +1865,7 @@ Body:
Lord_Knight2: true
MaxWeight: 28000
HpFactor: 150
SpIncrease: 300
SpFactor: 300
BaseASPD:
Fist: 400
Dagger: 500
@@ -1972,7 +1972,7 @@ Body:
High_Priest: true
MaxWeight: 26000
HpFactor: 75
SpIncrease: 800
SpFactor: 800
BaseASPD:
Fist: 400
Mace: 600
@@ -2075,7 +2075,7 @@ Body:
High_Wizard: true
MaxWeight: 24000
HpFactor: 55
SpIncrease: 900
SpFactor: 900
BaseASPD:
Fist: 500
Dagger: 575
@@ -2176,7 +2176,7 @@ Body:
Whitesmith: true
MaxWeight: 30000
HpFactor: 90
SpIncrease: 400
SpFactor: 400
BaseASPD:
Fist: 400
Dagger: 600
@@ -2280,7 +2280,7 @@ Body:
Sniper: true
MaxWeight: 27000
HpFactor: 85
SpIncrease: 400
SpFactor: 400
BaseASPD:
Fist: 400
Dagger: 600
@@ -2380,7 +2380,7 @@ Body:
Assassin_Cross: true
MaxWeight: 24000
HpFactor: 110
SpIncrease: 400
SpFactor: 400
BaseASPD:
Fist: 400
Dagger: 500
@@ -2483,8 +2483,8 @@ Body:
Paladin2: true
MaxWeight: 28000
HpFactor: 110
HpIncrease: 700
SpIncrease: 470
HpMultiplicator: 700
SpFactor: 470
BaseASPD:
Fist: 400
Dagger: 500
@@ -2591,8 +2591,8 @@ Body:
Champion: true
MaxWeight: 26000
HpFactor: 90
HpIncrease: 650
SpIncrease: 470
HpMultiplicator: 650
SpFactor: 470
BaseASPD:
Fist: 400
Mace: 575
@@ -2695,7 +2695,7 @@ Body:
Professor: true
MaxWeight: 24000
HpFactor: 75
SpIncrease: 700
SpFactor: 700
BaseASPD:
Fist: 450
Dagger: 525
@@ -2797,7 +2797,7 @@ Body:
Stalker: true
MaxWeight: 24000
HpFactor: 85
SpIncrease: 500
SpFactor: 500
BaseASPD:
Fist: 400
Dagger: 500
@@ -2898,7 +2898,7 @@ Body:
Creator: true
MaxWeight: 30000
HpFactor: 90
SpIncrease: 400
SpFactor: 400
BaseASPD:
Fist: 400
Dagger: 550
@@ -3002,8 +3002,8 @@ Body:
Clown: true
MaxWeight: 27000
HpFactor: 75
HpIncrease: 300
SpIncrease: 600
HpMultiplicator: 300
SpFactor: 600
BaseASPD:
Fist: 400
Dagger: 550
@@ -3104,8 +3104,8 @@ Body:
Gypsy: true
MaxWeight: 27000
HpFactor: 75
HpIncrease: 300
SpIncrease: 600
HpMultiplicator: 300
SpFactor: 600
BaseASPD:
Fist: 400
Dagger: 550
@@ -3217,7 +3217,7 @@ Body:
Baby_Swordman: true
MaxWeight: 28000
HpFactor: 70
SpIncrease: 200
SpFactor: 200
BaseASPD:
Fist: 400
Dagger: 500
@@ -3270,7 +3270,7 @@ Body:
Baby_Mage: true
MaxWeight: 22000
HpFactor: 30
SpIncrease: 600
SpFactor: 600
BaseASPD:
Fist: 500
Dagger: 600
@@ -3317,7 +3317,7 @@ Body:
Baby_Archer: true
MaxWeight: 26000
HpFactor: 50
SpIncrease: 200
SpFactor: 200
BaseASPD:
Fist: 400
Dagger: 600
@@ -3363,7 +3363,7 @@ Body:
Baby_Acolyte: true
MaxWeight: 24000
HpFactor: 40
SpIncrease: 500
SpFactor: 500
BaseASPD:
Fist: 400
Mace: 600
@@ -3411,7 +3411,7 @@ Body:
Baby_Merchant: true
MaxWeight: 28000
HpFactor: 40
SpIncrease: 300
SpFactor: 300
BaseASPD:
Fist: 400
Dagger: 600
@@ -3461,7 +3461,7 @@ Body:
Baby_Thief: true
MaxWeight: 24000
HpFactor: 50
SpIncrease: 200
SpFactor: 200
BaseASPD:
Fist: 400
Dagger: 500
@@ -3510,7 +3510,7 @@ Body:
Baby_Knight2: true
MaxWeight: 28000
HpFactor: 150
SpIncrease: 300
SpFactor: 300
BaseASPD:
Fist: 400
Dagger: 500
@@ -3587,7 +3587,7 @@ Body:
Baby_Priest: true
MaxWeight: 26000
HpFactor: 75
SpIncrease: 800
SpFactor: 800
BaseASPD:
Fist: 400
Mace: 600
@@ -3660,7 +3660,7 @@ Body:
Baby_Wizard: true
MaxWeight: 24000
HpFactor: 55
SpIncrease: 900
SpFactor: 900
BaseASPD:
Fist: 500
Dagger: 575
@@ -3731,7 +3731,7 @@ Body:
Baby_Blacksmith: true
MaxWeight: 30000
HpFactor: 90
SpIncrease: 400
SpFactor: 400
BaseASPD:
Fist: 400
Dagger: 600
@@ -3805,7 +3805,7 @@ Body:
Baby_Hunter: true
MaxWeight: 27000
HpFactor: 85
SpIncrease: 400
SpFactor: 400
BaseASPD:
Fist: 400
Dagger: 600
@@ -3875,7 +3875,7 @@ Body:
Baby_Assassin: true
MaxWeight: 24000
HpFactor: 110
SpIncrease: 400
SpFactor: 400
BaseASPD:
Fist: 400
Dagger: 500
@@ -3948,8 +3948,8 @@ Body:
Baby_Crusader2: true
MaxWeight: 28000
HpFactor: 110
HpIncrease: 700
SpIncrease: 470
HpMultiplicator: 700
SpFactor: 470
BaseASPD:
Fist: 400
Dagger: 500
@@ -4026,8 +4026,8 @@ Body:
Baby_Monk: true
MaxWeight: 26000
HpFactor: 90
HpIncrease: 650
SpIncrease: 470
HpMultiplicator: 650
SpFactor: 470
BaseASPD:
Fist: 400
Mace: 575
@@ -4100,7 +4100,7 @@ Body:
Baby_Sage: true
MaxWeight: 24000
HpFactor: 75
SpIncrease: 700
SpFactor: 700
BaseASPD:
Fist: 450
Dagger: 525
@@ -4172,7 +4172,7 @@ Body:
Baby_Rogue: true
MaxWeight: 24000
HpFactor: 85
SpIncrease: 500
SpFactor: 500
BaseASPD:
Fist: 400
Dagger: 500
@@ -4243,7 +4243,7 @@ Body:
Baby_Alchemist: true
MaxWeight: 30000
HpFactor: 90
SpIncrease: 400
SpFactor: 400
BaseASPD:
Fist: 400
Dagger: 550
@@ -4317,8 +4317,8 @@ Body:
Baby_Bard: true
MaxWeight: 27000
HpFactor: 75
HpIncrease: 300
SpIncrease: 600
HpMultiplicator: 300
SpFactor: 600
BaseASPD:
Fist: 400
Dagger: 550
@@ -4389,8 +4389,8 @@ Body:
Baby_Dancer: true
MaxWeight: 27000
HpFactor: 75
HpIncrease: 300
SpIncrease: 600
HpMultiplicator: 300
SpFactor: 600
BaseASPD:
Fist: 400
Dagger: 550
@@ -4533,7 +4533,7 @@ Body:
Taekwon: true
MaxWeight: 28000
HpFactor: 70
SpIncrease: 200
SpFactor: 200
BaseASPD:
Fist: 400
BonusStats:
@@ -4578,8 +4578,8 @@ Body:
Star_Gladiator2: true
MaxWeight: 28000
HpFactor: 90
HpIncrease: 650
SpIncrease: 470
HpMultiplicator: 650
SpFactor: 470
BaseASPD:
Fist: 400
Book: 500
@@ -4648,7 +4648,7 @@ Body:
Soul_Linker: true
MaxWeight: 24000
HpFactor: 75
SpIncrease: 900
SpFactor: 900
BaseASPD:
Fist: 500
Dagger: 575

Binary file not shown.

View File

@@ -40631,10 +40631,10 @@ Body:
BaseExp: 74288
JobExp: 77950
MvpExp: 37144
Attack: 3304
Attack2: 4266
Defense: 32
MagicDefense: 66
Attack: 1060
Attack2: 2022
Defense: 7
MagicDefense: 36
Str: 140
Agi: 99
Vit: 30
@@ -40645,49 +40645,42 @@ Body:
SkillRange: 10
ChaseRange: 12
Size: Large
Race: Brute
Race: Formless
Element: Fire
ElementLevel: 3
WalkSpeed: 200
AttackDelay: 1152
AttackMotion: 1152
DamageMotion: 576
AttackDelay: 1150
AttackMotion: 1150
DamageMotion: 288
Ai: 21
Class: Boss
Modes:
Mvp: true
MvpDrops:
- Item: Old_Violet_Box
Rate: 5500
- Item: Old_Violet_Box
Rate: 5000
- Item: Old_Card_Album
Rate: 2000
Drops:
- Item: Treasure_Box
Rate: 5000
- Item: Hurricane_Fury
Rate: 100
- Item: Hunting_Spear
Rate: 100
- Item: Yggdrasilberry
Rate: 500
- Item: Elunium
Rate: 1000
- Item: Oridecon
Rate: 1000
- Item: Yggdrasilberry
Rate: 500
- Item: Hurricane_Fury
Rate: 100
- Item: Hunting_Spear
Rate: 100
- Item: Hell_Fire
Rate: 100
- Id: 2069
AegisName: IARA
Name: Iara
Level: 79
Hp: 18952
BaseExp: 5517
JobExp: 1500
Attack: 614
Attack2: 713
MagicDefense: 76
Hp: 5890
BaseExp: 1070
JobExp: 890
Attack: 171
Attack2: 270
MagicDefense: 39
Str: 69
Agi: 14
Vit: 41
@@ -40702,36 +40695,36 @@ Body:
Element: Water
ElementLevel: 3
WalkSpeed: 200
AttackDelay: 384
AttackMotion: 672
AttackDelay: 672
AttackMotion: 380
DamageMotion: 288
Ai: 17
Drops:
- Item: Mistic_Frozen
Rate: 5
- Item: Heart_Of_Mermaid
Rate: 9000
- Item: Fin
Rate: 500
- Item: Witherless_Rose
Rate: 50
- Item: Crystal_Mirror
Rate: 100
- Item: Witherless_Rose
Rate: 50
- Item: Illusion_Flower
Rate: 10
- Item: Mistic_Frozen
Rate: 5
- Item: Mage_Coat
Rate: 1
- Id: 2070
AegisName: PIRANHA
Name: Piranha
Level: 75
Hp: 15882
BaseExp: 3877
JobExp: 2023
Attack: 549
Attack2: 590
Defense: 7
MagicDefense: 12
Hp: 4522
BaseExp: 899
JobExp: 1023
Attack: 182
Attack2: 223
Defense: 2
MagicDefense: 10
Str: 69
Agi: 45
Vit: 30
@@ -40741,41 +40734,41 @@ Body:
AttackRange: 1
SkillRange: 10
ChaseRange: 12
Size: Large
Size: Medium
Race: Fish
Element: Water
ElementLevel: 3
WalkSpeed: 200
AttackDelay: 768
AttackMotion: 480
DamageMotion: 864
Ai: 04
AttackMotion: 768
DamageMotion: 384
Ai: 20
Drops:
- Item: Gill
Rate: 600
- Item: Mistic_Frozen
Rate: 5
- Item: Sharp_Scale
Rate: 9000
- Item: Gill
Rate: 600
- Item: Tooth_Of_Ancient_Fish
Rate: 500
- Item: Lip_Of_Ancient_Fish
Rate: 500
- Item: Scalpel
Rate: 1
- Item: Mistic_Frozen
Rate: 5
- Item: Fisherman's_Dagger
Rate: 5
- Item: Scalpel
Rate: 1
- Id: 2071
AegisName: HEADLESS_MULE
Name: Headless Mule
Level: 80
Hp: 20065
BaseExp: 6666
JobExp: 4111
Attack: 903
Attack2: 960
Defense: 33
MagicDefense: 44
Hp: 6620
BaseExp: 1011
JobExp: 1120
Attack: 210
Attack2: 267
Defense: 7
MagicDefense: 27
Str: 68
Agi: 51
Vit: 50
@@ -40799,29 +40792,29 @@ Body:
Drops:
- Item: Burning_Horse_Shoe
Rate: 4000
- Item: Plate_Armor_
Rate: 5
- Item: Burning_Heart
Rate: 1000
- Item: Hot_Hair
Rate: 1000
- Item: Plate_Armor_
Rate: 5
- Item: Jamadhar_
Rate: 2
- Item: Inverse_Scale
Rate: 1
- Item: Plate_Armor_
Rate: 1
- Item: Jamadhar_
Rate: 2
- Id: 2072
AegisName: JAGUAR
Name: Jaguar
Level: 71
Hp: 12590
BaseExp: 1820
JobExp: 1012
Attack: 538
Attack2: 580
Defense: 44
MagicDefense: 15
Hp: 3914
BaseExp: 720
JobExp: 512
Attack: 192
Attack2: 234
Defense: 9
MagicDefense: 12
Str: 69
Agi: 30
Vit: 45
@@ -40836,10 +40829,10 @@ Body:
Element: Earth
ElementLevel: 2
WalkSpeed: 150
AttackDelay: 576
AttackMotion: 1248
DamageMotion: 480
Ai: 17
AttackDelay: 1250
AttackMotion: 580
DamageMotion: 360
Ai: 04
Drops:
- Item: Leopard_Skin
Rate: 3000
@@ -40855,13 +40848,13 @@ Body:
AegisName: TOUCAN
Name: Toucan
Level: 70
Hp: 10555
BaseExp: 1002
JobExp: 1552
Attack: 478
Attack2: 513
Defense: 12
MagicDefense: 12
Hp: 3640
BaseExp: 659
JobExp: 544
Attack: 166
Attack2: 201
Defense: 3
MagicDefense: 10
Str: 54
Agi: 14
Vit: 40
@@ -40871,37 +40864,37 @@ Body:
AttackRange: 1
SkillRange: 10
ChaseRange: 12
Size: Medium
Size: Small
Race: Brute
Element: Wind
ElementLevel: 2
WalkSpeed: 155
AttackDelay: 960
AttackMotion: 1440
DamageMotion: 960
Ai: 03
AttackDelay: 1450
AttackMotion: 960
DamageMotion: 480
Ai: 04
Drops:
- Item: Talon
Rate: 3000
- Item: Cyfar
Rate: 1000
- Item: Blue_Herb
Rate: 50
- Item: Yellow_Herb
Rate: 100
- Item: Flower_Ring
Rate: 200
- Item: Yellow_Herb
Rate: 100
- Item: Blue_Herb
Rate: 50
- Id: 2074
AegisName: CURUPIRA
Name: Curupira
Level: 68
Hp: 8669
BaseExp: 1209
JobExp: 850
Attack: 409
Attack2: 444
Defense: 42
MagicDefense: 12
Hp: 3096
BaseExp: 622
JobExp: 450
Attack: 140
Attack2: 175
Defense: 9
MagicDefense: 10
Str: 32
Agi: 23
Vit: 38
@@ -40912,25 +40905,27 @@ Body:
SkillRange: 10
ChaseRange: 12
Size: Medium
Race: Demihuman
Race: Demon
Element: Earth
ElementLevel: 1
WalkSpeed: 250
AttackDelay: 528
AttackMotion: 480
AttackDelay: 530
AttackMotion: 530
DamageMotion: 384
Ai: 07
Modes:
Detector: true
Drops:
- Item: Meat
Rate: 3000
- Item: Elunium_Stone
Rate: 250
- Item: Emveretarcon
Rate: 10
- Item: Tiger_Skin_Panties
Rate: 500
- Item: Elunium_Stone
Rate: 250
- Item: Mace_
Rate: 100
- Item: Emveretarcon
Rate: 10
# - Id: 2075
# AegisName: E_VADON_X
# Name: Vadon
@@ -41091,16 +41086,12 @@ Body:
AegisName: E_HYDRA
Name: Strange Hydra
JapaneseName: Suspicious Hydra
Level: 14
Hp: 660
Attack: 22
Attack2: 28
Level: 34
Hp: 854
Attack: 1
Attack2: 2
Defense: 100
MagicDefense: 100
Agi: 14
Vit: 14
Dex: 40
Luk: 2
AttackRange: 7
SkillRange: 10
ChaseRange: 12
@@ -41117,11 +41108,11 @@ Body:
AegisName: G_PIRANHA
Name: Piranha
Level: 75
Hp: 15882
Attack: 549
Attack2: 590
Defense: 7
MagicDefense: 12
Hp: 4522
Attack: 182
Attack2: 223
Defense: 2
MagicDefense: 10
Str: 69
Agi: 45
Vit: 30
@@ -41131,14 +41122,14 @@ Body:
AttackRange: 1
SkillRange: 10
ChaseRange: 12
Size: Large
Size: Medium
Race: Fish
Element: Water
ElementLevel: 3
WalkSpeed: 200
AttackDelay: 768
AttackMotion: 480
DamageMotion: 864
AttackMotion: 768
DamageMotion: 384
Ai: 20
- Id: 2158
AegisName: S_HORNET

View File

@@ -22,32 +22,40 @@
# Quest Settings
#
###########################################################################
# - Id Quest ID.
# Title Quest title.
# TimeLimit Amount of time before the quest expires. (Default: 0)
# Targets: Quest objective target. (Default: null)
# - Mob Name of monster to kill.
# Count Amount of monsters to kill. Set to 0 to skip the target on import.
# Id Unique target index for the quest Id. Requires a positive number.
# Race Monster race target. (Default: All)
# Size Monster size target. (Default: All)
# Element Monster element target. (Default: All)
# MinLevel Minimum monster level target. If not supplied but MaxLevel defined, MinLevel is 1. Set to 0 to ignore MinLevel on import. (Default: 0)
# MaxLevel Maximum monster level target. Set to 0 to ignore MaxLevel on import. (Default: 0)
# Location Map name where kills are counted. (Default: All)
# MapName Displayed map name in quest UI. (Default: empty string)
# MapMobTargets List of monster names. Only names in the list will increase the kill counter. Only active when Id is used. (Default: all monsters)
# <name>: <bool> Monster name and whether the monster is added or removed from the list.
# Drops: Quest item drop targets. (Default: null)
# - Mob Monster to kill. 0 will apply to all monsters. (Default: 0)
# Item Item to drop.
# Count Amount of items that will drop. Non-stackable items default to 1. (Default: 1)
# Rate Item drop rate. (10000 = 100%)
# - Id Quest ID.
# Title Quest title.
# TimeLimit Amount of time before the quest expires. (Default: 0)
# Use a number following by "d" for day(s), "h" for hour(s), "mn" for minute(s), and "s" for second(s).
# Specify with "+" for how long until the quest expires.
# Specify without "+" for the exact time the quest expires using "d" (optional), [0-23]"h" (required), [0-59]"mn" (optional), [0-59]"s" (optional) format.
# Please note the number before "d" only shift the exact timer to the given day(s).
# Targets: Quest objective target. (Default: null)
# The target can be a couple of node Mob/Count or of Id/Race/Size/Element/MinLevel/MaxLevel.
# If Mob is supplied, Count is required and the other fields are ignored.
# If Id is supplied, at least one other field of Race/Size/Element/MinLevel/MaxLevel is required.
# If Id is supplied, Count is required for each new entry.
# - Mob Monster to kill (aegis monster name).
# Count Amount of monsters to kill. Set to 0 to skip the target on import.
# Id Unique target index for the quest Id. Requires a positive number.
# Race Monster race target (default All). Valid races are Angel, Brute, DemiHuman, Demon, Dragon, Fish, Formless, Insect, Plant, Undead, All.
# Size Monster size target (default All). Valid sizes are Small, Medium, Large, All.
# Element Monster element target (default All). Valid elements are Dark, Earth, Fire, Ghost, Holy, Neutral, Poison, Undead, Water, Wind, All.
# MinLevel Minimum monster level target. If not supplied but MaxLevel defined, MinLevel is 1. Set to 0 to ignore MinLevel on import. (Default: 0)
# MaxLevel Maximum monster level target. Set to 0 to ignore MaxLevel on import. (Default: 0)
# Location Map name where kills are counted. (Default any location)
# On normal maps only kills of permanently spawned monsters increase the counter.
# On instance maps all monster kills increase the counter.
# MapName Displayed map name in quest UI. (Default: empty string)
# Drops: Quest item drop targets. (Default: null)
# - Mob Monster to kill. 0 will apply to all monsters. (Default: 0)
# Item Item to drop.
# Count Amount of items that will drop. Non-stackable items default to 1. (Default: 1)
# Rate Item drop rate. (10000 = 100%)
###########################################################################
Header:
Type: QUEST_DB
Version: 3
Version: 2
Body:
- Id: 1000

View File

@@ -796,8 +796,8 @@ Body:
Element: Earth
CastCancel: true
CastTime: 1000
Duration1: 5000
Duration2: 20000
Duration1: 20000
Duration2: 5000
Requires:
SpCost:
- Level: 1
@@ -5332,7 +5332,7 @@ Body:
IgnoreDefense: true
Flags:
IsNpc: true
Range: -7
Range: 3
Hit: Single
HitCount: 1
Element: Weapon
@@ -5346,7 +5346,7 @@ Body:
IgnoreFlee: true
Flags:
IsNpc: true
Range: -7
Range: -1
Hit: Single
HitCount: 1
Element: Weapon
@@ -5358,7 +5358,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: 9
Hit: Single
HitCount: 1
- Id: 161
@@ -5496,7 +5496,7 @@ Body:
IgnoreDefense: true
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Weapon
@@ -5508,7 +5508,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Multi_Hit
HitCount:
- Level: 1
@@ -5542,7 +5542,7 @@ Body:
IgnoreFlee: true
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Weapon
@@ -5560,6 +5560,7 @@ Body:
Flags:
IsNpc: true
TargetTrap: true
Range: 5
Hit: Single
HitCount: 1
Element: Fire
@@ -5602,7 +5603,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Weapon
@@ -5616,7 +5617,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Weapon
@@ -5630,7 +5631,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Weapon
@@ -5644,7 +5645,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Weapon
@@ -5658,12 +5659,12 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Weapon
Duration1: 100
Duration2: 20000
Duration1: 20000
Duration2: 100
Status: StoneWait
- Id: 181
Name: NPC_CURSEATTACK
@@ -5673,7 +5674,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Dark
@@ -5687,7 +5688,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Weapon
@@ -5701,7 +5702,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Random
@@ -5713,7 +5714,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Water
@@ -5726,7 +5727,7 @@ Body:
Flags:
IsNpc: true
TargetHidden: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Earth
@@ -5738,7 +5739,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Fire
@@ -5750,7 +5751,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Wind
@@ -5762,7 +5763,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Poison
@@ -5775,7 +5776,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Holy
@@ -5787,7 +5788,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Dark
@@ -5799,7 +5800,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Ghost
@@ -5811,7 +5812,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Weapon
@@ -5893,7 +5894,7 @@ Body:
IgnoreFlee: true
Flags:
IsNpc: true
Range: -7
Range: 9
Hit: Single
HitCount: 1
Element: Dark
@@ -6733,6 +6734,7 @@ Body:
TargetType: Self
DamageFlags:
NoDamage: true
Range: 9
Hit: Single
SplashArea: 1
CastTime: 2000
@@ -9191,7 +9193,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -2
Range: -1
Hit: Multi_Hit
HitCount: -2
Element: Dark
@@ -9209,12 +9211,12 @@ Body:
Flags:
IsNpc: true
TargetSelf: true
Range: 5
Hit: Single
HitCount: 1
Element: Dark
AfterCastWalkDelay: 1000
Duration1: 950
Duration2: 30000
Duration1: 30000
Unit:
Id: Dummyskill
Layout: -1
@@ -9317,7 +9319,7 @@ Body:
NoDamage: true
Flags:
IsNpc: true
Range: -2
Range: 9
Hit: Single
Duration1: 15000
Status: Stop
@@ -9342,7 +9344,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -2
Range: 9
Hit: Single
HitCount: 1
Element: Weapon
@@ -9355,7 +9357,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -2
Range: 9
Hit: Single
HitCount: 1
Element: Weapon
@@ -9367,7 +9369,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -2
Range: 9
Hit: Single
HitCount: 1
Element: Weapon
@@ -9379,7 +9381,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Undead
@@ -9387,15 +9389,16 @@ Body:
Name: NPC_CHANGEUNDEAD
Description: Undead Attribute Change
MaxLevel: 5
Type: Weapon
Type: Magic
TargetType: Attack
DamageFlags:
NoDamage: true
Flags:
IsNpc: true
Range: -2
Hit: Single
Range: 9
HitCount: 1
Element: Undead
Duration2: 60000
Duration1: 30000
Status: ChangeUndead
- Id: 349
Name: NPC_POWERUP
@@ -9459,6 +9462,7 @@ Body:
NoDamage: true
Flags:
IsNpc: true
Range: 2
- Id: 353
Name: NPC_INVISIBLE
Description: Invisible
@@ -9479,6 +9483,7 @@ Body:
NoDamage: true
Flags:
IsNpc: true
Range: 2
Hit: Single
AfterCastActDelay:
- Level: 2
@@ -15907,8 +15912,8 @@ Body:
Area: 11
- Level: 5
Area: 14
Duration1: 100
Duration2: 20000
Duration1: 20000
Duration2: 100
Status: StoneWait
- Id: 667
Name: NPC_WIDECONFUSE
@@ -16116,7 +16121,7 @@ Body:
TargetType: Attack
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Weapon
@@ -16131,7 +16136,7 @@ Body:
NoDamage: true
Flags:
IsNpc: true
Range: -7
Range: -9
Hit: Single
HitCount: 1
Element: Weapon
@@ -16348,7 +16353,7 @@ Body:
NoDamage: true
Flags:
IsNpc: true
Range: -7
Range: -9
HitCount: 1
Duration2: 180000
Status: HellPower
@@ -29643,8 +29648,7 @@ Body:
HitCount: 1
CastCancel: true
AfterCastActDelay: 1000
Duration1: 100
Duration2: 10000
Duration1: 10000
Requires:
SpCost: 30
Unit:
@@ -30955,7 +30959,7 @@ Body:
MaxLevel: 5
Type: Weapon
TargetType: Attack
Range: 15
Range: 1
Hit: Multi_Hit
HitCount:
- Level: 1
@@ -31075,7 +31079,7 @@ Body:
MaxLevel: 3
Type: Weapon
TargetType: Attack
Range: 15
Range: 1
Hit: Single
HitCount: 1
AfterCastActDelay: 1000
@@ -31087,7 +31091,7 @@ Body:
MaxLevel: 5
Type: Magic
TargetType: Attack
Range: 15
Range: 9
Hit: Single
HitCount:
- Level: 1
@@ -31152,6 +31156,7 @@ Body:
IgnoreElement: true
IgnoreFlee: true
IgnoreDefCard: true
Range: 4
Hit: Single
HitCount: 1
Element: Weapon

View File

@@ -70,6 +70,7 @@ Body:
Stun: true
Sleep: true
Burning: true
#Undead: true
End:
Aeterna: true
EndReturn:
@@ -82,13 +83,13 @@ Body:
Opt1: StoneWait
Flags:
SendOption: true
BossResist: true
StopAttacking: true
Fail:
Freeze: true
Stun: true
Sleep: true
Burning: true
#Undead: true
EndReturn:
StoneWait: true
Stone: true
@@ -114,13 +115,8 @@ Body:
Inspiration: true
Warmer: true
Gvg_Freez: true
Stone: true
StoneWait: true
Freeze: true
Stun: true
Sleep: true
Burning: true
End:
Dancing: true
Aeterna: true
- Status: Stun
DurationLookup: NPC_STUNATTACK
@@ -134,11 +130,13 @@ Body:
BossResist: true
StopAttacking: true
StopCasting: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
Gvg_Stun: true
Stun: true
End:
Dancing: true
- Status: Sleep
DurationLookup: NPC_SLEEPATTACK
States:
@@ -152,11 +150,13 @@ Body:
StopAttacking: true
StopCasting: true
RemoveOnDamaged: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
Gvg_Sleep: true
Sleep: true
End:
Dancing: true
- Status: Poison
DurationLookup: NPC_POISON
CalcFlags:
@@ -168,11 +168,10 @@ Body:
SendOption: true
BossResist: true
StopAttacking: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
Poison: true
Dpoison: true
- Status: Curse
DurationLookup: NPC_CURSEATTACK
CalcFlags:
@@ -185,11 +184,11 @@ Body:
Flags:
SendOption: true
BossResist: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
Gvg_Curse: true
Curse: true
- Status: Silence
DurationLookup: NPC_SILENCEATTACK
States:
@@ -200,20 +199,21 @@ Body:
SendOption: true
BossResist: true
StopCasting: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
Gvg_Silence: true
Silence: true
- Status: Confusion
DurationLookup: NPC_WIDECONFUSE
Flags:
BossResist: true
StopWalking: true
RemoveOnDamaged: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
EndReturn:
Confusion: true
- Status: Blind
DurationLookup: NPC_BLINDATTACK
@@ -225,12 +225,12 @@ Body:
Flags:
SendOption: true
BossResist: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
Fear: true
Gvg_Blind: true
Blind: true
- Status: Bleeding
Icon: EFST_BLOODING
DurationLookup: NPC_BLEEDING
@@ -243,6 +243,7 @@ Body:
BossResist: true
NoSave: true
NoClearance: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
@@ -256,6 +257,7 @@ Body:
Flags:
SendOption: true
BossResist: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
@@ -1082,10 +1084,9 @@ Body:
NoClearbuff: true
NoDispell: true
NoBanishingBuster: true
OverlapFail: true
NoClearance: true
NoForcedEnd: true
Fail:
Nochat: true
- Status: Protectexp
Icon: EFST_PROTECTEXP
DurationLookup: WE_BABY
@@ -1297,8 +1298,7 @@ Body:
Marionette: true
Flags:
RemoveOnChangeMap: true
Fail:
Marionette: true
OverlapFail: true
- Status: Marionette2
Icon: EFST_MARIONETTE
DurationLookup: CG_MARIONETTE
@@ -1313,8 +1313,7 @@ Body:
Marionette: true
Flags:
RemoveOnChangeMap: true
Fail:
Marionette2: true
OverlapFail: true
- Status: Changeundead
Icon: EFST_PROPERTYUNDEAD
DurationLookup: NPC_CHANGEUNDEAD
@@ -1399,17 +1398,16 @@ Body:
Mdef: true
Aspd: true
Speed: true
Flags:
NoSave: true
Opt3:
SteelBody: true
- Status: Orcish
DurationLookup: SA_REVERSEORCISH
Flags:
Debuff: true
SendOption: true
Options:
Orcish: true
Flags:
SendOption: true
- Status: Readystorm
Icon: EFST_STORMKICK_ON
DurationLookup: TK_READYSTORM
@@ -1656,8 +1654,7 @@ Body:
NoSave: true
NoRemoveOnDead: true
RemoveOnChangeMap: true
Fail:
Closeconfine2: true
OverlapFail: true
- Status: Dancing
Icon: EFST_BDPLAYING
DurationLookup: BD_ENCORE
@@ -2500,8 +2497,7 @@ Body:
NoBanishingBuster: true
NoClearance: true
RemoveOnMapWarp: true
Fail:
Bossmapinfo: true
OverlapFail: true
- Status: Lifeinsurance
Icon: EFST_CASH_DEATHPENALTY
States:
@@ -2670,18 +2666,16 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoRemoveOnDead: true
Fail:
S_Lifepotion: true
- Status: L_Lifepotion
Icon: EFST_L_LIFEPOTION
Flags:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoRemoveOnDead: true
Fail:
L_Lifepotion: true
- Status: Jexpboost
Icon: EFST_CASH_PLUSONLYJOBEXP
Flags:
@@ -2846,6 +2840,7 @@ Body:
Flags:
BossResist: true
StopWalking: true
OverlapFail: true
Debuff: true
Fail:
Inspiration: true
@@ -2854,8 +2849,6 @@ Body:
- Status: Burning
Icon: EFST_BURNT
DurationLookup: RK_DRAGONBREATH
CalcFlags:
Mdef: true
Opt1: Burning
Flags:
SendOption: true
@@ -2863,10 +2856,13 @@ Body:
RemoveOnLuxAnima: true
BossResist: true
Debuff: true
OverlapFail: true
MinDuration: 10000
Fail:
Refresh: true
Inspiration: true
CalcFlags:
Mdef: true
- Status: Freezing
Icon: EFST_FROSTMISTY
DurationLookup: WL_FROSTMISTY
@@ -2883,6 +2879,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
MinDuration: 6000
Fail:
Refresh: true
@@ -2933,6 +2930,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Giantgrowth
Icon: EFST_GIANTGROWTH
@@ -2993,6 +2991,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
- Status: Adoramus
Icon: EFST_ADORAMUS
DurationLookup: AB_ADORAMUS
@@ -3077,8 +3076,13 @@ Body:
SetStand: true
StopWalking: true
StopAttacking: true
OverlapFail: true
End:
Dancing: true
Burning: true
Freezing: true
Freeze: true
Stone: true
- Status: Marshofabyss
Icon: EFST_MARSHOFABYSS
DurationLookup: WL_MARSHOFABYSS
@@ -3170,6 +3174,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoSave: true
OverlapFail: true
NoClearance: true
- Status: Wugdash
Icon: EFST_WUGDASH
@@ -3420,6 +3425,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
- Status: Paralyse
Icon: EFST_PARALYSE
CalcFlags:
@@ -3433,6 +3439,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
@@ -3455,6 +3462,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
@@ -3477,6 +3485,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
@@ -3499,6 +3508,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
@@ -3521,6 +3531,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
@@ -3546,6 +3557,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
@@ -3566,6 +3578,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
@@ -3637,6 +3650,7 @@ Body:
Regen: true
Flags:
DisplayPc: true
OverlapFail: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
@@ -3648,6 +3662,7 @@ Body:
Speed: true
Flags:
BossResist: true
OverlapFail: true
- Status: Earthdrive
Icon: EFST_EARTHDRIVE
DurationLookup: LG_EARTHDRIVE
@@ -3696,6 +3711,7 @@ Body:
BossResist: true
StopWalking: true
Debuff: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
@@ -3876,6 +3892,7 @@ Body:
RemoveOnDamaged: true
NoSave: true
Debuff: true
OverlapFail: true
MinDuration: 5000
Fail:
Refresh: true
@@ -4092,6 +4109,7 @@ Body:
DisplayPc: true
BossResist: true
StopWalking: true
OverlapFail: true
Debuff: true
- Status: Crescentelbow
Icon: EFST_CRESCENTELBOW
@@ -4133,6 +4151,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
- Status: Lightningwalk
Icon: EFST_LIGHTNINGWALK
DurationLookup: SR_LIGHTNINGWALK
@@ -4251,6 +4270,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
@@ -4500,6 +4520,7 @@ Body:
Batk: true
Watk: true
Flags:
OverlapFail: true
BossResist: true
NoBanishingBuster: true
NoClearance: true
@@ -4512,6 +4533,7 @@ Body:
Aspd: true
Hit: true
Flags:
OverlapFail: true
BossResist: true
NoBanishingBuster: true
NoClearance: true
@@ -4523,6 +4545,7 @@ Body:
States:
NoCast: true
Flags:
OverlapFail: true
BossResist: true
NoBanishingBuster: true
NoClearance: true
@@ -4535,6 +4558,7 @@ Body:
Flee: true
Speed: true
Flags:
OverlapFail: true
BossResist: true
NoBanishingBuster: true
NoClearance: true
@@ -4547,6 +4571,7 @@ Body:
Cri: true
Flee2: true
Flags:
OverlapFail: true
BossResist: true
NoBanishingBuster: true
NoClearance: true
@@ -4558,6 +4583,7 @@ Body:
CalcFlags:
MaxHp: true
Flags:
OverlapFail: true
BossResist: true
NoBanishingBuster: true
NoClearance: true
@@ -5043,7 +5069,6 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
SendVal1: true
OverlapIgnoreLevel: true
NoForcedEnd: true
- Status: Spellbook1
@@ -5197,6 +5222,7 @@ Body:
StopWalking: true
NoSave: true
RemoveOnChangeMap: true
OverlapFail: true
- Status: Cbc
Icon: EFST_CBC
DurationLookup: MH_CBC
@@ -5325,10 +5351,14 @@ Body:
Icon: EFST_SET_NUM_DEF
CalcFlags:
Def: true
Flags:
OverlapFail: true
- Status: Mdefset
Icon: EFST_SET_NUM_MDEF
CalcFlags:
Mdef: true
Flags:
OverlapFail: true
- Status: Darkcrow
Icon: EFST_DARKCROW
DurationLookup: GC_DARKCROW
@@ -5878,6 +5908,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Reuse_Limit_B
Icon: EFST_REUSE_LIMIT_B
@@ -5887,6 +5918,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Reuse_Limit_C
Icon: EFST_REUSE_LIMIT_C
@@ -5896,6 +5928,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Reuse_Limit_D
Icon: EFST_REUSE_LIMIT_D
@@ -5905,6 +5938,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Reuse_Limit_E
Icon: EFST_REUSE_LIMIT_E
@@ -5914,6 +5948,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Reuse_Limit_F
Icon: EFST_REUSE_LIMIT_F
@@ -5923,6 +5958,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Reuse_Limit_G
Icon: EFST_REUSE_LIMIT_G
@@ -5932,6 +5968,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Reuse_Limit_H
Icon: EFST_REUSE_LIMIT_H
@@ -5941,6 +5978,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Reuse_Limit_Mtf
Icon: EFST_REUSE_LIMIT_MTF
@@ -5950,6 +5988,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Reuse_Limit_Aspd_Potion
Icon: EFST_REUSE_LIMIT_ASPD_POTION
@@ -5959,6 +5998,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Reuse_Millenniumshield
Icon: EFST_REUSE_MILLENNIUMSHIELD
@@ -5968,6 +6008,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Reuse_Crushstrike
Icon: EFST_REUSE_CRUSHSTRIKE
@@ -5977,6 +6018,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Reuse_Stormblast
Icon: EFST_REUSE_STORMBLAST
@@ -5986,6 +6028,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: All_Riding_Reuse_Limit
Icon: EFST_ALL_RIDING_REUSE_LIMIT
@@ -5995,6 +6038,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Reuse_Limit_Ecl
Icon: EFST_REUSE_LIMIT_ECL
@@ -6004,6 +6048,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Reuse_Limit_Recall
Icon: EFST_REUSE_LIMIT_RECALL
@@ -6013,6 +6058,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
- Status: Promote_Health_Reserch
Icon: EFST_PROMOTE_HEALTH_RESERCH
@@ -6024,6 +6070,8 @@ Body:
MaxSp: true
- Status: Norecover_State
Icon: EFST_HANDICAPSTATE_NORECOVER
Flags:
OverlapFail: true
- Status: Suhide
Icon: EFST_SUHIDE
DurationLookup: SU_HIDE
@@ -6381,6 +6429,7 @@ Body:
NoRemoveOnDead: true
NoClearbuff: true
NoBanishingBuster: true
OverlapFail: true
NoDispell: true
NoClearance: true
- Status: Doram_Buf_02
@@ -6391,6 +6440,7 @@ Body:
NoRemoveOnDead: true
NoClearbuff: true
NoBanishingBuster: true
OverlapFail: true
NoDispell: true
NoClearance: true
- Status: Hiss
@@ -6878,6 +6928,7 @@ Body:
NoBanishingBuster: true
NoDispell: true
NoClearance: true
OverlapFail: true
NoRemoveOnDead: true
NoClearbuff: true
- Status: Ensemblefatigue

View File

@@ -22,32 +22,40 @@
# Quest Settings
#
###########################################################################
# - Id Quest ID.
# Title Quest title.
# TimeLimit Amount of time before the quest expires. (Default: 0)
# Targets: Quest objective target. (Default: null)
# - Mob Name of monster to kill.
# Count Amount of monsters to kill. Set to 0 to skip the target on import.
# Id Unique target index for the quest Id. Requires a positive number.
# Race Monster race target. (Default: All)
# Size Monster size target. (Default: All)
# Element Monster element target. (Default: All)
# MinLevel Minimum monster level target. If not supplied but MaxLevel defined, MinLevel is 1. Set to 0 to ignore MinLevel on import. (Default: 0)
# MaxLevel Maximum monster level target. Set to 0 to ignore MaxLevel on import. (Default: 0)
# Location Map name where kills are counted. (Default: All)
# MapName Displayed map name in quest UI. (Default: empty string)
# MapMobTargets List of monster names. Only names in the list will increase the kill counter. Only active when Id is used. (Default: all monsters)
# <name>: <bool> Monster name and whether the monster is added or removed from the list.
# Drops: Quest item drop targets. (Default: null)
# - Mob Monster to kill. 0 will apply to all monsters. (Default: 0)
# Item Item to drop.
# Count Amount of items that will drop. Non-stackable items default to 1. (Default: 1)
# Rate Item drop rate. (10000 = 100%)
# - Id Quest ID.
# Title Quest title.
# TimeLimit Amount of time before the quest expires. (Default: 0)
# Use a number following by "d" for day(s), "h" for hour(s), "mn" for minute(s), and "s" for second(s).
# Specify with "+" for how long until the quest expires.
# Specify without "+" for the exact time the quest expires using "d" (optional), [0-23]"h" (required), [0-59]"mn" (optional), [0-59]"s" (optional) format.
# Please note the number before "d" only shift the exact timer to the given day(s).
# Targets: Quest objective target. (Default: null)
# The target can be a couple of node Mob/Count or of Id/Race/Size/Element/MinLevel/MaxLevel.
# If Mob is supplied, Count is required and the other fields are ignored.
# If Id is supplied, at least one other field of Race/Size/Element/MinLevel/MaxLevel is required.
# If Id is supplied, Count is required for each new entry.
# - Mob Monster to kill (aegis monster name).
# Count Amount of monsters to kill. Set to 0 to skip the target on import.
# Id Unique target index for the quest Id. Requires a positive number.
# Race Monster race target (default All). Valid races are Angel, Brute, DemiHuman, Demon, Dragon, Fish, Formless, Insect, Plant, Undead, All.
# Size Monster size target (default All). Valid sizes are Small, Medium, Large, All.
# Element Monster element target (default All). Valid elements are Dark, Earth, Fire, Ghost, Holy, Neutral, Poison, Undead, Water, Wind, All.
# MinLevel Minimum monster level target. If not supplied but MaxLevel defined, MinLevel is 1. Set to 0 to ignore MinLevel on import. (Default: 0)
# MaxLevel Maximum monster level target. Set to 0 to ignore MaxLevel on import. (Default: 0)
# Location Map name where kills are counted. (Default any location)
# On normal maps only kills of permanently spawned monsters increase the counter.
# On instance maps all monster kills increase the counter.
# MapName Displayed map name in quest UI. (Default: empty string)
# Drops: Quest item drop targets. (Default: null)
# - Mob Monster to kill. 0 will apply to all monsters. (Default: 0)
# Item Item to drop.
# Count Amount of items that will drop. Non-stackable items default to 1. (Default: 1)
# Rate Item drop rate. (10000 = 100%)
###########################################################################
Header:
Type: QUEST_DB
Version: 3
Version: 2
Footer:
Imports:

View File

@@ -33,6 +33,168 @@ Header:
Version: 1
Body:
# WOE FE castle
- Id: 0
Map: aldeg_cas01
Name: Neuschwanstein
#Name: Noisyubantian
Npc: Agit#aldeg_cas01
- Id: 1
Map: aldeg_cas02
Name: Hohenschwangau
#Name: Hohensyubangawoo
Npc: Agit#aldeg_cas02
- Id: 2
Map: aldeg_cas03
Name: Nuernberg
#Name: Nyirenverk
Npc: Agit#aldeg_cas03
- Id: 3
Map: aldeg_cas04
Name: Wuerzburg
#Name: Byirtsburi
Npc: Agit#aldeg_cas04
- Id: 4
Map: aldeg_cas05
Name: Rothenburg
#Name: Rotenburk
Npc: Agit#aldeg_cas05
- Id: 5
Map: gefg_cas01
Name: Repherion
#Name: Reprion
Npc: Agit#gefg_cas01
- Id: 6
Map: gefg_cas02
Name: Eeyolbriggar
#Name: Yolbriger
Npc: Agit#gefg_cas02
- Id: 7
Map: gefg_cas03
Name: Yesnelph
#Name: Isinlife
Npc: Agit#gefg_cas03
- Id: 8
Map: gefg_cas04
Name: Bergel
#Name: Berigel
Npc: Agit#gefg_cas04
- Id: 9
Map: gefg_cas05
Name: Mersetzdeitz
#Name: Melsedetsu
Npc: Agit#gefg_cas05
- Id: 10
Map: payg_cas01
Name: Bright Arbor
#Name: Mingting
Npc: Agit#payg_cas01
- Id: 11
Map: payg_cas02
Name: Scarlet Palace
#Name: Tiantan
Npc: Agit#payg_cas02
- Id: 12
Map: payg_cas03
Name: Holy Shadow
#Name: Fuying
Npc: Agit#payg_cas03
- Id: 13
Map: payg_cas04
Name: Sacred Altar
#Name: Honglou
Npc: Agit#payg_cas04
- Id: 14
Map: payg_cas05
Name: Bamboo Grove Hill
#Name: Zhulinxian
Npc: Agit#payg_cas05
- Id: 15
Map: prtg_cas01
Name: Kriemhild
#Name: Creamhilt
Npc: Agit#prtg_cas01
- Id: 16
Map: prtg_cas02
Name: Swanhild
#Name: Sbanhealt
Npc: Agit#prtg_cas02
- Id: 17
Map: prtg_cas03
Name: Fadhgridh
#Name: Lazrigees
Npc: Agit#prtg_cas03
- Id: 18
Map: prtg_cas04
Name: Skoegul
#Name: Squagul
Npc: Agit#prtg_cas04
- Id: 19
Map: prtg_cas05
Name: Gondul
#Name: Guindull
Npc: Agit#prtg_cas05
# WOE NGuild castle
- Id: 20
Map: nguild_alde
Name: Earth
Npc: Agit_N01
- Id: 21
Map: nguild_gef
Name: Air
Npc: Agit_N02
- Id: 22
Map: nguild_pay
Name: Water
Npc: Agit_N03
- Id: 23
Map: nguild_prt
Name: Fire
Npc: Agit_N04
# WOE SE castle
- Id: 24
Map: schg_cas01
Name: Himinn
Npc: Manager#schg_cas01
- Id: 25
Map: schg_cas02
Name: Andlangr
Npc: Manager#schg_cas02
- Id: 26
Map: schg_cas03
Name: Viblainn
Npc: Manager#schg_cas03
- Id: 27
Map: schg_cas04
Name: Hljod
Npc: Manager#schg_cas04
- Id: 28
Map: schg_cas05
Name: Skidbladnir
Npc: Manager#schg_cas05
- Id: 29
Map: arug_cas01
Name: Mardol
Npc: Manager#arug_cas01
- Id: 30
Map: arug_cas02
Name: Cyr
Npc: Manager#arug_cas02
- Id: 31
Map: arug_cas03
Name: Horn
Npc: Manager#arug_cas03
- Id: 32
Map: arug_cas04
Name: Gefn
Npc: Manager#arug_cas04
- Id: 33
Map: arug_cas05
Name: Bandis
Npc: Manager#arug_cas05
# WOE TE castle
- Id: 34
Map: te_aldecas1

View File

@@ -1,214 +0,0 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# 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/>.
#
###########################################################################
# Enchantgrade Database
###########################################################################
#
# Enchantgrade Settings
#
###########################################################################
# - Type Item type.
# Levels: Enchantgrade settings per item level.
# - Level Item level.
# Grades: Enchantgrade settings per grade level.
# - Grade Enchantgrade level.
# Refine Required refine level.
# Chance Base chance of success out of 0~10000.
# Bonus Enchantgrade bonus. (Default: 0)
# Announce Announce if someone tries to increase the enchantgrade. (Default: true)
# Catalyst: Catalyst item to increase chance of success.
# Item The item that can be used.
# AmountPerStep Amount of Item needed.
# Set to 0 to disable the catalyst.
# MaximumSteps Maximum amount of times Item can be used.
# ChanceIncrease Amount at which the chance increases for each Item used.
# Options: Success chance based on cost type.
# - Option Index of the client option.
# Item Required item.
# Amount Amount of required item. (Default: 1)
# Set to 0 to remove an option.
# Price Amount of zeny required. (Default: 0)
# BreakingRate Chance of item breaking out of 0~10000. (Default: 0)
# DowngradeAmount Number of refine levels reduced on failure. (Default: 0)
###########################################################################
Header:
Type: ENCHANTGRADE_DB
Version: 1
Body:
- Type: Armor
Levels:
- Level: 2
Grades:
- Grade: None
Refine: 11
Chance: 7000
Bonus: 10
Catalyst:
Item: Blessed_Etel_Dust
AmountPerStep: 1
MaximumSteps: 10
ChanceIncrease: 100
Options:
- Option: 0
Item: Etel_Skyblue_Jewel
Amount: 1
Zeny: 175000
BreakingRate: 10000
- Option: 1
Item: Etel_Skyblue_Jewel
Amount: 5
Zeny: 875000
- Grade: D
Refine: 11
Chance: 6000
Bonus: 30
Catalyst:
Item: Blessed_Etel_Dust
AmountPerStep: 3
MaximumSteps: 10
ChanceIncrease: 100
Options:
- Option: 0
Item: Etel_Topaz
Amount: 1
Zeny: 175000
BreakingRate: 10000
- Option: 1
Item: Etel_Topaz
Amount: 5
Zeny: 875000
- Grade: C
Refine: 11
Chance: 5000
Bonus: 50
Catalyst:
Item: Blessed_Etel_Dust
AmountPerStep: 5
MaximumSteps: 10
ChanceIncrease: 100
Options:
- Option: 0
Item: Etel_Violet_Jewel
Amount: 1
Zeny: 175000
BreakingRate: 10000
- Option: 1
Item: Etel_Violet_Jewel
Amount: 5
Zeny: 875000
- Grade: B
Refine: 11
Chance: 4000
Bonus: 100
Catalyst:
Item: Blessed_Etel_Dust
AmountPerStep: 7
MaximumSteps: 10
ChanceIncrease: 100
Options:
- Option: 0
Item: Etel_Amber
Amount: 2
Zeny: 175000
BreakingRate: 10000
- Option: 1
Item: Etel_Amber
Amount: 10
Zeny: 875000
- Type: Weapon
Levels:
- Level: 5
Grades:
- Grade: None
Refine: 11
Chance: 7000
Bonus: 10
Catalyst:
Item: Blessed_Etel_Dust
AmountPerStep: 1
MaximumSteps: 10
ChanceIncrease: 100
Options:
- Option: 0
Item: Etel_Skyblue_Jewel
Amount: 1
Zeny: 175000
BreakingRate: 10000
- Option: 1
Item: Etel_Skyblue_Jewel
Amount: 5
Zeny: 875000
- Grade: D
Refine: 11
Chance: 6000
Bonus: 30
Catalyst:
Item: Blessed_Etel_Dust
AmountPerStep: 3
MaximumSteps: 10
ChanceIncrease: 100
Options:
- Option: 0
Item: Etel_Topaz
Amount: 1
Zeny: 175000
BreakingRate: 10000
- Option: 1
Item: Etel_Topaz
Amount: 5
Zeny: 875000
- Grade: C
Refine: 11
Chance: 5000
Bonus: 50
Catalyst:
Item: Blessed_Etel_Dust
AmountPerStep: 5
MaximumSteps: 10
ChanceIncrease: 100
Options:
- Option: 0
Item: Etel_Violet_Jewel
Amount: 1
Zeny: 175000
BreakingRate: 10000
- Option: 1
Item: Etel_Violet_Jewel
Amount: 5
Zeny: 875000
- Grade: B
Refine: 11
Chance: 4000
Bonus: 100
Catalyst:
Item: Blessed_Etel_Dust
AmountPerStep: 7
MaximumSteps: 10
ChanceIncrease: 100
Options:
- Option: 0
Item: Etel_Amber
Amount: 2
Zeny: 175000
BreakingRate: 10000
- Option: 1
Item: Etel_Amber
Amount: 10
Zeny: 875000

View File

@@ -310,38 +310,3 @@ Body:
Map: 1@infi
X: 30
Y: 10
- Id: 39
Name: Regenschirm
TimeLimit: 7200
Enter:
Map: 1@rgsr
X: 127
Y: 38
- Id: 40
Name: Sealed OS
TimeLimit: 7200
Enter:
Map: 1@os_b
X: 188
Y: 41
- Id: 41
Name: OS Occupation
TimeLimit: 7200
Enter:
Map: 1@os_a
X: 30
Y: 352
- Id: 42
Name: 2nd OS Search
TimeLimit: 7200
Enter:
Map: 1@os_a
X: 335
Y: 34
- Id: 43
Name: Cor Memorial
TimeLimit: 7200
Enter:
Map: 1@cor
X: 176
Y: 169

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -4848,18 +4848,32 @@ Body:
MaxValue: 20
Chance: 1000
- Option: WEAPON_ATTR_WATER
MinValue: 0
MaxValue: 0
Chance: 500
- Option: WEAPON_ATTR_GROUND
MinValue: 0
MaxValue: 0
Chance: 500
- Option: WEAPON_ATTR_FIRE
MinValue: 0
MaxValue: 0
Chance: 500
- Option: WEAPON_ATTR_WIND
MinValue: 0
MaxValue: 0
Chance: 500
- Option: WEAPON_ATTR_SAINT
MinValue: 0
MaxValue: 0
Chance: 500
- Option: WEAPON_ATTR_DARKNESS
MinValue: 0
MaxValue: 0
Chance: 500
- Option: DAMAGE_SIZE_PERFECT
MinValue: 0
MaxValue: 0
Chance: 50
- Slot: 2
Options:
@@ -4993,18 +5007,32 @@ Body:
MaxValue: 20
Chance: 1000
- Option: WEAPON_ATTR_WATER
MinValue: 0
MaxValue: 0
Chance: 500
- Option: WEAPON_ATTR_GROUND
MinValue: 0
MaxValue: 0
Chance: 500
- Option: WEAPON_ATTR_FIRE
MinValue: 0
MaxValue: 0
Chance: 500
- Option: WEAPON_ATTR_WIND
MinValue: 0
MaxValue: 0
Chance: 500
- Option: WEAPON_ATTR_SAINT
MinValue: 0
MaxValue: 0
Chance: 500
- Option: WEAPON_ATTR_DARKNESS
MinValue: 0
MaxValue: 0
Chance: 500
- Option: DAMAGE_SIZE_PERFECT
MinValue: 0
MaxValue: 0
Chance: 50
- Slot: 2
Options:
@@ -7428,7 +7456,7 @@ Body:
Chance: 625
# TODO: Confirm official rates
- Id: 100
Group: GUNSLINGER_ENCHANT
Group: DROOPING_GUNSLINGER_SCROLL
Slots:
- Slot: 1
Options:
@@ -7532,7 +7560,7 @@ Body:
Chance: 1250
# Source: https://ro.gnjoy.com/news/probability/View.asp?seq=3999572
- Id: 101
Group: FAN_UPGRADE_KIT
Group: FAN_MODIFICATION_KIT
Slots:
- Slot: 1
Options:
@@ -7644,7 +7672,7 @@ Body:
Chance: 769
# Source: https://ro.gnjoy.com/news/probability/View.asp?seq=3964871
- Id: 102
Group: SUIT_UPGRADE_KIT
Group: UNIFORM_REPAIR_KIT
Slots:
- Slot: 1
Options:
@@ -7782,7 +7810,7 @@ Body:
Chance: 5000
# Source: https://ro.gnjoy.com/news/probability/View.asp?seq=3999577
- Id: 109
Group: CANDY_BAG_SCROLL_MELEE
Group: CANDY_POUCH_BLESSING_SCROLL_MELEE
Slots:
- Slot: 1
Options:
@@ -7906,7 +7934,7 @@ Body:
Chance: 454
# Source: https://ro.gnjoy.com/news/probability/View.asp?seq=3999578
- Id: 110
Group: CANDY_BAG_SCROLL_RANGE
Group: CANDY_POUCH_BLESSING_SCROLL_RANGE
Slots:
- Slot: 1
Options:
@@ -8030,7 +8058,7 @@ Body:
Chance: 454
# Source: https://ro.gnjoy.com/news/probability/View.asp?seq=3999579
- Id: 111
Group: CANDY_BAG_SCROLL_MAGIC
Group: CANDY_POUCH_BLESSING_SCROLL_MAGIC
Slots:
- Slot: 1
Options:
@@ -8154,7 +8182,7 @@ Body:
Chance: 454
# Source: https://ro.gnjoy.com/news/probability/View.asp?seq=3964872
- Id: 112
Group: BOOSTER_AMPLIFIER
Group: MAGICAL_BOOSTER_AMPLIFIER
Slots:
- Slot: 1
Options:
@@ -8282,7 +8310,7 @@ Body:
Chance: 714
# Source: https://ro.gnjoy.com/news/probability/View.asp?seq=3964879
- Id: 113
Group: MAGICAL_CAT_HAND
Group: MAGIC_CAT_HAND_SCROLL
Slots:
- Slot: 1
Options:
@@ -8529,6 +8557,8 @@ Body:
MaxValue: 20
Chance: 357
- Option: BODY_INDESTRUCTIBLE
MinValue: 1
MaxValue: 1
Chance: 357
- Option: BODY_ATTR_WATER
MinValue: 3
@@ -9405,6 +9435,8 @@ Body:
MaxValue: 5
Chance: 212
- Option: DAMAGE_SIZE_PERFECT
MinValue: 1
MaxValue: 1
Chance: 212
- Option: CLASS_IGNORE_MDEF_PERCENT_NORMAL
MinValue: 30
@@ -9498,16 +9530,28 @@ Body:
MaxValue: 10
Chance: 666
- Option: BODY_INDESTRUCTIBLE
MinValue: 1
MaxValue: 1
Chance: 666
- Option: BODY_ATTR_WATER
MinValue: 1
MaxValue: 1
Chance: 666
- Option: BODY_ATTR_WIND
MinValue: 1
MaxValue: 1
Chance: 666
- Option: BODY_ATTR_DARKNESS
MinValue: 1
MaxValue: 1
Chance: 666
- Option: BODY_ATTR_FIRE
MinValue: 1
MaxValue: 1
Chance: 666
- Option: BODY_ATTR_GROUND
MinValue: 1
MaxValue: 1
Chance: 666
- Id: 119
Group: GRAY_CHARCOAL_MELEE
@@ -9555,6 +9599,8 @@ Body:
MaxValue: 20
Chance: 526
- Option: DAMAGE_SIZE_PERFECT
MinValue: 1
MaxValue: 1
Chance: 526
- Option: VAR_PLUSASPD
MinValue: 1
@@ -9564,17 +9610,29 @@ Body:
MinValue: 5
MaxValue: 10
Chance: 526
- Option: WEAPON_ATTR_WATER
- Option: DAMAGE_PROPERTY_WATER_TARGET
MinValue: 1
MaxValue: 1
Chance: 526
- Option: WEAPON_ATTR_GROUND
- Option: DAMAGE_PROPERTY_GROUND_TARGET
MinValue: 1
MaxValue: 1
Chance: 526
- Option: WEAPON_ATTR_FIRE
- Option: DAMAGE_PROPERTY_FIRE_TARGET
MinValue: 1
MaxValue: 1
Chance: 526
- Option: WEAPON_ATTR_WIND
- Option: DAMAGE_PROPERTY_WIND_TARGET
MinValue: 1
MaxValue: 1
Chance: 526
- Option: WEAPON_ATTR_SAINT
- Option: DAMAGE_PROPERTY_SAINT_TARGET
MinValue: 1
MaxValue: 1
Chance: 526
- Option: WEAPON_ATTR_DARKNESS
- Option: DAMAGE_PROPERTY_DARKNESS_TARGET
MinValue: 1
MaxValue: 1
Chance: 526
- Slot: 2
Options:
@@ -9635,6 +9693,8 @@ Body:
MaxValue: 20
Chance: 666
- Option: WEAPON_INDESTRUCTIBLE
MinValue: 1
MaxValue: 1
Chance: 666
- Id: 120
Group: GRAY_CHARCOAL_MAGIC
@@ -9801,6 +9861,8 @@ Body:
MaxValue: 20
Chance: 666
- Option: DAMAGE_SIZE_PERFECT
MinValue: 1
MaxValue: 1
Chance: 666
- Option: VAR_PLUSASPD
MinValue: 1
@@ -9815,6 +9877,8 @@ Body:
MaxValue: 10
Chance: 666
- Option: WEAPON_INDESTRUCTIBLE
MinValue: 1
MaxValue: 1
Chance: 666
- Slot: 2
Options:
@@ -10067,18 +10131,32 @@ Body:
MaxValue: 20
Chance: 384
- Option: WEAPON_ATTR_WATER
MinValue: 1
MaxValue: 1
Chance: 384
- Option: WEAPON_ATTR_GROUND
MinValue: 1
MaxValue: 1
Chance: 384
- Option: WEAPON_ATTR_FIRE
MinValue: 1
MaxValue: 1
Chance: 384
- Option: WEAPON_ATTR_WIND
MinValue: 1
MaxValue: 1
Chance: 384
- Option: WEAPON_ATTR_SAINT
MinValue: 1
MaxValue: 1
Chance: 384
- Option: WEAPON_ATTR_DARKNESS
MinValue: 1
MaxValue: 1
Chance: 384
- Option: DAMAGE_SIZE_PERFECT
MinValue: 1
MaxValue: 1
Chance: 384
- Id: 124
Group: CHARLESTON_PARTS_R
@@ -10158,18 +10236,32 @@ Body:
MaxValue: 20
Chance: 384
- Option: WEAPON_ATTR_WATER
MinValue: 1
MaxValue: 1
Chance: 384
- Option: WEAPON_ATTR_GROUND
MinValue: 1
MaxValue: 1
Chance: 384
- Option: WEAPON_ATTR_FIRE
MinValue: 1
MaxValue: 1
Chance: 384
- Option: WEAPON_ATTR_WIND
MinValue: 1
MaxValue: 1
Chance: 384
- Option: WEAPON_ATTR_SAINT
MinValue: 1
MaxValue: 1
Chance: 384
- Option: WEAPON_ATTR_DARKNESS
MinValue: 1
MaxValue: 1
Chance: 384
- Option: DAMAGE_SIZE_PERFECT
MinValue: 1
MaxValue: 1
Chance: 384
- Id: 125
Group: SHADOW_RANDOM_MIX
@@ -10670,6 +10762,8 @@ Body:
MaxValue: 10
Chance: 500
- Option: WEAPON_INDESTRUCTIBLE
MinValue: 1
MaxValue: 1
Chance: 500
- Id: 129
Group: EP17_1_SPC08
@@ -11049,6 +11143,8 @@ Body:
MaxValue: 10
Chance: 555
- Option: WEAPON_INDESTRUCTIBLE
MinValue: 1
MaxValue: 1
Chance: 555
- Id: 132
Group: MAGMA_ESSENCE
@@ -11617,6 +11713,8 @@ Body:
MaxValue: 10
Chance: 666
- Option: WEAPON_INDESTRUCTIBLE
MinValue: 1
MaxValue: 1
Chance: 666
- Id: 136
Group: ANCIENT_HERO_WISDOM
@@ -11906,7 +12004,7 @@ Body:
MaxValue: 5
Chance: 1000
- Id: 141
Group: GRACE_CONVERT1
Group: GRACE_P_MO_GARMENT
Slots:
- Slot: 1
Options:
@@ -12005,7 +12103,7 @@ Body:
MaxValue: 5
Chance: 769
- Id: 142
Group: GRACE_CONVERT2
Group: GRACE_M_MO_GARMENT
Slots:
- Slot: 1
Options:
@@ -12104,7 +12202,7 @@ Body:
MaxValue: 5
Chance: 769
- Id: 143
Group: GRACE_CONVERT3
Group: GRACE_P_MO_ARMOR
Slots:
- Slot: 1
Options:
@@ -12195,7 +12293,7 @@ Body:
MaxValue: 5
Chance: 769
- Id: 144
Group: GRACE_CONVERT4
Group: GRACE_M_MO_ARMOR
Slots:
- Slot: 1
Options:

View File

@@ -25,9 +25,9 @@
# - Jobs: List of jobs associated to group.
# Job Job name.
# MaxWeight Base maximum weight. (Default: 20000)
# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0)
# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000)
# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# BaseASPD: Base ASPD for each weapon type. (Default: 2000)
# Weapon Weapon type with associated ASPD.
# BonusStats: Job level bonus stats/traits.
@@ -78,7 +78,7 @@
Header:
Type: JOB_STATS
Version: 2
Version: 1
Body:
- Jobs:

View File

@@ -25,9 +25,9 @@
# - Jobs: List of jobs associated to group.
# Job Job name.
# MaxWeight Base maximum weight. (Default: 20000)
# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0)
# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000)
# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# BaseASPD: Base ASPD for each weapon type. (Default: 2000)
# Weapon Weapon type with associated ASPD.
# BonusStats: Job level bonus stats/traits.
@@ -78,7 +78,7 @@
Header:
Type: JOB_STATS
Version: 2
Version: 1
Body:
- Jobs:
@@ -3845,13 +3845,6 @@ Body:
Meister2: true
Dragon_Knight2: true
Imperial_Guard2: true
Sky_Emperor: true
Soul_Ascetic: true
Shinkiro: true
Shiranui: true
Night_Watch: true
Hyper_Novice: true
Spirit_Handler: true
MaxJobLevel: 50
JobExp:
- Level: 1

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

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -12438,72 +12438,6 @@
3633,EP16_2_VENOM_KIMERA@NPC_ACIDBREATH,attack,657,6,10000,3000,25000,no,target,always,0,,,,,,,
3633,EP16_2_VENOM_KIMERA@RG_STRIPARMOR,attack,217,5,500,1000,5000,no,target,always,0,,,,,,,
// Illusion of Vampire
3750,Matt Drainliar@NPC_BLINDATTACK,attack,177,3,500,0,5000,yes,target,always,0,,,,,,,
3750,Matt Drainliar@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,0,,,,,,,
3750,Matt Drainliar@NPC_DARKNESSATTACK,attack,190,1,2000,0,5000,yes,target,always,0,,,,,,,
3750,Matt Drainliar@AL_TELEPORT,idle,26,1,1000,1000,10000,no,self,always,0,,,,,,,
3750,Matt Drainliar@AL_TELEPORT,chase,26,1,1000,1000,10000,no,self,always,0,,,,,,,
3750,Matt Drainliar@AL_TELEPORT,attack,26,1,1000,1000,10000,no,self,always,0,,,,,,,
3750,Matt Drainliar@AL_HEAL,idle,28,9,10000,1000,10000,yes,self,always,0,,,,,,,
3750,Matt Drainliar@AL_HEAL,chase,28,9,10000,1000,10000,yes,self,always,0,,,,,,,
3750,Matt Drainliar@AL_HEAL,attack,28,9,10000,1000,10000,yes,self,always,0,,,,,,,
3751,Living Dead@NPC_UNDEADATTACK,chase,347,5,2000,800,25000,yes,target,always,0,,,,,,,
3751,Living Dead@NPC_BLEEDING,attack,660,1,1000,800,65000,yes,target,always,0,,,,,,,
3751,Living Dead@NPC_STOP,attack,342,1,2000,0,35000,yes,target,always,0,,,,,,,
3751,Living Dead@NPC_COMBOATTACK,attack,171,1,3500,500,8000,yes,target,always,0,,,,,,,
3752,Starving Living Dead@NPC_POISON,attack,176,1,500,800,5000,no,target,always,0,,,,,,,
3752,Starving Living Dead@NPC_POISON,angry,176,1,500,800,5000,no,target,always,0,,,,,,,
3752,Starving Living Dead@NPC_UNDEADATTACK,angry,347,1,2000,0,5000,yes,target,always,0,,,,,,,
3752,Starving Living Dead@NPC_UNDEADATTACK,attack,347,1,2000,0,5000,yes,target,always,0,,,,,,,
3752,Starving Living Dead@NPC_AGIUP,chase,350,1,10000,0,35000,yes,self,always,0,,,,,,,
3753,Living Dead@NPC_POISON,attack,176,3,500,800,5000,yes,target,always,0,,,,,,,
3753,Living Dead@NPC_BLOODDRAIN,attack,176,3,2000,500,15000,yes,target,always,0,,,,,,,
3753,Living Dead@NPC_UNDEADATTACK,chase,347,3,1000,500,5000,yes,target,always,0,,,,,,,
3754,Sweet Nightmare@NPC_BLINDATTACK,attack,177,3,1000,0,7000,yes,target,always,0,,,,,,,
3754,Sweet Nightmare@NPC_CURSEATTACK,attack,181,3,1000,800,8000,no,target,always,0,,,,,,,
3754,Sweet Nightmare@NPC_MENTALBREAKER,attack,159,1,1000,800,9000,no,target,always,0,,,,,,,
3754,Sweet Nightmare@NPC_TELEKINESISATTACK,attack,191,5,1000,0,16000,yes,target,always,0,,,,,,,
3755,Black Mushroom@NPC_SELFDESTRUCTION,idle,173,1,500,2000,5000,no,self,myhpltmaxrate,85,,,,,,,
3755,Black Mushroom@NPC_SELFDESTRUCTION,idle,173,1,10000,2000,5000,no,self,skillused,173,,,,,,,
3755,Black Mushroom@NPC_SELFDESTRUCTION,idle,173,1,10000,0,0,yes,self,alchemist,,,,,,,,
3756,Bomi@MG_FIREWALL,chase,18,5,500,500,35000,yes,target,always,0,,,,,,,
3756,Bomi@MG_FROSTDIVER,chase,15,9,10000,500,40000,yes,target,always,0,,,,,,,
3756,Bomi@MG_LIGHTNINGBOLT,chase,20,7,10000,1000,40000,yes,target,always,0,,,,,,,
3756,Bomi@NPC_DARKSTRIKE,attack,340,5,2500,700,15000,no,target,always,0,,,,,,,
3756,Bomi@MG_THUNDERSTORM,attack,21,5,2000,1000,15000,no,target,always,0,,,,,,,
3756,Bomi@MG_LIGHTNINGBOLT,attack,20,7,10000,1000,40000,no,target,always,0,,,,,,,
3756,Bomi@MG_SOULSTRIKE,attack,13,9,1000,500,10000,yes,target,always,0,,,,,,,
3756,Bomi@MG_SAFETYWALL,attack,12,10,3000,0,35000,yes,self,always,0,,,,,,,
3756,Bomi@NPC_SUMMONSLAVE,attack,196,1,10000,200,10000,no,self,slavele,2,3750,,,,,,
3756,Bomi@NPC_SUMMONSLAVE,idle,196,1,10000,200,10000,no,self,slavele,2,3751,,,,,,
3756,Bomi@NPC_WIDESUCK,idle,722,1,10000,500,30000,no,self,always,0,,,,,,,
3757,Dracula of Rage@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
3757,Dracula of Rage@AL_DECAGI,chase,30,10,2000,0,5000,no,target,always,0,,,,,,,
3757,Dracula of Rage@AS_GRIMTOOTH,chase,137,5,2000,0,5000,yes,target,always,0,,,,,,,
3757,Dracula of Rage@NPC_CRITICALWOUND,chase,673,5,2000,500,12000,no,target,myhpltmaxrate,50,,,,,,,
3757,Dracula of Rage@NPC_HELLJUDGEMENT,attack,662,10,10000,500,20000,no,self,myhpltmaxrate,80,,,,,,36,
3757,Dracula of Rage@NPC_AGIUP,attack,350,5,10000,0,30000,yes,self,myhpltmaxrate,30,,,,,,6,
3757,Dracula of Rage@NPC_BLOODDRAIN,attack,199,1,3000,0,10000,yes,target,always,0,,,,,,,
3757,Dracula of Rage@NPC_ENERGYDRAIN,chase,200,1,3000,0,10000,yes,target,always,0,,,,,,,
3757,Dracula of Rage@MO_BODYRELOCATION,chase,264,1,2000,200,5000,yes,target,always,0,,,,,,,
3757,Dracula of Rage@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,,
3757,Dracula of Rage@NPC_CALLSLAVE,idle,352,1,10000,0,30000,yes,self,always,0,,,,,,,
3757,Dracula of Rage@NPC_CHANGEUNDEAD,attack,348,1,2000,0,25000,no,target,always,0,,,,,,9,
3757,Dracula of Rage@NPC_INVISIBLE,idle,353,1,1000,200,50000,yes,self,always,0,,,,,,,
3757,Dracula of Rage@NPC_INVISIBLE,chase,353,1,1000,200,50000,yes,self,always,0,,,,,,,
3757,Dracula of Rage@NPC_INVISIBLE,attack,353,1,1000,200,15000,yes,self,always,0,,,,,,,
3757,Dracula of Rage@NPC_WIDESILENCE,attack,663,5,2000,100,15000,no,self,always,0,,,,,,,
3757,Dracula of Rage@NPC_SUMMONSLAVE,attack,196,1,10000,700,9000,no,self,slavele,5,3750,,,,,,
3757,Dracula of Rage@NPC_SUMMONSLAVE,idle,196,2,10000,700,9000,no,self,slavele,5,3750,,,,,,
3757,Dracula of Rage@NPC_DARKSTRIKE,attack,340,1,3000,0,0,yes,target,skillused,2008,,,,,,,
3757,Dracula of Rage@NPC_DARKSTRIKE,attack,340,1,3000,0,0,yes,target,skillused,490,,,,,,,
3757,Dracula of Rage@NPC_DARKSTRIKE,attack,340,1,3000,0,0,yes,target,skillused,271,,,,,,,
3757,Dracula of Rage@NPC_DARKBREATH,attack,202,5,900,800,900,yes,target,always,0,,,,,,,
3757,Dracula of Rage@NPC_DARKCROSS,attack,338,10,900,400,800,yes,target,always,0,,,,,,9,
3757,Dracula of Rage@NPC_GRANDDARKNESS,attack,339,10,900,1000,1200,no,self,always,0,,,,,,,
3757,Dracula of Rage@NPC_DARKTHUNDER,attack,341,10,900,1000,1200,no,target,always,0,,,,,,,
// Illusion of Moonlight
3758,Angry Moonlight Flower@AL_HEAL,attack,28,11,10000,0,5000,no,friend,friendhpltmaxrate,60,,,,,,21,
3758,Angry Moonlight Flower@AL_HEAL,attack,28,11,10000,0,5000,no,self,myhpltmaxrate,30,,,,,,21,
@@ -12583,145 +12517,6 @@
3765,Deranged Adventurer@NPC_TALK,idle,682,10,2500,0,35000,yes,self,always,0,,,,,,,53
3765,Deranged Adventurer@NPC_TALK,idle,682,10,2500,0,30000,yes,self,always,0,,,,,,,54
// Episode 17.1 - Illusion (custom) #!todo
20340,EL-A17T@NPC_AGIUP,chase,350,5,2000,0,60000,no,self,always,0,,,,,,6,
20340,EL-A17T@NPC_POWERUP,attack,349,5,2000,0,60000,no,self,always,0,,,,,,6,
20340,EL-A17T@NPC_CRITICALSLASH,attack,170,1,2000,500,5000,no,target,always,0,,,,,,,
20340,EL-A17T@AS_SONICBLOW,attack,136,10,1000,0,10000,yes,target,always,0,,,,,,2,
20340,EL-A17T@NPC_AGIUP,chase,350,5,2000,0,60000,no,self,always,0,,,,,,6,
20341,E-EA1L@AL_DECAGI,attack,30,1,500,1000,5000,no,target,always,0,,,,,,29,
20341,E-EA1L@NPC_HALLUCINATION,chase,207,1,500,500,5000,yes,target,always,0,,,,,,9,
20341,E-EA1L@NPC_HALLUCINATION,attack,207,1,500,500,5000,yes,target,always,0,,,,,,9,
20341,E-EA1L@MO_BODYRELOCATION,chase,264,1,2000,500,5000,no,target,always,0,,,,,,,
20342,E-EA2S@AL_PNEUMA,attack,25,1,2000,0,5000,yes,self,longrangeattacked,0,,,,,,,
20342,E-EA2S@NPC_CRITICALSLASH,attack,170,1,2000,0,2000,no,target,always,0,,,,,,,
20342,E-EA2S@NPC_GUIDEDATTACK,attack,172,5,1000,0,5000,no,target,always,0,,,,,,,
20342,E-EA2S@KN_TWOHANDQUICKEN,attack,60,30,10000,0,120000,yes,target,myhpltmaxrate,40,,,,,,,
20342,E-EA2S@NPC_STUNATTACK,attack,179,5,500,1000,5000,no,target,always,0,,,,,,,
20342,E-EA2S@AL_PNEUMA,chase,25,1,2000,0,5000,no,self,longrangeattacked,0,,,,,,,
20343,E-13EN0@KN_PIERCE,attack,56,5,500,700,5000,no,target,always,,,,,,,,
20343,E-13EN0@NPC_RANGEATTACK,chase,160,1,500,0,5000,yes,target,always,,,,,,,,
20343,E-13EN0@NPC_WATERATTACK,attack,184,3,500,500,5000,no,target,always,,,,,,,6,
20344,Chemical Bug@NPC_METAMORPHOSIS,any,193,1,10000,5000,0,no,self,onspawn,0,2536,,,,,,
20345,Chemical Bomb@NPC_SELFDESTRUCTION,any,173,1,10000,5000,0,no,self,onspawn,0,,,,,,,
20346,Miguel@RK_IGNITIONBREAK,attack,2006,5,2000,2000,10000,no,target,always,0,,,,,,,
20346,Miguel@AM_DEMONSTRATION,chase,229,5,5000,0,2000,yes,target,always,0,,,,,,6,
20346,Miguel@NPC_WINDATTACK,attack,187,5,1000,0,5000,yes,target,always,0,,,,,,,
20346,Miguel@NPC_CRITICALSLASH,attack,170,1,1000,0,5000,yes,target,always,0,,,,,,,
20346,Miguel@SM_ENDURE,chase,8,10,5000,0,5000,yes,self,always,0,,,,,,,
20346,Miguel@SM_ENDURE,attack,8,10,2000,0,5000,yes,self,always,0,,,,,,,
20347,Miguel@AM_DEMONSTRATION,chase,229,5,5000,0,2000,yes,target,always,0,,,,,,6,
20347,Miguel@RK_IGNITIONBREAK,attack,2006,5,2000,2000,10000,no,target,always,0,,,,,,,
20347,Miguel@NPC_CRITICALSLASH,attack,170,1,1000,0,5000,yes,target,always,0,,,,,,,
20347,Miguel@NPC_WINDATTACK,attack,187,5,1000,0,5000,yes,target,always,0,,,,,,,
20347,Miguel@SM_ENDURE,chase,8,10,5000,0,5000,yes,self,always,0,,,,,,,
20347,Miguel@SM_ENDURE,attack,8,10,2000,0,5000,yes,self,always,0,,,,,,,
20348,Twin Caput@NPC_DARKNESSATTACK,attack,190,3,500,500,5000,no,target,always,0,,,,,,6,
20348,Twin Caput@NPC_POISON,attack,176,2,500,800,5000,no,target,always,0,,,,,,,
20348,Twin Caput@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,29,
20349,Dolor@NPC_CRITICALSLASH,attack,170,1,1000,500,5000,no,target,always,0,,,,,,,
20349,Dolor@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,,
20349,Dolor@SM_BASH,attack,5,10,2000,1000,30000,no,target,always,0,,,,,,52,
20349,Dolor@NPC_POISONATTACK,attack,188,3,500,500,5000,no,target,always,0,,,,,,9,
20350,Bellare@HT_BLASTMINE,idle,122,5,2000,0,60000,yes,around3,always,0,,,,,,5,
20350,Bellare@HT_BLASTMINE,attack,122,5,500,0,5000,yes,around3,always,0,,,,,,5,
20350,Bellare@NPC_CRITICALSLASH,attack,170,1,1000,0,5000,yes,target,always,0,,,,,,,
20350,Bellare@BS_MAXIMIZE,attack,114,1,1000,0,60000,yes,self,always,0,,,,,,,
20352,PomPom@NPC_POISON,attack,176,3,1000,800,5000,no,target,always,0,,,,,,,
20352,PomPom@NPC_BLINDATTACK,attack,177,3,500,0,5000,yes,target,always,0,,,,,,6,
20352,PomPom@NPC_BLINDATTACK,chase,177,3,500,0,5000,yes,target,always,0,,,,,,6,
20355,Bellare@HT_BLASTMINE,idle,122,5,2000,0,60000,yes,around3,always,0,,,,,,5,
20355,Bellare@HT_BLASTMINE,attack,122,5,500,0,5000,yes,around3,always,0,,,,,,5,
20355,Bellare@NPC_CRITICALSLASH,attack,170,1,1000,0,5000,yes,target,always,0,,,,,,,
20355,Bellare@BS_MAXIMIZE,attack,114,1,1000,0,60000,yes,self,always,0,,,,,,,
20356,Greater Bellare@HT_BLASTMINE,idle,122,5,2000,0,60000,yes,around3,always,0,,,,,,5,
20356,Greater Bellare@HT_BLASTMINE,attack,122,5,500,0,5000,yes,around3,always,0,,,,,,5,
20356,Greater Bellare@NPC_CRITICALSLASH,attack,170,1,1000,0,5000,yes,target,always,0,,,,,,,
20356,Greater Bellare@BS_MAXIMIZE,attack,114,1,1000,0,60000,yes,self,always,0,,,,,,,
20356,Greater Bellare@NPC_COMBOATTACK,attack,171,3,500,700,5000,no,target,always,0,,,,,,,
20356,Greater Bellare@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
20357,Sanare@NPC_HOLYATTACK,attack,189,2,500,0,5000,no,target,always,0,,,,,,18,
20357,Sanare@NPC_HOLYATTACK,chase,189,2,500,0,5000,no,target,always,0,,,,,,18,
20357,Sanare@PR_LEXAETERNA,attack,78,1,500,0,5000,yes,target,always,0,,,,,,6,
20357,Sanare@PR_LEXAETERNA,chase,78,1,500,0,5000,yes,target,always,0,,,,,,6,
20357,Sanare@PR_LEXDIVINA,chase,76,10,500,0,5000,yes,target,always,0,,,,,,2,
20357,Sanare@PR_LEXDIVINA,attack,76,10,500,0,5000,yes,target,always,0,,,,,,2,
20357,Sanare@MG_NAPALMBEAT,attack,11,5,1000,0,5000,yes,target,always,0,,,,,,,
20357,Sanare@MG_NAPALMBEAT,chase,11,5,1000,0,1000,yes,target,always,0,,,,,,,
20358,Greater Sanare@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
20358,Greater Sanare@NPC_HOLYATTACK,attack,189,2,500,0,5000,no,target,always,0,,,,,,18,
20358,Greater Sanare@NPC_HOLYATTACK,chase,189,2,500,0,5000,no,target,always,0,,,,,,18,
20358,Greater Sanare@PR_LEXAETERNA,attack,78,1,500,0,5000,yes,target,always,0,,,,,,6,
20358,Greater Sanare@PR_LEXAETERNA,chase,78,1,500,0,5000,yes,target,always,0,,,,,,6,
20358,Greater Sanare@PR_LEXDIVINA,chase,76,10,500,0,5000,yes,target,always,0,,,,,,2,
20358,Greater Sanare@PR_LEXDIVINA,attack,76,10,500,0,5000,yes,target,always,0,,,,,,2,
20358,Greater Sanare@MG_NAPALMBEAT,attack,11,5,1000,0,5000,yes,target,always,0,,,,,,,
20358,Greater Sanare@MG_NAPALMBEAT,chase,11,5,1000,0,1000,yes,target,always,0,,,,,,,
20359,Plaga@MG_FIREBALL,follow,17,44,500,0,5000,yes,target,always,0,,,,,,,
20359,Plaga@NPC_FIREATTACK,angry,186,5,500,500,5000,no,target,always,0,,,,,,,
20359,Plaga@SM_MAGNUM,angry,7,25,500,500,5000,no,self,always,0,,,,,,,
20359,Plaga@MG_FIREBALL,chase,17,44,500,0,5000,yes,target,always,0,,,,,,,
20359,Plaga@NPC_FIREATTACK,attack,186,5,500,500,5000,no,target,always,0,,,,,,,
20359,Plaga@SM_MAGNUM,attack,7,25,500,500,5000,no,self,always,0,,,,,,,
20359,Plaga@MG_FIREBALL,follow,17,44,500,0,5000,yes,target,always,0,,,,,,,
20359,Plaga@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,0,,,,,,,
20359,Plaga@NPC_CURSEATTACK,attack,181,3,500,800,5000,no,target,always,0,,,,,,,
20359,Plaga@NPC_CURSEATTACK,chase,181,3,500,800,5000,no,target,always,0,,,,,,,
20360,Greater Plaga@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
20360,Greater Plaga@NPC_FIREATTACK,angry,186,5,500,500,5000,no,target,always,0,,,,,,,
20360,Greater Plaga@SM_MAGNUM,angry,7,25,500,500,5000,no,self,always,0,,,,,,,
20360,Greater Plaga@MG_FIREBALL,chase,17,44,500,0,5000,yes,target,always,0,,,,,,,
20360,Greater Plaga@NPC_FIREATTACK,attack,186,5,500,500,5000,no,target,always,0,,,,,,,
20360,Greater Plaga@SM_MAGNUM,attack,7,25,500,500,5000,no,self,always,0,,,,,,,
20360,Greater Plaga@NPC_BLOODDRAIN,attack,199,1,500,0,5000,yes,target,always,0,,,,,,,
20360,Greater Plaga@NPC_CURSEATTACK,attack,181,3,500,800,5000,no,target,always,0,,,,,,,
20360,Greater Plaga@NPC_CURSEATTACK,chase,181,3,500,800,5000,no,target,always,0,,,,,,,
20361,Dolor@NPC_CRITICALSLASH,attack,170,1,1000,500,5000,no,target,always,0,,,,,,,
20361,Dolor@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,,
20361,Dolor@SM_BASH,attack,5,10,2000,1000,30000,no,target,always,0,,,,,,52,
20361,Dolor@NPC_POISONATTACK,attack,188,3,500,500,5000,no,target,always,0,,,,,,9,
20362,Greater Dolor@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
20362,Greater Dolor@NPC_CRITICALSLASH,attack,170,1,1000,500,5000,no,target,always,0,,,,,,,
20362,Greater Dolor@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,,
20362,Greater Dolor@SM_BASH,attack,5,10,2000,1000,30000,no,target,always,0,,,,,,52,
20362,Greater Dolor@NPC_POISONATTACK,attack,188,3,500,500,5000,no,target,always,0,,,,,,9,
20363,Venenum@KN_PIERCE,attack,56,5,500,700,5000,no,target,always,,,,,,,,
20363,Venenum@NPC_RANGEATTACK,chase,160,1,500,0,5000,yes,target,always,,,,,,,,
20363,Venenum@NPC_POISONATTACK,attack,188,3,500,500,5000,no,target,always,0,,,,,,9,
20363,Venenum@AS_VENOMDUST,attack,140,1,500,1500,5000,no,target,always,0,,,,,,,
20364,Greater Venenum@KN_PIERCE,attack,56,5,500,700,5000,no,target,always,,,,,,,,
20364,Greater Venenum@NPC_RANGEATTACK,chase,160,1,500,0,5000,yes,target,always,,,,,,,,
20364,Greater Venenum@NPC_POISONATTACK,attack,188,3,500,500,5000,no,target,always,0,,,,,,9,
20364,Greater Venenum@AS_VENOMDUST,attack,140,1,500,1500,5000,no,target,always,0,,,,,,,
20364,Greater Venenum@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
20365,Twin Caput@NPC_DARKNESSATTACK,attack,190,3,500,500,5000,no,target,always,0,,,,,,6,
20365,Twin Caput@NPC_POISON,attack,176,2,500,800,5000,no,target,always,0,,,,,,,
20365,Twin Caput@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,29,
20366,Greater Twin Caput@NPC_DARKNESSATTACK,attack,190,3,500,500,5000,no,target,always,0,,,,,,6,
20366,Greater Twin Caput@NPC_POISON,attack,176,2,500,800,5000,no,target,always,0,,,,,,,
20366,Greater Twin Caput@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,29,
20366,Greater Twin Caput@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
20381,R48-85-BESTIA@NPC_DARKSTRIKE,idle,340,10,10000,0,0,no,target,rudeattacked,,,,,,,,
20381,R48-85-BESTIA@NPC_DARKSTRIKE,chase,340,5,5000,0,1000,no,target,always,0,,,,,,,
20381,R48-85-BESTIA@NPC_HELLJUDGEMENT,chase,662,5,5000,4000,5000,yes,self,myhpltmaxrate,50,,,,,,7,
20381,R48-85-BESTIA@NPC_HELLJUDGEMENT,attack,662,5,10000,4000,5000,yes,self,myhpltmaxrate,50,,,,,,7,
20381,R48-85-BESTIA@NPC_DRAGONFEAR,chase,659,5,10000,0,0,no,self,always,0,,,,,,,
20381,R48-85-BESTIA@NPC_DRAGONFEAR,attack,659,5,2000,1000,20000,yes,self,always,0,,,,,,,
20381,R48-85-BESTIA@NPC_POWERUP,attack,349,5,10000,0,50000,no,self,myhpltmaxrate,30,,,,,,6,
20381,R48-85-BESTIA@NPC_VAMPIRE_GIFT,attack,679,5,10000,0,0,no,self,skillused,490,,,,,,42,
20381,R48-85-BESTIA@NPC_CRITICALWOUND,attack,673,4,500,500,5000,yes,target,always,0,,,,,,,
20381,R48-85-BESTIA@WZ_QUAGMIRE,chase,92,5,3000,0,10000,yes,target,always,0,,,,,,,
20381,R48-85-BESTIA@WZ_QUAGMIRE,attack,92,5,3000,0,10000,yes,target,always,0,,,,,,,
20381,R48-85-BESTIA@AL_INCAGI,attack,29,1,2000,0,240000,yes,self,always,0,,,,,,2,
20381,R48-85-BESTIA@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
20381,R48-85-BESTIA@NPC_CALLSLAVE,attack,352,1,10000,0,60000,yes,self,always,0,,,,,,,
20381,R48-85-BESTIA@NPC_CALLSLAVE,idle,352,1,10000,0,60000,yes,self,always,0,,,,,,,
20381,R48-85-BESTIA@NPC_SUMMONSLAVE,attack,196,6,10000,700,30000,no,self,slavele,0,20382,20382,20382,,,,
20381,R48-85-BESTIA@NPC_SUMMONSLAVE,idle,196,6,10000,700,30000,no,self,slavele,0,20382,20382,20382,,,,
20382,G Twin Caput@NPC_DARKNESSATTACK,attack,190,3,500,500,5000,no,target,always,0,,,,,,6,
20382,G Twin Caput@NPC_POISON,attack,176,2,500,800,5000,no,target,always,0,,,,,,,
20382,G Twin Caput@NPC_CRITICALSLASH,attack,170,1,500,500,5000,no,target,always,0,,,,,,29,
// Meister ABR's (Automated Battle Robot)
20834,ABR_BATTLE_WARIOR@ABR_BATTLE_BUSTER,chase,8601,1,10000,500,5000,yes,target,always,0,,,,,,,
20834,ABR_BATTLE_WARIOR@ABR_BATTLE_BUSTER,attack,8601,1,10000,500,5000,yes,target,always,0,,,,,,,

View File

@@ -626,11 +626,11 @@ Body:
if (.@i >= PET_INTIMATE_LOYAL) {
bonus bDef,2;
bonus bMdef,2;
bonus2 bResEff,Eff_Stun,-200;
bonus2 bResEff,Eff_Stun,200;
} else if (.@i >= PET_INTIMATE_CORDIAL) {
bonus bDef,1;
bonus bMdef,1;
bonus2 bResEff,Eff_Stun,-100;
bonus2 bResEff,Eff_Stun,100;
}
- Mob: BON_GUN
TameItem: Heart_Of_Her
@@ -1574,7 +1574,7 @@ Body:
# Evolution:
# - Target: ORK_HERO2
# ItemRequirements:
# - Item: Mightysoul_Essence
# - Item: Powerful_Soul_Essence
# Amount: 30
# - Item: Orc_Warrior_Card
# Amount: 10
@@ -1682,7 +1682,7 @@ Body:
Evolution:
- Target: MOONLIGHT
ItemRequirements:
- Item: Mightysoul_Essence
- Item: Powerful_Soul_Essence
Amount: 30
- Item: Nine_Tail_Card
Amount: 10

View File

@@ -22,32 +22,40 @@
# Quest Settings
#
###########################################################################
# - Id Quest ID.
# Title Quest title.
# TimeLimit Amount of time before the quest expires. (Default: 0)
# Targets: Quest objective target. (Default: null)
# - Mob Name of monster to kill.
# Count Amount of monsters to kill. Set to 0 to skip the target on import.
# Id Unique target index for the quest Id. Requires a positive number.
# Race Monster race target. (Default: All)
# Size Monster size target. (Default: All)
# Element Monster element target. (Default: All)
# MinLevel Minimum monster level target. If not supplied but MaxLevel defined, MinLevel is 1. Set to 0 to ignore MinLevel on import. (Default: 0)
# MaxLevel Maximum monster level target. Set to 0 to ignore MaxLevel on import. (Default: 0)
# Location Map name where kills are counted. (Default: All)
# MapName Displayed map name in quest UI. (Default: empty string)
# MapMobTargets List of monster names. Only names in the list will increase the kill counter. Only active when Id is used. (Default: all monsters)
# <name>: <bool> Monster name and whether the monster is added or removed from the list.
# Drops: Quest item drop targets. (Default: null)
# - Mob Monster to kill. 0 will apply to all monsters. (Default: 0)
# Item Item to drop.
# Count Amount of items that will drop. Non-stackable items default to 1. (Default: 1)
# Rate Item drop rate. (10000 = 100%)
# - Id Quest ID.
# Title Quest title.
# TimeLimit Amount of time before the quest expires. (Default: 0)
# Use a number following by "d" for day(s), "h" for hour(s), "mn" for minute(s), and "s" for second(s).
# Specify with "+" for how long until the quest expires.
# Specify without "+" for the exact time the quest expires using "d" (optional), [0-23]"h" (required), [0-59]"mn" (optional), [0-59]"s" (optional) format.
# Please note the number before "d" only shift the exact timer to the given day(s).
# Targets: Quest objective target. (Default: null)
# The target can be a couple of node Mob/Count or of Id/Race/Size/Element/MinLevel/MaxLevel.
# If Mob is supplied, Count is required and the other fields are ignored.
# If Id is supplied, at least one other field of Race/Size/Element/MinLevel/MaxLevel is required.
# If Id is supplied, Count is required for each new entry.
# - Mob Monster to kill (aegis monster name).
# Count Amount of monsters to kill. Set to 0 to skip the target on import.
# Id Unique target index for the quest Id. Requires a positive number.
# Race Monster race target (default All). Valid races are Angel, Brute, DemiHuman, Demon, Dragon, Fish, Formless, Insect, Plant, Undead, All.
# Size Monster size target (default All). Valid sizes are Small, Medium, Large, All.
# Element Monster element target (default All). Valid elements are Dark, Earth, Fire, Ghost, Holy, Neutral, Poison, Undead, Water, Wind, All.
# MinLevel Minimum monster level target. If not supplied but MaxLevel defined, MinLevel is 1. Set to 0 to ignore MinLevel on import. (Default: 0)
# MaxLevel Maximum monster level target. Set to 0 to ignore MaxLevel on import. (Default: 0)
# Location Map name where kills are counted. (Default any location)
# On normal maps only kills of permanently spawned monsters increase the counter.
# On instance maps all monster kills increase the counter.
# MapName Displayed map name in quest UI. (Default: empty string)
# Drops: Quest item drop targets. (Default: null)
# - Mob Monster to kill. 0 will apply to all monsters. (Default: 0)
# Item Item to drop.
# Count Amount of items that will drop. Non-stackable items default to 1. (Default: 1)
# Rate Item drop rate. (10000 = 100%)
###########################################################################
Header:
Type: QUEST_DB
Version: 3
Version: 2
Body:
- Id: 1000
@@ -2773,39 +2781,9 @@ Body:
- Id: 5855
Title: "[Wait] Utan Fighting Operation"
TimeLimit: 4h
- Id: 5856
Title: My Name is Morning
- Id: 5857
Title: Friends of Morning
- Id: 5858
Title: Friends of Morning
- Id: 5859
Title: Friends of Morning
- Id: 5860
Title: Friends of Morning
- Id: 5861
Title: "[Waiting] Take care of the morning"
TimeLimit: 4h
- Id: 5862
Title: Morning's Menu Selection
- Id: 5863
Title: Morning's Menu Selection
- Id: 5864
Title: Morning's Menu Selection
- Id: 5865
Title: Morning's Menu Selection
- Id: 5866
Title: Morning's Menu Selection
- Id: 5867
Title: Morning's Menu Selection
- Id: 5868
Title: Morning's Menu Selection
- Id: 5869
Title: Morning's Menu Selection
- Id: 5870
Title: Morning's Menu Selection
- Id: 5871
Title: Morning's Menu Selection
- Id: 5896
Title: "[Waiting] Cleaning the sewage treatment plant."
TimeLimit: 4h
@@ -2833,17 +2811,6 @@ Body:
- Id: 5929
Title: "[Standby] Subjugation-Turtle Island Dungeon"
TimeLimit: 4h
- Id: 5930
Title: Subjugation-Yanggeochon
Targets:
- Id: 1
Count: 80
Location: tur_dun03
MapMobTargets:
ASSULTER: true
PERMETER: true
FREEZER: true
HEATER: true
- Id: 5931
Title: "[Standby] Subjugation-Yanggeochon"
TimeLimit: 4h
@@ -4868,54 +4835,6 @@ Body:
- Id: 7842
Title: Today's Sweets Drops Avenger (Standby)
TimeLimit: 4h
- Id: 7850
Title: Cat on Bullet
- Id: 7851
Title: New Operation
- Id: 7852
Title: Beyond the Barrier
- Id: 7853
Title: Barrier Investigation
- Id: 7854
Title: Wall on Barrier
- Id: 7855
Title: Watchtower
- Id: 7856
Title: Small Hole
- Id: 7857
Title: Report to Lucky
- Id: 7858
Title: Investigate the Strange Sounds
Targets:
- Mob: EP17_1_DOLOR1
Count: 10
- Mob: EP17_1_VENENUM1
Count: 10
- Mob: EP17_1_TWIN_CAPUT1
Count: 10
- Id: 7859
Title: Report to Tes
- Id: 7860
Title: Unexpected Guest
- Id: 7861
Title: Enterprise Crisis
- Id: 7862
Title: Reclaim Regenschirm
- Id: 7863
Title: Laboratory Data
- Id: 7864
Title: Ventilation
- Id: 7865
Title: Second Operation
- Id: 7866
Title: Along with Cat on Bullet
- Id: 7867
Title: Mercenary vs Mercenary
Targets:
- Mob: EP17_1_BELLARE1
Count: 15
- Mob: EP17_1_SANARE1
Count: 15
- Id: 7868
Title: Mercenary vs Mercenary - Waiting
TimeLimit: 4h
@@ -7239,22 +7158,6 @@ Body:
- Id: 11571
Title: Let the light consume the darkness - Wait
TimeLimit: 4h
- Id: 11596
Title: Old Memories
- Id: 11597
Title: Old Memories
- Id: 11598
Title: Old Memories
- Id: 11599
Title: Old Memories
- Id: 11600
Title: Old Memories
- Id: 11601
Title: Old Memories
- Id: 11602
Title: Old Memories
- Id: 11603
Title: Old Memories
- Id: 11606
Title: Jack The Giant Pumpkin (Standby)
TimeLimit: 4h
@@ -8257,16 +8160,9 @@ Body:
- Id: 12421
Title: Aftereffects that saved the world
TimeLimit: 4h
- Id: 12452
Title: OS Occupation
- Id: 12453
Title: Operation Waiting
TimeLimit: 4h
- Id: 12454
Title: More Search Operations
Targets:
- Mob: MD_MIGUEL
Count: 1
- Id: 12455
Title: Operation Waiting
TimeLimit: 4h
@@ -9429,7 +9325,7 @@ Body:
Title: Time for repair
TimeLimit: 4h
- Id: 14613
Title: Est on second floor
Title: Erst on second floor
- Id: 14614
Title: Convince the leaders
- Id: 14615
@@ -9455,84 +9351,12 @@ Body:
- Id: 14650
Title: Currently in production
TimeLimit: 4h
- Id: 14651
Title: Decision on divorce should be made cautiously
TimeLimit: +4d
- Id: 14652
Title: Detailed Account 01
- Id: 14653
Title: Detailed Account 02
- Id: 14654
Title: Detailed Account 03
- Id: 14655
Title: I'm Ready
- Id: 14656
Title: Finding Father Grimm's Colleagues
- Id: 14657
Title: Jojo Is the Mage's Name
- Id: 14658
Title: Jubilee Is the Priest's Name
- Id: 14659
Title: Lost in Thought
- Id: 14660
Title: Ingredients for Fake Blood
Drops:
- Mob: ILL_DRAINLIAR
Item: Sticky_Blood
Rate: 7000
- Mob: ILL_BLACK_MUSHROOM
Item: Mushroom_Sap
Rate: 7000
- Id: 14661
Title: Jojo Is the Mage's Name 02
- Id: 14662
Title: You're Scaring Me
- Id: 14663
Title: Bloody Fight
- Id: 14664
Title: Deep Misunderstanding
- Id: 14665
Title: Is the Fight Over?
- Id: 14666
Title: Warden's Role
- Id: 14667
Title: Send the Dead Back to Earth
Targets:
- Mob: ILL_ZOMBIE_C
Count: 10
- Mob: ILL_ZOMBIE
Count: 10
- Mob: ILL_GHOUL
Count: 10
- Id: 14668
Title: Get Some Rest
TimeLimit: 4h
- Id: 14669
Title: Sweet Dreams
Targets:
- Mob: ILL_NIGHTMARE
Count: 10
Drops:
- Mob: ILL_NIGHTMARE
Item: Swaying_Mane
Rate: 7000
- Id: 14670
Title: Time for Dreaming
TimeLimit: 4h
- Id: 14671
Title: Unreliable Fake Blood
Targets:
- Mob: ILL_DRAINLIAR
Count: 5
- Mob: ILL_BLACK_MUSHROOM
Count: 5
Drops:
- Mob: ILL_DRAINLIAR
Item: Sticky_Blood
Rate: 7000
- Mob: ILL_BLACK_MUSHROOM
Item: Mushroom_Sap
Rate: 7000
- Id: 14672
Title: Preparing for the Firework Festival
Targets:
@@ -9544,26 +9368,12 @@ Body:
- Id: 14674
Title: Time to Digest
TimeLimit: 4h
- Id: 14675
Title: Noisy Neighbors
Targets:
- Mob: ILL_DRAINLIAR
Count: 10
- Id: 14676
Title: Break Time
TimeLimit: 4h
- Id: 14677
Title: Studying in Dim Light
- Id: 14678
Title: Time to Study
TimeLimit: 4h
- Id: 14679
Title: Curious by Nature
Targets:
- Mob: ILL_ZOMBIE_C
Count: 5
- Mob: ILL_ZOMBIE
Count: 5
- Id: 14680
Title: Time to Research
TimeLimit: 4h
@@ -10103,61 +9913,12 @@ Body:
- Id: 16344
Title: Healthy Herb of June (Standby)
TimeLimit: 4h
- Id: 16352
Title: Call from Elena Volkova
- Id: 16353
Title: Golden Troublemaker
- Id: 16354
Title: Operation of Elyumina
- Id: 16355
Title: Suspicious Box
- Id: 16356
Title: Suspicious Box
- Id: 16357
Title: Elyumina Secured
- Id: 16358
Title: Pure Wicked
- Id: 16359
Title: Pure Violence
- Id: 16360
Title: Pure Facts
- Id: 16361
Title: Pure Backward
- Id: 16362
Title: Pure Backstab (Standby)
TimeLimit: 4h
- Id: 16363
Title: Process EL1_A17T
Targets:
- Mob: MD_E_EA1L
Count: 1
- Id: 16364
Title: Helping Farm Worker
- Id: 16365
Title: Helping Farm Worker - Standby
Title: Standby
TimeLimit: 4h
- Id: 16366
Title: Helping Farm Worker
- Id: 16367
Title: Growing Grapes
- Id: 16368
Title: Growing Grapes
- Id: 16369
Title: Growing Grapes
- Id: 16370
Title: Growing Bean Plants
- Id: 16371
Title: Growing Bean Plants
- Id: 16372
Title: Growing Bean Plants
- Id: 16373
Title: Growing Pumpkins
- Id: 16374
Title: Growing Pumpkins
- Id: 16375
Title: Growing Pumpkins
- Id: 16376
Title: Overpower EL1_A17T
- Id: 16377
Title: EL1_A17T Overpower (Standby)
TimeLimit: +10mn
@@ -10227,8 +9988,6 @@ Body:
- Id: 16538
Title: Natural change - Waiting
TimeLimit: 4h
- Id: 16546
Title: Farm Worker
- Id: 17000
Title: Meet with Father Bamph
- Id: 17001
@@ -10265,49 +10024,8 @@ Body:
Title: Regicide
- Id: 17017
Title: Reporting the King's Death
- Id: 17018
Title: Status of patients
- Id: 17019
Title: Urgent situation
- Id: 17020
Title: Resume investigation
- Id: 17021
Title: Finding Patrick
- Id: 17022
Title: Finding Patrick
- Id: 17023
Title: Finding Patrick
- Id: 17024
Title: Finding Patrick
- Id: 17025
Title: Finding Patrick
- Id: 17026
Title: Finding Patrick
- Id: 17027
Title: Finding Patrick
- Id: 17028
Title: Finding Patrick
- Id: 17029
Title: Finding Patrick
- Id: 17030
Title: Finding Patrick
- Id: 17031
Title: Finding Patrick
- Id: 17032
Title: Finding Patrick
- Id: 17033
Title: For all future work
- Id: 17034
Title: Rudus
Targets:
- Mob: EP17_1_DOLOR1
Count: 20
Drops:
- Mob: EP17_1_DOLOR1
Item: Id_Card
Rate: 5000
- Id: 17035
Title: "Waiting: Rudus"
Title: "Waiting: Ludusro"
TimeLimit: 4h
- Id: 17037
Title: "Wait: Replace attribute"
@@ -10387,8 +10105,6 @@ Body:
- Id: 17566
Title: (Standby) Code name! Is it a star button?
TimeLimit: 4h
- Id: 18000
Title: Ready to enter
- Id: 18001
Title: Delivery for Rooney
- Id: 18002
@@ -10442,6 +10158,64 @@ Body:
- Id: 18028
Title: The Memory of Thanatos the Magistrate - Waiting
TimeLimit: 4h
- Id: 18030
Title: Geoborg Family Curse
TimeLimit: 4h
- Id: 18031
Title: Geoborg Family Curse
- Id: 18032
Title: Geoborg Family Curse
TimeLimit: 4h
- Id: 18033
Title: Geoborg Family Curse
- Id: 18034
Title: Geoborg Family Curse
TimeLimit: 4h
- Id: 18035
Title: Geoborg Family Curse
- Id: 18036
Title: Geoborg Family Curse
TimeLimit: 4h
- Id: 18037
Title: Geoborg Family Curse
- Id: 18038
Title: Geoborg Family Curse
TimeLimit: 4h
- Id: 18039
Title: Geoborg Family Curse
- Id: 18040
Title: Geoborg Family Curse
TimeLimit: 4h
- Id: 18041
Title: Geoborg Family Curse
- Id: 18042
Title: Geoborg Family Curse
TimeLimit: 4h
- Id: 18043
Title: Geoborg Family Curse
- Id: 18044
Title: Geoborg Family Curse
TimeLimit: 4h
- Id: 18045
Title: Geoborg Family Curse
- Id: 18046
Title: Geoborg Family Curse
TimeLimit: 4h
- Id: 18047
Title: Geoborg Family Curse
- Id: 18048
Title: Geoborg Family Curse
TimeLimit: 4h
- Id: 18049
Title: Geoborg Family Curse
- Id: 18050
Title: Geoborg Family Curse
TimeLimit: 4h
- Id: 18051
Title: Geoborg Family Curse
- Id: 18052
Title: Geoborg Family Curse
TimeLimit: 4h
- Id: 18054
Title: Nightmare on the clock tower - Standby
TimeLimit: 4h

File diff suppressed because it is too large Load Diff

View File

@@ -71,6 +71,7 @@ Body:
Stun: true
Sleep: true
Burning: true
#Undead: true
End:
Aeterna: true
EndReturn:
@@ -83,7 +84,6 @@ Body:
Opt1: StoneWait
Flags:
SendOption: true
BossResist: true
StopAttacking: true
Fail:
Whiteimprison: true
@@ -91,6 +91,7 @@ Body:
Stun: true
Sleep: true
Burning: true
#Undead: true
EndReturn:
StoneWait: true
Stone: true
@@ -116,14 +117,8 @@ Body:
Inspiration: true
Warmer: true
Gvg_Freez: true
Whiteimprison: true
Stone: true
StoneWait: true
Freeze: true
Stun: true
Sleep: true
Burning: true
End:
Dancing: true
Aeterna: true
- Status: Stun
DurationLookup: NPC_STUNATTACK
@@ -137,11 +132,13 @@ Body:
BossResist: true
StopAttacking: true
StopCasting: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
Gvg_Stun: true
Stun: true
End:
Dancing: true
- Status: Sleep
DurationLookup: NPC_SLEEPATTACK
States:
@@ -155,11 +152,13 @@ Body:
StopAttacking: true
StopCasting: true
RemoveOnDamaged: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
Gvg_Sleep: true
Sleep: true
End:
Dancing: true
- Status: Poison
DurationLookup: NPC_POISON
CalcFlags:
@@ -171,12 +170,11 @@ Body:
SendOption: true
BossResist: true
StopAttacking: true
OverlapFail: true
SpreadEffect: true
Fail:
Refresh: true
Inspiration: true
Poison: true
Dpoison: true
- Status: Curse
DurationLookup: NPC_WIDECURSE
CalcFlags:
@@ -189,12 +187,12 @@ Body:
Flags:
SendOption: true
BossResist: true
OverlapFail: true
SpreadEffect: true
Fail:
Refresh: true
Inspiration: true
Gvg_Curse: true
Curse: true
- Status: Silence
DurationLookup: NPC_SILENCEATTACK
States:
@@ -205,22 +203,23 @@ Body:
SendOption: true
BossResist: true
StopCasting: true
OverlapFail: true
SpreadEffect: true
Fail:
Refresh: true
Inspiration: true
Gvg_Silence: true
Silence: true
- Status: Confusion
DurationLookup: NPC_WIDECONFUSE
Flags:
BossResist: true
StopWalking: true
RemoveOnDamaged: true
OverlapFail: true
SpreadEffect: true
Fail:
Refresh: true
Inspiration: true
EndReturn:
Confusion: true
- Status: Blind
DurationLookup: NPC_BLINDATTACK
@@ -232,13 +231,13 @@ Body:
Flags:
SendOption: true
BossResist: true
OverlapFail: true
SpreadEffect: true
Fail:
Refresh: true
Inspiration: true
Fear: true
Gvg_Blind: true
Blind: true
- Status: Bleeding
Icon: EFST_BLOODING
DurationLookup: NPC_BLEEDING
@@ -251,6 +250,7 @@ Body:
BossResist: true
NoSave: true
NoClearance: true
OverlapFail: true
SpreadEffect: true
Fail:
Refresh: true
@@ -265,6 +265,7 @@ Body:
Flags:
SendOption: true
BossResist: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
@@ -1099,10 +1100,9 @@ Body:
NoClearbuff: true
NoDispell: true
NoBanishingBuster: true
OverlapFail: true
NoClearance: true
NoForcedEnd: true
Fail:
Nochat: true
- Status: Protectexp
Icon: EFST_PROTECTEXP
DurationLookup: WE_BABY
@@ -1182,7 +1182,7 @@ Body:
Flags:
NoSave: true
- Status: Assumptio
Icon: EFST_ASSUMPTIO2
Icon: EFST_ASSUMPTIO_BUFF
DurationLookup: HP_ASSUMPTIO
CalcFlags:
Def: true
@@ -1313,8 +1313,7 @@ Body:
Marionette: true
Flags:
RemoveOnChangeMap: true
Fail:
Marionette: true
OverlapFail: true
- Status: Marionette2
Icon: EFST_MARIONETTE
DurationLookup: CG_MARIONETTE
@@ -1329,8 +1328,7 @@ Body:
Marionette: true
Flags:
RemoveOnChangeMap: true
Fail:
Marionette2: true
OverlapFail: true
- Status: Changeundead
Icon: EFST_PROPERTYUNDEAD
DurationLookup: NPC_CHANGEUNDEAD
@@ -1415,17 +1413,16 @@ Body:
Mdef: true
Aspd: true
Speed: true
Flags:
NoSave: true
Opt3:
SteelBody: true
- Status: Orcish
DurationLookup: SA_REVERSEORCISH
Flags:
Debuff: true
SendOption: true
Options:
Orcish: true
Flags:
SendOption: true
- Status: Readystorm
Icon: EFST_STORMKICK_ON
DurationLookup: TK_READYSTORM
@@ -1653,8 +1650,7 @@ Body:
NoSave: true
NoRemoveOnDead: true
RemoveOnChangeMap: true
Fail:
Closeconfine2: true
OverlapFail: true
- Status: Dancing
Icon: EFST_BDPLAYING
DurationLookup: BD_ENCORE
@@ -2612,8 +2608,7 @@ Body:
NoBanishingBuster: true
NoClearance: true
RemoveOnMapWarp: true
Fail:
Bossmapinfo: true
OverlapFail: true
- Status: Lifeinsurance
Icon: EFST_CASH_DEATHPENALTY
States:
@@ -2782,22 +2777,16 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
End:
L_Lifepotion: true
M_Lifepotion: true
Fail:
S_Lifepotion: true
OverlapFail: true
NoRemoveOnDead: true
- Status: L_Lifepotion
Icon: EFST_L_LIFEPOTION
Flags:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
End:
S_Lifepotion: true
M_Lifepotion: true
Fail:
L_Lifepotion: true
OverlapFail: true
NoRemoveOnDead: true
- Status: Jexpboost
Icon: EFST_CASH_PLUSONLYJOBEXP
Flags:
@@ -2962,6 +2951,7 @@ Body:
Flags:
BossResist: true
StopWalking: true
OverlapFail: true
Debuff: true
Fail:
Inspiration: true
@@ -2979,6 +2969,7 @@ Body:
RemoveOnLuxAnima: true
BossResist: true
Debuff: true
OverlapFail: true
SpreadEffect: true
MinDuration: 10000
Fail:
@@ -3001,13 +2992,13 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
SpreadEffect: true
MinDuration: 10000
Fail:
Refresh: true
Inspiration: true
Warmer: true
Freezing: true
- Status: Enchantblade
Icon: EFST_ENCHANTBLADE
DurationLookup: RK_ENCHANTBLADE
@@ -3051,9 +3042,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Refresh: true
- Status: Giantgrowth
Icon: EFST_GIANTGROWTH
DurationLookup: RK_GIANTGROWTH
@@ -3112,8 +3102,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
Fail:
Abundance: true
OverlapFail: true
- Status: Adoramus
Icon: EFST_ADORAMUS
DurationLookup: AB_ADORAMUS
@@ -3199,8 +3188,12 @@ Body:
StopWalking: true
StopAttacking: true
StopCasting: true
OverlapFail: true
End:
Burning: true
Freezing: true
Freeze: true
Stone: true
- Status: Marshofabyss
Icon: EFST_MARSHOFABYSS
DurationLookup: WL_MARSHOFABYSS
@@ -3293,9 +3286,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoSave: true
OverlapFail: true
NoClearance: true
Fail:
Electricshocker: true
- Status: Wugdash
Icon: EFST_WUGDASH
DurationLookup: RA_WUGDASH
@@ -3560,9 +3552,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
SpreadEffect: true
Fail:
Toxin: true
- Status: Paralyse
Icon: EFST_PARALYSE
CalcFlags:
@@ -3576,6 +3567,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
SpreadEffect: true
Fail:
Refresh: true
@@ -3599,6 +3591,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
SpreadEffect: true
Fail:
Refresh: true
@@ -3622,6 +3615,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
SpreadEffect: true
Fail:
Refresh: true
@@ -3645,6 +3639,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
SpreadEffect: true
Fail:
Refresh: true
@@ -3668,6 +3663,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
SpreadEffect: true
Fail:
Refresh: true
@@ -3694,6 +3690,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
SpreadEffect: true
Fail:
Refresh: true
@@ -3715,6 +3712,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
SpreadEffect: true
Fail:
Refresh: true
@@ -3734,7 +3732,6 @@ Body:
NoDispell: true
NoBanishingBuster: true
RequireShield: true
NoSave: true
End:
Reflectshield: true
- Status: Forceofvanguard
@@ -3790,20 +3787,18 @@ Body:
Def: true
Flags:
DisplayPc: true
OverlapFail: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
SendVal1: true
Fail:
Banding: true
End:
Prestige: true
- Status: Banding_Defence
Icon: EFST_BANDING_DEFENCE
Flags:
BossResist: true
Fail:
Banding_Defence: true
OverlapFail: true
- Status: Earthdrive
Icon: EFST_EARTHDRIVE
DurationLookup: LG_EARTHDRIVE
@@ -3855,11 +3850,11 @@ Body:
StopCasting: true
SetStand: true
Debuff: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
Warmer: true
Crystalize: true
- Status: Striking
Icon: EFST_STRIKING
DurationLookup: SO_STRIKING
@@ -4041,11 +4036,11 @@ Body:
RemoveOnDamaged: true
NoSave: true
Debuff: true
OverlapFail: true
MinDuration: 5000
Fail:
Refresh: true
Inspiration: true
Deepsleep: true
End:
Dancing: true
Voiceofsiren: true
@@ -4258,9 +4253,8 @@ Body:
DisplayPc: true
BossResist: true
StopWalking: true
OverlapFail: true
Debuff: true
Fail:
Netherworld: true
- Status: Crescentelbow
Icon: EFST_CRESCENTELBOW
DurationLookup: SR_CRESCENTELBOW
@@ -4303,8 +4297,7 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
Fail:
Cursedcircle_Target: true
OverlapFail: true
- Status: Lightningwalk
Icon: EFST_LIGHTNINGWALK
DurationLookup: SR_LIGHTNINGWALK
@@ -4421,10 +4414,10 @@ Body:
NoDispell: true
NoBanishingBuster: true
Debuff: true
OverlapFail: true
Fail:
Refresh: true
Inspiration: true
Mandragora: true
- Status: Stomachache
Icon: EFST_STOMACHACHE
CalcFlags:
@@ -4676,13 +4669,13 @@ Body:
Batk: true
Watk: true
Flags:
OverlapFail: true
BossResist: true
NoBanishingBuster: true
NoClearance: true
SendVal2: true
Fail:
Inspiration: true
_Enervation: true
- Status: _Groomy
Icon: EFST_GROOMY
DurationLookup: SC_GROOMY
@@ -4690,25 +4683,25 @@ Body:
Aspd: true
Hit: true
Flags:
OverlapFail: true
BossResist: true
NoBanishingBuster: true
NoClearance: true
SendVal3: true
Fail:
Inspiration: true
_Groomy: true
- Status: _Ignorance
Icon: EFST_IGNORANCE
DurationLookup: SC_IGNORANCE
States:
NoCast: true
Flags:
OverlapFail: true
BossResist: true
NoBanishingBuster: true
NoClearance: true
Fail:
Inspiration: true
_Ignorance: true
- Status: _Laziness
Icon: EFST_LAZINESS
DurationLookup: SC_LAZINESS
@@ -4716,13 +4709,13 @@ Body:
Flee: true
Speed: true
Flags:
OverlapFail: true
BossResist: true
NoBanishingBuster: true
NoClearance: true
SendVal3: true
Fail:
Inspiration: true
_Laziness: true
- Status: _Unlucky
Icon: EFST_UNLUCKY
DurationLookup: SC_UNLUCKY
@@ -4730,26 +4723,26 @@ Body:
Cri: true
Flee2: true
Flags:
OverlapFail: true
BossResist: true
NoBanishingBuster: true
NoClearance: true
SendVal3: true
Fail:
Inspiration: true
_Unlucky: true
- Status: _Weakness
Icon: EFST_WEAKNESS
DurationLookup: SC_WEAKNESS
CalcFlags:
MaxHp: true
Flags:
OverlapFail: true
BossResist: true
NoBanishingBuster: true
NoClearance: true
SendVal2: true
Fail:
Inspiration: true
_Weakness: true
- Status: _Stripaccessory
Icon: EFST_STRIPACCESSARY
DurationLookup: SC_STRIPACCESSARY
@@ -5463,8 +5456,7 @@ Body:
Flags:
NoSave: true
RemoveOnChangeMap: true
Fail:
Tinder_Breaker2: true
OverlapFail: true
- Status: Cbc
Icon: EFST_CBC
DurationLookup: MH_CBC
@@ -5589,14 +5581,14 @@ Body:
Icon: EFST_SET_NUM_DEF
CalcFlags:
Def: true
Fail:
Defset: true
Flags:
OverlapFail: true
- Status: Mdefset
Icon: EFST_SET_NUM_MDEF
CalcFlags:
Mdef: true
Fail:
Mdefset: true
Flags:
OverlapFail: true
- Status: Darkcrow
Icon: EFST_DARKCROW
DurationLookup: GC_DARKCROW
@@ -6160,9 +6152,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Limit_A: true
- Status: Reuse_Limit_B
Icon: EFST_REUSE_LIMIT_B
Flags:
@@ -6171,9 +6162,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Limit_B: true
- Status: Reuse_Limit_C
Icon: EFST_REUSE_LIMIT_C
Flags:
@@ -6182,9 +6172,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Limit_C: true
- Status: Reuse_Limit_D
Icon: EFST_REUSE_LIMIT_D
Flags:
@@ -6193,9 +6182,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Limit_D: true
- Status: Reuse_Limit_E
Icon: EFST_REUSE_LIMIT_E
Flags:
@@ -6204,9 +6192,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Limit_E: true
- Status: Reuse_Limit_F
Icon: EFST_REUSE_LIMIT_F
Flags:
@@ -6215,9 +6202,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Limit_F: true
- Status: Reuse_Limit_G
Icon: EFST_REUSE_LIMIT_G
Flags:
@@ -6226,9 +6212,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Limit_G: true
- Status: Reuse_Limit_H
Icon: EFST_REUSE_LIMIT_H
Flags:
@@ -6237,9 +6222,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Limit_H: true
- Status: Reuse_Limit_Mtf
Icon: EFST_REUSE_LIMIT_MTF
Flags:
@@ -6248,9 +6232,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Limit_Mtf: true
- Status: Reuse_Limit_Aspd_Potion
Icon: EFST_REUSE_LIMIT_ASPD_POTION
Flags:
@@ -6259,9 +6242,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Limit_Aspd_Potion: true
- Status: Reuse_Millenniumshield
Icon: EFST_REUSE_MILLENNIUMSHIELD
Flags:
@@ -6270,9 +6252,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Millenniumshield: true
- Status: Reuse_Crushstrike
Icon: EFST_REUSE_CRUSHSTRIKE
Flags:
@@ -6281,9 +6262,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Crushstrike: true
- Status: Reuse_Stormblast
Icon: EFST_REUSE_STORMBLAST
Flags:
@@ -6292,9 +6272,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Stormblast: true
- Status: All_Riding_Reuse_Limit
Icon: EFST_ALL_RIDING_REUSE_LIMIT
Flags:
@@ -6303,9 +6282,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
All_Riding_Reuse_Limit: true
- Status: Reuse_Limit_Ecl
Icon: EFST_REUSE_LIMIT_ECL
Flags:
@@ -6314,9 +6292,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Limit_Ecl: true
- Status: Reuse_Limit_Recall
Icon: EFST_REUSE_LIMIT_RECALL
Flags:
@@ -6325,9 +6302,8 @@ Body:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
OverlapFail: true
NoForcedEnd: true
Fail:
Reuse_Limit_Recall: true
- Status: Promote_Health_Reserch
Icon: EFST_PROMOTE_HEALTH_RESERCH
CalcFlags:
@@ -6338,8 +6314,8 @@ Body:
MaxSp: true
- Status: Norecover_State
Icon: EFST_HANDICAPSTATE_NORECOVER
Fail:
Norecover_State: true
Flags:
OverlapFail: true
- Status: Suhide
Icon: EFST_SUHIDE
DurationLookup: SU_HIDE
@@ -6709,10 +6685,9 @@ Body:
NoRemoveOnDead: true
NoClearbuff: true
NoBanishingBuster: true
OverlapFail: true
NoDispell: true
NoClearance: true
Fail:
Doram_Buf_01: true
- Status: Doram_Buf_02
Icon: EFST_DORAM_BUF_02
CalcFlags:
@@ -6721,10 +6696,9 @@ Body:
NoRemoveOnDead: true
NoClearbuff: true
NoBanishingBuster: true
OverlapFail: true
NoDispell: true
NoClearance: true
Fail:
Doram_Buf_02: true
- Status: Hiss
Icon: EFST_HISS
DurationLookup: SU_HISS
@@ -7238,10 +7212,9 @@ Body:
NoBanishingBuster: true
NoDispell: true
NoClearance: true
OverlapFail: true
NoRemoveOnDead: true
NoClearbuff: true
Fail:
Reuse_Limit_Luxanima: true
- Status: Ensemblefatigue
Icon: EFST_ENSEMBLEFATIGUE
States:
@@ -7599,7 +7572,6 @@ Body:
- Status: Chargingpierce_Count
Icon: EFST_CHARGINGPIERCE_COUNT
Flags:
SendVal1: true
DisplayPc: true
- Status: Dragonic_Aura
Icon: EFST_DRAGONIC_AURA
@@ -7792,7 +7764,8 @@ Body:
Icon: EFST_ATTACK_STANCE
DurationLookup: IG_ATTACK_STANCE
CalcFlags:
Watk: true
Patk: true
Smatk: true
Def: true
Flags:
NoRemoveOnDead: true
@@ -7889,7 +7862,6 @@ Body:
DurationLookup: TR_JAWAII_SERENADE
CalcFlags:
Smatk: true
Speed: true
- Status: Pron_March
Icon: EFST_PRON_MARCH
DurationLookup: TR_PRON_MARCH
@@ -8138,22 +8110,11 @@ Body:
All: true
Flags:
RemoveElementalOption: true
- Status: M_Lifepotion
Icon: EFST_M_LIFEPOTION
- Status: Rush_Quake1
Icon: EFST_RUSH_QUAKE1
DurationLookup: MT_RUSH_QUAKE
Flags:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
End:
S_Lifepotion: true
L_Lifepotion: true
Fail:
M_Lifepotion: true
- Status: S_Manapotion
Icon: EFST_S_MANAPOTION
Flags:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
Fail:
S_Manapotion: true
BlEffect: true
- Status: Rush_Quake2
Icon: EFST_RUSH_QUAKE2
DurationLookup: MT_RUSH_QUAKE

View File

@@ -1178,12 +1178,6 @@ If args are given, sets camera position.
---------------------------------------
@enchantgradeui
Opens the enchantgrade UI.
---------------------------------------
==============================
| 5. Administrative Commands |
==============================

View File

@@ -165,6 +165,7 @@ Disables shop creation on a map from the ALL_BUYING_STORE skill.
*nousecart
Disables cart usage on a map.
[Not fully implemented.]
---------------------------------------
@@ -225,9 +226,10 @@ Disables Star Gladiator's "Solar, Lunar, and Stellar Miracle" from occurring on
---------------------------------------
*forcemineffect
*nomineeffect
Forces simpler skill effects, just like the command /mineffect.
Disables mine effects on a map.
[More information needed.]
---------------------------------------

View File

@@ -1,57 +0,0 @@
//===== rAthena Documentation ================================
//= Quest Database Structure
//===== By: ==================================================
//= rAthena Dev Team
//===== Last Updated: ========================================
//= 20220629
//===== Description: =========================================
//= Explanation of the quest_db.yml file and structure.
//============================================================
---------------------------------------
Id: Quest ID.
---------------------------------------
Title: Quest title.
---------------------------------------
TimeLimit: Amount of time before the quest expires.
Use a number followed by "d" for day(s), "h" for hour(s), "mn" for minute(s), and "s" for second(s).
Specifying with "+" will mark how long until the quest expires.
Specifying without "+" will mark the exact time the quest expires. Format: "d" (optional), [0-23]"h" (required), [0-59]"mn" (optional), [0-59]"s" (optional).
Please note the number before "d" only shifts the exact timer to the given day(s).
---------------------------------------
Targets: Quest objective target.
The target can be a combination of Mob/Count or of Id/Count and other fields.
If Mob is supplied, Count is required and the other fields are ignored.
If Id is supplied, Count is required for each new entry.
- Mob Name of monster to kill (aegis monster name).
Count Amount of monsters to kill. Set to 0 to skip the target on import.
Id Unique target index for the quest Id. Requires a positive number.
Race Monster race target. (Default: All). Valid races are Angel, Brute, DemiHuman, Demon, Dragon, Fish, Formless, Insect, Plant, Undead, All.
Size Monster size target. (Default: All). Valid sizes are Small, Medium, Large, All.
Element Monster element target. (Default: All). Valid elements are Dark, Earth, Fire, Ghost, Holy, Neutral, Poison, Undead, Water, Wind, All.
MinLevel Minimum monster level target. If not supplied but MaxLevel defined, MinLevel is 1. Set to 0 to ignore MinLevel on import.
MaxLevel Maximum monster level target. Set to 0 to ignore MaxLevel on import.
Location Map name where kills are counted.
MapName Displayed map name in quest UI.
MapMobTargets List of monster names. Only names in the list will increase the kill counter. Only active when Id is used.
<name>: <bool> Monster name and whether the monster is added or removed from the list.
---------------------------------------
Drops: Quest item drop targets.
- Mob Monster to kill. 0 will apply to all monsters.
Item Item to drop (aegis item name).
Count Amount of items that will drop. Non-stackable items default to 1.
Rate Item drop rate. (10000 = 100%)

View File

@@ -3,7 +3,7 @@
//===== By:==================================================
//= rAthena Dev Team
//===== Last Updated:========================================
//= 20220308
//= 20201115
//===== Description:=========================================
//= A reference manual for the rAthena scripting language.
//= Commands are sorted depending on their functionality.
@@ -4579,22 +4579,6 @@ Unlike 'getexp', this command ignores the adjustment factors!
---------------------------------------
*getbaseexp_ratio(<percent>{,<base_level>{,char_id});
Returns the amount of base experience representing the given <percent> of the
required base experience at <base_level>. If no base level is specified the base
level of the attached character will be used.
---------------------------------------
*getjobexp_ratio(<percent>{,<job_level>{,char_id});
Returns the amount of job experience representing the given <percent> of the
required job experience at <job_level>. If no job level is specified the job
level of the attached character will be used.
---------------------------------------
*setlook <look type>,<look value>{,<char_id>};
*changelook <look type>,<look value>{,<char_id>};
@@ -6793,13 +6777,6 @@ If no <character ID> is specified it will display to the area.
---------------------------------------
*cloakonnpcself {"<NPC object name>"};
*cloakoffnpcself {"<NPC object name>"};
Same command as above, but an attached player is required. The NPC will only display to the attached player.
---------------------------------------
*isnpccloaked {"<NPC object name>"{,<character ID>}};
Returns true if the NPC has been cloaked to the attached player or given
@@ -7877,42 +7854,6 @@ memory of where the points are set whatsoever.
---------------------------------------
*viewpointmap "<map name>",<action>,<x>,<y>,<point number>,<color>;
This command will mark places on the mini map in the client for all players currently
on the defined map. It uses the normal X and Y coordinates from the main map.
The colors of the marks are defined using a hexadecimal number, same as the ones
used to color text in 'mes' output, but are written as hexadecimal numbers in C.
(They look like 0x<six numbers>.)
Action is what you want to do with a point, 1 will set it, while 2 will clear
it. 0 will also set it, but automatically removes the point after 15 seconds.
Point number is the number of the point - you can have several. If more than
one point is drawn at the same coordinates, they will cycle, which can be used
to create flashing marks.
// This command will show a mark at coordinates X 30 Y 40, is mark number 1,
// and will be red for all players currently on the map Prontera.
viewpointmap "prontera",1,30,40,1,0xFF0000;
This will create three points:
.@map$ = "prontera";
viewpointmap .@map$,1,30,40,1,0xFF0000;
viewpointmap .@map$,1,35,45,2,0xFF0000;
viewpointmap .@map$,1,40,50,3,0xFF0000;
And this is how you remove them:
.@map$ = "prontera";
viewpointmap .@map$,2,30,40,1,0xFF0000;
viewpointmap .@map$,2,35,45,2,0xFF0000;
viewpointmap .@map$,2,40,50,3,0xFF0000;
The client determines what it does with the points entirely, the server keeps no
memory of where the points are set whatsoever.
---------------------------------------
*cutin "<filename>",<position>;
This command will display a picture, usually an NPC illustration, also called
@@ -8164,15 +8105,7 @@ This function is intended for use in item scripts.
Opens the Bank UI for the attached player or the given character ID.
This command requires packet version 2015-12-02 or newer.
---------------------------------------
*enchantgradeui {<char id>};
Opens the enchantgrade UI for the attached character or the player given by the char ID parameter.
This command requires packet version 2020-07-24 or newer.
This command requires packet version 2015-01-28 or newer.
---------------------------------------
\\
@@ -8270,8 +8203,6 @@ values (can be combined using the pipe operator):
USW_MOVE_FULL_CELL = Enable moving to the next cell when unit was already half-way there (may cause on-touch/place side-effects, such as a scripted map change).
USW_FORCE_STOP = Force stop moving.
This command will also remove the state tracking used for 'unitwalk' and 'unitwalkto'.
---------------------------------------
*unittalk <GID>,"<text>"{,flag};
@@ -9639,7 +9570,7 @@ Examples:
*questinfo <Icon>{,<Map Mark Color>{,"<condition>"}};
This command should only be used in OnInit/OnInstanceInit labels.
Show an emotion on top of a NPC, and optionally, a colored mark in the mini-map like "viewpoint" or "viewpointmap".
Show an emotion on top of a NPC, and optionally, a colored mark in the mini-map like "viewpoint".
When a user is doing some action, each NPC is checked for questinfo that has been set on the map.
If questinfo is present, it will check if the player fulfill the condition.
If he/she does or no condition has been set, the bubble will appear.
@@ -9765,7 +9696,7 @@ Return the state of the quest:
*showevent <icon>{,<mark color>{,<char_id>}}
Show an emotion on top of a NPC, and optionally,
a colored mark in the mini-map like "viewpoint" or "viewpointmap".
a colored mark in the mini-map like "viewpoint".
This is used to indicate that a NPC has a quest or an event to
a certain player.
@@ -9794,8 +9725,6 @@ QMARK_PURPLE - Purple Marker
Opens the quest UI for the attached player or the given character ID.
Use 0 as the quest ID to open the main quest UI. If the quest ID is not 0 then the quest UI is opened to the given quest. If the quest data is not populated in the client LUB then a message will be displayed saying the quest doesn't exist.
This command requires packet version 2015-12-02 or newer.
---------------------------------------
============================

View File

@@ -3,7 +3,7 @@
//===== By: ==================================================
//= rAthena Dev Team
//===== Last Updated: ========================================
//= 20220421
//= 20220406
//===== Description: =========================================
//= Explanation of the status.yml file and structure.
//============================================================
@@ -113,7 +113,6 @@ Opt1: Special effect when status is active (Aegis: BODYSTATE_*). This option is
None - No effect (Default)
Stone - Stone curse effect
StoneWait - Stone curse incubation effect
Freeze - Freeze effect
Stun - Stun effect
Sleep - Sleep effect
@@ -201,6 +200,7 @@ Flags: Various status flags for specific status change events.
DislpayNpc - Displays status effect on a NPC.
Debuff - Status is considered a debuff. Used in combination with 'battle_config.debuff_on_logout'.
SetStand - Sets player to standing state.
OverlapFail - The status will fail to activate if the status is already active.
OverlapIgnoreLevel - The status will successfully activate for any level if the status is already active.
FailedMado - Cannot be applied if Madogear is active.
MadoCancel - Cancels the status when mounting Madogear.

View File

@@ -8,9 +8,9 @@
# - Jobs: List of jobs associated to group.
# Job Job name.
# MaxWeight Base maximum weight. (Default: 20000)
# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0)
# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000)
# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# BaseASPD: Base ASPD for each weapon type. (Default: 2000)
# Weapon Weapon type with associated ASPD.
# BonusStats: Job level bonus stats/traits.

View File

@@ -8,9 +8,9 @@
# - Jobs: List of jobs associated to group.
# Job Job name.
# MaxWeight Base maximum weight. (Default: 20000)
# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0)
# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000)
# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# BaseASPD: Base ASPD for each weapon type. (Default: 2000)
# Weapon Weapon type with associated ASPD.
# BonusStats: Job level bonus stats/traits.

View File

@@ -8,9 +8,9 @@
# - Jobs: List of jobs associated to group.
# Job Job name.
# MaxWeight Base maximum weight. (Default: 20000)
# HpFactor Exponential HP increase. Per base level: [HpFactor * BaseLv / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 0)
# HpIncrease Linear HP increase. Per base level: [HpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SpIncrease Linear SP increase. Per base level: [SpIncrease / 100]. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# HPFactor HP increase per base level. Floor(HPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 20000)
# HPMultiplicator Base HP value. 35 + BaseLv * (HPMultiplicator / 100). Used when macro HP_SP_TABLES is disabled. (Default: 500)
# SPFactor SP increase per job level. Floor(SPFactor / 100) * BaseLv. Used when macro HP_SP_TABLES is disabled. (Default: 100)
# BaseASPD: Base ASPD for each weapon type. (Default: 2000)
# Weapon Weapon type with associated ASPD.
# BonusStats: Job level bonus stats/traits.

View File

@@ -16,7 +16,6 @@
# HeadTop Item name of headgear (if Sprite is a player). (Default: 0)
# HeadMid Item name of headgear (if Sprite is a player). (Default: 0)
# HeadLow Item name of headgear (if Sprite is a player). (Default: 0)
# Robe Item name of robe (if Sprite is a player). (Default: 0)
# PetEquip Item name of pet equipment (if Mob is a valid pet). (Default: 0)
# Options: Set an option for an object. (Optional)
# <Option>: bool

View File

@@ -5,25 +5,33 @@
# Quest Settings
#
###########################################################################
# - Id Quest ID.
# Title Quest title.
# TimeLimit Amount of time before the quest expires. (Default: 0)
# Targets: Quest objective target. (Default: null)
# - Mob Name of monster to kill.
# Count Amount of monsters to kill. Set to 0 to skip the target on import.
# Id Unique target index for the quest Id. Requires a positive number.
# Race Monster race target. (Default: All)
# Size Monster size target. (Default: All)
# Element Monster element target. (Default: All)
# MinLevel Minimum monster level target. If not supplied but MaxLevel defined, MinLevel is 1. Set to 0 to ignore MinLevel on import. (Default: 0)
# MaxLevel Maximum monster level target. Set to 0 to ignore MaxLevel on import. (Default: 0)
# Location Map name where kills are counted. (Default: All)
# MapName Displayed map name in quest UI. (Default: empty string)
# MapMobTargets List of monster names. Only names in the list will increase the kill counter. Only active when Id is used. (Default: all monsters)
# <name>: <bool> Monster name and whether the monster is added or removed from the list.
# Drops: Quest item drop targets. (Default: null)
# - Mob Monster to kill. 0 will apply to all monsters. (Default: 0)
# Item Item to drop.
# Count Amount of items that will drop. Non-stackable items default to 1. (Default: 1)
# Rate Item drop rate. (10000 = 100%)
# - Id Quest ID.
# Title Quest title.
# TimeLimit Amount of time before the quest expires. (Default: 0)
# Use a number following by "d" for day(s), "h" for hour(s), "mn" for minute(s), and "s" for second(s).
# Specify with "+" for how long until the quest expires.
# Specify without "+" for the exact time the quest expires using "d" (optional), [0-23]"h" (required), [0-59]"mn" (optional), [0-59]"s" (optional) format.
# Please note the number before "d" only shift the exact timer to the given day(s).
# Targets: Quest objective target. (Default: null)
# The target can be a couple of node Mob/Count or of Id/Race/Size/Element/MinLevel/MaxLevel.
# If Mob is supplied, Count is required and the other fields are ignored.
# If Id is supplied, at least one other field of Race/Size/Element/MinLevel/MaxLevel is required.
# If Id is supplied, Count is required for each new entry.
# - Mob Monster to kill (aegis monster name).
# Count Amount of monsters to kill. Set to 0 to skip the target on import.
# Id Unique target index for the quest Id. Requires a positive number.
# Race Monster race target (default All). Valid races are Angel, Brute, DemiHuman, Demon, Dragon, Fish, Formless, Insect, Plant, Undead, All.
# Size Monster size target (default All). Valid sizes are Small, Medium, Large, All.
# Element Monster element target (default All). Valid elements are Dark, Earth, Fire, Ghost, Holy, Neutral, Poison, Undead, Water, Wind, All.
# MinLevel Minimum monster level target. If not supplied but MaxLevel defined, MinLevel is 1. Set to 0 to ignore MinLevel on import. (Default: 0)
# MaxLevel Maximum monster level target. Set to 0 to ignore MaxLevel on import. (Default: 0)
# Location Map name where kills are counted. (Default any location)
# On normal maps only kills of permanently spawned monsters increase the counter.
# On instance maps all monster kills increase the counter.
# MapName Displayed map name in quest UI. (Default: empty string)
# Drops: Quest item drop targets. (Default: null)
# - Mob Monster to kill. 0 will apply to all monsters. (Default: 0)
# Item Item to drop.
# Count Amount of items that will drop. Non-stackable items default to 1. (Default: 1)
# Rate Item drop rate. (10000 = 100%)
###########################################################################

View File

@@ -77,8 +77,6 @@ OnTimer1000:
//============================================================
bat_b01,15,15,3 script start#bat_b01 844,{
OnInit:
if (getbattleflag("feature.bgqueue"))
bg_unbook "bat_b01";
mapwarp "bat_b01","bat_room",154,150;
end;

View File

@@ -79,8 +79,6 @@ OnTimer1000:
//============================================================
bat_b02,15,15,3 script start#bat_b02 844,{
OnInit:
if (getbattleflag("feature.bgqueue"))
bg_unbook "bat_b02";
mapwarp "bat_b02","bat_room",154,150;
end;

View File

@@ -111,9 +111,6 @@ OnTouch:
end;
OnInit:
if (getbattleflag("feature.bgqueue"))
bg_unbook "bat_c01";
mapwarp "bat_c01","bat_room",154,150;
setwall "bat_c01",54,122,6,7,0,"batc01wall_a";
setwall "bat_c01",55,122,5,7,0,"batc01wall_b";
setwall "bat_c01",140,56,6,7,0,"batc01wall_c";

View File

@@ -111,9 +111,6 @@ OnTouch:
end;
OnInit:
if (getbattleflag("feature.bgqueue"))
bg_unbook "bat_c02";
mapwarp "bat_c02","bat_room",154,150;
setwall "bat_c02",54,122,6,7,0,"batc02wall_a";
setwall "bat_c02",55,122,5,7,0,"batc02wall_b";
setwall "bat_c02",140,56,6,7,0,"batc02wall_c";

View File

@@ -111,9 +111,6 @@ OnTouch:
end;
OnInit:
if (getbattleflag("feature.bgqueue"))
bg_unbook "bat_c03";
mapwarp "bat_c03","bat_room",154,150;
setwall "bat_c03",54,122,6,7,0,"batc03wall_a";
setwall "bat_c03",55,122,5,7,0,"batc03wall_b";
setwall "bat_c03",140,56,6,7,0,"batc03wall_c";

View File

@@ -98,8 +98,6 @@ bat_room,57,211,0 warp back_bgrooma01b 1,1,bat_room,154,150
//============================================================
bat_a01,15,15,3 script start#bat_a01 844,{
OnInit:
if (getbattleflag("feature.bgqueue"))
bg_unbook "bat_a01";
mapwarp "bat_a01","bat_room",154,150;
end;

View File

@@ -98,8 +98,6 @@ bat_room,113,211,0 warp back_bgrooma02b 1,1,bat_room,154,150
//============================================================
bat_a02,15,15,3 script start#bat_a02 844,{
OnInit:
if (getbattleflag("feature.bgqueue"))
bg_unbook "bat_a02";
mapwarp "bat_a02","bat_room",154,150;
end;

View File

@@ -288,7 +288,7 @@ prt_sewb1,120,245,6 script Sewer Management Knight 705,{
if (three_qset == 3) goto N_QuestStart;
if (seven_qset == 3) goto N_QuestStart2;
mes "[Sewer Management]";
mes "Live doesn't get any worse for me, working in this bug filled Culvert every day...";
mes "Live dosent get any worse for me,working in the bug filled Culvert every day...";
close;
N_QuestComp:
mes "[Sewer Management]";

View File

@@ -263,7 +263,6 @@ payon_in02,54,13,3 script Master Kavaruk 1_M_JOBTESTER,{
mes "[Master Kavaruk]";
mes "If you're interested, it would probably be best to speak to the Alchemist Guild member who is waiting to hear from us at the ^3131FFshop next to the road south of Icarus^000000.";
tu_archer02 = 1;
close;
} else if(tu_archer02 == 1){
mes "Hmmm...";
mes "..........";
@@ -288,13 +287,11 @@ payon_in02,54,13,3 script Master Kavaruk 1_M_JOBTESTER,{
mes "Please find out if he is all right and help him with whatever he";
mes "may need. In the meantime, I will be waiting to hear from you. Thank you very much.";
tu_archer02 = 2;
close;
} else if(tu_archer02 == 2){
mes "Find Arthail";
mes "of the Wind for me.";
mes "He must be somewhere";
mes "in Prontera...";
close;
} else if(tu_archer02 == 9){
mes "Hmmm, I see. Thank you";
mes "for bringing me the news. As Arthail has said, I shall wait until he has more news for me.";
@@ -304,8 +301,8 @@ payon_in02,54,13,3 script Master Kavaruk 1_M_JOBTESTER,{
getexp 1000,1000;
else
getexp 2000,1000;
close;
}
close;
}
mes "I don't know...";
mes "Recently, I haven't heard any noteworthy news. For now, the warmth of the sun seems to be protecting the peace here.";

View File

@@ -3713,7 +3713,6 @@ gonryun,237,226,3 script Han Ran Jiao#gon 776,{
next;
if (BaseLevel >= 20) {
set nakha,1;
setquest 10034;
mes "[Han Ran Jiao]";
mes "I need to go down to get it";
mes "but...the monsters...";
@@ -3760,7 +3759,6 @@ gonryun,237,226,3 script Han Ran Jiao#gon 776,{
next;
if (select("Return the knife.:Refuse.") == 1) {
set nakha,3;
completequest 10035;
delitem 1201,1; //Knife
mes "[Han Ran Jiao]";
mes "Thank you! Thank you so much!";
@@ -3805,7 +3803,6 @@ gon_fild01,245,257,0 script #gonknife 111,3,3,{
OnTouch_:
if (nakha == 1) {
set nakha,2;
changequest 10034,10035;
mes "^3355FFHm? What's this?";
mes " ";
mes "Something was hidden beneath the leaves...^000000";

View File

@@ -206,7 +206,7 @@ function Func_JupHist;
mes "[Fayruz]";
mes "Well, you look";
mes "quite pleased.";
mes "May I ask what";
mes "May I asked what";
mes "happened to put that";
mes "expression on your face?";
next;

View File

@@ -11164,7 +11164,7 @@ airplane_01,96,48,3 script Man#Lyozien 4_M_LGTMAN,{
mes "Oh good, you're back.";
mes "Mr. Ahman just left and";
mes "picked up his goods. We're";
mes "done here, so all you have to";
mes "done here, so you have to";
mes "do now is report to my";
mes "brother in Lighthalzen.";
next;

View File

@@ -2464,7 +2464,7 @@ lou_in02,123,39,4 script Poison King#lou 824,{
case 1:
mes "[Nagash Arses]";
mes "Ah, have you";
mes "heard of this poem?";
mes "head of this poem?";
mes "As I grow older, my";
mes "memory also grows worse,";
mes "but I really like this poem";
@@ -2478,12 +2478,12 @@ lou_in02,123,39,4 script Poison King#lou 824,{
set .@question_poet,rand(1,4);
if (.@question_poet == 1) {
mes "[Nagash Arses]";
mes "'^3355FFAs I lay^000000 [ ] ^3355FFlooking up at the moonlight^000000.' In this first line, what word should be in [ ]?";
mes "'^3355FFAs I lay^000000 ^3355FFlooking up at the moonlight^000000.' In this first line, what word should be in [ ]?";
next;
if (select("on the ground:with you:in bed:in the stars") == 3)
set .@answer_poet,.@answer_poet + 10;
mes "[Nagash Arses]";
mes "'^3355FFIt looks like the^000000 [ ] ^3355FFon the ground^000000.' In the second line, which word should be in [ ]?";
mes "'^3355FFIt looks like the^000000 ^3355FFon the ground^000000.' In the second line, which word should be in [ ]?";
next;
if (select("frost:dew:pebbles:snow") == 1)
set .@answer_poet,.@answer_poet + 10;
@@ -2523,7 +2523,7 @@ lou_in02,123,39,4 script Poison King#lou 824,{
}
else if (.@question_poet == 2) {
mes "[Nagash Arses]";
mes "'^3355FFIt looks like the^000000 [ ] ^3355FFon the ground^000000.' In the second line, which word should be in [ ]?";
mes "'^3355FFIt looks like the^000000 ^3355FFon the ground^000000.' In the second line, which word should be in [ ]?";
next;
if (select("frost:dew:pebbles:snow") == 1)
set .@answer_poet,.@answer_poet + 10;
@@ -2571,7 +2571,7 @@ lou_in02,123,39,4 script Poison King#lou 824,{
}
else if (.@question_poet == 3) {
mes "[Nagash Arses]";
mes "'^3355FFIt looks like the^000000 [ ] ^3355FFon the ground^000000.' In the second line, which word should be in [ ]?";
mes "'^3355FFIt looks like the^000000 ^3355FFon the ground^000000.' In the second line, which word should be in [ ]?";
next;
if (select("frost:dew:pebbles:snow") == 1)
set .@answer_poet,.@answer_poet + 10;
@@ -2617,14 +2617,14 @@ lou_in02,123,39,4 script Poison King#lou 824,{
}
else {
mes "[Nagash Arses]";
mes "'^3355FFIt looks like the^000000 [ ] ^3355FFon the ground^000000.' In the second line,";
mes "'^3355FFIt looks like the^000000 ^3355FFon the ground^000000.' In the second line,";
mes "which word should be in [ ]?";
next;
if (select("frost:dew:pebbles:snow") == 1)
set .@answer_poet,.@answer_poet + 10;
next;
mes "[Nagash Arses]";
mes "'^3355FFI lift my^000000 [ ] ^3355FFto look at the bright moon^000000.' In the third line, which word should be in [ ]?";
mes "'^3355FFI lift my^000000 ^3355FFto look at the bright moon^000000.' In the third line, which word should be in [ ]?";
next;
if (select("eyes:head:gaze:sights") == 2)
set .@answer_poet,.@answer_poet + 10;
@@ -3315,8 +3315,8 @@ lou_in02,123,39,4 script Poison King#lou 824,{
mes "This is a journal that I have been writing for 15 years about my feelings of guilt, and what really happened in the past. I hope you can deliver this to the lord for me.";
next;
mes "^3355FFYou obtained";
mes "^0000FFPoison King";
mes "Nagash Arses' Journal^000000.";
mes "^0000FFPoison King,";
mes "Nagash Arses' Jounal^000000.";
set ch_poison,18;
changequest 11080,11081;
close;

View File

@@ -8356,7 +8356,7 @@ moscovia,166,145,1 script Worried Mother#rus19 4_F_RUSWOMAN3,{
mes "You must have something to protect yourself from Lusalka. '^0000ffHoly Water^000000' will protect you from Lusalka'a gaze.";
next;
mes "[Worried Mother]";
mes "And Lusalka is nocturnal. You should be able to find her from ^ff00005 pm to 6 am PST^000000.";
mes "And Lusalka is noctournal. You should be able to find here from ^ff00005 pm to 6 am PST^000000.";
next;
mes "[Worried Mother]";
mes "Don't forget. You have to bring '^0000ffHoly Water^000000' with you, and find her from ^ff00005 pm to 6 am PST^000000.";
@@ -8374,7 +8374,7 @@ moscovia,166,145,1 script Worried Mother#rus19 4_F_RUSWOMAN3,{
mes "You must have something to protect yourself from Lusalka. '^0000ffHoly Water^000000' will protect you from Lusalka'a gaze.";
next;
mes "[Worried Mother]";
mes "And Lusalka is nocturnal. You should be able to find her from ^ff00005 pm to 6 am PST^000000.";
mes "And Lusalka is noctournal. You should be able to find here from ^ff00005 pm to 6 am PST^000000.";
next;
mes "[Worried Mother]";
mes "Don't forget. You have to bring '^0000ffHoly Water^000000' with you, and find her from ^ff00005 pm to 6 am PST^000000.";

View File

@@ -1,6 +1,12 @@
//===== rAthena Script =======================================
//===== rAthena Script =======================================
//= Nameless Island Quests
//===== Description: =========================================
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 2.4
//===== Compatible With: =====================================
//= rAthena Project
//===== Description: =========================================
//= [Official Conversion]
//= Collection of Nameless Island Quests
//= Nameless Island:
@@ -28,7 +34,7 @@
//= Rogue Guild Investigation Assistance:
//- - Assist the Rogue Guild with their investigations.
//= - Variable in use: rumour_nd (Max: 22)
//===== Changelog: ===========================================
//===== Additional Comments: =================================
//= 1.0 First version. [L0ne_W0lf]
//= 1.1 Made quest accessable to "Failed" Geoborg quest. [L0ne_W0lf]
//= 1.1a Touch up to other Geoborg fail-points. [L0ne_W0lf]
@@ -57,8 +63,7 @@
//= 2.3 Updated RE/Pre-RE EXP. [Euphy]
//= 2.4 Moved Dorian to pre-re/re paths. [Euphy]
//= 2.5 Updated Nameless Island quests and added questlog support. [Euphy]
//= 2.6 Commented custom quest log support for the Nameless Island Quest [Everade]
//============================================================
//============================================================
// Nameless Island and Cursed Monestary Access Quest :: aru_monas
//============================================================
@@ -76,7 +81,7 @@ OnTouch:
mes "Church^000000. Please visit him";
mes "as soon as you can.";
set aru_monas,1;
//setquest 17000;
setquest 17000;
close2;
hideonnpc "Agent#pc1";
}
@@ -191,7 +196,7 @@ cmd_in02,111,52,3 script Ordinary Man#pc2 97,{
mes "Arunafeltz so I wasn't able";
mes "to investigate any further.";
set aru_monas,4;
//changequest 17001,17002;
changequest 17001,17002;
close;
}
else {
@@ -432,7 +437,7 @@ OnTouch:
mes "like it! It's almost like";
mes "a dessert. God, it's good!";
set aru_monas,8;
//changequest 17003,17004;
changequest 17003,17004;
if (Zeny > 3000) {
set Zeny, Zeny-3000;
getitem 12052,4; //Vit_Dish02
@@ -469,7 +474,7 @@ ve_in,78,314,5 script Magistrate#Aru 945,{
mes "comfortable talking to complete";
mes "strangers about my problems.";
set aru_monas,9;
//changequest 17004,17005;
changequest 17004,17005;
close;
}
else if (aru_monas == 9) {
@@ -513,7 +518,7 @@ ve_in,78,314,5 script Magistrate#Aru 945,{
mes "Oh, and you're prohibited";
mes "asking anyone else, so behave.";
set aru_monas,11;
//changequest 17006,17007;
changequest 17006,17007;
close;
}
else if (aru_monas < 13) {
@@ -609,7 +614,7 @@ ve_in,78,314,5 script Magistrate#Aru 945,{
mes "smugglers again? I don't";
mes "know what's going on...";
set aru_monas,14;
//changequest 17009,17010;
changequest 17009,17010;
next;
mes "[Al Hamad]";
mes "Even if I could make headway";
@@ -679,7 +684,7 @@ ve_in,81,296,3 script Soldier#Aru 946,{
mes "interrogating the smugglers.";
mes "I'm not sure if he did since the smugglers were taken away.";
set aru_monas,10;
//changequest 17005,17006;
changequest 17005,17006;
close;
}
else if (aru_monas == 10) {
@@ -721,7 +726,7 @@ ve_in,239,115,0 script Drunkard#Aru 943,{
mes "He thought he saw a ^DBDB70ghost^000000!";
mes "Bwah hah hah! Oooog... Hey...";
set aru_monas,15;
//changequest 17010,17011;
changequest 17010,17011;
next;
mes "["+strcharinfo(0)+"]";
mes "That's right!";
@@ -832,7 +837,7 @@ ve_fild07,125,128,0 script Boat#Aru 111,{
mes "this will probably be";
mes "a pretty rocky ride...";
set aru_monas,17;
//changequest 17012,17013;
changequest 17012,17013;
close2;
hideonnpc "Secret Agent#Aru";
warp "nameless_i",257,217;
@@ -900,7 +905,7 @@ ve_fild07,128,130,1 script Secret Agent#Aru 97,{
mes "this will probably be";
mes "a pretty rocky ride...";
set aru_monas,17;
//changequest 17012,17013;
changequest 17012,17013;
close2;
hideonnpc "Secret Agent#Aru";
warp "nameless_i",257,217;
@@ -1179,7 +1184,7 @@ OnTouch:
mes "for you in the boat. Learn";
mes "what you need to learn, and then come back safe, "+strcharinfo(0)+".";
set aru_monas,21;
//changequest 17013,17014;
changequest 17013,17014;
close2;
hideonnpc "Larjes#Monastery2";
}
@@ -1292,7 +1297,7 @@ nameless_n,259,218,3 script Larjes#Boat1 97,{
mes "going... This is huge!";
delitem 7726,1; //Token_Of_King
set aru_monas,25;
//changequest 17016,17017;
changequest 17016,17017;
getexp (checkre(3))?100000:1000000,0;
close;
}
@@ -1339,7 +1344,7 @@ abbey02,224,70,0 script Books#Mona1 111,{
next;
if(select("Examine Book:Ignore")==1) {
set aru_monas,22;
//changequest 17014,17015;
changequest 17014,17015;
getitem 7755,1; // Reasearch_Note
readbook 7755,1;
close;
@@ -1438,7 +1443,7 @@ abbey03,232,232,4 script Dead Man#King 956,{
mes "this man is...!";
set aru_monas,24;
getitem 7726,1; //Token_of_King
//changequest 17015,17016;
changequest 17015,17016;
hideonnpc "Dead Man#King";
hideoffnpc "Man#King";
stopnpctimer;
@@ -1597,7 +1602,7 @@ ra_temple,165,57,5 script Niren#ss 915,{
mes "were too preoccupied";
mes "with other matters. In fact,";
mes "I haven't gotten the chance";
mes "to think of what to do with him...";
mes "to think of what do with him...";
next;
mes "[Niren]";
mes "I want to ask you to";
@@ -1639,7 +1644,7 @@ ra_temple,165,57,5 script Niren#ss 915,{
mes "come back and tell me if";
mes "you learn anything there.";
set aru_monas,13;
//changequest 17008,17009;
changequest 17008,17009;
next;
mes "[Niren]";
mes "I'll send a message to the";
@@ -1707,7 +1712,7 @@ ra_temple,165,57,5 script Niren#ss 915,{
mes "comes from that place.";
delitem 7755,1; //Research_Note
set aru_monas,26;
//completequest 17017;
completequest 17017;
getexp (checkre(3))?50000:500000,0;
close2;
}
@@ -3208,7 +3213,7 @@ OnTimer53000:
que_temsky,99,7,0 warp quetemskyout 1,1,ra_temin,276,231
// Muff's Loan :: zdan_total_edq
//============================================================
//============================================================
comodo,224,187,3 script Muff 86,{
if (checkweight(907,200) == 0) {
mes "[Muff]";
@@ -4653,7 +4658,7 @@ OnTouch:
}
// Broken Diamond
//============================================================
//============================================================
moc_ruins,152,147,5 script Ibrahim 732,3,3,{
if (checkweight(907,200) == 0) {
mes "[Ibrahim]";
@@ -6382,7 +6387,7 @@ OnInit:
}
// Z-Gang Quest
//============================================================
//============================================================
prontera,150,326,0 script Wanted Notice#edq 111,{
if (zdan_edq == 0) {
mes "====National Wanted Notice====";
@@ -9015,7 +9020,7 @@ OnInit:
}
// Unlucky Emerald
//============================================================
//============================================================
morocc,143,63,3 script Ragged Man#nd 929,{
if (treasure_nd == 0) {
mes "[Ragged Man]";
@@ -11405,7 +11410,7 @@ OnTouch:
}
// Rogue Guild Investigation
//============================================================
//============================================================
prontera,163,204,3 script Man from Morocc 99,{
if (rumour_nd == 0) {
mes "[Morocc Traveler]";

View File

@@ -15,7 +15,7 @@
//= Geoborg Family Curse:
//= - [Official Conversion]
//= - Variable in use: prt_curse (max 61)
//===== Changelog: ===========================================
//===== Changelogs: ==========================================
//= 1.0 First Version. [kobra_k88] [L0ne_W0lf]
//= Fixed flower name Dreamy -> Illusion
//= 1.2 Fixed exploit [Lupus]
@@ -44,7 +44,6 @@
//= 2.7 Corrected 'IProntera' typo. (bugreport:4522) [L0ne_W0lf]
//= 2.8 Updated RE/Pre-RE EXP. [Euphy]
//= 2.9 Updated Nameless Island addition and added questlog support. [Euphy]
//= 3.0 Commented custom quest log support for Geoborg Family Curse Quest [Everade]
//============================================================
// Prontera Culvert :: prt_npc
@@ -561,7 +560,7 @@ S_GetBooks:
mes "thanks for doing this for me.";
mes "I was really at my wit's end...";
set prt_curse,3;
//setquest 18030;// custom addition to make the script consistent
setquest 18030;// custom addition to make the script consistent
getitem 7431,1; //Books
close;
}
@@ -861,7 +860,7 @@ yuno,311,195,3 script Historian#prt01 754,{
mes "somewhere in that desert town.";
set prt_curse,6;
getitem 7342,1; //File01
//changequest 18030,18031;// custom addition to make the script consistent
changequest 18030,18031;// custom addition to make the script consistent
close;
}
else if (prt_curse == 6) {
@@ -1252,10 +1251,10 @@ morocc_in,45,126,3 script Historian#prt02 702,{
mes "back to the priests...)^000000";
if (prt_curse == 30) {
set prt_curse,31;
//changequest 18042,18044;
changequest 18042,18044;
} else {
set prt_curse,60;
//changequest 18051,18052;
changequest 18051,18052;
}
close;
}
@@ -1283,10 +1282,10 @@ morocc_in,45,126,3 script Historian#prt02 702,{
mes "to return to Father Bamph.^000000";
if (prt_curse == 30) {
set prt_curse,40;
//changequest 18042,18045;
changequest 18042,18045;
} else {
set prt_curse,56;
//completequest 18051;
completequest 18051;
}
close;
}
@@ -1362,7 +1361,7 @@ S_GiveName:
mes "for the sake of my research...";
if (getarg(0) == 1) delitem 7342,1; //File01
set prt_curse,8;
//changequest 18031,18032;
changequest 18031,18032;
close;
}
@@ -1501,7 +1500,7 @@ mjolnir_01,135,168,3 script Historian#prt03 754,{
mes "for. Good luck in your";
mes "travels, adventurer.";
set prt_curse,11;
//changequest 18032,18033;
changequest 18032,18033;
close;
}
else {
@@ -1944,7 +1943,7 @@ mjolnir_01,316,268,3 script Exhausted-Looking Woman 879,{
mes "before I talk to Rodafrian.)^000000";
getitem 7432,1; //Leather_Pouch
set prt_curse,13;
//changequest 18033,18034;
changequest 18033,18034;
close;
}
else if (prt_curse > 12 && prt_curse < 16) {
@@ -2043,7 +2042,7 @@ mjolnir_01,316,268,3 script Exhausted-Looking Woman 879,{
mes "and let Father Bamph";
mes "know about this information.)^000000";
set prt_curse,17;
//changequest 18035,18036;
changequest 18035,18036;
close;
}
else if (prt_curse == 17) {
@@ -2120,17 +2119,17 @@ mjolnir_01,316,268,3 script Exhausted-Looking Woman 879,{
mes "Thank you, kind adventurer~";
if (prt_curse == 35) {
set prt_curse,36;
//completequest 18050;
completequest 18050;
} else if (prt_curse == 44) {
set prt_curse,45;
//completequest 18049;
completequest 18049;
} else {
next;
mes "^3355FFNow, you can return to";
mes "Rodafrian, the historian";
mes "stationed in Morocc.^000000";
set prt_curse,55;
//changequest 18049,18051;
changequest 18049,18051;
}
close;
@@ -2457,7 +2456,7 @@ prt_church,185,106,3 script Father Bamph 60,{
mes "remember anything that happened";
mes "after the exorcism failed...";
set prt_curse,16;
//changequest 18034,18035;
changequest 18034,18035;
close;
}
else if (prt_curse == 16) {
@@ -2498,7 +2497,7 @@ prt_church,185,106,3 script Father Bamph 60,{
mes "within the bookshelf and";
mes "I will meet you there.";
set prt_curse,18;
//changequest 18036,18037;
changequest 18036,18037;
close;
}
else if (prt_curse > 17 && prt_curse < 22) {
@@ -2535,7 +2534,7 @@ prt_church,185,106,3 script Father Bamph 60,{
mes "we can verify whether poison";
mes "was used to kill the princes?";
set prt_curse,23;
//changequest 18039,18040;
changequest 18039,18040;
close;
}
else if (prt_curse == 23) {
@@ -2569,7 +2568,7 @@ prt_church,185,106,3 script Father Bamph 60,{
mes "to the secret ceremonial grounds as soon as you can? I will wait";
mes "over there for you once again.";
set prt_curse,32;
//changequest 18044,18046;
changequest 18044,18046;
close;
}
else if (prt_curse == 32 || prt_curse == 33 || prt_curse == 41 || prt_curse == 42 || prt_curse == 51 || prt_curse == 52) {
@@ -2610,7 +2609,7 @@ prt_church,185,106,3 script Father Bamph 60,{
mes "you for all of your help. I'm very grateful for what you have done,";
mes "adventurer. May safety accompany you on all of your journeys.";
set prt_curse,35;
//changequest 18047,18050;
changequest 18047,18050;
close;
}
else if (prt_curse > 34 && prt_curse < 40 && !aru_monas) {
@@ -2643,7 +2642,7 @@ prt_church,185,106,3 script Father Bamph 60,{
mes "to the secret ceremonial grounds as soon as you can? I will wait";
mes "over there for you once again.";
set prt_curse,41;
//changequest 18045,18046;
changequest 18045,18046;
close;
}
else if (prt_curse == 43 || prt_curse == 53) {
@@ -2685,7 +2684,7 @@ prt_church,185,106,3 script Father Bamph 60,{
set prt_curse,44;
else
set prt_curse,54;
//changequest 18047,18049;
changequest 18047,18049;
getexp (checkre(3))?90000:1600000,0;
close;
}
@@ -2721,7 +2720,7 @@ prt_church,185,106,3 script Father Bamph 60,{
mes "to the secret ceremonial grounds as soon as you can? I will wait";
mes "over there for you once again.";
set prt_curse,51;
//changequest 18043,18046;
changequest 18043,18046;
close;
}
else if (prt_curse == 60) {
@@ -2776,7 +2775,7 @@ prt_church,185,106,3 script Father Bamph 60,{
mes "secret ceremonial grounds";
mes "from now on. Thanks again for your help, "+strcharinfo(0)+".";
set prt_curse,61;
//completequest 18052;
completequest 18052;
close;
}
else {
@@ -2820,7 +2819,7 @@ prt_church,185,106,3 script Father Bamph 60,{
mes "and he will assist you in your";
mes "search for the lost official.";
set aru_monas,2;
//changequest 17000,17001;
changequest 17000,17001;
close;
}
else if (aru_monas == 2 || aru_monas == 3) {
@@ -2895,7 +2894,7 @@ prt_church,185,106,3 script Father Bamph 60,{
mes "Thank you, and good luck.";
set aru_monas,6;
set Zeny, Zeny + (checkre(0)?5000:1500);
//changequest 17002,17003;
changequest 17002,17003;
close;
}
else {
@@ -3011,7 +3010,8 @@ prt_church,184,110,3 script Father Biscuss 60,{
mes "Church, I want to thank";
mes "you for all of your help.";
set prt_curse,36;
//completequest 18050;
// completequest 18048;
completequest 18050;
getexp (checkre(3))?90000:1600000,0;
close;
}
@@ -3170,7 +3170,7 @@ prt_church,19,111,5 script #prince1 887,{
mes "note that the mark resembles";
mes "the scales of a serpent.^000000";
set prt_curse,20;
//changequest 18037,18038;
changequest 18037,18038;
close;
}
else if (prt_curse == 33 || prt_curse > 41 && prt_curse < 51 || prt_curse == 52) {
@@ -3231,7 +3231,7 @@ prt_church,21,111,5 script #prince2 887,{
mes "involved. Let's go check";
mes "the body of the third prince.";
set prt_curse,21;
//changequest 18038,18039;
changequest 18038,18039;
close;
}
else if (prt_curse == 33 || prt_curse > 41 && prt_curse < 51 || prt_curse == 52) {
@@ -3342,7 +3342,7 @@ prt_church,24,111,5 script #prince3 887,{
if (prt_curse == 32) set prt_curse,33;
else if (prt_curse == 41) set prt_curse,42;
else set prt_curse,52;
//changequest 18046,18047;
changequest 18046,18047;
close;
}
mes "^3355FFYou'll need to have";
@@ -3402,7 +3402,7 @@ moc_fild16,201,295,5 script Assassin Guildsman#poiso 884,{
mes "in Morocc. Go find someone";
mes "named ^3131FFMarjana^000000 inside.";
set prt_curse,24;
//changequest 18040,18041;
changequest 18040,18041;
close;
}
mes "[Assassin Guildsman]";
@@ -3589,7 +3589,7 @@ OnTouch:
mes "Father Bamph, so I guess";
mes "that I'll go talk to her first.";
set prt_curse,30;
//changequest 18041,18042;
changequest 18041,18042;
close;
}
mes "["+strcharinfo(0)+"]";
@@ -3599,7 +3599,7 @@ OnTouch:
mes "bodies. I better head over";
mes "to Prontera right away.";
set prt_curse,50;
//changequest 18041,18043;
changequest 18041,18043;
close;
}
}

View File

@@ -1,6 +1,12 @@
//===== rAthena Script =======================================
//===== rAthena Script =======================================
//= Veins Quests
//===== Description: =========================================
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 2.5
//===== Compatible With: =====================================
//= rAthena Project
//===== Description: =========================================
//= [Official Conversion]
//= Collection of Veins Quests
//= Stone Quest:
@@ -19,7 +25,7 @@
//= - Missing addition to High Priest Zhed to start quest.
//= - Infiltrate Thor Volcano Base. What is Arunafeltz up to?
//= - Variable in use: rachel_camel (max 27)
//===== Changelog: =========================================
//===== Additional Comments: =================================
//= 1.0 First version, Added Veins Stone quest. [L0ne_W0lf]
//= 1.1 Added Veins Spy Quest. [L0ne_W0lf]
//= 1.2 Added Veins Siblings Quest. [L0ne_W0lf]
@@ -42,12 +48,11 @@
//= 2.2 Moved "Wincing Old Man" to pre-re/re coordinates. [Euphy]
//= 2.3 Fixed incorrect use of 'close'. [Joseph]
//= 2.4 Updated RE/Pre-RE EXP. [Euphy]
//= 2.5 Added GM management NPC and quest log support. [Euphy]
//= 2.6 Commented custom quest log support for Nameless Island Access Quest [Everade]
//============================================================
//= 2.5 Added GM management NPC. [Euphy]
//============================================================
// Stone Quest :: veins_stone
//============================================================
//============================================================
- script ::WincingOldMan_veins -1,{
if ((MaxWeight - Weight) < 2000 || checkweight(1201,1) == 0) {
mes "- Wait a moment! -";
@@ -639,7 +644,7 @@ ve_in02,68,39,7 script Factory Worker#ve2 943,{
}
// Spy Quest :: veins_secret
//============================================================
//============================================================
prontera,202,122,0 script Kid#sch 703,{
if (que_sch == 0) {
mes "[Rooney]";
@@ -2660,7 +2665,7 @@ sec_in02,10,43,4 script Extra Story Patch 809,{
}
// Siblings Quest :: veins_camel
//============================================================
//============================================================
veins,327,185,3 script Kid#camelcamel 944,{
if (MISC_QUEST & 8192) {
if (rachel_camel == 0) {
@@ -3142,7 +3147,7 @@ veins,327,185,3 script Kid#camelcamel 944,{
mes "I'm happy that";
mes "I can help you too!";
set aru_monas,16;
//changequest 17011,17012;
changequest 17011,17012;
close;
}
else if (aru_monas < 26) {
@@ -5069,7 +5074,7 @@ veins,221,120,5 script Young Town Native 943,{
}
// Thor Volcano Base Quest :: veins_camp
//============================================================
//============================================================
ra_temin,87,133,1 script Rachel Guard#vol1 934,5,2,{
if (aru_vol == 2) {
mes "[Guard Karlum]";

File diff suppressed because it is too large Load Diff

View File

@@ -31,23 +31,23 @@ ecl_in02,164,56,3 script Receptionist#Laphine 835,{
next;
switch (select("Save Location:Rest:Finish the conversation")) {
case 1:
mes "[Receptionist]";
mes "[Receptionist}";
mes "Clinic has been set as your save point. Be careful though~";
savepoint "ecl_in02",162,50,1,1;
close;
case 2:
mes "[Receptionist]";
mes "[Receptionist}";
mes "Restore your mind and body at our clinic. It's filled with Eclage's clean energy.";
mes "We charge 1 Splendide Coin normally, but we offer a special discount for travelers. Your total is 5,000 zeny. ";
next;
switch (select("Pay with Splendide Coin:Pay with Zeny:Forget it")) {
case 1:
if (!countitem(6081)) {
mes "[Receptionist]";
mes "[Receptionist}";
mes "It seems like you don't have enough coins. Would you check your account again, please?";
close;
}
mes "[Receptionist]";
mes "[Receptionist}";
mes "Make yourself at home~";
close2;
delitem 6081,1; //6081
@@ -60,7 +60,7 @@ ecl_in02,164,56,3 script Receptionist#Laphine 835,{
mes "Looks like you don't have enough resources to proceed. Do you mind checking your account again?";
close;
}
mes "[Receptionist]";
mes "[Receptionist}";
mes "Make yourself at home~";
close2;
Zeny = Zeny - 5000;

File diff suppressed because it is too large Load Diff

View File

@@ -1,712 +0,0 @@
//===== rAthena Script =======================================
//= OS Occupation Operation
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Episode 17.1 - OS Occupation Operation
//= 2nd OS Search
//===== Changelog: ===========================================
//= 1.0 Initial release [crazyarashi]
//= 1.1 Optimizations and cleanup [Everade]
//============================================================
1@os_a,1,1,0 script #os_occupation_control HIDDEN_WARP_NPC,{
end;
OnInstanceInit:
'map$ = instance_mapname("1@os_a");
for (.@i = 1; .@i < 26; .@i++)
disablenpc instance_npcname("#ocp_rebel_" + .@i);
hideonnpc instance_npcname("Est#171_ocp_0");
disablenpc instance_npcname("#171_ocp_dev_0");
disablenpc instance_npcname("#171_ocp_dev_1");
disablenpc instance_npcname("#171_ocp_wrp_0");
disablenpc instance_npcname("#171_ocp_wrp_1");
disablenpc instance_npcname("#171_ocp_wrp_2");
disablenpc instance_npcname("#171_ocp_miguel");
disablenpc instance_npcname("Est#171_ocp_1");
disablenpc instance_npcname("Operation Officer#171_osd");
end;
OnStory01:
donpcevent instance_npcname("#171_ocp_mob") + "::OnPoisonStory";
for (.@i = 1; .@i < 26; .@i++)
enablenpc instance_npcname("#ocp_rebel_" + .@i);
enablenpc instance_npcname("#171_ocp_dev_0");
sleep2 1000;
hideoffnpc instance_npcname("Est#171_ocp_0");
doevent instance_npcname("Est#171_ocp_0") + "::OnEvent";
end;
OnStory02:
for (.@i = 1; .@i < 26; .@i++)
hideonnpc instance_npcname("#ocp_rebel_" + .@i);
disablenpc instance_npcname("Est#171_ocp_0");
sleep2 3000;
donpcevent instance_npcname("#171_ocp_mob") + "::OnSummonStory01";
doevent instance_npcname("#171_ocp_dev_0") + "::OnEvent01";
end;
OnStory03:
enablenpc instance_npcname("#171_ocp_dev_1");
for (.@i = 1; .@i < 26; .@i++)
disablenpc instance_npcname("#ocp_rebel_" + .@i);
end;
OnDaily01:
'osd = 1;
donpcevent instance_npcname("#171_ocp_mob") + "::OnSummon";
donpcevent instance_npcname("#171_ocp_mob") + "::OnPoisonDaily";
end;
}
1@os_a,30,352,0 script #os_occupation_ev_0 HIDDEN_WARP_NPC,4,4,{
end;
OnTouch:
if (!is_party_leader())
end;
disablenpc();
disablenpc instance_npcname("#os_occupation_ev_1");
doevent instance_npcname("#os_occupation_control") + "::OnStory01";
end;
}
1@os_a,335,34,0 script #os_occupation_ev_1 HIDDEN_WARP_NPC,4,4,{
end;
OnTouch:
if (!is_party_leader())
end;
disablenpc();
disablenpc instance_npcname("#os_occupation_ev_0");
doevent instance_npcname("#os_occupation_control") + "::OnDaily01";
disablenpc instance_npcname("Est#171_ocp_0");
end;
}
1@os_a,30,360,3 script Est#171_ocp_0 4_F_ESTLOVELOY,{
cutin "ep162_est01",2;
mes "[Est]";
mes "Focus on the briefing.";
close3;
OnEvent:
sleep2 3000;
npctalk "Est : I have confirmed that there's biogas spreading at the front and it's currently under treatment.";
sleep2 5000;
npctalk "Est : If you get too close, you'll die immediately, so don't move until the treatment is finished...";
sleep2 5000;
npctalk "Est : First, we need to establish bases here. We don't know how many individuals are lurking around.";
sleep2 5000;
npctalk "Est : There isn't much information, so it's our duty to create those information. From now on, we'll split into 3 groups and subdue this place.";
sleep2 5000;
npctalk "Est : Alpha Team, start searching around the southern waterway.";
sleep2 5000;
npctalk "Est : Bravo Team, you will be sweeping with me before the eastern boundary.";
sleep2 5000;
npctalk "Est : The Echo team is in charge of backups under the command of " + strcharinfo(0) + ". You will block this place and prevent individuals from going outside.";
sleep2 5000;
npctalk "Est : We shouldn't have situations where we'll ask for support, but if such situation occurs, the Echo team will be called.";
sleep2 5000;
mapannounce 'map$,"Chemical Treatment Unit : The biogas facilities locked has been completed. The residual gas will continue for the next few minutes.",bc_map,0xFFCC00;
sleep2 5000;
npctalk "Est : It's time. We're moving. " + strcharinfo(0) + "'s unit is a support team, wait here and respond to communications.";
sleep2 5000;
doevent instance_npcname("#os_occupation_control") + "::OnStory02";
end;
}
1@os_a,29,360,3 script #171_ocp_dev_0 4_SCR_MT_ROBOTS,{
if ('ocp >= 5) {
mes "## Received Message ##";
mes "## Team Alpha's last communication was at Oscar Sierra 52 177 ##";
navigateto("1@os_a",52,177);
close;
}
switch ('ocp) {
case 1:
mes "## Enter Message Input ##";
next;
setarray .@input$,
"Engaging with mutants on north.","Engaging with small mutants.","Ah~! I want to go home!";
.@menu$ = implode(.@input$,":");
.@s = select(.@menu$) - 1;
'ocp = 2;
mapannounce 'map$,strcharinfo(0) + " : " + .@input$[.@s],bc_map,0xEE66EE;
doevent instance_npcname(strnpcinfo(0)) + "::OnEvent02";
close;
case 3:
mes "## Enter Message Input ##";
next;
setarray .@input$,
"Echo is fighting too. Requesting for support.","There was an engagement, but it's over.","Save me!";
.@menu$ = implode(.@input$,":");
.@s = select(.@menu$) - 1;
'ocp = 4;
mapannounce 'map$,strcharinfo(0) + " : " + .@input$[.@s],bc_map,0xEE66EE;
doevent instance_npcname(strnpcinfo(0)) + "::OnEvent03";
close;
default:
mes "## No Communication Status ##";
close;
}
end;
OnEvent01:
mapannounce 'map$,"Alpha : Alpha is approaching south. We found a number of mutants heading north towards Echo.",bc_map,0xCCCC00;
sleep2 6000;
mapannounce 'map$,"Est : Reception sensitivity is good, Echo prepare for response, and report when anything occurs.",bc_map,0x00EEEE;
sleep2 6000;
mapannounce 'map$,"Alpha : Alpha found a number of mutants on southern drainage. We're going to engage in battle.",bc_map,0xCCCC00;
sleep2 9000;
mapannounce 'map$,"Est : ---Roger.",bc_map,0x00EEEE;
sleep2 3000;
mapannounce 'map$,"Est : Alpha, send a transmission after you're done with the engagement.",bc_map,0x00EEEE;
sleep2 6000;
mapannounce 'map$,"Alpha : The drainage channel is now clear of mutants. Residual biological experiments were confirmed. We are preparing for the second engagement.",bc_map,0xCCCC00;
sleep2 6000;
mapannounce 'map$,"Est : Alpha, roger. Echo, status report.",bc_map,0x00EEEE;
sleep2 3000;
mapannounce 'map$,"Est : " + strcharinfo(0) + "!! Response your current situation!!",bc_map,0x00EEEE;
'ocp = 1;
specialeffect EF_BIG_PORTAL;
end;
OnEvent02:
sleep2 3000;
mapannounce 'map$,"Est : Echo's reception is not smooth. Re-transmit the message.",bc_map,0x00EEEE;
sleep2 10000;
mapannounce 'map$,"Alpha : It's an ambush! Current coordinates are are Oscar Sierra 9...@$%**!",bc_map,0xCCCC00;
sleep2 6000;
mapannounce 'map$,"Est : Alpha retransmit your coordinates. Alpha!!! Please respond!!.",bc_map,0x00EEEE;
sleep2 6000;
mapannounce 'map$,"Alpha : ---- Tchhhhhhh ----",bc_map,0xCCCC00;
sleep2 6000;
mapannounce 'map$,"Est : Damn!... Echo, check if you can get support to Alpha's coordinates.",bc_map,0xCCCC00;
sleep2 3000;
mapannounce 'map$,"Est : " + strcharinfo(0) + "! Check Alpha's coordinates if it's available!",bc_map,0x00EEEE;
'ocp = 3;
specialeffect EF_BIG_PORTAL;
end;
OnEvent03:
sleep2 6000;
mapannounce 'map$,"?????? : This is Foxtrot. Ground artillery support has been prepared. Please send the coordinates that needs support.",bc_map,0x00FF44;
sleep2 6000;
mapannounce 'map$,"Est : Alpha is unresponsive. " + strcharinfo(0) + " please support them. The coordinates are Oscar Sierra 32 356",bc_map,0x00EEEE;
sleep2 6000;
specialeffect EF_CLOUD4,AREA,instance_npcname("#ocp_rebel_5");
mapannounce 'map$,"?????? : Foxtrot reporting, coordinates received. Please be careful to hit only the mutants.",bc_map,0x00FF44;
sleep2 6000;
mapannounce 'map$,"?????? : In 3 seconds, the mutant only ground artillery will be sent on the side of Echo.",bc_map,0x00FF44;
sleep2 3000;
for (.@i = 1; .@i < 26; .@i++) {
specialeffect EF_METEORSTORM,AREA,instance_npcname("#ocp_rebel_" + .@i);
killmonster 'map$,instance_npcname("#171_ocp_mob")+"::OnStoryKill";
sleep2 300;
}
killmonster 'map$,instance_npcname("#171_ocp_mob")+"::OnPoisonKill";
sleep2 1000;
mapannounce 'map$,"?????? : Echo-coordinates mutant artillery support is complete.",bc_map,0x00FF44;
sleep2 6000;
mapannounce 'map$,"Est : Engagement on our side has ended.",bc_map,0x00EEEE;
sleep2 6000;
mapannounce 'map$,"Est : I will send the estimated coordinates of their last contact point using the radio. Please send support after getting the information on the radio.",bc_map,0x00EEEE;
sleep2 3000;
'ocp = 5;
specialeffect EF_BIG_PORTAL;
donpcevent instance_npcname("#os_occupation_control") + "::OnStory03";
end;
}
1@os_a,52,177,3 script #171_ocp_dev_1 4_SCR_MT_ROBOTS,3,3,{
if ('ocp == 5) {
mes "## Send Message Input ##";
next;
select("There is no trace of alpha. Only the radio.");
'ocp = 6;
mapannounce 'map$,strcharinfo(0) + " : There is no trace of alpha. Only the radio is here.",bc_map,0xEE66EE;
sleep2 4000;
mapannounce 'map$,"Est : " + strcharinfo(0) + ". Please look around if there are any traces left.",bc_map,0x00EEEE;
sleep2 3000;
select("Nothing in particular.");
mapannounce 'map$,strcharinfo(0) + " : Nothing in particular.",bc_map,0xEE66EE;
sleep2 3000;
mapannounce 'map$,"Est : Bravo has completed the search on the east side.",bc_map,0x00EEEE;
sleep2 4000;
mapannounce 'map$,"Est : We are going to move south. I'll transmit the new coordinates. Please prepare yourselves for an engagement.",bc_map,0x00EEEE;
mes "## Coordinates Received ##";
enablenpc instance_npcname("#171_ocp_wrp_0");
hideonnpc instance_npcname("#171_ocp_wrp_0");
donpcevent instance_npcname("#171_ocp_wrp_0") + "::OnMobSpawn";
initnpctimer instance_npcname("#171_ocp_wrp_0");
}
navigateto("1@os_a",84,256);
end;
OnTouch:
if ('ocp == 5)
npctalk "Est : " + strcharinfo(0) + " can you hear me? If you can, please respond.";
end;
}
1@os_a,84,256,5 script #171_ocp_wrp_0 4_ENERGY_BLUE,4,4,{
end;
OnTouch:
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnMobKill";
if (getd("'" + strnpcinfo(2)) && !mobcount('map$,.@event$)) {
disablenpc();
.@id = atoi(replacestr(strnpcinfo(2),"171_ocp_wrp_",""));
if (.@id < 2) {
enablenpc instance_npcname("#171_ocp_wrp_" + (.@id + 1));
hideonnpc instance_npcname("#171_ocp_wrp_" + (.@id + 1));
donpcevent instance_npcname("#171_ocp_wrp_" + (.@id + 1)) + "::OnSummon";
}else
donpcevent instance_npcname("#171_ocp_wrp_2") + "::OnBossSummon";
switch (.@id) {
case 0:
monster 'map$,144,275,"",2536,1,instance_npcname("#171_ocp_mob") + "::OnPoisonKill";
navigateto("1@os_a",163,266);
mapannounce 'map$,"Est : " + strcharinfo(0) + ", can you hear me?",bc_map,0x00EEEE;
sleep2 3000;
mapannounce 'map$,"Est : I transmitted the second search coordinates. Be careful not to lose your records.",bc_map,0x00EEEE;
sleep2 6000;
mapannounce 'map$,"Est : " + strcharinfo(0) + ", check if there are any traces around there.",bc_map,0x00EEEE;
initnpctimer instance_npcname("#171_ocp_wrp_1");
sleep2 3000;
mapannounce 'map$,strcharinfo(0) + " : I have found a troop of mutants along the route.",bc_map,0xEE66EE;
sleep2 3000;
mapannounce 'map$,"Est : If you see a mutant who can communicate, immediately capture it. Other than that... You can subdue them all.",bc_map,0x00EEEE;
break;
case 1:
navigateto("1@os_a",138,174);
initnpctimer instance_npcname("#171_ocp_wrp_2");
mapannounce 'map$,"Est : " + strcharinfo(0) + ", are you still alive?",bc_map,0x00EEEE;
sleep2 3000;
mapannounce 'map$,strcharinfo(0) + " : Team Echo is still alive. We are moving towards the southern point.",bc_map,0xEE66EE;
sleep2 3000;
mapannounce 'map$,"Est : Bravo is also moving towards there, we're skipping the eastern point.",bc_map,0x00EEEE;
sleep2 3000;
mapannounce 'map$,strcharinfo(0) + " : I hope that Bravo arrive safely.",bc_map,0xEE66EE;
sleep2 3000;
mapannounce 'map$,"Est : I wish the same for Team Echo.",bc_map,0x00EEEE;
break;
case 2:
navigateto("1@os_a",161,178);
mapannounce 'map$,"???? : Grrr...",bc_map,0xFF9999;
}
}
end;
OnMobSpawn:
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnMobKill";
setarray .@xy,63,214,20349,63,230,20349,63,218,20350,63,222,20350,63,226,20350,63,234,20350,63,238,20350,63,242,20350;
for (.@i = 0; .@i < getarraysize(.@xy); .@i += 3)
monster 'map$,.@xy[.@i],.@xy[.@i+1],"Incomplete " + getmonsterinfo(.@xy[.@i+2],MOB_NAME),.@xy[.@i+2],1,.@event$;
end;
OnSummon:
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnMobKill";
.@id = atoi(replacestr(strnpcinfo(2),"171_ocp_wrp_",""));
switch (.@id) {
case 1: setarray .@xy,146,266,20349,166,266,20349,170,266,20349,154,266,20349,126,266,20350,130,266,20350,134,266,20350,138,266,20350,142,266,20350,150,266,20350,158,266,20350,162,266,20350,174,266,20350; break;
case 2: setarray .@xy,151,243,20348,144,216,20349,141,213,20349,137,210,20349,132,207,20349,139,200,20349,146,199,20349,139,196,20349,146,216,20350,141,213,20350,135,213,20350,137,212,20350,143,203,20350,139,209,20350,134,199,20350;
}
for (.@i = 0; .@i < getarraysize(.@xy); .@i += 3)
monster 'map$,.@xy[.@i],.@xy[.@i+1],"Incomplete " + getmonsterinfo(.@xy[.@i+2],MOB_NAME),.@xy[.@i+2],1,.@event$;
end;
OnMobKill:
end;
OnBossSummon:
setarray .@xy,161,178,20347;
.@event$ = instance_npcname("#171_ocp_mob") + "::OnBossKillStory";
monster 'map$,.@xy[.@i],.@xy[.@i+1],"????",.@xy[.@i+2],1,.@event$;
getunitdata $@mobid[0],.@boss_data;
.@DAMAGE = (.@boss_data[UMOB_MAXHP]/10) * 9;
.@HP = (.@boss_data[UMOB_MAXHP] - .@DAMAGE)/2;
setunitdata $@mobid[0],UMOB_HP,.@HP;
end;
OnTimer10000:
stopnpctimer;
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnMobKill";
.@id = atoi(replacestr(strnpcinfo(2),"171_ocp_wrp_",""));
.@count = mobcount('map$,.@event$);
if (.@count) {
mapannounce 'map$,"Remaining Mutant Survivor - " + .@count,bc_map,0xFFFF00;
initnpctimer;
} else {
mapannounce 'map$,"Intermediate point secured.",bc_map,0xFFFF00;
setd("'" + strnpcinfo(2),1);
hideoffnpc();
}
end;
}
1@os_a,163,266,5 duplicate(#171_ocp_wrp_0) #171_ocp_wrp_1 4_ENERGY_BLUE,4,4
1@os_a,138,174,5 duplicate(#171_ocp_wrp_0) #171_ocp_wrp_2 4_ENERGY_BLUE,4,4
1@os_a,162,176,5 script #171_ocp_miguel 4_EP17_MIGUEL_D,{
if (isbegin_quest(12452) == 1) {
mes "^0000FFI think he stopped breathing.^000000";
close;
}
cutin "ep171_miguel01",0;
mes "[???]";
mes "Krrr. I guess you're not someone of Regenschirm. Can you move aside, I have something to say to that person.";
next;
cutin "",255;
mes "^0000FFThe mutant who's life is running out is trying to say something.^000000";
close;
}
1@os_a,165,176,3 script Est#171_ocp_1 4_F_ESTLOVELOY,{
if (isbegin_quest(12452) == 1) {
cutin "ep162_est01",2;
mes "[Est]";
mes strcharinfo(0) + ", I didn't think I'd survive and see you again. You're pretty good.";
next;
select("Ask about the fallen mutant.");
mes "[Est]";
mes "Well, even if you ask me... it's the first time that I'll talk to a mutant.";
emotion ET_SCRATCH;
next;
cutin "ep171_miguel03",0;
mes "[???]";
mes "... Est?";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "How do you know my name? Who are you! I'll finish you painlessly, so be honest.";
emotion ET_SURPRISE;
next;
cutin "ep171_miguel03",0;
mes "[???]";
mes "Est... Rebellion Ghost Squad... Do you remember uncle Miguel?";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "How do you know that name...";
next;
cutin "ep171_miguel03",0;
mes "[???]";
mes "Ha... haha... you still remember.";
next;
mes "^0000FFThe identification tag on the mutant's neck stands out.^000000";
next;
select("Get the identification tag and hand it to Est.");
cutin "ep162_est01",2;
mes "[Est]";
mes "Mi... guel...?";
next;
cutin "ep171_miguel03",0;
mes "[Miguel]";
mes "... Est, the last thing I'll see... is your face... That's a relief.";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "Uncle Miguel!? How did this happen!";
next;
cutin "ep171_miguel03",0;
mes "[Miguel]";
mes "Before I die... I always wanted to see my old colleagues... You fulfilled my wish.";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "Uncle! What is this! What happened to you?";
next;
cutin "ep171_miguel01",0;
mes "[Miguel]";
mes "Ugh... I don't have much time left... Listen carefully, Est.";
next;
mes "[Miguel]";
mes "Somewhere in here... the mad research results of Regenschirm... can be found somewhere in here.";
next;
mes "[Miguel]";
mes "Find everything... and you'll know what happened to me... you'll see things that can't be explained here.";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "Uncle! Wake up!! Let's go out. If we go out, we can save you!";
next;
cutin "ep171_miguel02",0;
mes "[Miguel]";
mes "Est... you still have a big heart... that kind of feeling... on the battlefield... I taught you...";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "Uncle! Uncle!!";
next;
cutin "",255;
mes "[Miguel]";
mes "...";
if (isbegin_quest(12452) == 1)
completequest 12452;
getitem 25668,1;
getitem 25723,5;
getexp 300000,300000;
close;
}
select("Ask about Miguel");
cutin "ep162_est01",2;
mes "[Est]";
mes strcharinfo(0) +", I'm sorry but I don't feel like talking about him right now.";
next;
select("Ask about the records.");
mes "[Est]";
mes "I checked the northeast section and saw a place over the railway that seemed to be a research facility.";
next;
mes "[Est]";
mes "Maybe the research Miguel was talking about... is somewhere in there. I'm going to have to start another operation right away.";
next;
mes "[Est]";
mes "I don't think there will be anything else to do here.";
next;
select("I want to go back.");
warp "sp_cor",162,63;
end;
}
1@os_a,187,195,5 script Operation Officer#171_osd 4_M_ILYA,{
if (isbegin_quest(12454) == 1) {
mes "[Operation Officer]";
mes "You've dealt with a CP7 Mutant by yourself... did the battle went well?";
next;
mes "[Operation Officer]";
mes "Here are the supplies and experience given to the troops that joined the operation. Take it.";
erasequest 12454;
getexp 150000,150000;
getitem 25669,5;
getitem 25723,1;
next;
mes "[Operation Officer]";
mes "Even though it's a CP7 Rated, sorry I couldn't give you more experience.";
close;
}
mes "[Operation Officer]";
mes "Let's go out now. We need to prepare for repairs quickly.";
next;
if (select("Look around more.:Go Out") == 1) {
mes "[Operation Officer]";
mes "Is that so? Don't delay it for too long.";
close;
}
warp "sp_cor",162,63;
end;
}
1@os_a,1,1,0 script #171_ocp_mob HIDDEN_WARP_NPC,{
end;
OnSummonStory01:
setarray .@mob,20348,20349,20350;
for (.@i = 0; .@i < 12; .@i++) { //Summons max 12 mobs randomly
.@id = .@mob[rand(3)];
areamonster 'map$,26,349,37,357,"Incomplete " + getmonsterinfo(.@id,MOB_NAME),.@id,1,instance_npcname(strnpcinfo(0))+"::OnStoryKill";
sleep 10000;
}
end;
OnStoryKill:
end;
OnSummon:
.@id = 'osd;
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnMobKill";
switch (.@id) {
case 1: setarray .@xy,334,66,20348,291,95,20348,287,97,20348,280,95,20348,272,91,20348,265,89,20349,265,93,20349,263,95,20349,267,92,20350; break;
case 2: setarray .@xy,252,82,20348,257,72,20348,260,70,20348,254,64,20348,263,83,20350,254,70,20350,259,66,20350; break;
case 3: setarray .@xy,205,90,20348,201,90,20348,208,79,20348,204,71,20348,203,81,20348,200,81,20348,211,80,20349,202,75,20349,210,88,20349,207,93,20349,200,77,20349,206,79,20349,207,78,20350,208,83,20350; break;
case 4: setarray .@xy,209,118,20348,208,129,20348,214,136,20348,222,131,20348,215,134,20348,204,137,20348,205,127,20349,222,127,20349,225,136,20349,221,132,20349,206,132,20349,217,132,20349,208,135,20350,216,129,20350,210,136,20350; break;
case 5: setarray .@xy,257,153,20348,263,156,20348,261,158,20348,256,161,20348,252,161,20348,246,156,20349,240,156,20349,248,157,20349,256,158,20349,243,156,20350,249,156,20350,237,153,20350,252,161,20350,253,161,20350; break;
case 6: setarray .@xy,200,190,20348,213,189,20348,227,190,20348,206,191,20348,201,189,20348,198,183,20348,200,170,20348,197,187,20349,200,191,20349,215,190,20349,207,190,20349,209,183,20349,218,184,20349,212,184,20349,229,185,20349,219,184,20350,199,183,20350,207,184,20350,206,182,20350,226,188,20350,203,187,20350,197,183,20350; break;
case 7: donpcevent instance_npcname(strnpcinfo(0)) + "::OnSummonBoss"; end;
}
if (.@id == 1) {
'osd = 2;
donpcevent instance_npcname(strnpcinfo(0)) + "::OnSummon";
}
if (.@id != 2)
donpcevent instance_npcname(strnpcinfo(0)) + "::OnEvent0" + .@id;
for (.@i = 0; .@i < getarraysize(.@xy); .@i += 3)
monster 'map$,.@xy[.@i],.@xy[.@i+1],"CP" + .@id + " " + getmonsterinfo(.@xy[.@i+2],MOB_NAME),.@xy[.@i+2],1,.@event$;
end;
OnMobKill:
end;
OnTimer10000:
stopnpctimer;
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnMobKill";
.@count = mobcount('map$,.@event$);
if (.@count) {
mapannounce 'map$,"Remaining Mutant Survivor - " + .@count,bc_map,0xFFFF00;
initnpctimer;
} else {
mapannounce 'map$,"Sector " + ('osd - 1) + " secured.",bc_map,0x00FF00;
.@id = 'osd + 1;
'osd = .@id;
if (.@id == 5)
killmonster 'map$,instance_npcname(strnpcinfo(0)) + "::OnPoisonKill";
donpcevent instance_npcname(strnpcinfo(0)) + "::OnSummon";
}
end;
OnEvent01:
mapannounce 'map$,"Operation Officer : The Alpha team should be prepare to fight the moment you felt a Mutant's reaction near you.",bc_map,0x00EEEE;
sleep 6000;
mapannounce 'map$,"Operation Officer : There are no civilian in the main search area, so you can safely subdue any moving creatures.",bc_map,0x00EEEE;
sleep 6000;
mapannounce 'map$,"Operation Officer : Charlie, and Delta Team, if there is an engagement situation, immediately go into battle without reporting.",bc_map,0x00EEEE;
initnpctimer;
end;
OnEvent03:
mapannounce 'map$,"Operation Officer : We received a precaution within this area.",bc_map,0x00EEEE;
sleep 6000;
mapannounce 'map$,"Operation Officer : A mutant labeled with A013 is a independent mutant unrelated to its base.",bc_map,0x00EEEE;
sleep 6000;
mapannounce 'map$,"Operation Officer : It is said that it's combat ability is stronger than of ordinary mutants, avoid combat unless you are willing to fight.",bc_map,0x00EEEE;
initnpctimer;
end;
OnEvent04:
mapannounce 'map$,"Operation Officer : Be careful when dealing with CP4 or higher grade mutants.",bc_map,0x00EEEE;
sleep 6000;
mapannounce 'map$,"Operation Officer : They are the same type as CP1, but their destructive power increases with their grade. Be careful not to be surrounded.",bc_map,0x00EEEE;
initnpctimer;
end;
OnEvent05:
mapannounce 'map$,"Operation Officer : Sector 4 is said to be a confidential documents storage room.",bc_map,0x00EEEE;
sleep 6000;
mapannounce 'map$,"Operation Officer : The advanced team already searched the area, but there was nothing special, so focus on the battle and be careful to not get surrounded.",bc_map,0x00EEEE;
initnpctimer;
end;
OnEvent06:
mapannounce 'map$,"Operation Officer : Bravo Team. Is engaged with CP6 Mutants. Their offense is very powerful.",bc_map,0x00EEEE;
sleep 6000;
mapannounce 'map$,"Operation Officer : Alpha, Charlie, Delta team should also be careful. Don't get surrounded by CP6 Grade mutants!",bc_map,0x00EEEE;
initnpctimer;
end;
OnSummonBoss:
sleep 3000;
mapannounce 'map$,"Operation Officer : To all team. If you find an S-Class mutant, please engage in the battle immediately.",bc_map,0x00EEEE;
sleep 3000;
mapannounce 'map$,"???? : Grrr...",bc_map,0xFF9999;
sleep 3000;
mapannounce 'map$,"Operation Officer : Be careful, it's difficult to deal with mutants with high CP grade!",bc_map,0x00EEEE;
monster 'map$,205,188,"CP7 Miguel",20346,1,instance_npcname(strnpcinfo(0)) + "::OnBossKill";
'boss_gid = $@mobid[0];
donpcevent instance_npcname(strnpcinfo(0)) + "::OnBossSkill";
end;
OnBossKillStory:
enablenpc instance_npcname("#171_ocp_miguel");
enablenpc instance_npcname("Est#171_ocp_1");
end;
OnBossKill:
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnSummonKill";
killmonster 'map$,.@event$;
mapannounce 'map$,"Operation Officer : Guess I'm a little late!",bc_map,0x00EEEE;
enablenpc instance_npcname("Operation Officer#171_osd");
end;
OnBossSkill:
.@gid = 'boss_gid;
freeloop(true);
while(unitexists(.@gid)) {
if (unitexists(.@gid)) {
getunitdata .@gid,.@data;
if (.@data[UMOB_HP] <= ((.@data[UMOB_MAXHP]/10) * 7)) {
donpcevent instance_npcname(strnpcinfo(0)) + "::OnSummonSkill";
break;
}
}
sleep 100;
}
freeloop(false);
end;
OnSummonSkill:
.@gid = 'boss_gid;
.@event$ = instance_npcname(strnpcinfo(0)) + "::OnSummonKill";
freeloop(true);
while(unitexists(.@gid)) {
sleep 100;
if(!unitexists(.@gid))
end;
getunitdata .@gid,.@data;
if (.@data[UMOB_HP] <= ((.@data[UMOB_MAXHP]/10) * 3) && 'skill == 0)
'skill = 1;
if (.@data[UMOB_X] == 'gid_x && .@data[UMOB_Y] == 'gid_y)
continue;
killmonster 'map$,.@event$;
if (unitexists(.@gid)) {
'gid_x = .@data[UMOB_X];
'gid_y = .@data[UMOB_Y];
monster 'map$,.@data[UMOB_X] - 7,.@data[UMOB_Y],"",20351,1,.@event$;
monster 'map$,.@data[UMOB_X] + 7,.@data[UMOB_Y],"",20351,1,.@event$;
monster 'map$,.@data[UMOB_X],.@data[UMOB_Y] - 7,"",20351,1,.@event$;
monster 'map$,.@data[UMOB_X],.@data[UMOB_Y] + 7,"",20351,1,.@event$;
if ('skill) {
monster 'map$,.@data[UMOB_X] - 5,.@data[UMOB_Y] + 5,"",20351,1,.@event$;
monster 'map$,.@data[UMOB_X] + 5,.@data[UMOB_Y] + 5,"",20351,1,.@event$;
monster 'map$,.@data[UMOB_X] - 5,.@data[UMOB_Y] - 5,"",20351,1,.@event$;
monster 'map$,.@data[UMOB_X] + 5,.@data[UMOB_Y] - 5,"",20351,1,.@event$;
}
} else
break;
}
freeloop(false);
end;
OnSummonKill:
end;
OnPoisonStory:
monster 'map$,44,340,"",2536,1,instance_npcname(strnpcinfo(0)) + "::OnPoisonKill";
monster 'map$,44,344,"",2536,1,instance_npcname(strnpcinfo(0)) + "::OnPoisonKill";
monster 'map$,43,360,"",2536,1,instance_npcname(strnpcinfo(0)) + "::OnPoisonKill";
end;
OnPoisonDaily:
monster 'map$,252,107,"",2536,1,instance_npcname(strnpcinfo(0)) + "::OnPoisonKill";
monster 'map$,255,107,"",2536,1,instance_npcname(strnpcinfo(0)) + "::OnPoisonKill";
end;
OnPoisonKill:
end;
}
1@os_a,26,345,7 duplicate(dummy_npc) #ocp_rebel_1 4_M_GUNSLINGER3
1@os_a,38,357,1 duplicate(dummy_npc) #ocp_rebel_2 4_F_GUNSLINGER3
1@os_a,29,348,7 duplicate(dummy_npc) #ocp_rebel_3 4_M_REBELLION2
1@os_a,29,351,7 duplicate(dummy_npc) #ocp_rebel_4 4_M_REBELLION2
1@os_a,32,351,7 duplicate(dummy_npc) #ocp_rebel_5 4_M_REBELLION3
1@os_a,29,345,7 duplicate(dummy_npc) #ocp_rebel_6 4_M_REBELLION2
1@os_a,26,348,7 duplicate(dummy_npc) #ocp_rebel_7 4_M_REBELLION2
1@os_a,29,357,7 duplicate(dummy_npc) #ocp_rebel_8 4_M_REBELLION2
1@os_a,38,348,1 duplicate(dummy_npc) #ocp_rebel_9 4_F_GUNSLINGER3
1@os_a,32,348,7 duplicate(dummy_npc) #ocp_rebel_10 4_M_REBELLION3
1@os_a,26,351,7 duplicate(dummy_npc) #ocp_rebel_11 4_M_GUNSLINGER3
1@os_a,35,345,1 duplicate(dummy_npc) #ocp_rebel_12 4_F_GUNSLINGER2
1@os_a,35,348,1 duplicate(dummy_npc) #ocp_rebel_13 4_F_GUNSLINGER2
1@os_a,26,357,7 duplicate(dummy_npc) #ocp_rebel_14 4_M_GUNSLINGER3
1@os_a,26,354,7 duplicate(dummy_npc) #ocp_rebel_15 4_M_GUNSLINGER3
1@os_a,32,354,7 duplicate(dummy_npc) #ocp_rebel_16 4_M_REBELLION3
1@os_a,29,354,7 duplicate(dummy_npc) #ocp_rebel_17 4_M_REBELLION2
1@os_a,35,351,1 duplicate(dummy_npc) #ocp_rebel_18 4_F_GUNSLINGER2
1@os_a,35,354,1 duplicate(dummy_npc) #ocp_rebel_19 4_F_GUNSLINGER2
1@os_a,32,345,7 duplicate(dummy_npc) #ocp_rebel_20 4_M_REBELLION3
1@os_a,38,351,1 duplicate(dummy_npc) #ocp_rebel_21 4_F_GUNSLINGER3
1@os_a,35,357,1 duplicate(dummy_npc) #ocp_rebel_22 4_F_GUNSLINGER2
1@os_a,38,354,1 duplicate(dummy_npc) #ocp_rebel_23 4_F_GUNSLINGER3
1@os_a,38,345,1 duplicate(dummy_npc) #ocp_rebel_24 4_F_GUNSLINGER3
1@os_a,32,357,7 duplicate(dummy_npc) #ocp_rebel_25 4_M_REBELLION3

View File

@@ -1,887 +0,0 @@
//===== rAthena Script =======================================
//= Regenschirm
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Episode 17.1 - Regenschirm
//===== Changelog: ===========================================
//= 1.0 Initial release [crazyarashi]
//= 1.1 Optimizations and cleanup [Everade]
//============================================================
1@rgsr,1,1,0 script #171_rgsr_control HIDDEN_WARP_NPC,{
end;
OnInstanceInit:
'map$ = instance_mapname("1@rgsr");
'rgsr = 'activate = 0;
deletearray 'rescued;
deletearray 'rsgr_c;
disablenpc instance_npcname("Researcher#rgsr_ev_0");
disablenpc instance_npcname("Access Controller#rgsr");
disablenpc instance_npcname("#rgsr_touch_mob_0");
disablenpc instance_npcname("#rgsr_touch_mob_1");
disablenpc instance_npcname("#rgsr_warp_0");
disablenpc instance_npcname("Est#rgsr");
disablenpc instance_npcname("Rebellion Crew#rgsr_dum01");
disablenpc instance_npcname("Aas#rgsr3");
disablenpc instance_npcname("Goni#rgsr");
disablenpc instance_npcname("Est#rgsr2");
disablenpc instance_npcname("Central Room#rgsr");
disablenpc instance_npcname("Restrained Specimen#rgsr");
disablenpc instance_npcname("Control Device#rgsr0");
disablenpc instance_npcname("Control Device#rgsr1");
disablenpc instance_npcname("Control Device#rgsr2");
disablenpc instance_npcname("Control Device#rgsr3");
disablenpc instance_npcname("Aas#rgsr4");
end;
OnEvent01:
enablenpc instance_npcname("#rgsr_touch_mob_0");
enablenpc instance_npcname("#rgsr_touch_mob_1");
donpcevent instance_npcname("#rgsr_mob_1") + "::OnSummon";
end;
OnEvent02:
enablenpc instance_npcname("#rgsr_warp_0");
donpcevent instance_npcname("#rgsr_mob_2") + "::OnSummon";
end;
OnEvent03:
enablenpc instance_npcname("Restrained Specimen#rgsr");
enablenpc instance_npcname("Control Device#rgsr0");
enablenpc instance_npcname("Control Device#rgsr1");
enablenpc instance_npcname("Control Device#rgsr2");
enablenpc instance_npcname("Control Device#rgsr3");
end;
OnEvent04:
if ('rgsr == 13) {
'rgsr = 14;
donpcevent instance_npcname("#rgsr_boss") + "::OnSummon";
}
end;
}
1@rgsr,123,42,5 script Oscar#rgsr 4_M_LGTGUARD,{
mes "[Oscar]";
mes "The captain sneaked in the control panel room.";
mes "Move quietly.";
close;
}
1@rgsr,131,58,3 script Aas#rgsr 4_EP17_AS,{
cutin "ep171_as02",1;
mes "[Aas]";
mes "The door is normally locked with the security system, so I have to stay there and work with the controller.";
mes "As you can see most of the entrances have been blocked already.";
mes "Hi";
next;
mes "[Aas]";
mes "It will take some time to go through them one by one.";
mes "I'll keep helping you through the intercom.";
next;
mes "[Aas]";
mes "You'll have to go through the restaurant to reach the hallway.";
mes "Est will be performing the operation alone.";
next;
mes "[Aas]";
mes "If there's a disturbance, Est may have caused it. So please check out with her before continuing.";
next;
mes "[Aas]";
mes "You should go now adventurer. I'll keep working on securing the security controller.";
mes "There may be researchers detained inside.";
next;
mes "[Aas]";
mes "Please consider their safety first.";
mes "Now go ahead.";
close2;
if ('rgsr == 0) {
'rgsr = 1;
donpcevent instance_npcname("#171_rgsr_control") + "::OnEvent01";
}
warp 'map$,127,67;
end;
}
1@rgsr,60,138,0 script Access Controller#rgsr 4_ENERGY_WHITE,{
enablenpc instance_npcname("Researcher#rgsr_ev_0");
if ('rgsr == 2) {
'rgsr = 3;
npctalk "Communication Requested.";
sleep2 2750;
npctalk "Analysing Signal.";
sleep2 2750;
npctalk "Activating Voice Transmission...";
sleep2 2750;
npctalk "Are you connected? It's Aas.";
sleep2 2750;
npctalk "I have gained control over some of the security system, but I haven't gained full access yet.";
sleep2 2750;
npctalk "Unless there is a big disturbance, the alarm or security devices won't work.";
sleep2 2750;
npctalk "I think you should open this door to open the hallway.";
sleep2 2750;
npctalk "Ask a Detained Researcher to put their hand on the device.";
sleep2 2750;
npctalk "...*Zap*....";
sleep2 2750;
npctalk "Voice Transmission Ended.";
sleep2 2750;
hideonnpc();
enablenpc();
npctalk "Researcher : Do you mind If I open the door?",instance_npcname("Researcher#rgsr_ev_0");
'rgsr = 4;
}
end;
}
1@rgsr,59,132,7 script Researcher#rgsr_ev_0 4_M_NFMAN,{
if ('rgsr == 4 && 'activate == 0) {
'activate = 1;
mes "[Researcher]";
mes "The biometric scan is still operational, I'll be staying here to keep the door open.";
mes "If you're in a hurry, please go...";
dispbottom "Control : Identity confirmed.";
donpcevent instance_npcname("#171_rgsr_control") + "::OnEvent02";
close2;
sleep2 800;
npctalk "Researcher : ...huh... what the hell is this...";
end;
}
}
1@rgsr,36,211,3 script Est#rgsr 4_F_ESTLOVELOY,{
if ('rgsr < 7) {
cutin "ep162_est03",2;
mes "[Est]";
mes "Are you the one who removed the poison gas outside?";
mes "You arrived at a good time.";
mes "Because of the gas, the door was forcibly locked down!";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "It takes time for Aas to come hack the controller and release the gas.";
mes "I was going to do it myself.";
next;
cutin "ep162_est02",2;
mes "[Est]";
mes "The guards here were wearing the same clothes as those Heart Hunters we saw before.";
mes "I don't think I can save all the researchers alone.";
next;
mes "[Est]";
mes "It seems we've gathered most of them here already.";
mes "Let's organize our next strategy.";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "There are laboratories on the other side and it's likely to be a mess.";
mes "I wonder if there will be a big fight.";
next;
mes "[Est]";
mes "From now on the Rebellion Special Forces will prioritize on rescuing the Detained Researchers.";
mes "If you get it, move quickly!";
next;
mes "[Est]";
mes "Okay, adventurer, find a communication device and get in contact with Aas.";
next;
mes "[Est]";
mes "You have to open the entrance of the private labs.";
if ('rgsr == 4)
'rgsr = 5;
close3;
}
cutin "ep162_est02",2;
mes "[Est]";
mes "Huh. We'll focus on rescuing the hostages first.";
mes "Look for the Security Guard's room that Aas talked about.";
close3;
}
1@rgsr,26,219,0 script Access Controller#rgsr2 4_ENERGY_WHITE,{
if ('rgsr < 5) {
mes "Code is inactive.";
mes "The communication has been terminated.";
close;
}
if ('rgsr == 5) {
mes "Voice Transmission Connected.";
close2;
if ('rgsr == 5)
'rgsr = 6;
npctalk "Waiting for communication response...";
sleep2 2750;
npctalk "Aas : Commander Est? We closed the hall lock, but what is the problem?";
sleep2 2750;
npctalk "Aas : Oh you're the adventurer. I will give you the report. I have not fully taken over the security controller system yet.";
sleep2 2750;
npctalk "Aas : It seems it will take some time, but I've taken control of most of the monitoring modules.";
sleep2 2750;
npctalk "Aas : Most of the enemy troops were in the lobby and the resting area, so the lab area is less guarded.";
sleep2 2750;
npctalk "Aas : However, in order to secure the central control room, you have to go through the Guard's Room where many test subjects were detected.";
sleep2 2750;
npctalk "Aas : The priority should be to secure the laboratories and then the Guard Room.... *click*";
sleep2 2000;
npctalk "Est : Eh, what was that?",instance_npcname("Est#rgsr");
if ('rgsr == 6)
'rgsr = 7;
end;
}
if ('rgsr < 7)
end;
else {
mes "Code is inactive.";
mes "The communication has been terminated.";
close;
}
}
1@rgsr,235,44,5 script Aas#rgsr2 4_EP17_AS,{
if ('rgsr == 7) {
for (.@i = 0; .@i < 3; .@i++) {
if (!'rescued[.@i])
.@miss++;
}
if (.@miss) {
cutin "ep171_as02",2;
mes "[Aas]";
mes "Hey, Did you check all the labs yet?";
mes "Please check if there are still Detained Researchers.";
close3;
}
cutin "ep171_as02",1;
mes "[Aas]";
mes "The spare Master Key still remains.";
mes "Without it, I wouldn't have been able to control over the security systems. Are you okay?";
next;
mes "[Aas]";
mes "Now you only need to check the Central Room.";
mes "Did you say Heart Hunters?";
mes "The traitors from Schlein have already escaped.";
next;
mes "[Aas]";
mes "We've got our focus on that room.";
mes "That's the main idea.";
mes "Where is Est?";
next;
cutin "16go_01",0;
mes "[Goni]";
mes "... ... ...";
next;
cutin "ep171_as02",1;
mes "[Aas]";
mes "You have to keep looking for all the Researchers?";
mes "That's necessary, I understand.";
next;
mes "[Aas]";
mes "Adventurer, we head to the Central Room.";
mes "Meet me over there.";
close2;
cutin "",255;
if ('rgsr == 7) {
enablenpc instance_npcname("Central Room#rgsr");
'rgsr = 8;
disablenpc instance_npcname("#rgsr_mob_2");
}
end;
}
cutin "ep171_as02",1;
mes "[Aas]";
mes "Adventurer, we head to the Central Room.";
mes "Meet me over there.";
close3;
}
1@rgsr,235,143,5 script Detained Researcher#rgsr_q01 4_F_SCIENCE,{
if (!'rescued[0]) {
mes "[Researcher]";
mes "My... my search... materials...";
mes "They took it all!";
mes "They took everything!";
next;
cutin "16go_01",0;
mes "[Goni]";
mes "... ... ...";
next;
cutin "",255;
npctalk "I'm going to live! Thank you!";
mes "Oh, you're here to protect me?";
mes "I'll go with you, thank you!";
next;
mes "[Researcher]";
mes "Oh, you're there to protect me?";
mes "I'll go with you, thank you!";
'rescued[0] = 1;
close2;
disablenpc();
}
end;
}
1@rgsr,237,108,3 script Detained Researcher#rgsr_q02 4_LGTSCIENCE,{
if (!'rescued[1]) {
mes "[Researcher]";
mes "I thought they kicked out all the crazy guy...";
mes "I hit the back of my head like this.";
mes "Tsk.";
next;
mes "[Researcher]";
mes "Are you here to save us?";
mes "Get me out of here!";
mes "We couldn't flee because they put poisonous gas outside the doors!";
next;
mes "[Researcher]";
mes "Yeah, I know a little bit about the Heart Hunters, I will tell you everything!";
next;
cutin "ep162_est02",2;
mes "[Est]";
mes "Ah? Do you have more information to share?";
mes "Do you want to go outside and talk about it calmly with me?";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "I'll take this guy out of here and you look at the other rooms.";
'rescued[1] = 1;
close2;
cutin "",255;
disablenpc();
}
end;
}
1@rgsr,237,71,3 script Detained Researcher#rgsr_q03 4_F_FRUIT,{
if (!'rescued[2]) {
mes "[Researcher]";
mes "Please help me!";
mes "I worked a lot and I'm not getting paid!";
next;
mes "[Researcher]";
mes "Schlein, where is Schlein?";
mes "He's a traitor!";
mes "I've seen it with my own eyes, he just killed the guards...";
next;
select("Calm down.");
mes "[Researcher]";
mes "Is it safe now?";
mes "I'm glad when I was hired at Rekenber, but what the hell is going with such a big company...";
next;
mes "[Researcher]";
mes "Say what? The Rebellions are coming to save us?";
mes "Can't I just run away with you instead?";
next;
mes "[Researcher]";
mes "Oh... you're part of the recon team?";
mes "Alright. I'll wait for the rescue team.";
mes "Many people escaped by breaking the windows and ran away..";
next;
mes "[Researcher]";
mes "Oh you already know.";
mes "Okay. I'll be quiet now and wait.";
mes "Your uniform is really cool though.";
'rescued[2] = 1;
close;
}
mes "[Researcher]";
mes "I know. I know.";
mes "If I wait here, will the Rebellions come and save me?";
mes "I'll be fine then.";
next;
mes "[Researcher]";
mes "But again, your uniform is really cool.";
close;
}
1@rgsr,241,51,0 script Scattered Documents#rgsr 4_ENERGY_BLUE,{
if (isbegin_quest(7863) == 0) {
mes "This is the list of the Enterprise security teams.";
mes "Some have circles around them... others are crossed out.";
next;
cutin "ep171_as01",2;
mes "[Aas]";
mes "The ones circled are probably those who accepted to be recruited...";
mes "My team is the one with a X marked next to it.";
next;
mes "[Aas]";
mes "It's a mercenary contract...";
mes "There's a rough plan for the day of the raid.";
mes "I can't believe it came to this...";
next;
mes "[Aas]";
mes "This is meant to provoke me.";
mes "It won't work this time. I'll track this to the end.";
next;
mes "[Aas]";
mes "I'd better take it back to Tess and analyze it.";
setquest 7863;
close3;
}
mes "I've already got the data here.";
mes "There's nothing else to see here.";
close;
OnInstanceInit:
questinfo(QTYPE_CLICKME,QMARK_YELLOW,"isbegin_quest(7863) == 0");
end;
}
1@rgsr,125,157,0 script Central Room#rgsr 4_ENERGY_BLUE,{
if ('rgsr == 8) {
'rgsr = 9;
enablenpc instance_npcname("Aas#rgsr3");
enablenpc instance_npcname("Goni#rgsr");
enablenpc instance_npcname("Est#rgsr2");
npctalk "Am I late?",instance_npcname("Aas#rgsr3");
sleep2 1800;
npctalk "No you arrived just in time.",instance_npcname("Est#rgsr2");
end;
}
mes "The device does not work.";
close;
}
1@rgsr,128,157,3 script Aas#rgsr3 4_EP17_AS,{
if ('rgsr > 13)
end;
if ('rgsr == 9) {
'rgsr = 10;
.@aas$ = instance_npcname("Aas#rgsr3");
.@gonie$ = instance_npcname("Goni#rgsr");
.@erst$ = instance_npcname("Est#rgsr2");
npctalk "Aas : The Central Room seems to be empty. I'll go in and check it out.",.@aas$;
sleep2 3000;
npctalk "Aas : I'll go ahead and take the researchers out of here. Will that be okay?",.@erst$;
sleep2 3000;
npctalk "Aas : Yes. Nothing else is being detected on the system. With our progress so far, the enemies have all been restrained.",.@aas$;
sleep2 3000;
npctalk "Est : What are you scared of something else? I'm going back already!",.@erst$;
sleep2 3000;
npctalk "Goni : ... Me too.",.@gonie$;
sleep2 3000;
npctalk "Est : There were couple of researchers left in the labs, I'll go bring them along. I'll be waiting.",.@erst$;
sleep2 3000;
npctalk "Est : Alright, Goni. You go to the main lobby first and secure the road. I'll take the others at the conference room.",.@erst$;
sleep2 3000;
npctalk "Goni : *Nods*",.@gonie$;
sleep2 3000;
disablenpc instance_npcname("Goni#rgsr");
disablenpc instance_npcname("Est#rgsr2");
npctalk "Aas : So adventurer, let's check out the Central Room.",.@aas$;
if ('rgsr == 10)
'rgsr = 11;
end;
}
cutin "ep171_as02",1;
mes "[Aas]";
mes "That's the Central Room right ahead.";
next;
if (select("Enter.:Wait.") == 2) {
mes "[Aas]";
mes "Please speak to me when you're ready.";
mes "I don't know why, but it's tightly closed;. It takes some time to maintain access.";
next;
mes "[Aas]";
mes "As confirmed by the security system, nothing is being detected on the inside...";
mes "I still want to confirm inside the room regardless.";
close3;
}
mes "[Aas]";
mes "First I'll need to disable the auto-locking mechanism, and then I'll follow right away.";
if ('rgsr == 11) {
'rgsr = 12;
donpcevent instance_npcname("#171_rgsr_control") + "::OnEvent03";
}
close2;
cutin "",255;
warp 'map$,126,164;
end;
}
1@rgsr,124,152,5 script Goni#rgsr 4_M_GONY,{
cutin "16go_01",0;
mes "[Goni]";
mes "... ... ...";
close3;
}
1@rgsr,125,154,5 script Est#rgsr2 4_F_ESTLOVELOY,{
cutin "ep162_est01",2;
mes "[Est]";
mes "I don't believe there are any enemies left inside, I'm going to pull out.";
mes "Just check the Central Room and then get out.";
close3;
}
1@rgsr,125,188,3 script Restrained Specimen#rgsr 20353,2,3,{
if ('rgsr == 12) {
specialeffect EF_RED_HIT;
specialeffect EF_BEGINSPELL3;
npctalk "Do... do not... come close to me...!! Huh, my head... it hurts...";
mapannounce 'map$,"Do... do not... come close to me...!! Huh, my head... it hurts...",bc_map,0x00FF00;
'rgsr = 13;
}
end;
OnFail:
specialeffect EF_FREEZE;
npctalk "Awesome-!! That's it... What did you do!!";
mapannounce 'map$,"Awesome-!! That's it... What did you do!!",bc_map,0x00FF00;
end;
}
1@rgsr,144,180,0 script Control Device#rgsr0 4_ENERGY_BLUE,{
if ('rgsr < 13) {
mes "This device has an unknown purpose.";
mes "There are four buttons in the room.";
close;
}
.@index = atoi(replacestr(strnpcinfo(2),"rgsr",""));
if (.@index > 0) {
if (!'rsgr_c[ (.@index - 1) ]) {
mes "This device has an unknown purpose.";
mes "There are four buttons in the room.";
next;
select("Press the button.");
donpcevent instance_npcname("Restrained Specimen#rgsr") + "::OnFail";
close;
}
}
if (!'rsgr_c[.@index]) {
switch (.@index) {
case 0: .@answer = 2; .@string$ = "three phases"; break;
case 1: .@answer = 1; .@string$ = "two phases"; break;
case 2: .@answer = 4; .@string$ = "one phase"; break;
case 3: .@answer = 3;
}
mes "This device has an unknown purpose.";
mes "There are four buttons in the room.";
next;
.@s = select("Red Button.:Blue Button.:White Button.:Yellow Button.");
if (.@s != .@answer)
donpcevent instance_npcname("Restrained Specimen#rgsr") + "::OnFail";
else {
specialeffect EF_BEGINSPELL3,AREA,instance_npcname("Restrained Specimen#rgsr");
if (.@index < 3) {
mapannounce 'map$,"Gravity control adjustment... completed... There are " + .@string$ +" remaining.",bc_map,0x0D98BA;
'rsgr_c[.@index] = 1;
} else {
'rsgr_c[.@index] = 1;
mapannounce 'map$,"Gravity control adjustment... completed... Restraints have been disengaged.",bc_map,0x0D98BA;
sleep2 2500;
donpcevent instance_npcname("#171_rgsr_control") + "::OnEvent04";
}
}
close;
}
mes "This device has already been activated.";
close;
}
1@rgsr,108,168,0 duplicate(Control Device#rgsr0) Control Device#rgsr1 4_ENERGY_RED
1@rgsr,114,191,0 duplicate(Control Device#rgsr0) Control Device#rgsr2 4_ENERGY_WHITE
1@rgsr,143,168,0 duplicate(Control Device#rgsr0) Control Device#rgsr3 4_ENERGY_YELLOW
1@rgsr,127,164,3 script Aas#rgsr4 4_EP17_AS,{
if ('rgsr != 15)
end;
cutin "ep171_as01",2;
mes "[Aas]";
mes "Est has handled everything else on the inside.";
mes "Sorry for not being able to help you at all.";
next;
mes "[Aas]";
mes "Let's go back to Einbroch.";
mes "I'll... I'll go to my office and join you.";
next;
.@s = select("Move to Einbroch.:Move to Lighthalzen.:Stay for a while.");
if (.@s == 3) {
cutin "ep171_as02",2;
mes "[Aas]";
mes "Do you have anything else to investigate?";
mes "I'll wait here.";
close3;
}
mes "[Aas]";
mes "We're going to wait for you in the Cat on Bullet.";
mes "Please head there and meet us in the headquarters.";
completequest 7862;
close2;
if (.@s == 1)
warp "einbroch",301,324;
else
warp "lighthalzen",54,272;
end;
}
//= Monster
1@rgsr,1,1,0 script #rgsr_mob_1 HIDDEN_WARP_NPC,{
OnSummon:
.@event$ = instance_npcname(strnpcinfo(0))+"::OnMobKill";
setarray .@xy,
153,80,155,81,154,82, //= Bottom Right
138,85,136,87,138,89, //= Center Right
152,94,152,98,153,98, //= Stairs Right
145,114,151,114,156,114, //= Top Right
97,114,102,114,107,114, //= Top Left
102,98,101,96,101,95, //= Stairs Left
116,88,118,88,121,87, //= Center Left
117,101,117,101,117,102, //= Center Top
93,66,93,67,94,68, //= Bottom Door
58,65,56,57,44,59,31,53,15,55, //= Bottom Room
59,94,48,98,53,103,36,110,33,126,46,132,55,131; //= Upper Room
for (.@i = 0; .@i < getarraysize(.@xy); .@i += 2)
monster 'map$,.@xy[.@i],.@xy[.@i+1],"Special Guard",3627,1,.@event$;
end;
OnMobKill:
.@event$ = instance_npcname(strnpcinfo(0))+"::OnMobKill";
if (!mobcount('map$,.@event$) && 'rgsr == 1) {
'rgsr = 2;
disablenpc();
enablenpc instance_npcname("Access Controller#rgsr");
}
end;
}
1@rgsr,1,1,0 script #rgsr_mob_2 HIDDEN_WARP_NPC,{
OnSummon:
setarray .@xy,102,137,104,136,104,135,126,139,138,137,139,134,137,133,151,135,150,136,151,137,85,151,82,215,84,216,84,218,107,216;
setarray .@left_xy,85,170,54,186,55,183,58,181,59,186,62,183,62,216,59,214,56,217,54,214,52,217;
setarray .@right_xy,167,136,167,135,168,135,208,138,208,134,203,138,200,134,187,123,188,
123,187,122,186,108,188,107,186,105,196,106,203,109,205,105,208,109,187,92,186,90,188,91,
187,69,187,67,188,67,201,74,202,77,207,76,211,74,187,48,188,45,186,46,197,45,202,45,208,42,211,42;
setarray .@top_xy,169,217,169,214,172,217,172,214,176,217,176,214,180,217,180,214,184,217,184,214,167,204,168,203,168,203,167,176,167,176,166,175;
for (.@i = 0; .@i < getarraysize(.@xy); .@i += 2)
monster 'map$,.@xy[.@i],.@xy[.@i+1],"Special Guard",3627,1;
for (.@i = 0; .@i < getarraysize(.@left_xy); .@i += 2)
monster 'map$,.@left_xy[.@i],.@left_xy[.@i+1],"Poisonous Gas",20352,1,instance_npcname(strnpcinfo(0))+"::OnLeftKill";
for (.@i = 0; .@i < getarraysize(.@right_xy); .@i += 2)
monster 'map$,.@right_xy[.@i],.@right_xy[.@i+1],"Poisonous Gas",20352,1,instance_npcname(strnpcinfo(0))+"::OnRightKill";
for (.@i = 0; .@i < getarraysize(.@top_xy); .@i += 2)
monster 'map$,.@top_xy[.@i],.@top_xy[.@i+1],"Poisonous Gas",20352,1,instance_npcname(strnpcinfo(0))+"::OnTopKill";
end;
OnLeftKill:
.@event$ = instance_npcname(strnpcinfo(0))+"::OnLeftKill";
if (!mobcount('map$,.@event$)) {
mapannounce 'map$,"Est : Who is it? Are you Aas? Are you the adventurer?",bc_map,0x0D98BA;
enablenpc instance_npcname("Est#rgsr");
enablenpc instance_npcname("Rebellion Crew#rgsr_dum01");
}
end;
OnRightKill:
OnTopKill:
end;
}
1@rgsr,1,1,0 script #rgsr_boss HIDDEN_WARP_NPC,{
end;
OnSummon:
mapannounce 'map$,"Ahahaha.. ahahaha... I'll kill you all!!!!",bc_map,0x00FF00;
sleep 2000;
mapannounce 'map$,"Aas : What is going on? *click* The lock is...!!",bc_map;
sleep 2000;
mapannounce 'map$,"I'm not a defect! I'm not a monster!",bc_map,0x00FF00;
specialeffect EF_LORD,AREA,instance_npcname("Restrained Specimen#rgsr");
disablenpc instance_npcname("Restrained Specimen#rgsr");
monster 'map$,125,188,"Failed Specimen",20353,1,instance_npcname(strnpcinfo(0))+"::OnBossKill";
end;
OnBossKill:
if ('rgsr == 14) {
'rgsr = 15;
hideonnpc instance_npcname("Aas#rgsr3");
disablenpc instance_npcname("Aas#rgsr3");
enablenpc instance_npcname("Aas#rgsr4");
disablenpc();
}
end;
}
1@rgsr,94,68,5 script #rgsr_touch_mob_0 3622,4,6,{
end;
OnTouch:
disablenpc();
.@v = atoi(replacestr(strnpcinfo(2),"rgsr_touch_mob_",""));
if (!.@v)
setarray .@xy,98,66,94,68,95,70,92,68;
else
setarray .@xy,91,91,91,93,95,93,94,97,97,92;
for (.@i = 0; .@i < getarraysize(.@xy); .@i += 2)
monster 'map$,.@xy[.@i],.@xy[.@i+1],"Special Guard",3622,1;
end;
}
1@rgsr,95,93,5 duplicate(#rgsr_touch_mob_0) #rgsr_touch_mob_1 3622,4,6
//= Warp/Other
1@rgsr,59,136,0 warp #rgsr_warp_0 1,2,1@rgsr,66,136
1@rgsr,51,184,0 script #rgsr_warp_1 WARPNPC,1,2,{
end;
OnTouch:
.@event$ = instance_npcname("#rgsr_mob_2")+"::OnLeftKill";
if (mobcount('map$,.@event$)) {
dispbottom "Voice Behind Door : Who's outside? exterminate that strange poison gas!!";
end;
}
switch (atoi(replacestr(strnpcinfo(2),"rgsr_warp_",""))) {
case 1: warp 'map$,46,184; break;
case 2: warp 'map$,46,216; break;
case 3: warp 'map$,54,184; break;
case 4: warp 'map$,54,216;
}
end;
}
1@rgsr,51,216,0 duplicate(#rgsr_warp_1) #rgsr_warp_2 WARPNPC,1,2
1@rgsr,49,184,0 duplicate(#rgsr_warp_1) #rgsr_warp_3 WARPNPC,1,2
1@rgsr,49,216,0 duplicate(#rgsr_warp_1) #rgsr_warp_4 WARPNPC,1,2
1@rgsr,186,216,0 script #rgsr_warp_5 WARPNPC,1,2,{
.@event$ = instance_npcname("#rgsr_mob_2")+"::OnTopKill";
if (mobcount('map$,.@event$)) {
mes "An unknown entity has been detected. Access Denied.";
close;
}
switch (atoi(replacestr(strnpcinfo(2),"rgsr_warp_",""))) {
case 5: warp 'map$,191,216; break;
case 6: warp 'map$,183,216;
}
end;
}
1@rgsr,188,216,0 duplicate(#rgsr_warp_5) #rgsr_warp_6 WARPNPC,1,2
1@rgsr,214,136,0 script #rgsr_warp_7 WARPNPC,1,2,{
.@event$ = instance_npcname("#rgsr_mob_2")+"::OnRightKill";
if (mobcount('map$,.@event$) > 0 || 'rgsr < 7) {
mes "An unknown entity has been detected. Access Denied.";
close;
}
switch (atoi(replacestr(strnpcinfo(2),"rgsr_warp_",""))) {
case 7: warp 'map$,219,136; break;
case 8: warp 'map$,211,136; break;
case 9: warp 'map$,219,108; break;
case 10: warp 'map$,211,108; break;
case 11: warp 'map$,219,76; break;
case 12: warp 'map$,211,76; break;
case 13: warp 'map$,219,44; break;
case 14: warp 'map$,211,44;
}
end;
}
1@rgsr,216,136,0 duplicate(#rgsr_warp_7) #rgsr_warp_8 WARPNPC,1,2
1@rgsr,214,108,0 duplicate(#rgsr_warp_7) #rgsr_warp_9 WARPNPC,1,2
1@rgsr,216,108,0 duplicate(#rgsr_warp_7) #rgsr_warp_10 WARPNPC,1,2
1@rgsr,214,76,0 duplicate(#rgsr_warp_7) #rgsr_warp_11 WARPNPC,1,2
1@rgsr,216,76,0 duplicate(#rgsr_warp_7) #rgsr_warp_12 WARPNPC,1,2
1@rgsr,214,44,0 duplicate(#rgsr_warp_7) #rgsr_warp_13 WARPNPC,1,2
1@rgsr,216,44,0 duplicate(#rgsr_warp_7) #rgsr_warp_14 WARPNPC,1,2
1@rgsr,37,126,0 script Researcher#rgsr_dum00 4_F_SCIENCE,{
mes "[Detained Researcher]";
mes "Why do I have to feed this traitors?";
close;
}
1@rgsr,35,136,7 script Researcher#rgsr_dum01 4_LGTSCIENCE,{
mes "[Detained Researcher]";
mes "I want to go home... I just want to go home...";
close;
}
1@rgsr,38,139,3 script Researcher#rgsr_dum02 4_M_NFMAN,{
mes "[Detained Researcher]";
mes "Are you here to save us?";
mes "Thank you! Thank you!";
close;
}
1@rgsr,31,186,3 script Researcher#rgsr_dum03 4_LGTSCIENCE,{
mes "[Detained Researcher]";
mes "What the hell is happening?";
mes "Aaaah... I just want to go home...";
close;
}
1@rgsr,24,186,5 script Researcher#rgsr_dum04 4_F_SCIENCE,{
mes "[Detained Researcher]";
mes "Why did you come here to save me?";
mes "The Enterprise's guards... no wait...";
next;
mes "[Detained Researcher]";
mes "I thought that you were the one who kept us in custody...!";
mes "Why would they do that?";
close;
}
1@rgsr,25,182,7 script Researcher#rgsr_dum05 4_M_HUMAN_01,{
mes "[Detained Researcher]";
mes "These scumbags took my Research Report and I escaped here.";
mes "It was a spray repellent to block blood-sucking insects!";
next;
mes "[Detained Researcher]";
mes "That was my private research, I don't know why they took it!";
mes "You can't just take away someone else's Research Report.";
close;
}
1@rgsr,40,186,3 script Rebellion Crew#rgsr_dum01 4_M_ILYA,{
mes "[Rebellion Crew]";
mes "I've come prepared, but this was easier than thought.";
mes "Now I'm stuck here. Hehehehe!";
close;
}
1@rgsr,33,185,3 script Rebellion Crew#rgsr_dum02 4_M_REBELLION2,{
mes "[Rebellion Crew]";
mes "The remaining researchers are gathered here for their security.";
mes "The Rebellions will protect them and help them escape.";
close;
}
1@rgsr,31,183,5 script Rebellion Crew#rgsr_dum03 4_F_ANYA,{
mes "[Rebellion Crew]";
mes "I thought they had less forces on the inside, but I didn't think they'd have installed toxic gas.";
mes "Most people have fled already, only the enemies are remaining.";
close;
}
1@rgsr,195,205,0 script Research Report#rgsr_00 4_ENERGY_BLUE,{
mes "It is a data on new efficiency and side effect of new potions.";
mes "However there is information about the core ingredients.";
close;
}
1@rgsr,198,199,0 script Research Report#rgsr_01 4_ENERGY_BLUE,{
mes "Some of the drawing has been torn.";
mes "Somebody intentionally destroyed the relevant parts.";
close;
}
1@rgsr,207,210,0 script Research Report#rgsr_02 4_ENERGY_BLUE,{
mes "Parts of the documents were severely damaged.";
mes "It seems to have been about attempting to create a device using the refraction of light.";
close;
}
1@rgsr,226,226,0 script Research Report#rgsr_03 4_ENERGY_BLUE,{
mes "Lloyds's enchantment and processing data.";
mes "Only the title was left, all the text was removed.";
close;
}
1@rgsr,231,223,0 script Research Report#rgsr_04 4_ENERGY_BLUE,{
mes "The booklet is missing some pages. Someone has deliberately omitted the material.";
close;
}
1@rgsr,243,223,0 script Research Report#rgsr_05 4_ENERGY_BLUE,{
mes "The experimental data has been removed. There are clear traces of someone destroying the information.";
close;
}

View File

@@ -1,615 +0,0 @@
//===== rAthena Script =======================================
//= Sealed OS
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Episode 17.1 - Sealed OS
//===== Changelog: ===========================================
//= 1.0 Initial release [crazyarashi]
//= 1.1 Optimizations and cleanup [Everade]
//============================================================
1@os_b,1,1,0 script #171_sealedos_control -1,{
end;
OnInstanceInit:
'map$ = instance_mapname("1@os_b");
'seal_os = 'lock = 0;
hideonnpc instance_npcname("Dien#171_os_0");
hideonnpc instance_npcname("Cotnes#171_os_0");
hideonnpc instance_npcname("Dien#171_os_1");
hideonnpc instance_npcname("Ridsh#171_os_1");
hideonnpc instance_npcname("Cotnes#171_os_1");
disablenpc instance_npcname("Suspicious Device#171_os");
disablenpc instance_npcname("Thick Wire#171_os_0");
disablenpc instance_npcname("Thick Wire#171_os_1");
disablenpc instance_npcname("Thick Wire#171_os_2");
disablenpc instance_npcname("Dien#171_os_2");
disablenpc instance_npcname("Cotnes#171_os_2");
disablenpc instance_npcname("Dien#171_os_3");
hideonnpc instance_npcname("Est#171_os_0");
hideonnpc instance_npcname("Cotnes#171_os_3");
hideonnpc instance_npcname("Dien#171_os_4");
disablenpc instance_npcname("Ridsh#171_os_2");
disablenpc instance_npcname("#171_sos_dummy_6");
disablenpc instance_npcname("#171_sos_dummy_7");
disablenpc instance_npcname("Ridsh#171_os_3");
disablenpc instance_npcname("Est#171_os_1");
disablenpc instance_npcname("Cotnes#171_os_4");
disablenpc instance_npcname("Dien#171_os_5");
end;
OnEvent01:
disablenpc instance_npcname("Ridsh#171_os_0");
disablenpc instance_npcname("Dien#171_os_0");
disablenpc instance_npcname("Cotnes#171_os_0");
disablenpc instance_npcname("#171_os_warp_1");
disablenpc instance_npcname("#171_os_warp_2");
hideoffnpc instance_npcname("Dien#171_os_1");
hideoffnpc instance_npcname("Ridsh#171_os_1");
hideoffnpc instance_npcname("Cotnes#171_os_1");
donpcevent instance_npcname("#171_sealedos_mob") + "::OnSummon00";
end;
OnEvent02:
for (.@i = 0; .@i < 6; .@i++)
disablenpc instance_npcname("#171_sos_dummy_" +.@i);
disablenpc instance_npcname("Suspicious Device#171_os");
disablenpc instance_npcname("Dien#171_os_1");
disablenpc instance_npcname("Ridsh#171_os_1");
disablenpc instance_npcname("Cotnes#171_os_1");
disablenpc instance_npcname("#171_os_warp_0");
enablenpc instance_npcname("Thick Wire#171_os_0");
enablenpc instance_npcname("Thick Wire#171_os_1");
enablenpc instance_npcname("Thick Wire#171_os_2");
enablenpc instance_npcname("Dien#171_os_2");
end;
OnEvent03:
disablenpc instance_npcname("Dien#171_os_2");
enablenpc instance_npcname("Cotnes#171_os_2");
enablenpc instance_npcname("Dien#171_os_3");
enablenpc instance_npcname("Ridsh#171_os_2");
end;
OnEvent04:
'unlocked = 1;
disablenpc instance_npcname("#171_os_warp_3");
enablenpc instance_npcname("Ridsh#171_os_2");
enablenpc instance_npcname("#171_sos_dummy_6");
enablenpc instance_npcname("#171_sos_dummy_7");
end;
OnEvent05:
disablenpc instance_npcname("Ridsh#171_os_2");
disablenpc instance_npcname("Est#171_os_0");
disablenpc instance_npcname("Cotnes#171_os_3");
disablenpc instance_npcname("Dien#171_os_4");
disablenpc instance_npcname("#171_os_warp_5");
enablenpc instance_npcname("Ridsh#171_os_3");
enablenpc instance_npcname("Est#171_os_1");
enablenpc instance_npcname("Cotnes#171_os_4");
enablenpc instance_npcname("Dien#171_os_5");
end;
}
1@os_b,188,45,5 script Ridsh#171_os_0 4_F_LEEDSH,{
if (!is_party_leader())
end;
.@dien$ = instance_npcname("Dien#171_os_0");
.@cot$ = instance_npcname("Cotnes#171_os_0");
cutin "ep162_rds01",2;
mes "[Ridsh]";
mes "Oh?";
mes "What are you doing here?";
npctalk "Ridsh : Oh? What are you doing here.";
next;
cutin "ep162_rds05",2;
mes "[Ridsh]";
mes "We're in trouble~~";
mes "We can't have anyone know we're here~~";
npctalk "Ridsh : We're in trouble~~ We can't have anyone know we're here~~";
next;
hideoffnpc .@dien$;
hideoffnpc .@cot$;
cutin "ep162_dn03",2;
mes "[Dien]";
mes "The adventurer is here too!";
mes "Why are you scared!";
npctalk "Dien : The adventurer is here too! Why are you scared!",.@dien$;
next;
mes "[Dien]";
mes "Hello " + strcharinfo(0) + ".";
sleep2 2000;
cutin "ep162_dn01",2;
mes "We've came here to do something... It was too troublesome to tell the youngsters.";
npctalk "Dien : We've came here to do something... It was too troublesome to tell the youngsters.",.@dien$;
next;
mes "[Dien]";
mes "If you keep it a secret that you saw us...";
npctalk "Dien : If you keep it a secret that you saw us...",.@dien$;
sleep2 1000;
specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_os_warp_1");
sleep2 600;
specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_os_warp_1");
sleep2 600;
specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_os_warp_2");
next;
cutin "ep162_rds04",2;
mes "[Ridsh]";
mes "Sister~~";
mes "What are you talking about, I don't see the adventurer!";
npctalk "Ridsh : Sister~~ What are you talking about, I don't see the adventurer!";
next;
cutin "ep162_ctn01",2;
mes "[Cotnes]";
mes "Oh~";
mes "Yeah?";
mes "I don't see the adventurer either~";
npctalk "Cotnes : Oh~ Yeah? I don't see the adventurer either~",.@cot$;
next;
mes "[Cotnes]";
mes "So what now?";
mes "We're already inside.";
npctalk "Cotnes : So what now? We're already inside.",.@cot$;
next;
cutin "ep162_rds05",2;
mes "[Ridsh]";
mes "It can't be helped~~";
mes "We have to go with the adventurer.";
npctalk "Ridsh : It can't be helped~~ We have to go with the adventurer.";
next;
cutin "ep162_dn01",2;
mes "[Dien]";
mes "It's dangerous, so please come with us.";
npctalk "Dien : It's dangerous so please come with us.",.@dien$;
close2;
cutin "",255;
if ('seal_os == 0) {
'seal_os = 1;
donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent01";
}
end;
}
1@os_b,212,41,0 script Suspicious Device#171_os 4_ENERGY_BLUE,{
mes "- There is a pipe going through the floor. -";
next;
if (select("Crush it.:Put it down.") == 2) {
mes "- Nothing happened. -";
close;
}
mes "- The machine stopped with a strange noise when the pipe was broken. -";
specialeffect EF_BLASTMINEBOMB;
close2;
mapannounce 'map$,"Ridsh : Alright! Let's move up along the railroad tracks!",bc_map,0xFF0000;
if ('seal_os == 1) {
'seal_os = 2;
donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent02";
}
end;
}
1@os_b,1,1,0 script #171_sealedos_mob HIDDEN_WARP_NPC,{
end;
OnSummon00:
.@event$ = instance_npcname(strnpcinfo(0))+"::OnMobKill";
npctalk "Cotnes : Over here~~.",instance_npcname("Dien#171_os_1");
sleep 1000;
npctalk "Dien : Oh my... what a surprise!",instance_npcname("Dien#171_os_1");
sleep 1000;
npctalk "Dien : We will take care of this side. Please take care of the disgusting ones there!",instance_npcname("Dien#171_os_1");
monster 'map$,205,46,"Dolor",20361,1,.@event$;
monster 'map$,200,45,"Twin Caput",20365,1,.@event$;
end;
OnMobKill:
.@event$ = instance_npcname(strnpcinfo(0))+"::OnMobKill";
if (!mobcount('map$,.@event$)) {
disablenpc();
enablenpc instance_npcname("Suspicious Device#171_os");
mapannounce 'map$,"Ridsh : Turn off the device at the bottom, while we deal with the enemies.",bc_map,0xFF0000;
}
end;
}
1@os_b,112,108,5 script Dien#171_os_2 4_F_DIENE,{
cutin "ep162_dn01",2;
mes "[Dien]";
mes "Oh my! What's that thing in the front?";
close3;
}
1@os_b,115,112,3 script Dangerous-Looking Device#s_os_0 1_SHADOW_NPC,3,3,{
end;
OnTouch:
mes "[Dien]";
mes "Oh my! I think it's precise device that's placed here in the abandoned mine.";
next;
mes "[Dien]";
mes "If you don't break the machine on the other side, we will not be able pass it!";
next;
mes "[Dien]";
mes "It's dangerous to go through right now, so let's turn around and go where the device is!";
close2;
warp 'map$,115,104;
sleep2 2000;
npctalk "Dien : If you don't break the machine on the other side, we will not be able pass it!",instance_npcname("Dien#171_os_2");
end;
}
1@os_b,115,126,3 duplicate(Dangerous-Looking Device#s_os_0) Dangerous-Looking Device#s_os_1 1_SHADOW_NPC,3,3
1@os_b,115,144,3 duplicate(Dangerous-Looking Device#s_os_0) Dangerous-Looking Device#s_os_2 1_SHADOW_NPC,3,3
1@os_b,137,107,0 script Thick Wire#171_os_0 4_ENERGY_BLUE,{
.@id = atoi(replacestr(strnpcinfo(2),"171_os_",""));
'lock += 1;
disablenpc();
disablenpc instance_npcname("Dangerous-Looking Device#s_os_" + .@id);
if ('lock < 3)
mapannounce 'map$,"Ridsh : The device hasn't turned off yet. Please take a look above for me.",bc_map,0xFF0000;
else {
mapannounce 'map$,"Ridsh : Great! The road is open. Let's move along the railroad tracks!",bc_map,0xFF0000;
if ('seal_os == 2) {
'seal_os = 3;
donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent03";
}
}
end;
}
1@os_b,137,123,0 duplicate(Thick Wire#171_os_0) Thick Wire#171_os_1 4_ENERGY_BLUE
1@os_b,137,139,0 duplicate(Thick Wire#171_os_0) Thick Wire#171_os_2 4_ENERGY_BLUE
1@os_b,122,212,5 script Dien#171_os_3 4_F_DIENE,{
OnTalk:
cutin "ep162_dn01",2;
mes "[Dien]";
mes "Oh!";
mes "If you go to the right, I think you can go back on the railroad without having to break the door.";
npctalk "Dien : Oh! If you go to the right, I think you can go back on the railroad without having to break the door";
if (!'unlocked)
donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent04";
close3;
}
1@os_b,114,217,0 script Cotnes#171_os_2 4_F_COATNEIS,{
cutin "ep162_ctn01",2;
mes "[Cotnes]";
mes "Oh, is this gate too hard?";
mes "It will take some time to break it~";
npctalk "Cotnes : Oh, is this gate too hard? It will take some time to break it.";
next;
doevent instance_npcname("Dien#171_os_3") + "::OnTalk";
close;
}
1@os_b,146,221,7 script Ridsh#171_os_2 4_F_LEEDSH,{
if ('seal_os != 3)
end;
cutin "ep162_rds04",2;
mes "[Ridsh]";
mes "Argh!";
npctalk "Ridsh : Argh!";
next;
.@est$ = instance_npcname("Est#171_os_0");
hideoffnpc .@est$;
sleep2 500;
specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_sos_dummy_6");
sleep2 500;
disablenpc instance_npcname("#171_sos_dummy_6");
specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_sos_dummy_7");
cutin "ep162_est01",2;
mes "[Est]";
mes "Oh...";
mes "I'm in a hurry, what are you doing here?";
npctalk "Est : I'm in a hurry, what are you doing here?",.@est$;
disablenpc instance_npcname("#171_sos_dummy_7");
next;
cutin "ep162_est02",2;
mes "[Est]";
mes "Please go back and enjoy your tea gracefully.";
npctalk "Est : Please go back and enjoy your tea gracefully.",.@est$;
next;
cutin "ep162_rds02",2;
mes "[Ridsh]";
mes "Huh!";
mes "How did you sneak in here anyway?";
npctalk "Ridsh : Huh! How did you sneak in here anyway?";
next;
cutin "ep162_est02",2;
mes "[Est]";
mes "This is only a surveillance routine.";
mes "If you close your eyes for a second, you may run into an accident.";
npctalk "Est : This is only a surveillance routine.",.@est$;
sleep2 2000;
npctalk "Est : If you close your eyes for a second, you may run into an accident.",.@est$;
next;
cutin "ep162_rds02",2;
mes "[Ridsh]";
mes "What makes you think we need your help?";
npctalk "Ridsh : What makes you think we need your help?";
next;
cutin "ep162_est02",2;
mes "[Est]";
mes "Didn't you just did now?";
mes "I don't think I heard that wrong. Did I?";
next;
disablenpc instance_npcname("Cotnes#171_os_2");
.@cot$ = instance_npcname("Cotnes#171_os_3");
hideoffnpc .@cot$;
cutin "ep162_ctn01",2;
mes "[Cotnes]";
mes "You two really~";
mes "Please stop fighting.";
npctalk "Cotnes : You two really~ Please stop fighting.",.@cot$;
next;
disablenpc instance_npcname("Dien#171_os_3");
.@dien$ = instance_npcname("Dien#171_os_4");
hideoffnpc .@dien$;
cutin "ep162_dn03",2;
mes "[Dien]";
mes "How do you always fight like that?";
npctalk "Dien : How do you always fight like that?",.@dien$;
next;
cutin "ep162_ctn01",2;
mes "[Cotnes]";
mes "I'm so excited about this~ I'm getting old and I'm tired of fighting.";
npctalk "Cotnes : I'm so excited about this~ I'm getting old and I'm tired of fighting.",.@cot$;
next;
cutin "ep162_dn03",1;
mes "[Dien]";
mes "Is that so?";
npctalk "Dien : Is that so?",.@dien$;
next;
cutin "ep162_ctn01",2;
mes "[Cotnes]";
mes "Yeah~";
mes "I'm tired of fighting, let's go back to work.";
mes "The road is open now.";
npctalk "Cotnes : Yeah~ I'm tired of fighting, let's go back to work. The road is open now.",.@cot$;
close2;
cutin "",255;
if ('seal_os == 3) {
'seal_os = 4;
donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent05";
}
end;
}
1@os_b,259,360,5 script Dien#171_os_5 4_F_DIENE,{
if ('seal_os != 4)
end;
cutin "ep162_dn03",2;
mes "[Dien]";
mes "Finally..";
mes "If you cross this door...";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "Let's head back now before they gather more troops.";
next;
cutin "ep162_dn03",2;
mes "[Dien]";
mes "Excuse me.";
next;
cutin "ep162_est01",2;
mes "[Est]";
mes "?";
next;
cutin "ep162_rds01",2;
mes "[Ridsh]";
mes "Why?";
next;
cutin "ep162_dn03",2;
mes "[Dien]";
mes "Oh my, oh my!";
mes "What should we do!";
next;
cutin "ep162_rds04",2;
mes "[Ridsh]";
mes "Why, what's going on?";
next;
cutin "ep162_dn03",2;
mes "[Dien]";
mes "I think I've left it.";
next;
cutin "ep162_rds01",2;
mes "[Ridsh]";
mes "Left what?";
next;
cutin "ep162_dn03",2;
mes "[Dien]";
mes "My protection charm!";
mes "I get nervous if I don't have it with me.";
next;
cutin "ep162_rds04",2;
mes "[Ridsh]";
mes "You've been fine so far without it?!";
next;
cutin "ep162_dn03",2;
mes "[Dien]";
mes "...";
next;
cutin "ep162_rds01",2;
mes "[Ridsh]";
mes "Ah... Sorry..";
mes "Alright.";
next;
mes "[Ridsh]";
mes "While we open the last door, would you mind going back to ^FF0000Clana Nemieri^000000?";
next;
mes "[Ridsh]";
mes "I have to contact a few people anyway, and Dien won't go anywhere until she gets her protection charm.";
next;
mes "[Ridsh]";
mes "Sister, tell me where it is.";
next;
cutin "ep162_dn02",2;
mes "[Dien]";
mes "Oh!";
mes "Thank you so much for that";
next;
mes "[Dien]";
mes "It's hard for me to get it back because it's far...";
mes "Please do me a favor.";
next;
cutin "ep162_dn01",2;
mes "[Dien]";
mes "^FF0000Go back to my room and look for a chest on the left side of the window, near a vase.";
next;
mes "[Dien]";
mes "It should be easy to get since we're here.";
next;
cutin "ep162_rds05",2;
mes "[Ridsh]";
mes "Oh!";
mes "Shouldn't we tell them where we are?";
if (isbegin_quest(11600) == 1) {
completequest 11600;
setquest 11601;
getitem 25669,25;
getexp 600000,600000;
}
close2;
warp "ein_fild03",258,267;
end;
OnInstanceInit:
questinfo(QTYPE_QUEST,QMARK_YELLOW,"isbegin_quest(11600) == 1");
end;
}
1@os_b,260,363,5 script Cotnes#171_os_4 4_F_COATNEIS,{
cutin "ep162_ctn01",2;
mes "[Cotnes]";
mes "It's good sometimes to take a quick walk like this~";
close3;
}
1@os_b,262,362,4 script Est#171_os_1 4_F_ESTLOVELOY,{
cutin "ep162_est01",2;
mes "[Est]";
mes "I eager to explore the area beyond here.";
close3;
}
1@os_b,261,358,3 script Ridsh#171_os_3 4_F_LEEDSH,{
cutin "ep162_rds01",2;
mes "[Ridsh]";
mes "I'm tired!";
mes "I want to go home.";
close3;
}
1@os_b,187,52,0 script #171_os_warp_0 WARPNPC,4,4,{
end;
OnTouch:
.@id = atoi(replacestr(strnpcinfo(2),"171_os_warp_",""));
switch (.@id) {
case 0:
case 1:
case 2:
warp 'map$,188,41;
break;
case 3:
case 4:
if (!'unlocked) {
cutin "ep162_dn01",2;
mes "[Dien]";
mes "It would be better to just go around the door.";
npctalk "Dien : It would be better to just go around the door.",instance_npcname("Dien#171_os_4"),bc_map;
close2;
cutin "",255;
}
warp 'map$,114,204;
break;
case 5:
warp 'map$,142,220;
}
end;
}
1@os_b,204,266,0 script #171_os_trap_0 1_SHADOW_NPC,4,4,{
end;
OnTouch:
.@id = atoi(replacestr(strnpcinfo(2),"171_os_trap_",""));
if (getd("'" + strnpcinfo(2)))
end;
switch (.@id) {
case 0: setarray .@xy,209,264,20363,209,268,20355; break;
case 1: setarray .@xy,234,269,20357,236,266,20357; break;
case 2: setarray .@xy,250,268,20363,252,266,20355; break;
case 3: setarray .@xy,263,285,20361,259,286,20365; break;
case 4: setarray .@xy,262,303,20355,258,306,20355; break;
case 5: setarray .@xy,262,318,20363,259,320,20361; break;
case 6: setarray .@xy,258,336,20365,263,338,20355;
}
setd("'" + strnpcinfo(2),1);
for (.@i = 0; .@i < getarraysize(.@xy); .@i += 3)
monster 'map$,.@xy[.@i],.@xy[.@i+1],"--ja--",.@xy[.@i+2],1,instance_npcname(strnpcinfo(0))+"::OnMobKill";
end;
OnMobKill:
.@event$ = instance_npcname(strnpcinfo(0))+"::OnMobKill";
if (!mobcount('map$,.@event$))
disablenpc();
end;
}
1@os_b,148,217,3 duplicate(dummy_npc) Est#171_os_0 4_F_ESTLOVELOY
1@os_b,142,225,6 duplicate(dummy_npc) Cotnes#171_os_3 4_F_COATNEIS
1@os_b,143,222,5 duplicate(dummy_npc) Dien#171_os_4 4_F_DIENE
1@os_b,229,267,5 duplicate(#171_os_trap_0) #171_os_trap_1 1_SHADOW_NPC,4,4
1@os_b,244,267,5 duplicate(#171_os_trap_0) #171_os_trap_2 1_SHADOW_NPC,4,4
1@os_b,261,281,5 duplicate(#171_os_trap_0) #171_os_trap_3 1_SHADOW_NPC,4,4
1@os_b,261,299,5 duplicate(#171_os_trap_0) #171_os_trap_4 1_SHADOW_NPC,4,4
1@os_b,261,314,5 duplicate(#171_os_trap_0) #171_os_trap_5 1_SHADOW_NPC,4,4
1@os_b,261,332,5 duplicate(#171_os_trap_0) #171_os_trap_6 1_SHADOW_NPC,4,4
1@os_b,191,46,0 duplicate(#171_os_warp_0) #171_os_warp_1 WARPNPC,3,3
1@os_b,192,49,0 duplicate(#171_os_warp_0) #171_os_warp_2 WARPNPC,3,3
1@os_b,118,209,0 duplicate(#171_os_warp_0) #171_os_warp_3 WARPNPC,3,3
1@os_b,119,215,0 duplicate(#171_os_warp_0) #171_os_warp_4 WARPNPC,3,3
1@os_b,147,224,0 duplicate(#171_os_warp_0) #171_os_warp_5 WARPNPC,3,3
1@os_b,190,44,3 duplicate(dummy_npc) Dien#171_os_0 4_F_DIENE
1@os_b,190,47,6 duplicate(dummy_npc) Cotnes#171_os_0 4_F_COATNEIS
1@os_b,199,51,7 duplicate(dummy_npc) Dien#171_os_1 4_F_DIENE
1@os_b,201,49,3 duplicate(dummy_npc) Cotnes#171_os_1 4_F_COATNEIS
1@os_b,203,51,0 duplicate(dummy_npc) Ridsh#171_os_1 4_F_LEEDSH
1@os_b,199,56,5 duplicate(dummy_npc) #171_sos_dummy_0 20355
1@os_b,202,56,3 duplicate(dummy_npc) #171_sos_dummy_1 20357
1@os_b,198,53,3 duplicate(dummy_npc) #171_sos_dummy_2 20355
1@os_b,200,54,4 duplicate(dummy_npc) #171_sos_dummy_3 20361
1@os_b,203,54,5 duplicate(dummy_npc) #171_sos_dummy_4 20357
1@os_b,201,52,3 duplicate(dummy_npc) #171_sos_dummy_5 20363
1@os_b,144,221,5 duplicate(dummy_npc) #171_sos_dummy_6 20363
1@os_b,148,221,3 duplicate(dummy_npc) #171_sos_dummy_7 20365
1@os_b,200,276,5 duplicate(dummy_npc) #171_sos_dummy_8 20361
1@os_b,207,275,3 duplicate(dummy_npc) #171_sos_dummy_9 20363
1@os_b,205,258,3 duplicate(dummy_npc) #171_sos_dummy_10 20365
1@os_b,213,257,2 duplicate(dummy_npc) #171_sos_dummy_11 20357
1@os_b,231,274,5 duplicate(dummy_npc) #171_sos_dummy_12 20361
1@os_b,234,276,5 duplicate(dummy_npc) #171_sos_dummy_13 20365
1@os_b,244,275,3 duplicate(dummy_npc) #171_sos_dummy_14 20361
1@os_b,242,276,3 duplicate(dummy_npc) #171_sos_dummy_15 20365
1@os_b,253,286,5 duplicate(dummy_npc) #171_sos_dummy_16 20363
1@os_b,265,284,3 duplicate(dummy_npc) #171_sos_dummy_17 20355
1@os_b,252,302,5 duplicate(dummy_npc) #171_sos_dummy_18 20363
1@os_b,251,300,5 duplicate(dummy_npc) #171_sos_dummy_19 20361
1@os_b,61,263,3 duplicate(dummy_npc) #171_sos_dummy_20 20365
1@os_b,264,267,3 duplicate(dummy_npc) #171_sos_dummy_21 20361
1@os_b,263,262,3 duplicate(dummy_npc) #171_sos_dummy_22 20363
1@os_b,192,276,5 duplicate(dummy_npc) #171_sos_dummy_23 20365
1@os_b,194,250,5 duplicate(dummy_npc) #171_sos_dummy_24 20355
1@os_b,196,251,3 duplicate(dummy_npc) #171_sos_dummy_25 20363
1@os_b,197,250,3 duplicate(dummy_npc) #171_sos_dummy_26 20357
1@os_b,124,230,5 duplicate(dummy_npc) #171_sos_dummy_27 20365
1@os_b,126,232,5 duplicate(dummy_npc) #171_sos_dummy_28 20365
1@os_b,128,231,5 duplicate(dummy_npc) #171_sos_dummy_29 20361
1@os_b,134,230,3 duplicate(dummy_npc) #171_sos_dummy_30 20363

View File

@@ -66,8 +66,8 @@ iz_int04,51,30,0 duplicate(iz_int#intro_evt02) iz_int04#intro_evt02 HIDDEN_WARP_
//== Wounded Swordsman (iz_int) =================================
iz_int,56,32,3 script Wounded Swordsman#intro_npc01_iz_int 4_TOWER_01,5,5,{
npctalk "Oh...", "", bc_self;
cloakonnpcself();
cloakoffnpcself( "Wounded Swordsman#intro_npc02_" + strnpcinfo(4) );
cloakonnpc strnpcinfo(0), getcharid(0);
cloakoffnpc "Wounded Swordsman#intro_npc02_" + strnpcinfo(4), getcharid(0);
end;
OnTouch:
@@ -283,7 +283,7 @@ int_land,73,100,3 script Lumin#new_ship 4_M_NOV_RUMIN,{
mes "[Lumin]";
mes "Yes.";
next;
cloakonnpcself();
cloakonnpc strnpcinfo(0), getcharid(0);
cutin "fly_trock.bmp",2;
mes "[Captain Carocc]";
mes "Oh boy.";
@@ -307,7 +307,7 @@ int_land,73,100,3 script Lumin#new_ship 4_M_NOV_RUMIN,{
mes ".....";
mes "....So?";
next;
cloakonnpcself();
cloakonnpc strnpcinfo(0), getcharid(0);
mes "- Lu just walked away with a cynical look on his face.";
next;
cutin "fly_trock.bmp",2;

View File

@@ -1,65 +0,0 @@
//===== rAthena Script =======================================
//= Mapflag: Disable renewal level penalty.
//===== Description: =========================================
//= The file groups the 'norenewalexppenalty' and 'norenewaldroppenalty' mapflags.
//===== Additional Comments: =================================
//= 1.0 Added illusions dungeons maps. [Capuche]
//============================================================
//============================================================
// Illusion of Moonlight
//============================================================
pay_d03_i mapflag norenewalexppenalty
pay_d03_i mapflag norenewaldroppenalty
//============================================================
// Illusion of Vampire
//============================================================
gef_d01_i mapflag norenewalexppenalty
gef_d01_i mapflag norenewaldroppenalty
//============================================================
// Illusion of Frozen
//============================================================
ice_d03_i mapflag norenewalexppenalty
ice_d03_i mapflag norenewaldroppenalty
//============================================================
// Illusion of old Archery
//============================================================
tur_d03_i mapflag norenewalexppenalty
tur_d03_i mapflag norenewaldroppenalty
tur_d04_i mapflag norenewalexppenalty
tur_d04_i mapflag norenewaldroppenalty
//============================================================
// Illusion of Teddy Bear
//============================================================
ein_d02_i mapflag norenewalexppenalty
ein_d02_i mapflag norenewaldroppenalty
//============================================================
// Illusion of Twins
//============================================================
ant_d02_i mapflag norenewalexppenalty
ant_d02_i mapflag norenewaldroppenalty
//============================================================
// Illusion of Luanda
//============================================================
com_d02_i mapflag norenewalexppenalty
com_d02_i mapflag norenewaldroppenalty
//============================================================
// Illusion of Labyrinth
//============================================================
prt_mz03_i mapflag norenewalexppenalty
prt_mz03_i mapflag norenewaldroppenalty
//============================================================
// Illusion of Underwater
//============================================================
iz_d04_i mapflag norenewalexppenalty
iz_d04_i mapflag norenewaldroppenalty
iz_d05_i mapflag norenewalexppenalty
iz_d05_i mapflag norenewaldroppenalty

View File

@@ -45,32 +45,26 @@ OnInit:
mes "Hi!";
mes "What did you come to see?";
next;
switch ( select( "Buy Weapons", "Buy Ammunition", "Cartridge Exchange", "Sell Items", "Cancel" )) {
switch ( select( "Buy Ammunition", "Cartridge Exchange", "Sell Items", "Cancel" )) {
case 1:
mes "[Ammunition Merchant]";
mes "I will prepare the weapon.";
close2;
callshop "Weapons_Gunslinger", 1;
break;
case 2:
mes "[Ammunition Merchant]";
mes "I will start preparing the ammunition.";
close2;
callshop "Ammunition_Gunslinger", 1;
break;
case 3:
case 2:
mes "[Ammunition Merchant]";
mes "I will start preparing ammunition cartridges!";
close2;
callshop "Box_Exchange_Gunslinger", 1;
break;
case 4:
case 3:
mes "[Ammunition Merchant]";
mes "What would you like to sell?";
close2;
callshop "Selling_Items", 2;
break;
case 5:
case 4:
mes "[Ammunition Merchant]";
mes "You can take a look at other things more calmly.";
close;
@@ -194,7 +188,6 @@ OnInit:
- marketshop Arrow_Archer HIDDEN_NPC,1750:-1:-1,1770:3:-1,1751:5:-1,1752:5:-1,1754:5:-1,1755:5:-1,1756:5:-1,1757:5:-1,1767:5:-1,1762:5:-1,1065:50:-1,7940:100:-1
//= Gunslinger
- shop Weapons_Gunslinger -1,13120:-1,13122:-1,13189:-1,13195:-1,13192:-1,13193:-1,13194:-1,13197:-1,13198:-1,28200:-1,28201:-1
- marketshop Ammunition_Gunslinger HIDDEN_NPC,13200:-1:-1,13221:-1:-1,13228:-1:-1,13229:-1:-1,13230:-1:-1,13231:-1:-1,13232:-1:-1,13222:-1:-1,13215:-1:-1,13216:-1:-1,13217:-1:-1,13218:-1:-1,13219:-1:-1,13220:-1:-1,7663:-1:-1,7665:15:-1,7664:-1:-1,25187:-1:-1,1000564:-1:-1
@@ -202,8 +195,7 @@ OnInit:
- marketshop Weapons_Ninja HIDDEN_NPC,1220001:-1:-1,1220002:-1:-1,1220003:30:-1,1220004:-1:-1,13258:-1:-1,13257:-1:-1,13255:-1:-1,13256:-1:-1,13259:-1:-1,13294:-1:-1,6512:-1:-1,6513:-1:-1,6514:-1:-1,13250:-1:-1,13251:-1:-1,13252:-1:-1,13253:-1:-1,13254:-1:-1,7521:-1:-1,7522:-1:-1,7523:-1:-1,7524:-1:-1,1000565:-1:-1,1000566:-1:-1,1000567:-1:-1,1000568:-1:-1,1000569:-1:-1
//= Merchant
- shop Weapons_Mechanic -1,2139:-1,2800:-1,2801:-1,2802:-1,2803:-1,2805:-1,2806:-1,6186:-1,2808:-1,2807:-1
- marketshop Weapons_Mechanic HIDDEN_NPC,2139:-1:-1,2800:-1:-1,2801:-1:-1,2802:-1:-1,2803:-1:-1,2805:-1:-1,2806:-1:-1,6186:-1:-1,2808:-1:-1,2807:-1:-1
- marketshop Ammunition_Mechanic HIDDEN_NPC,18000:-1:-1,18003:-1:-1,18001:-1:-1,18002:-1:-1,18004:-1:-1,18005:-1:-1,18006:-1:-1,18007:-1:-1,18008:-1:-1,6145:-1:-1,6146:-1:-1,12394:-1:-1,12393:-1:-1,12392:-1:-1,6147:-1:-1,23277:-1:-1,100158:-1:-1,2804:-1:-1,2809:-1:-1,2810:-1:-1
//= Talisman

View File

@@ -50,6 +50,3 @@ Footer:
- Path: npc/re/merchants/barters/Extended_Ammunition.yml
- Path: npc/re/merchants/barters/quests_16_1.yml
- Path: npc/re/merchants/barters/quests_16_2.yml
- Path: npc/re/merchants/barters/quests_17_1.yml
- Path: npc/re/merchants/barters/refine.yml
- Path: npc/re/merchants/barters/enchantgrade.yml

View File

@@ -1,110 +0,0 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# 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/>.
#
###########################################################################
# Barter Database
###########################################################################
#
# Barter Settings
#
###########################################################################
# - Name NPC name.
# Map Map name. (Default: not on a map)
# X Map x coordinate. (Default: 0)
# Y Map y coordinate. (Default: 0)
# Direction Direction the NPC is looking. (Default: North)
# Sprite Sprite name of the NPC. (Default: FakeNpc)
# Items: List of sold items.
# - Index Index of the item inside the shop. (0-...)
# Maximum index depends on client.
# Item Aegis name of the item.
# Stock Amount of item in stock. 0 means unlimited. (Default: 0)
# Zeny Cost of them item in Zeny. (Default: 0)
# RequiredItems: List of required items (Optional)
# - Index Index of the required item. (0-4)
# Item Aegis name of required item.
# Amount Amount of required item. (Default: 1)
# Refine Refine level of required item. (Default: 0)
###########################################################################
Header:
Type: BARTER_DB
Version: 1
Body:
###########################################################################
##= Enchant Grade Exchange
###########################################################################
- Name: EnchantGradeExchange
Items:
- Index: 0
Item: Etel_Stone
Zeny: 100000
RequiredItems:
- Index: 0
Item: Etel_Dust
Amount: 5
- Index: 1
Item: Blessed_Etel_Dust
Zeny: 100000
RequiredItems:
- Index: 0
Item: Etel_Dust
Amount: 5
- Index: 1
Item: Blacksmith_Blessing
Amount: 1
- Index: 2
Item: Etel_Skyblue_Jewel
Zeny: 100000
RequiredItems:
- Index: 0
Item: Etel_Stone
Amount: 3
- Index: 1
Item: Skyblue_Jewel
Amount: 1
- Index: 3
Item: Etel_Topaz
Zeny: 200000
RequiredItems:
- Index: 0
Item: Etel_Stone
Amount: 6
- Index: 1
Item: Golden_Jewel
Amount: 1
- Index: 4
Item: Etel_Violet_Jewel
Zeny: 300000
RequiredItems:
- Index: 0
Item: Etel_Stone
Amount: 10
- Index: 1
Item: Violet_Jewel
Amount: 1
- Index: 5
Item: Etel_Amber
Zeny: 300000
RequiredItems:
- Index: 0
Item: Etel_Stone
Amount: 15
- Index: 1
Item: Amber
Amount: 1

View File

@@ -47,7 +47,7 @@ Header:
# Related to Noblesse Shop
Body:
- Name: shop_ext161_JOB_GUILLOTINE_CROSS
- Name: shop_ext161_JOB_RUNE_KNIGHT
Items:
- Index: 0
Item: Noblesse_Attack_Ring
@@ -819,7 +819,7 @@ Body:
- Index: 0
Item: TokenOfHonor
Amount: 10
- Name: shop_ext161_JOB_MECHANIC
- Name: shop_ext161_JOB_STAR_EMPEROR
Items:
- Index: 0
Item: Noblesse_Attack_Ring

View File

@@ -55,7 +55,7 @@ Body:
- Index: 0
Item: Swz_Honor_Token
Amount: 1
- Name: shop_ext162_JOB_GUILLOTINE_CROSS
- Name: shop_ext162_JOB_RUNE_KNIGHT
Items:
- Index: 0
Item: Imperial_Attack_Ring
@@ -1235,7 +1235,7 @@ Body:
- Index: 0
Item: Swz_Honor_Token
Amount: 5
- Name: shop_ext162_JOB_MECHANIC
- Name: shop_ext162_JOB_STAR_EMPEROR
Items:
- Index: 0
Item: Imperial_Attack_Ring

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