Jump to content
  • 0

Making Buffs Passive & Merging Into 1 Skill


Question

Posted

I need help with a task, advice on how it can be done without editing the core. I want to merge some buff effects into one skill and make them passive, specifically under the Luck skill, thus always applying buff effects to the character. How can I do it?

12 answers to this question

Recommended Posts

  • 0
Posted (edited)

Or right, I forgot to mention. When it's passive skill you mustn't have this line

<effect count="1" name="Buff" time="12000" val="0" stackOrder="#Tab-runSpd" stackType="SpeedUp">

you have only to paste the <add order=.. > :P

 

Also, you can shorter the code

<skill id="194" levels="1" name="Lucky">
  <set name="target" val="TARGET_SELF"/>
  <set name="skillType" val="BUFF"/>
  <set name="operateType" val="OP_PASSIVE"/>
  <for>
      <add order="0x40" stat="runSpd" val="33"/>
  </for>
</skill>

Basically, if you're lost or you have any doubt, you can always check how it's builded any already existing passive skill :)

Edited by SweeTs
  • 0
Posted (edited)

Still I need to learn how the skills definition works and I can learn it if you can show me how to correctly paste one skill's effect into the other? If you can, do it on the example below. I need to learn what parts of the skill's entry do I need to copy into the desired skill to have that effect.

 

This is the skill I want to work like a passive buff containing several other buff effects, let's do only the Wind Walk effect.

 

 

 

<skill id="194" levels="1" name="Lucky">
  <set name="power" val="0.0"/>
  <set name="target" val="TARGET_SELF"/>
  <set name="skillType" val="LUCK"/>
  <set name="operateType" val="OP_PASSIVE"/>
  <set name="castRange" val="-1"/>
  <set name="effectRange" val="-1"/>
  <!-- cannot be learned, given -->
  <set name="canLearn" val=""/>
  <for>
  </for>
</skill>

 

 

 

and Wind Walk entry is this:

 

 

<skill id="1204" levels="2" name="Wind Walk" enchantLevels1="30" enchantLevels2="30" >
  <table name="#enchantMagicLvl"> 76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 82 83 83 83 84 84 85 85 85 </table>
  <enchant1 name="magicLvl" val="#enchantMagicLvl"/>
  <enchant2 name="magicLvl" val="#enchantMagicLvl"/>
  <table name="#ench1time">
  1240 1280 1320 1360 1400 1440 1480 1520 1560 1600
  1640 1680 1720 1760 1800 1840 1880 1920 1960 2000
  2040 2080 2120 2160 2200 2240 2280 2320 2360 2400
  </table>
  <table name="#ench2MpConsume">
  20 20 19 19 19 18 18 18 17 17
  17 16 16 16 15 15 15 14 14 14
  13 13 12 12 12 11 11 11 10 10
  </table>
  <table name="#ench2MpConsume_Init">
  5 5 5 5 5 5 5 5 5 5
  4 4 4 4 4 4 4 4 4 4
  3 3 3 3 3 3 3 3 3 3
  </table>
  <table name="#mpConsume_Init"> 4 6 </table>
  <table name="#mpConsume"> 16 21 </table>
  <table name="#Tab-runSpd"> 20 33 </table>
  <table name="#aggro"> 204 285 </table>
  <set name="mpInitialConsume" val="#mpConsume_Init"/>
  <set name="mpConsume" val="#mpConsume"/>
  <set name="power" val="0.0"/>
  <set name="target" val="TARGET_ONE"/>
  <set name="reuseDelay" val="6000"/>
  <set name="hitTime" val="4000"/>
  <set name="skillType" val="BUFF"/>
  <set name="isMagic" val="true"/>
  <set name="operateType" val="OP_ACTIVE"/>
  <set name="castRange" val="400"/>
  <set name="effectRange" val="900"/>
  <set name="aggroPoints" val="#aggro"/>
  <enchant2 name="mpConsume" val="#ench2MpConsume"/>
  <enchant2 name="mpInitialConsume" val="#ench2MpConsume_Init"/>
  <for>
    <effect count="1" name="Buff" time="1200" val="0" stackOrder="#Tab-runSpd" stackType="SpeedUp">
      <add order="0x40" stat="runSpd" val="#Tab-runSpd"/>
    </effect>
  </for>
  <enchant1for>
    <effect count="1" name="Buff" time="#ench1time" val="0" stackOrder="33" stackType="SpeedUp">
      <add order="0x40" stat="runSpd" val="33"/>
    </effect>
  </enchant1for>
</skill>

Edited by Marcox
  • 0
Posted (edited)

Just add effect tag inside the empty <for></for>. As you can see from the example, the values are taken from other table, so you can copy that table as well (the table is because, each lvl of the skill, there is other value, but since your skill is lvl 1 you don't need it) or change the val to a number when you want all lvl add the same amount, or your skill lvl is 1 (for correct value, look at table Tab-runSpd, it's 20 and 30, so at lvl 1 its adding 20 speed and at lvl 2 it's adding 30). Ofc I am talking about the <add order> line :)

    <effect count="1" name="Buff" time="1200" val="0" stackOrder="#Tab-runSpd" stackType="SpeedUp">
      <add order="0x40" stat="runSpd" val="#Tab-runSpd"/>
    </effect>

I guess  I was clear, if not just ask :P

Edited by SweeTs
  • 0
Posted (edited)

Thanks a lot, I appreciate and I'll practice with it for a while before I get back to you. :P

 

/EDIT: Lucky works perfect as an active skill and gives the effect of Wind Walk but when changed to passive, doesn't. I take it that buff effects can only work as active effects? Another thing is, the name of the skill doesn't change even if the skill name in .xml has been, so looks like this can't be modified without the code change?

The same thing with adding a custom skill to all classes, right? Can only be done through code edit?

Edited by Marcox
  • 0
Posted

Skill name is handled from client side, you have to edit skillname-e.dat from system folder => L2FileEdit. Check classes folder (data/xml/classes), there you can find all files with all classes and their skills, so you just have to add the new skill to specific classes :P

 

About the passive effect, you must change the target.

 

 

<set name="target" val="TARGET_ONE"/>

 

Target one meast you can cast the skill on any "target" you make. To make it self effect as passive, make it TARGET_SELF :)

  • 0
