all about skills and effects guide

Skill guide:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

All tags must open and close.
Tags that can fit in one line can be closed inside themselves.

Example:
<add .....> ..... </add>
<add ...../>

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
format of xml-files:

<?xml version='1.0' encoding='utf-8'?>
<list>
<skill id="1312" levels="1" name="Fishing">
<set name="weaponsAllowed" val="8192"/>
<set name="mpConsume" val="1"/>
<set name="reuseDelay" val="1000"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="FISHING"/>
<set name="operateType" val="OP_ACTIVE"/>
<for>
</for>
</skill>
<skill id="1313" levels="27" name="Pumping">
<table name="#power"> 19 28 38 50 55 60 65 70 86 92 97 103 109 115 136 143 149 156 187 195 202 245 253 262 271 312 321 </table>
<set name="weaponsAllowed" val="8192"/>
<set name="mpConsume" val="2"/>
<set name="power" val="#power"/>
<set name="reuseDelay" val="2000"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="PUMPING"/>
<set name="operateType" val="OP_ACTIVE"/>
<for>
</for>
</skill>
</list>
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

1. <?xml version='1.0' encoding='utf-8'?>
Start of file header
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

2. <list>
The beginning of the list of skills, at the end of the file you need to close it with a tag </list>

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
3. <skill id="1312" levels="1" name="Fishing">
The beginning of the skill description. After all tags must end </skill>
skill id - unique id for all skills (both for mobs and characters)
levels - the maximum number of levels for this skill
name - his name

Description of skills:
A) <table name="#power"> 19 28 38 50 </table>
Table. When referencing a parameter #power, the value corresponding to the current skill level will be taken.
There can be several tables. Values can be whole or fractional and must be separated by spaces.
The values should be as many as the levels of this skill.

B) <set name="COMMAND" val="VALUE"/>

Mandatory parameters for each skill:
mpConsume - how much mana does it take
reuseDelay - recharge time
target - who could be the target
skillType - skill type
operateType - active, passive, switchable (toggle)

Список параметров:
COMMAND: canLearn - (value = "" - This skill cannot be learned. default - do not prescribe)
castRange - Cast radius
activateRate - VALUE
absorbAbs - VALUE
absorbPart - VALUE
advancedFlag - true/false
advancedMultiplier - VALUE
behind - true/false
cancelable - true/false
cancelTarget - true/false
charge_skill_id - skill_id для charge
corpse - true/false
critical - true/false
crush - true/false
deathlink - true/false
displayId - VALUE
element - VALUE
expPenalty - пенальти на эксп ("0.9")
hitTime - VALUE
hpConsume - VALUE
isCubic - true/false
isDwarven - true/false
isMagic - true/false
itemConsumeCount - VALUE
itemConsumeCountInTime - VALUE
itemConsumeDelay - VALUE
itemConsumeId - item_id item to be used "1458"
itemConsumeIdInTime - item_id, which will be used regularly "1458"
itemConsumePeriods - the period for which the item will be regularly consumed
lethal - true/false
levelModifier - VALUE
magicLevel - VALUE
minPledgeClass - VALUE
mpConsume - VALUE
negateDebuffs - true/false
negateEffects - "SLEEP"
negateEffects - "STUN SLEEP MUTE POISON BLEED BUFF DEBUFF PARALYZE"
negatePower - VALUE
negateStats - "mAtk mAtkSpd"
npcId - VALUE
num_charges - VALUE
onCrit - true/false
operateType - OP_ACTIVE/OP_PASSIVE/OP_TOGGLE
overHit - true/false
power - VALUE
reuseDelay - VALUE
save - VALUE
seed_any - true/false
seed1 - VALUE
seed2 - VALUE
seedCount - VALUE
seedcount1 - VALUE
skillInterrupt - true/false
skillRadius - VALUE
skillTime - VALUE
skillType - AGGRESSION/AIEFFECTS/BALANCE/BLEED/BUFF/CANCEL/CHARGE/CHARGEDAM/COMBATPOINTHEAL/
CONFUSION/CONT/CRAFT/DANCE/DEBUFF/DOT/DRAIN/DRAIN_SOUL/ENCHANT_ARMOR/ENCHANT_WEAPON/FATALBLOW/FEED_PET/FISHING/HEAL
HEAL_PERCENT/HOT/INTERRUPT_DISARM/LETHAL_SHOT/LUCK/MANADAM/MANAHEAL/MDAM/MDAM_ELEMENTAL/MDOT/MUTE
NEGATE_EFFECTS/NEGATE_STATS/NOTDONE/PARALYZE/PASSIVE/PDAM/PDAM/POISON/PUMPING/RECALL/REELING/RESURRECT
ROOT/SEED/SIEGEFLAG/SLEEP/SONG/SOULSHOT/SPIRITSHOT/SPOIL/STUN/SUMMON/SUMMON/SUMMON_ITEM/SWEEP/TAKECASTLE
TELEPORT_NPC/TURNER/UNLOCK
SummonItemId - VALUE
SummonMinCount - VALUE
target - TARGET_ALLY/TARGET_AREA/TARGET_AREA_AIM_CORPSE/TARGET_AURA/TARGET_CORPSE/
TARGET_CORPSE_PLAYER/TARGET_HOLY/TARGET_ITEM/TARGET_MULTIFACE/TARGET_NONE/TARGET_ONE/TARGET_PARTY/
TARGET_PET/TARGET_SELF/TARGET_UNLOCKABLE
unaggroing - true/false
undeadOnly - true/false
weaponsAllowed - VALUE

