//================= Hercules Database =====================================
//= _ _ _
//= | | | | | |
//= | |_| | ___ _ __ ___ _ _| | ___ ___
//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
//= | | | | __/ | | (__| |_| | | __/\__ \
//= \_| |_/\___|_| \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2018 Hercules Dev Team
//=
//= Hercules 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/>.
//=========================================================================
//= Monster Skill Database
//=========================================================================
mob_skill_db:(
{
/**************************************************************************
************* Entry structure ********************************************
**************************************************************************
<Monster_Constant>: {
<Skill_Constant>: {
ClearSkills: (boolean, defaults to false) allows cleaning all previous defined skills for the mob.
SkillLevel: (int, defaults to 1)
SkillState: (int, defaults to 0)
SkillTarget: (int, defaults to 0)
Rate: (int, defaults to 1) Rate refers to the chance of the skill being casted when the condition is fulfilled.(10000 = 100%)
CastTime: (int, defaults to 0) CastTime is the time in milliseconds that has to be pass to casting skill
Delay: (int, defaults to 0) Delay is the time in milliseconds that has to be pass before recasting the same skill.
Cancelable: (boolean, defaults to false)
CastCondition: (int, defaults to 0)
ConditionData: (int, defaults to 0)
val0: (int, defaults to 0) Value 0
val1: (int, defaults to 0)
val2: (int, defaults to 0)
val3: (int, defaults to 0)
val4: (int, defaults to 0)
Emotion: (int, defaults to 0)
ChatMsgID: (int, defaults to 0)
}
}
// STATE:
// any (except dead) / idle (in standby) / walk (in movement) / dead (on killed) /
// loot /attack / angry (like attack, except player has not attacked mob yet) /
// chase (following target, after being attacked) / follow (following target,
// without being attacked) / anytarget (attack+angry+chase+follow)
SKILL_STATES = {
"any": "MSS_ANY",
"idle": "MSS_IDLE",
"walk": "MSS_WALK",
"loot": "MSS_LOOT",
"dead": "MSS_DEAD",
"attack": "MSS_BERSERK",
"angry": "MSS_ANGRY",
"chase": "MSS_RUSH",
"follow": "MSS_FOLLOW",
"anytarget": "MSS_ANYTARGET"
}
// TARGET:
// target (current target) / self / friend / master / randomtarget (any enemy within skill's range)
//
// The following are for ground-skills, a random target tile is selected from the specified area:
// around1 (3x3 area around self) / around2 (5x5 area around self) /
// around3 (7x7 area around self) / around4 (9x9 area around self) /
// around5 (3x3 area around target) / around6 (5x5 area around target) /
// around7 (7x7 area around target) / around8 (9x9 area around target) /
// around = around4
SKILL_TARGET = {
"target": "MST_TARGET",
"randomtarget": "MST_RANDOM",
"self": "MST_SELF",
"friend": "MST_FRIEND",
"master": "MST_MASTER",
"around5": "MST_AROUND5",
"around6": "MST_AROUND6",
"around7": "MST_AROUND7",
"around8": "MST_AROUND8",
"around1": "MST_AROUND1",
"around2": "MST_AROUND2",
"around3": "MST_AROUND3",
"around4": "MST_AROUND4",
"around": "MST_AROUND"
}
// CONDITION:
// always Unconditional (no condition value).
// onspawn When mob spawns/respawns (no condition value).
// myhpltmaxrate When mob's HP drops to the specified %.
// myhpinrate When mob's HP is in a certain % range (condition value = lower bound, val1 = upper bound).
// mystatuson If mob has the specified abnormality in status.
// mystatusoff If mob has ended the specified abnormality in status.
// friendhpltmaxrate When mob's friend's HP drops to the specified %.
// friendhpinrate When mob's friend's HP is in a certain % range (condition value = lower bound, val1 = upper bound).
// friendstatuson If friend has the specified abnormality in status.
// friendstatusoff If friend has ended the specified abnormality in status.
// attackpcgt When attack PCs become greater than specified number.
// attackpcge When attack PCs become greater than or equal to the specified number.
// slavelt When number of slaves is less than the original specified number.
// slavele When number of slaves is less than or equal to the original specified number.
// closedattacked When close range melee attacked (no condition value).
// longrangeattacked When long range attacked, ex. bows, guns, ranged skills (no condition value).
// skillused When the specified skill is used on the mob.
// afterskill After mob casts the specified skill.
// casttargeted When a target is in cast range (no condition value).
// rudeattacked When mob is rude attacked (no condition value).
SKILL_COND1 = {
"always": "MSC_ALWAYS",
"myhpltmaxrate": "MSC_MYHPLTMAXRATE",
"myhpinrate": "MSC_MYHPINRATE",
"friendhpltmaxrate": "MSC_FRIENDHPLTMAXRATE",
"friendhpinrate": "MSC_FRIENDHPINRATE",
"mystatuson": "MSC_MYSTATUSON",
"mystatusoff": "MSC_MYSTATUSOFF",
"friendstatuson": "MSC_FRIENDSTATUSON",
"friendstatusoff": "MSC_FRIENDSTATUSOFF",
"attackpcgt": "MSC_ATTACKPCGT",
"attackpcge": "MSC_ATTACKPCGE",
"slavelt": "MSC_SLAVELT",
"slavele": "MSC_SLAVELE",
"closedattacked": "MSC_CLOSEDATTACKED",
"longrangeattacked": "MSC_LONGRANGEATTACKED",
"skillused": "MSC_SKILLUSED",
"afterskill": "MSC_AFTERSKILL",
"casttargeted": "MSC_CASTTARGETED",
"rudeattacked": "MSC_RUDEATTACKED",
"masterhpltmaxrate": "MSC_MASTERHPLTMAXRATE",
"masterattacked": "MSC_MASTERATTACKED",
"alchemist": "MSC_ALCHEMIST",
"onspawn": "MSC_SPAWN"
}
// Status abnormalities specified through the statuson/statusoff system:
// anybad (any type of state change) / stone / freeze / stun / sleep /
// poison / curse / silence / confusion / blind / hiding / sight (unhidden)
//
// Note: if a negative MobID is provided, the skill will be treated as 'global':
// -1: added for all boss types.
// -2: added for all normal types.
// -4: added for all mobs.
SKILL_COND2 = {
"anybad": "MSC_ANY",
"stone": "SC_STONE",
"freeze": "SC_FREEZE",
"stun": "SC_STUN",
"sleep": "SC_SLEEP",
"poison": "SC_POISON",
"curse": "SC_CURSE",
"silence": "SC_SILENCE",
"confusion": "SC_CONFUSION",
"blind": "SC_BLIND",
"hiding": "SC_HIDING",
"sight": "SC_SIGHT"
}
**************************************************************************/
Blub: {
NPC_SUMMONSLAVE: {
SkillState: "MSS_ANY"
SkillLevel: 4
Rate: 10000
CastTime: 700
Delay: 60000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SPAWN"
val0: 1007
}
}
Tipiu: {
NPC_SUMMONSLAVE: {
SkillState: "MSS_IDLE"
SkillLevel: 6
Rate: 10000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SPAWN"
val0: 1003
}
NPC_SUMMONSLAVE: {
SkillState: "MSS_BERSERK"
SkillLevel: 2
Rate: 2000
CastTime: 700
Delay: 10000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SLAVELE"
ConditionData: 5
val0: 1003
}
NPC_SUMMONSLAVE: {
SkillState: "MSS_IDLE"
SkillLevel: 2
Rate: 7000
CastTime: 700
Delay: 10000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SLAVELE"
ConditionData: 5
val0: 1003
}
}
Tipiou: {
NPC_SUMMONSLAVE: {
SkillState: "MSS_IDLE"
SkillLevel: 5
Rate: 10000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SPAWN"
val0: 1002
}
NPC_SUMMONSLAVE: {
SkillState: "MSS_BERSERK"
SkillLevel: 2
Rate: 2000
CastTime: 700
Delay: 10000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SLAVELE"
ConditionData: 4
val0: 1002
}
NPC_SUMMONSLAVE: {
SkillState: "MSS_IDLE"
SkillLevel: 2
Rate: 7000
CastTime: 700
Delay: 10000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SLAVELE"
ConditionData: 4
val0: 1002
}
}
BlueSlime: {
NPC_SUMMONSLAVE: {
SkillState: "MSS_ANY"
SkillLevel: 1
Rate: 8000
CastTime: 1000
Delay: 5000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SLAVELT"
ConditionData: 1
val0: 1090
}
}
SlimeBlast: {
NPC_SELFDESTRUCTION: {
SkillState: "MSS_BERSERK"
SkillLevel: 1
Rate: 10000
CastTime: 100
Delay: 500
Cancelable: true
SkillTarget: "MST_SELF"
CastCondition: "MSC_ALWAYS"
}
}
WhiteSlime: {
NPC_SELFDESTRUCTION: {
SkillState: "MSS_BERSERK"
SkillLevel: 1
Rate: 10000
CastTime: 100
Delay: 500
Cancelable: true
SkillTarget: "MST_SELF"
CastCondition: "MSC_MYHPLTMAXRATE"
ConditionData: 20
val0: 30
}
}
SantaSlime: {
NPC_SUMMONSLAVE: {
SkillState: "MSS_BERSERK"
SkillLevel: 5
Rate: 10000
CastTime: 2000
Delay: 60000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SLAVELE"
ConditionData: 3
val0: 1086
}
NPC_SUMMONSLAVE: {
SkillState: "MSS_IDLE"
SkillLevel: 5
Rate: 10000
CastTime: 2000
Delay: 60000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SLAVELE"
ConditionData: 3
val0: 1086
}
}
MountainSnake: {
NPC_POISON: {
SkillState: "MSS_BERSERK"
SkillLevel: 20
Rate: 500
Delay: 500
Cancelable: true
SkillTarget: "MST_TARGET"
CastCondition: "MSC_ALWAYS"
}
}
DesertBandit: {
NPC_POISON: {
SkillState: "MSS_BERSERK"
SkillLevel: 20
Rate: 400
Delay: 500
Cancelable: true
SkillTarget: "MST_TARGET"
CastCondition: "MSC_ATTACKPCGE"
ConditionData: 3
}
}
Sarracenus: {
NPC_POISON: {
SkillState: "MSS_BERSERK"
SkillLevel: 20
Rate: 400
Delay: 500
Cancelable: true
SkillTarget: "MST_TARGET"
CastCondition: "MSC_ATTACKPCGE"
ConditionData: 3
}
}
YetiKing: {
NPC_SUMMONSLAVE: {
SkillState: "MSS_BERSERK"
SkillLevel: 5
Rate: 10000
CastTime: 2000
Delay: 60000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SLAVELE"
ConditionData: 3
val0: 1064
}
NPC_SUMMONSLAVE: {
SkillState: "MSS_IDLE"
SkillLevel: 5
Rate: 10000
CastTime: 2000
Delay: 60000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SLAVELE"
ConditionData: 3
val0: 1064
}
NPC_POISON: {
SkillState: "MSS_BERSERK"
SkillLevel: 20
Rate: 400
Delay: 500
Cancelable: true
SkillTarget: "MST_TARGET"
CastCondition: "MSC_ATTACKPCGE"
ConditionData: 3
}
NPC_POISON: {
SkillState: "MSS_BERSERK"
SkillLevel: 20
Rate: 1200
Delay: 500
Cancelable: true
SkillTarget: "MST_TARGET"
CastCondition: "MSC_ATTACKPCGE"
ConditionData: 5
}
NPC_POISON: {
SkillState: "MSS_BERSERK"
SkillLevel: 20
Rate: 2500
Delay: 500
Cancelable: true
SkillTarget: "MST_TARGET"
CastCondition: "MSC_ATTACKPCGE"
ConditionData: 8
}
}
PoisonSpikyMushroom: {
NPC_POISON: {
SkillState: "MSS_BERSERK"
SkillLevel: 20
Rate: 250
Delay: 500
Cancelable: true
SkillTarget: "MST_TARGET"
CastCondition: "MSC_ALWAYS"
}
}
RobinBandit: {
NPC_POISON: {
SkillState: "MSS_BERSERK"
SkillLevel: 20
Rate: 8000
Delay: 80000
Cancelable: true
SkillTarget: "MST_TARGET"
CastCondition: "MSC_FRIENDHPLTMAXRATE"
ConditionData: 30
}
}
BanditLord: {
NPC_SUMMONSLAVE: {
SkillState: "MSS_ANYTARGET"
SkillLevel: 2
Rate: 10000
CastTime: 2000
Delay: 90000
Cancelable: false
SkillTarget: "MST_SELF"
CastCondition: "MSC_LONGRANGEATTACKED"
val0: 1153
}
NPC_SUMMONSLAVE: {
SkillState: "MSS_ANYTARGET"
SkillLevel: 1
Rate: 10000
CastTime: 1000
Delay: 270000
Cancelable: false
SkillTarget: "MST_SELF"
CastCondition: "MSC_MYHPLTMAXRATE"
ConditionData: 25
val0: 1024
}
NPC_POISON: {
SkillState: "MSS_BERSERK"
SkillLevel: 20
Rate: 7500
Delay: 20000
Cancelable: true
SkillTarget: "MST_TARGET"
CastCondition: "MSC_MYHPLTMAXRATE"
ConditionData: 7
}
}
EvilChest: {
NPC_SUMMONMONSTER: {
SkillState: "MSS_DEAD"
SkillLevel: 2
Rate: 10000
SkillTarget: "MST_SELF"
val0: 1153
}
}
ViciousChest: {
NPC_SUMMONMONSTER: {
SkillState: "MSS_DEAD"
SkillLevel: 4
Rate: 10000
Cancelable: false
SkillTarget: "MST_SELF"
val0: 1187
}
}
AlphaMouboo: {
NPC_SUMMONSLAVE: {
SkillState: "MSS_ANY"
SkillLevel: 3
Rate: 10000
CastTime: 700
Delay: 60000
SkillTarget: "MST_SELF"
CastCondition: "MSC_SPAWN"
val0: 1023
}
}
FafiDragon: {
SN_SHARPSHOOTING: {
SkillState: "MSS_BERSERK"
SkillLevel: 2
Rate: 6000
CastTime: 4000
Delay: 30000
Cancelable: true
SkillTarget: "MST_TARGET"
CastCondition: "MSC_ALWAYS"
}
MA_SHARPSHOOTING: {
SkillState: "MSS_BERSERK"
SkillLevel: 1
Rate: 1000
CastTime: 4500
Delay: 60000
Cancelable: true
SkillTarget: "MST_TARGET"
CastCondition: "MSC_ALWAYS"
}
}
}
)