Jump to content
  • 0

"Improved buffs" problem


sotid

Question

interlude/L2jfrozen 1004

 

Hello I created a skill that combines buffs together into one , like improved buffs, but doesnt work correctly.
When I use it , it replaced the buffs but instead of one slot it takes all the slots  of the previous ones.

Example:
image.png.31c53bbda610c48c79984beb920abe77.png

This is my skill :

 


<skill id="7159" levels="1" name="Harmony of the Horn">
  <set name="mpInitialConsume" val="20"/>
  <set name="mpConsume" val="60"/>
  <set name="target" val="TARGET_PARTY"/>
  <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"/>
  <for>
    <effect count="1" name="Buff" time="10800" val="0" stackOrder="1.35" stackType="MaxHPUp">
      <mul order="0x30" stat="maxHp" val="1.35"/>
    </effect>
    <effect count="1" name="Buff" time="10800" val="0" stackOrder="1.35" stackType="MaxMPUp">
      <mul order="0x30" stat="maxMp" val="1.35"/>
    </effect>
    <effect count="1" name="Buff" time="10800" val="0" stackOrder="33" stackType="SpeedUp">
      <add order="0x40" stat="runSpd" val="33"/>
    </effect>
  </for>
 </skill>

 

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0

Make the buff like this to work, also check the stackType from other buffs, and replace it.


<effect count="1" name="Buff" time="10800" val="0" stackOrder="1.35" stackType="MaxHPUp">      <mul order="0x30" stat="maxHp" val="1.35"/>      <add order="0x40" stat="runSpd" val="33"/>      <mul order="0x30" stat="maxMp" val="1.35"/></effect>
	

Link to comment
Share on other sites

  • 0

Thanks Kara, and yes the buff combines the stats of the other 3 buffs, but for some reason it doesnt  replace them into one but three different for some reason

*Of Topic*
Detroit become human, what a game!

Link to comment
Share on other sites

  • 0

Sinister , If I do it like that it will only replace bless the body, Ive tried.
Can I add multiple stacktypes into one? maybe thats why it does that.

Ive tried with coma but doesnt work , maybe there is another way?

 stackType="MaxHPUp,MaxMPUP,SpeedUp">
Link to comment
Share on other sites

  • 0
1 hour ago, sotid said:

Sinister , If I do it like that it will only replace bless the body, Ive tried.
Can I add multiple stacktypes into one? maybe thats why it does that.

Ive tried with coma but doesnt work , maybe there is another way?


 stackType="MaxHPUp,MaxMPUP,SpeedUp">

For example take the stackType from Dance, or song and try. Dont use 1,2,3 It need to be a single stackType

Link to comment
Share on other sites

  • 0

<skill id="7159" levels="1" name="Harmony of the Horn">
  <set name="mpInitialConsume" val="20"/>
  <set name="mpConsume" val="60"/>
  <set name="target" val="TARGET_PARTY"/>
  <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"/>
  <for>
    <effect count="1" name="Buff" time="10800" val="0" stackOrder="1.35" stackType="Here is new stack type">
      <mul order="0x30" stat="maxHp" val="1.35"/>
      <mul order="0x30" stat="maxMp" val="1.35"/>
      <add order="0x40" stat="runSpd" val="33"/>
    </effect>
  </for>
 </skill>

Just check the stackOrder and stackStype from dance or songs or Chant of Victory.

Link to comment
Share on other sites

  • 0

Atm you expect miracles. You won't do it with xml. Making all buffs the same stack type stack order, will replace buffs, so you can have only one at a time. I believe you have to hard-code that behavior. 

Link to comment
Share on other sites

  • 0

So I think this is the code for the anti-buff skill.

https://pastebin.com/6eQ72f52
 

So can someone guide me to make this for example anti-windwalk, if possible.
 

Edited by sotid
Link to comment
Share on other sites

  • 0

It's the skeletor of anti-buff. The real skill restriction is located in Continuous.java#useSkill#case BUFF

if (skill.getId() == skill_id_to_check)

   continue; // skip the skill

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...