C) <cond>...</cond>
conditions for activating the skill. Not used in passives. If the skill is already activated, and the condition does not match, it does NOT turn off. conditions are checked for activation only.

Examples of using:
<cond msg="Too much hit points."><player percentHP="25"/></cond> (a message will be displayed)

without message:
<cond><player percentHP="25"/></cond> (25% hp)
or
<cond><player minHP="25"/></cond> (>25 hp)


D) <for>...</for>
a list of effects that are applied with an active skill or passive.
Example:
<!-- add value 2 to parameter MEN. -->
<for>
<add order="0x10" stat="MEN" val="2"/>
</for>

<!-- multiply the maxHP value by the value taken from the Tab-maxHP table and highlight the buff icon -->
<for>
<effect count="1" name="Buff" time="1200" val="0" stackOrder="#stack" stackType="hp_up">
<mul order="0x50" stat="maxHp" val="#Tab-maxHp"/>
</effect>
</for>

effects are added with words:
<add - adding
<mul - multiplying
<set - set
<sub - minus
<div - divide

order means the order of calculation. (order 0x08, 0x10, 0x30, 0x40, 0x50, 0x60)
0x08 used for basic parameter setting
0x10 used for basic parameter modification
0x30 for parameter multipliers
0x40 to add static bonuses to the parameter
0x50 used for multipliers of base bonuses to the parameter
0x60 to add static bonuses AFTER multipliers

List of changeable parameters:

Stats: CON
DEX
INT
MEN
STR
WIT
Params: accCombat
cAtk
cAtkStatic
hpEff
mAtk
mAtkSpd
maxCp
maxHp
maxLoad
maxMp
mDef
mpConsum
mpConsumePhysical
mpEff
mReuse
pAtk
pAtkRange
pAtkSpd
pDef
pReuse
rCrit
rCritPercent
regCp
regHp
regMp
sDef
Other: absorbDam
breath
concentration
element
ExpSpMultiplier
poleAngle
rEvas
rShld
runSpd
shldAngle
transferDam
bighead
Reflection skills:
reflectDam
reflectMagicSkill
reflectPhysicSkill
other: CommonRecipeLimit
DwarvenRecipeLimit
inventoryLimit
storageLimit
tradeLimit
rates: activateRate
blowRate
mCritRate
resists: bleedRcpt
bluntWpnRcpt
bowWpnRcpt
cancelRcpt
daggerWpnRcpt
debuffRcpt
earthRcpt
fearRcpt
fireRcpt
paralyzeRcpt
poisonRcpt
poleWpnRcpt
rootRcpt
sacredRcpt
sleepRcpt
stunRcpt
swordWpnRcpt
unholyRcpt
waterRcpt
windRcpt

E) terms:
<COMMAND VARIABLE="VALUE">
can be wrapped in tags <and> <or> <not>

example:
<sub order="0x10" stat="STR" val="1">
<game night="true"/>
</sub>

<and>
<player riding="strider"/>
<target castledoor="true"/>
</and>

command list (COMMAND):
<player VARIABLE="PARAM">
VARIABLE: race (Undead/MagicCreatures/Beasts/Animals/Plants/Humanoids/Spirits/Angels/Demons/Dragons/Giants/Bugs/Fairies/Humans/Elves/DarkElves/Orcs/Dwarves/Others/NonLivingBeings/SiegeWeapons/DefendingArmy/Mercenaries/UnknownCreature)
level
resting (true/false)
moving (true/false)
running (true/false)
riding (strider/wyvern/none)
hp

<target VARIABLE="PARAM">
VARIABLE: aggro (true/false)
undead (true/false)
pvp (true/false)
mob (true/false)
race (Undead/MagicCreatures/Beasts/Animals/Plants/Humanoids/Spirits/Angels/Demons/Dragons/Giants/Bugs/Fairies/Humans/Elves/DarkElves/Orcs/Dwarves/Others/NonLivingBeings/SiegeWeapons/DefendingArmy/Mercenaries/UnknownCreature)
castledoor (true/false)
direction (behind/front/side)

<using VARIABLE="PARAM">
VARIABLE: kind (Shield/Sword/Blunt/Dagger/Bow/Pole/Etc/Fist/Dual Sword/Dual Fist/Big Sword/Pet/Rod)
armor (None/Light/Heavy/Magic/Pet)
skill (skill_id)
slotitem

<game VARIABLE="PARAM">
VARIABLE: night (true/false)

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
F) Effects:

<effect count="1" name="Buff" time="1200" val="0" stackOrder="#stack" stackType="hp_up">

count = number of ticks that the effect lasts
time = tick length in seconds for this effect (In the example, we have one tick with a length of 1200sec = 20min)
name = what is this effect. Effects can have start, stop and duration effects.
val = value for "name"
stackOrder = used to replace one effect with another effect that has a higher stackOrder. an effect with a lower stackORder cannot replace an effect with a higherstackOrder
stackType = "Effect type "so that similar buffs are not applied

example: attack speed is added by 25%, but mana is taken away every 2 ticks 35 HP
<for>
<effect count="0x7fffffff" name="HealOverTime" time="2" val="-35">
<mul order="0x50" stat="pAtkSpd" val="1.25"/>
</effect>
</for>
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
thet is wrong,
<skill id="1872" levels="1" name="Tateossian Necklace Masterwork">
<table name="#pDef">1.15</table>
<table name="#mDef">1.15</table>
<set name="icon" val="icon.accessory_tateossian_necklace_i00"/>
<set name="magicLevel" val="75"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="BUFF"/>
<set name="operateType" val="OP_PASSIVE"/>



<mul order="0x30" stat="pDef" val="#pDef">
<target mob="true"/>
</mul>
<mul order="0x30" stat="mDef" val="#mDef">
<target mob="true"/>
</mul>
this is currectly
it was correct, just then there was a problem with the source code
 
because it can work from the server both ways `almost` the same.

the example of @MetaMan is directly through pve modifier

the other example of @l2pvp.net is through damage modifier from target type mob
 
Ρε μαλακά έχεις κάνει πόσα ποστ εδώ και ένα μήνα και μου την λες επειδή ρώτησα κάτι για τα skills επειδή δεν κατάλαβα ότι λειτουργεί σαν τα ιτεμ. Είσαι για την πουτσα ;

Δούλεψε ωστόσο?​

pvePhysDmgBonus
 
it was correct, just then there was a problem with the source code
<skill id="1872" levels="1" name="Tateossian Necklace Masterwork">
<table name="#pDef">1.15</table>
<table name="#mDef">1.15</table>
<set name="icon" val="icon.accessory_tateossian_necklace_i00"/>
<set name="magicLevel" val="75"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="BUFF"/>
<set name="operateType" val="OP_PASSIVE"/>

<for>
<mul order="0x30" stat="pDef" val="#pDef">
<target mob="true"/>
</mul>
<mul order="0x30" stat="mDef" val="#mDef">
<target mob="true"/>
</mul>
</for>
</skill>


thet is full work trust me without source problem
 
<skill id="1872" levels="1" name="Tateossian Necklace Masterwork">
<table name="#pDef">1.15</table>
<table name="#mDef">1.15</table>
<set name="icon" val="icon.accessory_tateossian_necklace_i00"/>
<set name="magicLevel" val="75"/>
<set name="target" val="TARGET_SELF"/>
<set name="skillType" val="BUFF"/>
<set name="operateType" val="OP_PASSIVE"/>

<for>
<mul order="0x30" stat="pDef" val="#pDef">
<target mob="true"/>
</mul>
<mul order="0x30" stat="mDef" val="#mDef">
<target mob="true"/>
</mul>
</for>
</skill>


thet is full work trust me without source problem
Oh my God help me, I'm not referring to now, the problem existed in the past if you look at the issue when we were discussing it, either a year ago.

 
what is the correct way to add resist to armors/jews like 10%, 20%?
From the buffs I saw that values like <sub order="0x40" stat="bowWpnVuln" val="20"/>,
<add order="0x40" stat="defenceEarth" val="20"/>
<add order="0x40" stat="defenceFire" val="20"/>
<add order="0x40" stat="defenceWater" val="20"/>
<add order="0x40" stat="defenceWind" val="20"/>
But here in the tutorial I see bluntWpnRcpt, bowWpnRcpt, cancelRcpt, daggerWpnRcpt, debuffRcpt, earthRcpt, fearRcpt, fireRcpt
Also is it correct to add resist like <mul order="0x30" stat "defenceFire" val="1.10"/>
 
Back
Top