Posted (edited)

Great, I'll play around with those skills and thanks again for help.

 

I have it set to target_self all the time, the problem is that when the operate type is changed to OP_PASSIVE, the skill is still there but doesn't apply it's effect, in this case Wind Walk's effect so I wonder if such effects that normally belong to active skills have a 'problem' as passive effects?

Edited by Marcox
  • 0
Posted (edited)

Nop, no matter if its active or passive. Well, post here the code of the skill. Maybe something is wrong.

Edited by SweeTs
  • 0
Posted (edited)

<skill id="194" levels="1" name="Lucky">
  <table name="#Tab-runSpd"> 33 </table>
  <set name="power" val="0.0"/>
  <set name="target" val="TARGET_SELF"/>
  <set name="reuseDelay" val="0"/>
  <set name="hitTime" val="0"/>
  <set name="skillType" val="BUFF"/>
  <set name="isMagic" val="true"/>
  <set name="operateType" val="OP_PASSIVE"/>
  <set name="castRange" val="0"/>
  <set name="effectRange" val="0"/>
  <for>
    <effect count="1" name="Buff" time="12000" val="0" stackOrder="#Tab-runSpd" stackType="SpeedUp">
      <add order="0x40" stat="runSpd" val="#Tab-runSpd"/>
    </effect>
  </for>
</skill>

 

 

Set to active works perfect, casts itself on self.

Edited by Marcox
  • 0
Posted

WORKS :D Thanks so much mate, I appreciate your patience and that you wanted to help with a very basic issue. :)

 

 

 

For the record since it might help someone, this is the correct entry that adds passively a buff effect:

 

<skill id="194" levels="1" name="Lucky">
  <set name="target" val="TARGET_SELF"/>
  <set name="skillType" val="BUFF"/>
  <set name="operateType" val="OP_PASSIVE"/>
  <for>
    <add order="0x40" stat="runSpd" val="33"/>
  </for>
</skill>

Guest
This topic is now closed to further replies.


  • Posts

    • 11-29-2025 - OUR TOPIC IS RELEVANT! CONTACT US BY THE CONTACTS BELOW
    • 🔥 Launch was a success! Over 500 players joined L2Elixir on opening day, and we are holding a steady 420–450 online! We faced extortion attempts and heavy DDoS attacks, but our protections held strong — even if the cost was far higher than expected. What matters is we fought back and kept the server online for you. ⚔️ 💙 Our priority is simple: Deliver a stable, fair, and growing server that will evolve for years to come. We continue to invest in protections, advertising, and development — and we won’t stop. All we ask from YOU is one thing: 👉 Keep playing. The more active the community is, the faster the server grows. 💠 Important Note: We have no paid clans or CPs, no “boosted” groups, no unfair benefits. Everyone has an equal chance to progress and compete. Thank you to everyone who joined, supported, and believed in this project. Let’s make L2Elixir great again — even in 2025–2026! 🚀   Website: https://l2elixir.org/ Discord: https://discord.gg/5ydPHvhbxs   @Atom Can you please move to Private Servers? Thanks!
    • https://jumpshare.com/share/kIdeKALOhgtMKpBKqxpg Test Equip Armors-> FullPlate, Gloves, Legs, Chest , Boots
    • 黑色星期五 — 为您的流量提供高级福利 仅在11月28日,我们的特别促销码可为您提供13%的商店折扣。 促销码: BLACKFRIDAY (13% 折扣) 您可以通过我们的网站或 Telegram 机器人在商店购物! 有效链接: 数字商品商店(网站): 前往 商店 Telegram 机器人: 前往 – 通过 Telegram Messenger 方便访问商店。 其他服务: 虚拟号码服务: 前往 用于购买 Telegram Stars 的机器人: 前往 – 快速且优惠地在 Telegram 中购买 Stars。 SMM 面板: 前往 – 推广您的社交媒体账户。 我们向您呈现当前的 促销和特惠活动 列表,用于购买我们服务的产品和服务: 1. 您可以在首次购买时使用促销码:SOCNET(15% 折扣) 2. 获取 $1 商店余额或 10–20% 折扣 — 只需在我们网站注册后发送您的用户名,格式如下:“SEND ME BONUS, MY USERNAME IS...” — 您需要在我们的论坛帖子中写下这句话! 3. SMM 面板首次试用可获得 $1:只需在我们的网站(支持)提交主题为“Get Trial Bonus”的工单。 4. 我们的 Telegram 频道和 Stars 购买机器人每周都会举办 Telegram Stars 抽奖活动! 新闻: ➡ Telegram 频道: https://t.me/accsforyou_shop ➡ WhatsApp 频道: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord 服务器: https://discord.gg/y9AStFFsrh 联系方式与支持: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ 邮箱: solomonbog@socnet.store
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock