summaryrefslogblamecommitdiff
path: root/db/re/mob_skill_db.conf
blob: c3ff6a65b534844adbfa6e242d4d10418b48d2f7 (plain) (tree)







































                                                                                                                            


                                                                                                                                                              


                                                                   
                                                                   







                                                           





                                                                                       













                                    








                                                                                                        
















                                      




















                                                                                                                                   
























                                                     









                                                                                    













                                    
 
                                                                           













































































































































































                                                          





















































                                                       










                                                       
         










                                                   




                                                 
                                    





                                                              

                                  
                                                   























                                                          
                                     


                                      
                                         



                                                              

                                                   
                                     
                                   
                                      
                                     
                                         

                                                          
                                         

                                  









                                                          
         








                                               




                                              
                                         



                                               










                                                  
     










                                                   
                     
                                   

                                                 

                                      
                                    



                                                   









                                                   

















                                                   























                                                          











                                                          










                                                       
     
                      



















                                                   








                                                   
     



























































                                                          
 
 
//================= 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
		}
	}
	GoldenScorpion: {
		SM_BASH: {
			SkillState: "MSS_BERSERK"
			SkillLevel: 6
			Rate: 1800
			Delay: 20000
			Cancelable: true
			SkillTarget: "MST_TARGET"
			CastCondition: "MSC_ATTACKPCGE"
			ConditionData: 2
		}
	}
	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: 1
			Rate: 10000
			CastTime: 1000
			Delay: 270000
			Cancelable: false
			SkillTarget: "MST_SELF"
			CastCondition: "MSC_MYHPLTMAXRATE"
			ConditionData: 70
			val0: 1024
		}
		NPC_SUMMONSLAVE: {
			SkillState: "MSS_ANYTARGET"
			SkillLevel: 2
			Rate: 10000
			CastTime: 1000
			Delay: 270000
			Cancelable: false
			SkillTarget: "MST_SELF"
			CastCondition: "MSC_MYHPLTMAXRATE"
			ConditionData: 50
			val0: 1024
		}
		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: 3
			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
		}
    }
	BlackSlime: {
		AL_DECAGI: {
			SkillState: "MSS_BERSERK"
			SkillLevel: 1
			Rate: 10000
			Delay: 300000
			Cancelable: true
			SkillTarget: "MST_TARGET"
			CastCondition: "MSC_ALWAYS"
		}
	}
	FafiDragon: {
		SN_SHARPSHOOTING: {
			SkillState: "MSS_BERSERK"
			SkillLevel: 2
			Rate: 6000
			CastTime: 4000
			Delay: 10000
			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"
		}
		NPC_POISON: {
			SkillState: "MSS_BERSERK"
			SkillLevel: 20
			Rate: 650
			Delay: 500
			Cancelable: true
			SkillTarget: "MST_TARGET"
			CastCondition: "MSC_ALWAYS"
		}
		SM_BASH: {
			SkillState: "MSS_BERSERK"
			SkillLevel: 5
			Rate: 2800
			Delay: 20000
			Cancelable: true
			SkillTarget: "MST_TARGET"
			CastCondition: "MSC_ALWAYS"
		}
		NPC_SUMMONSLAVE: {
			SkillState: "MSS_ANYTARGET"
			SkillLevel: 1
			Rate: 7000
			CastTime: 1000
			Delay: 45000
			Cancelable: true
			SkillTarget: "MST_SELF"
			CastCondition: "MSC_MYHPLTMAXRATE"
			ConditionData: 75
			val0: 1178
		}
		NPC_SUMMONSLAVE: {
			SkillState: "MSS_ANYTARGET"
			SkillLevel: 1
			Rate: 10000
			CastTime: 1000
			Delay: 60000
			Cancelable: false
			SkillTarget: "MST_SELF"
			CastCondition: "MSC_MYHPLTMAXRATE"
			ConditionData: 25
			val0: 1186
		}
		NPC_SUMMONSLAVE: {
			SkillState: "MSS_ANYTARGET"
			SkillLevel: 1
			Rate: 6000
			CastTime: 700
			Delay: 20000
			Cancelable: true
			SkillTarget: "MST_SELF"
			CastCondition: "MSC_MYHPLTMAXRATE"
			ConditionData: 40
			val0: 1090
		}
		MG_NAPALMBEAT: {
			SkillState: "MSS_BERSERK"
			SkillLevel: 1
			Rate: 9000
			CastTime: 1500
			Delay: 120000
			Cancelable: true
			SkillTarget: "MST_TARGET"
			CastCondition: "MSC_ATTACKPCGE"
			ConditionData: 2
		}
    }
	GreenDragon: {
		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"
		}
		SM_BASH: {
			SkillState: "MSS_BERSERK"
			SkillLevel: 4
			Rate: 2400
			Delay: 22000
			Cancelable: true
			SkillTarget: "MST_TARGET"
			CastCondition: "MSC_ALWAYS"
		}
    }
	GiantCaveMaggot: {
		NPC_SUMMONSLAVE: {
			SkillState: "MSS_ANY"
			SkillLevel: 2
			Rate: 10000
			CastTime: 700
			Delay: 60000
			SkillTarget: "MST_SELF"
			CastCondition: "MSC_SPAWN"
			val0: 1027
		}
		NPC_SUMMONSLAVE: {
			SkillState: "MSS_ANYTARGET"
			SkillLevel: 3
			Rate: 10000
			CastTime: 700
			Delay: 60000
			Cancelable: false
			SkillTarget: "MST_SELF"
			CastCondition: "MSC_MYHPLTMAXRATE"
			ConditionData: 60
			val0: 1027
		}
		NPC_SUMMONSLAVE: {
			SkillState: "MSS_ANYTARGET"
			SkillLevel: 5
			Rate: 10000
			CastTime: 700
			Delay: 60000
			Cancelable: false
			SkillTarget: "MST_SELF"
			CastCondition: "MSC_MYHPLTMAXRATE"
			ConditionData: 40
			val0: 1027
		}
		NPC_SUMMONSLAVE: {
			SkillState: "MSS_ANYTARGET"
			SkillLevel: 7
			Rate: 10000
			CastTime: 700
			Delay: 60000
			Cancelable: false
			SkillTarget: "MST_SELF"
			CastCondition: "MSC_MYHPLTMAXRATE"
			ConditionData: 25
			val0: 1027
		}
		NPC_SUMMONSLAVE: {
			SkillState: "MSS_ANYTARGET"
			SkillLevel: 10
			Rate: 10000
			CastTime: 700
			Delay: 60000
			Cancelable: false
			SkillTarget: "MST_SELF"
			CastCondition: "MSC_MYHPLTMAXRATE"
			ConditionData: 10
			val0: 1027
		}
	}
}
)