Добавление/копирование скилов

enmedia

Heir
Customer
Всем привет. Сразу по делу.
Скопировал я скилл (Dance of Fire), и немного его подурезал. Суть этого скила в следующем:
Когда Агатион одет и призван, у владельца появляется список скиллов бафа, которые он может наложить только на себя. Один из них этот данц.
С чем я столкнулсяЙ:
1. Пришлось делать кастомный скилл, так как нет возможности добавить скилу уровень заточки при добавлении агатиону.
2. Кастомный скилл задваивается с оригинальным. то есть Данцер танцеет Данц оф фире и юзнуть скилл кастомный - они оба будут стоять в строке бафов. То есть овербаф получается.

У меня пара загадочных вопросов:
1. Как можно добавить время работы скила "time" на стадии добавления его к пэту? Пример:
Code:
<equip>
            <slot id="LEFT_BRACELET"/>
        </equip>
        <skills>
            <skill id="21233" level="1" /> <!-- Release Agathion's Seal - Singer and Dancer -->
            <skill id="23234" level="1" /> <!-- Singer and Dancer Agathion Cute Trick -->
            <skill id="3267" level="1"/> <!-- Seal Agathion -->
            <skill id="39016" level="1" /> <!-- Dance of Fury -->
            <skill id="39017" level="1" /> <!-- Dance of Concentration -->
            <skill id="39018" level="1" /> <!-- Song of Wind -->
            <skill id="274" level="1" /> <!-- ВОТ ЭТОМУ СКИЛУ ТУТ ДОБАВИТЬ enchant или time для увеличения времени работы бафа (на какое время этот баф накладывается) --->
            <skill id="90102" level="1" />
        </skills>
2. Как сделать так, что бы кастомный баф не дублировался, а заменял оригинальный баф? пример реализации кастомного бафа:
Code:
<skill id="90102" levels="1" name="Dance of the Fire">
    <set name="magicType" val="MUSIC"/>
    <set name="icon" val="icon.skill0274"/>
    <set name="reuseDelay" val="10000"/>
    <set name="magicLevel" val="#magicLevel"/>
    <set name="hitTime" val="2500"/>
    <set name="hitCancelTime" val="500"/>
    <set name="mpConsume2" val="#mpConsume2"/>
    <set name="effectPoint" val="523"/>
    <set name="weaponsAllowed" val="512"/>
    <set name="target" val="TARGET_SELF"/>
    <set name="skillRadius" val="1000"/>
    <set name="skillType" val="BUFF"/>
    <set name="operateType" val="OP_ACTIVE"/>
    <cond msgId="2292">
            <player agathion="1594"/>
        </cond>
        <cond msgId="1509">
            <not>
                <player olympiad="true"/>
            </not>
        </cond>
    <for>
      <effect count="1" name="Buff" stackType="dance_fire" stackOrder="1" time="1200" val="0">
        <mul order="0x30" stat="cAtk" val="1.35"/>
      </effect>
    </for>
  </skill>

И вро де бы поставил stackType="dance_fire" для баффа, а он все рравно не заменяет оригинальный баф от БД или НПЦ баффера.

Подскажите пожалуйста, хотя бы по одному из двух вариантов. Решение одного из них будет профитом для моей затеи.
 
2. Вообще если у них эти значения одинаковые stackType="dance_fire" stackOrder="1", то по логике должны быть взаимозаменяемыми

stackOrder = используется для замены одного эффекта другим эффектом, у которого stackOrder выше. эффект с более низким stackORder не может заменить эффект с более высоким stackOrder
stackType = "Тип эффекта", чтобы не накладывались схожие баффы
 
