Skills

Basic Skill Information
First off, when dealing with skills, you must remember that everything is written in XML.

All skill .xml's contain the following code: Inside the LIST tags every skill contains the following information:  content normally contains: id="skill id" name="skill name" levels="maximum level of the skill (e.g. all dances and songs have only 1 level)" These three should be self-explanatory. After that follows this additional function to enable certain skill enchant levels: enchantGroup#="groupid#" The amount of enchantGroup# depends on the amount of skill enchant routes, which means if a skill has 3 enchant routes, then there should be enchantGroup1 to enchantGroup3. The groupid# variable depends on the maximum levels of enchantment. The groupid of enchantment is determined in the following way: -- first class(1) Buffs Debuffs Toogle and Summons -- 2nd class(2) Cubic and Attack Type Skills Examples:  

Tables
After the tag the skill can contain alot of definitions. I will start off with the  The #sample name can later be called in other variables using val="#sample name". The value# variable is a numerical value and the amount of these must match with maximum skill level. If the table is used for enchant route purposes (damage increase and such), the amount of value# must match the maximum enchant level. Example for skill level:   Example for skill enchant level:  

Skill 'Set' Variables
After the defines the skills power, effects depend on the skilltype: Physical skill : power defines the skills power(damage). Magic skill: power defines the skills magic power(this directly influences the skills damage). Debuffs/chance skills: power defines the skill land rate(take in account buffs and other bonuses also influence the land rate). ([val] = number between 0 and 2147482647) (default = 0)  just like power only that it works as replacement of power when the skill is used in player versus player fight(so: skill gets used against player pvppower gets used when available instead of power).  Defines the skill lvl of the skill this influences the skills hit chance,power etc depending on the targets level.[val] = value between 1 and 85(maxlevel)  defines how much the skill is influenced by the difference between target level and the skills magic level.(if [val] = 1 or 2 then skill is level dependent ) (if [val] = 0 skill is not level dependent ) (default = 0)(FIX/CHANGE: temporary fix makes it so even when lvldepend = 0 its still is level dependant) (if [val] = true the skill ignores the resistant’s of the target when calculating landing rate)(if [val] = false the skill doesn’t ignore the targets resistant’s) (default = false) (if [val] = true the skill ignores the targets shield defense rate)(if [val] = false the skill doesn’t ignore the targets shield defense rate) (default = false) defines the type of the skill. list of all types: defines the element type of this skill(fire = 0,water = 1,wind = 2,earth = 3,holy = 4, dark = 5) <set name=”elementPower” val=”[val]” />same as power except this adds up to with the elemental preference defined by “element”. <set name=”overHit” val=”[val]” />(if [val] = true the skill can have an overhit)(if [val] = false skill can’t overhit)(default = false)(overhit means that when you kill a mob with the skill you can gain an additional bonus experience) <set name=”isSuicideAttack” val=”[val]” />( if [val] = true the skill will kill the caster)(if [val] = false skill won’t kill the caster)(default = false) <set name=”weaponsAllowed” val=”[val]” />defines what weapons need to be used to be able to use the skill. List of weapons allowed id’s: By adding up any of these numbers you can combinate the allowance of certain weapons. ([val] = number between 2 and 524286) <set name=”armorsAllowed” val=”[val]” />same like the weaponsAllowed but now with the following table: WARNING: this has not been tested though/found no proper proof of the implementation of armorsAllowed. ([val] = number between 2 and 126) <set name=”minPledgeClass” val=”[val]” />minimal pledge class needed to be able to use the skill(default = 1)list of all the pledges: More information about the pledges can be found here: http://www.lineage2.com/Knowledge/clans.html (scroll down) <set name=”offensive” val=”[val]” /> [val] can be true or false effects are UNKNOWN (skills known to use it : 455,1419,1420,1421,1423,1424) <set name=”maxCharges” val=”[val]” /> maximum amount of charges this skill can charge ([val] = number between 0 and 2147482647) (default = 0) <set name=”requiredCharges” val=”[val]” />amount of charges needed to be able to use the skill ([val] = number between 0 and 2147482647) (default = 0) <set name=”triggeredId” val=”[val]” /> skillid to trigger when chance is met. <set name=”triggeredLevel” val=”[val]” />skilllvl to trigger when chance is met. <set name=”chanceType” val=”[val]” />type of action needed to trigger the related chance skill. List of actions: <set name=”num_souls” val=”[val]” /> maximum amount of souls the skill can charge. ([val] = number between 0 and 100) (default = 0) <set name=”soulMaxConsumeCount” val=”[val]” /> the maximum amount of souls this skill consumes. ([val] = number between 0 and 100) (default = 0) <set name=”soulConsumeCount” val=”[val]” /> the amount of souls this skill consumes. ([val] = number between 0 and 100) (default = 0) <set name=”expNeeded” val=”[val]” /> (used by chance skills)(amount of exp needed to trigger the skill)(TODO: is this correct? ) ([val] = number between 0 and 2147482647) (default = 0) <set name=”activationChance” val=”[val]” />defines the chance (in %) of the chance skill. <set name=”transformId” val=”[val]” /> the id of the transformation in what you transform when you use this skill([val] = number between 0 and 30000) (default = 0) <set name=”transformDuration” val=”[val]” /> UNUSED – needed? <set name=”baseCritRate” val=”[val]” />basic critical rate of the skill(in %)([val] = number between 0 and 100) (default = 0) <set name=”lethal1” val=”[val]” /> half kill lethal(mobs -> currenthealth/2 )(players -> cp = 1)(in %)([val] = number between 0 and 100) (default = 0) <set name=”lethal2” val=”[val]” />lethal (hp = 1)(in %)([val] = number between 0 and 100) (default = 0) <set name=”dmgDirectlyToHp” val=”[val]” />(if [val] = true then the skill directly damages hp (avoids cp))(if [val] = false skill doesn’t directly damage hp)(default = false) <set name=”isDance” val=”[val]” />(if [val] = true then the skill is a dance)(if [val] = false skill is not a dance)(default = false) <set name=”nextDanceCost” val=”[val]” />for dance skills only: the amount of extra mp consumed when additional dances are cast. <set name=”SSBoost” val=”[val]” />SSboost, the damage of this skills get multiplied by this factor when the skill is used in combination with soulshots. <set name=”aggroPoints” val=”[val]” />the amount of agro increased or decreased(negative number)(default = 0) <set name=”flyType” val=”[val]” />flying transformations related type <set name=”flyRadius” val=”[val]” />the distance one should be moved when a warp effect is triggered <set name=”flyCourse” val=”[val]” />the angle at which the player should be moved(0 = backwards,180 = forwards). <set name=”canBeReflected” val=”[val]” />(if [val] = true skill can be reflected)(if [val] = falseskill cannot be reflected)(default = true) <set name=”canBeDispeled” val=”[val]” />(if [val] = true skill can be dispelled)(if [val] = falseskill cannot be dispelled)(default = true) <set name="nextActionAttack" val="[val]" />(if [val] = true they the player continues attack RIGHT after the skill has be cast) (default = false) <set name="displayId" val="[val]" /> [val] = skillid of the skill of which the animation should be used instead of the current skills id. This are all the variables you can set for a skill.

