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

    • I’ve seen tools like Find Person Name by Photo come in handy for creators who want to understand their audience better or spot fake accounts trying to piggyback on their growth. Pairing something like that with a solid SMM panel can make your workflow feel way smoother, especially if you're trying to grow without getting tangled in guesswork.
    • Join our discord: https://www.lineage2.cz/discord  
    • You should buy it then I’ll make a discount  
    • Hi everyone,   In 2014, I completely stepped away from developing L2 servers and doing L2J-related work. Since then, I’ve only opened this server about once a year and helped a few servers and individuals for free. I haven’t taken on any paid L2J work since then.   LINEAGE2.GOLD is a project that has reached about Season 6. The first season launched at the end of 2020 and was a fully rebuilt Gold-style server on the Classic client (protocol 110). It featured many custom systems and enhancements. After several seasons, I decided to abandon the Mobius-based project and move to Lucera, as my goal was to get as close as possible to Interlude PTS behavior while still staying on the L2J platform.   The current project was once again completely rebuilt, this time on the Essence client (protocol 306), and is based on Lucera. Because of that, acquiring a license from Deazer is required.   My Lucera extender includes, but is not limited to: Formulas.java Basic anti-bot detection, which proved quite effective, we caught most Adrenaline users using relatively simple server-side logic, logged them, and took staff action. Simple admin account lookup commands based on IP, HWID, and similar identifiers. In-game Captcha via https://lineage2.gold/code, protected by Cloudflare, including admin commands for blacklisting based on aggression levels and whitelisting. Additional admin tools such as Auto-Play status checks, Enchanted Hero Weapon live sync, force add/remove clans from castle sieges, item listeners for live item monitoring, and more. A fully rewritten Auto-Play system with support for ExAutoPlaySetting, while still using the Auto-Play UI wheel, featuring: Debuff Efficiency Party Leader Assist Respectful Hunting Healer AI Target Mode Range Mode Summoner buff support Dwarf mechanics Reworked EffectDispelEffects to restore buffs after Cancellation. Raid Bomb item support. Reworked CronZoneSwitcher. Prime Time Raid Respawn Service. Community Board features such as Top rankings and RB/Epic status. Custom systems for Noblesse, Subclasses, support-class rewards, and much more.   Depending on the deal, the project can include: The lineage2.gold domain The website built on the Laravel PHP framework The server’s Discord Client Interface source Server files and extender source The server database (excluding private data such as emails and passwords)   I’m primarily looking for a serious team to continue the project, as it would be a shame to see this work abandoned. This is not cheap. You can DM me with offers. If you’re wondering why I’m doing this: I’ve felt a clear lack of appreciation from the L2 community, and I’m not interested in doing charity work for people who don’t deserve it. I’m simply not someone who tolerates BS. Server Info: https://lineage2.gold/info Server for test: https://lineage2.gold/download Over 110 videos YouTube playlist: https://www.youtube.com/watch?v=HO7BZaxUv2U&list=PLD9WZ0Nj-zstZaYeWxAxTKbX7ia2M_DUu&index=113
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..

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