diff options
author | Jesusaves <cpntb1@ymail.com> | 2021-07-07 20:36:00 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2021-07-07 20:36:00 -0300 |
commit | 6967b9e0b63d19141d4f59b7933a960ac81916d0 (patch) | |
tree | 8ecd9cd2461f3598cb7faece71eb77162aa4ef2a /db/pre-re/mob_skill_db.conf | |
parent | 9877fd4ad81120af8e63e96d5d429092014dc017 (diff) | |
parent | 046c659193e1ca8bd13478678d1277df8bf9395c (diff) | |
download | serverdata-6967b9e0b63d19141d4f59b7933a960ac81916d0.tar.gz serverdata-6967b9e0b63d19141d4f59b7933a960ac81916d0.tar.bz2 serverdata-6967b9e0b63d19141d4f59b7933a960ac81916d0.tar.xz serverdata-6967b9e0b63d19141d4f59b7933a960ac81916d0.zip |
Merge branch 'master' into legacy
Override all files with 'master' version.
This version is meant to preserve git history as requested by bjorn.
Diffstat (limited to 'db/pre-re/mob_skill_db.conf')
-rw-r--r-- | db/pre-re/mob_skill_db.conf | 771 |
1 files changed, 771 insertions, 0 deletions
diff --git a/db/pre-re/mob_skill_db.conf b/db/pre-re/mob_skill_db.conf new file mode 100644 index 00000000..2769b34d --- /dev/null +++ b/db/pre-re/mob_skill_db.conf @@ -0,0 +1,771 @@ +//================= 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: (string, defaults to "MSS_ANY") + SkillTarget: (string, defaults to "MST_TARGET") + 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: (string, defaults to "MSC_ALWAYS") + ConditionData: (int, defaults to 0) + val0: (int, defaults to 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 -1) + 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" +} + +**************************************************************************/ + SlimeBlast: { + NPC_SELFDESTRUCTION: { + SkillState: "MSS_BERSERK" + SkillLevel: 1 + Rate: 10000 + CastTime: 100 + Delay: 500 + Cancelable: true + SkillTarget: "MST_SELF" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + BlueSlime: { + // TODO: use NPC_SUMMONMONSTER? + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 1 + Rate: 8000 + CastTime: 1200 + Delay: 18000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 1 + val0: 1090 + } + } + + /**********************************************************************/ + WhiteSlime: { + NPC_SELFDESTRUCTION: { + SkillState: "MSS_BERSERK" + SkillLevel: 1 + Rate: 10000 + CastTime: 100 + Delay: 500 + Cancelable: true + SkillTarget: "MST_SELF" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + SantaSlime: { + NPC_EMOTION: { + SkillState: "MSS_LOOT" + SkillLevel: 1 + Rate: 10000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_ALWAYS" + val0: 101 + } + NPC_EMOTION: { + SkillState: "MSS_WALK" + SkillLevel: 1 + Rate: 5000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_ALWAYS" + val0: 5 + } + NPC_EMOTION: { + SkillState: "MSS_IDLE" + SkillLevel: 1 + Rate: 5000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_ALWAYS" + val0: 7 + } + NPC_SUMMONSLAVE: { + SkillState: "MSS_BERSERK" + SkillLevel: 5 + Rate: 10000 + CastTime: 2000 + Delay: 60000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELE" + ConditionData: 3 + val0: 1016 + } + NPC_SUMMONSLAVE: { + SkillState: "MSS_IDLE" + SkillLevel: 5 + Rate: 10000 + CastTime: 2000 + Delay: 60000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELE" + ConditionData: 3 + val0: 1016 + } + } + + /**********************************************************************/ + GreenSlimeMother: { + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 2 + Rate: 8000 + CastTime: 700 + Delay: 8000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 2 + val0: 1110 + } + } + + /**********************************************************************/ + SeaSlimeMother: { + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 2 + Rate: 8000 + CastTime: 700 + Delay: 8000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 2 + val0: 1109 + } + } + + /**********************************************************************/ + PinkFlower: { + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 1 + Rate: 10000 + CastTime: 1000 + Delay: 60000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 4 + val0: 1049 + } + NPC_BLINDATTACK: { + SkillState: "MSS_BERSERK" + SkillLevel: 5 + Rate: 10000 + CastTime: 1000 + Delay: 300000 + SkillTarget: "MST_TARGET" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + // Note: Cannot explode if poisoned + BallLightning: { + NPC_SELFDESTRUCTION: { + SkillState: "MSS_BERSERK" + SkillLevel: 3 + Rate: 10000 + CastTime: 500 + Delay: 3000 + Cancelable: true + SkillTarget: "MST_SELF" + CastCondition: "MSC_MYSTATUSOFF" + ConditionData: "SC_POISON" + } + } + + /**********************************************************************/ + Luvia: { + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 1 + Rate: 10000 + CastTime: 1000 + Delay: 60000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 32 + val0: 1103 + } + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 2 + Rate: 10000 + CastTime: 10 + Delay: 5000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 7 + val0: 1101 + } + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 1 + Rate: 10000 + CastTime: 10 + Delay: 20000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 64 + val0: 1101 + } + } + + /**********************************************************************/ + FeyElement: { + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 1 + Rate: 5000 + CastTime: 100 + Delay: 500 + Cancelable: true + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 6 + val0: 1083 + } + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 1 + Rate: 5000 + CastTime: 100 + Delay: 500 + Cancelable: true + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 6 + val0: 1084 + } + } + + /**********************************************************************/ + Tormenta: { + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 1 + Rate: 10000 + CastTime: 1000 + Delay: 150000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 32 + val0: 1022 + } + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 2 + Rate: 10000 + CastTime: 1000 + Delay: 70000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 7 + val0: 1103 + } + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 2 + Rate: 10000 + CastTime: 10 + Delay: 15000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 7 + val0: 1101 + } + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 1 + Rate: 10000 + CastTime: 10 + Delay: 32000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 64 + val0: 1101 + } + NPC_WIDECURSE: { + SkillState: "MSS_BERSERK" + SkillLevel: 3 + Rate: 620 + CastTime: 10 + Delay: 1000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_MYHPLTMAXRATE" + ConditionData: 40 + } + } + + /**********************************************************************/ + SUSAN: { + NPC_EMOTION: { + SkillState: "MSS_IDLE" + SkillLevel: 1 + Rate: 5000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_ALWAYS" + val0: 118 + } + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 9 + Rate: 1000 + CastTime: 1000 + Delay: 18000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 69 + val0: 1135 + Emotion: 104 + } + } + + /**********************************************************************/ + Reaper: { + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 1 + Rate: 8000 + CastTime: 1000 + Delay: 5000 + Cancelable: true + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 1 + val0: 1070 + } + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 1 + Rate: 8000 + CastTime: 1000 + Delay: 5000 + Cancelable: true + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 2 + val0: 1070 // TODO: Scythe + } + SM_BASH: { + SkillState: "MSS_BERSERK" + SkillLevel: 5 + Rate: 10000 + Delay: 20000 + SkillTarget: "MST_TARGET" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + TheLost: { + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 1 + Rate: 8000 + CastTime: 1000 + Delay: 5000 + Cancelable: true + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 2 + val0: 1106 + } + NPC_WIDESILENCE: { + SkillState: "MSS_BERSERK" + SkillLevel: 5 + Rate: 8000 + CastTime: 1000 + Delay: 90000 + Cancelable: true + SkillTarget: "MST_SELF" + CastCondition: "MSC_ALWAYS" + } + NPC_WIDESOULDRAIN: { + SkillState: "MSS_BERSERK" + SkillLevel: 3 + Rate: 8000 + CastTime: 1000 + Delay: 180000 + Cancelable: true + SkillTarget: "MST_SELF" + CastCondition: "MSC_MYHPLTMAXRATE" + ConditionData: 60 + } + } + + /**********************************************************************/ + Snake: { + NPC_POISON: { + SkillState: "MSS_BERSERK" + SkillLevel: 20 + Rate: 400 + Delay: 500 + Cancelable: true + SkillTarget: "MST_TARGET" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + CaveSnake: { + NPC_POISON: { + SkillState: "MSS_BERSERK" + SkillLevel: 10 + Rate: 500 + Delay: 500 + Cancelable: true + SkillTarget: "MST_TARGET" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + MountainSnake: { + NPC_POISON: { + SkillState: "MSS_BERSERK" + SkillLevel: 60 + Rate: 100 + Delay: 300 + Cancelable: true + SkillTarget: "MST_TARGET" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + GrassSnake: { + NPC_POISON: { + SkillState: "MSS_BERSERK" + SkillLevel: 45 + Rate: 200 + Delay: 200 + Cancelable: true + SkillTarget: "MST_TARGET" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + BlackScorpion: { + NPC_POISON: { + SkillState: "MSS_BERSERK" + SkillLevel: 30 + Rate: 50 + Delay: 500 + Cancelable: true + SkillTarget: "MST_TARGET" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + HuntsmanSpider: { + NPC_POISON: { + SkillState: "MSS_BERSERK" + SkillLevel: 5 + Rate: 2500 + Delay: 500 + Cancelable: true + SkillTarget: "MST_TARGET" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + CrotcherScorpion: { + NPC_POISON: { + SkillState: "MSS_BERSERK" + SkillLevel: 40 + Rate: 15 + Delay: 500 + Cancelable: true + SkillTarget: "MST_TARGET" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + PoisonSkull: { + NPC_POISON: { + SkillState: "MSS_BERSERK" + SkillLevel: 50 + Rate: 500 + Delay: 400 + Cancelable: true + SkillTarget: "MST_TARGET" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + Bee: { + NPC_POISON: { + SkillState: "MSS_BERSERK" + SkillLevel: 5 + Rate: 1000 + Delay: 500 + Cancelable: true + SkillTarget: "MST_TARGET" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + Virus: { + NPC_POISON: { + SkillState: "MSS_BERSERK" + SkillLevel: 50 + Rate: 1500 + CastTime: 1000 + Delay: 600 + Cancelable: false + SkillTarget: "MST_TARGET" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + Zombie: { + NPC_POISON: { + SkillState: "MSS_BERSERK" + SkillLevel: 5 + Rate: 100 + Delay: 30000 + Cancelable: true + SkillTarget: "MST_TARGET" + CastCondition: "MSC_ALWAYS" + } + } + + /**********************************************************************/ + DreadPirateMarley: { + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 2 + Rate: 8000 + CastTime: 1000 + Delay: 5000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 1 + val0: 1123 + } + } + + /**********************************************************************/ + KageGolem: { + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 2 + Rate: 9000 + CastTime: 1000 + Delay: 155000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 6 + val0: 1140 + } + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 2 + Rate: 9000 + CastTime: 1000 + Delay: 155000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 1 + val0: 1141 + } + NPC_SUMMONSLAVE: { + SkillState: "MSS_ANY" + SkillLevel: 2 + Rate: 9000 + CastTime: 1000 + Delay: 155000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_SLAVELT" + ConditionData: 1 + val0: 1143 + } + NPC_BLINDATTACK: { + SkillState: "MSS_BERSERK" + SkillLevel: 5 + Rate: 6700 + Delay: 20000 + SkillTarget: "MST_TARGET" + CastCondition: "MSC_ALWAYS" + } + NPC_WIDECURSE: { + SkillState: "MSS_BERSERK" + SkillLevel: 1 + Rate: 2700 + Delay: 90000 + SkillTarget: "MST_SELF" + CastCondition: "MSC_MYHPLTMAXRATE" + ConditionData: 80 + } + } + +} +) |