Conditions
However except setting variables for skills you can also set certain conditions before the player can use the skill. Much like skills conditions also have some sort of start tag namely : A condition start tag can also have certain variables set: So these variables are in the like following: <cond msg=”you don't meet the conditions” > (example). When defining conditions you can make certain combination by using modifiers: // your conditions here Skill can be only used when all of the conditions are true. // your conditions here Skill can be only used when none of the set conditions are true. <or> // your conditions here </or> Skill can be only used when 1 of the set conditions are true. Also combinations of the above 3 can be used : [cond1] <or> [cond2] </or> In this example the skill can only be used when none of the [cond1] are true and 1 of the [cond2] are true.

After seeing modifiers to combine when setting conditions we now move on the real conditions. There are 5 basic types of conditions: player, target, skill, using, game.

I will start off with the player type conditions: That are all the player conditions, continuing with the target conditions:

That are all the target conditions, continuing with the skill conditions: It seems there is just 1:

<skill stat=”[val]” /> according to the info I could find it returns true when [val] equals the skills type which seems a bit strange? I recommend to avoid this condition.

That are all the skill conditions, continuing with the using conditions:

That are all the using conditions, continuing with the game conditions:

That are all the conditions! Remember when a condition returns true it means that the condition is met.

Effects
After talking about skill variables and conditions we have 1 last thing to talk about: Skill effects!

An skills effects are always defined in a “list” by using the tag: //your effects here

Just like conditions and the skill itself effects also has some info in the start tag I will start discussing those first:

Besides the contents of the start tag an effect can also have certain stats modifiers that adjust the stats of the object while in effect, I will talk about those modifiers here:

Side note: these modifiers can also be used without an effect (for passive skills) example : <add order=”[order]” stat=”[stat]” val=”[val]” />