2. Вообще если у них эти значения одинаковые stackType="dance_fire" stackOrder="1", то по логике должны быть взаимозаменяемыми
В том то и дело, что у дефолтного скила, вообще такого параметра нет совсем.
Code:
<skill id="274" levels="1" name="Dance of Fire">
    <table name="#mpConsume2">60</table>
    <table name="#abnormal_time">120</table> 
    <table name="#magicLevel">40</table> 
    <set name="magicType" val="MUSIC"/> 
    <set name="icon" val="icon.skill0274"/> 
    <set name="reuseDelay" val="10000"/> 
    <set name="magicLevel" val="#magicLevel"/> 
    <set name="hitTime" val="2500"/> 
    <set name="hitCancelTime" val="500"/> 
    <set name="mpConsume2" val="#mpConsume2"/> 
    <set name="effectPoint" val="379"/> 
    <set name="weaponsAllowed" val="512"/> 
    <set name="target" val="TARGET_PARTY"/> 
    <set name="skillRadius" val="1000"/> 
    <set name="skillType" val="BUFF"/> 
    <set name="operateType" val="OP_ACTIVE"/> 
    <enchant1 levels="30" name="Time">
      <table name="#abnormal_time">125 131 136 142 147 153 158 164 169 175 180 186 191 197 202 208 213 219 224 230 235 241 246 252 257 263 268 274 279 285</table> 
      <table name="#magicLevel">76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85</table>
    </enchant1> 
    <enchant2 levels="30" name="Cost">
      <table name="#magicLevel">76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85</table> 
      <table name="#mpConsume2">58 57 56 55 53 52 51 50 48 47 46 45 43 42 41 40 39 37 36 35 34 32 31 30 29 27 26 25 24 22</table>
    </enchant2> 
    <for>
      <effect count="1" name="Buff" time="#abnormal_time" val="0">
        <mul order="0x30" stat="cAtk" val="1.35"/>
      </effect>
    </for>
  </skill>
 
В том то и дело, что у дефолтного скила, вообще такого параметра нет совсем.
Code:
<skill id="274" levels="1" name="Dance of Fire">
    <table name="#mpConsume2">60</table>
    <table name="#abnormal_time">120</table>
    <table name="#magicLevel">40</table>
    <set name="magicType" val="MUSIC"/>
    <set name="icon" val="icon.skill0274"/>
    <set name="reuseDelay" val="10000"/>
    <set name="magicLevel" val="#magicLevel"/>
    <set name="hitTime" val="2500"/>
    <set name="hitCancelTime" val="500"/>
    <set name="mpConsume2" val="#mpConsume2"/>
    <set name="effectPoint" val="379"/>
    <set name="weaponsAllowed" val="512"/>
    <set name="target" val="TARGET_PARTY"/>
    <set name="skillRadius" val="1000"/>
    <set name="skillType" val="BUFF"/>
    <set name="operateType" val="OP_ACTIVE"/>
    <enchant1 levels="30" name="Time">
      <table name="#abnormal_time">125 131 136 142 147 153 158 164 169 175 180 186 191 197 202 208 213 219 224 230 235 241 246 252 257 263 268 274 279 285</table>
      <table name="#magicLevel">76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85</table>
    </enchant1>
    <enchant2 levels="30" name="Cost">
      <table name="#magicLevel">76 76 76 77 77 77 78 78 78 79 79 79 80 80 80 81 81 81 82 82 82 83 83 83 84 84 84 85 85 85</table>
      <table name="#mpConsume2">58 57 56 55 53 52 51 50 48 47 46 45 43 42 41 40 39 37 36 35 34 32 31 30 29 27 26 25 24 22</table>
    </enchant2>
    <for>
      <effect count="1" name="Buff" time="#abnormal_time" val="0">
        <mul order="0x30" stat="cAtk" val="1.35"/>
      </effect>
    </for>
  </skill>
Надо добавить) что бы у обоих скилов был стактайп, возьми пример с френзи и гатс
 
Получилось, все работает правильно, спасибо большое. Блин где то в бафах прописано чрезе нижний слеш, где то слитно, а где то и вовсе нет этого стактайпа.... ужас... вручную больше 100 скиллов лопатить буду) но думаю дело того стоит.
 
Получилось, все работает правильно, спасибо большое. Блин где то в бафах прописано чрезе нижний слеш, где то слитно, а где то и вовсе нет этого стактайпа.... ужас... вручную больше 100 скиллов лопатить буду) но думаю дело того стоит.
Это издержки парса с птс дизером
 
могу я спросить, что ты имеешь в виду под этим ?
i use translate....so :P
maybe i dont understand
Deazer переносил все скилы из pts версии сервера на эту сборку по этому структура скилов частично изменилась, от всем привычной java старой версий.
 
Deazer transferred all the skills from the pts version of the server to this assembly, so the structure of the skills has partially changed from the familiar old java version.
thank you, this means i understoon in the first place, i was not sure though
tanslation(to Eng) was saying something about diesel and petrol o_O
 
если разные значения, то заменяться будет тем которое больше?
Да

stackOrder = используется для замены одного эффекта другим эффектом, у которого stackOrder выше. эффект с более низким stackORder не может заменить эффект с более высоким stackOrder
 
Back
Top