Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
[Новый Скилл] Что сделал не так?
#1
Код:
<!-- Стремительный Ястреб. Запущенная стрела, попадая в цель вызывает у неё кровотечение. Если цель, находясь под эффектом Swift Hawk передвигается, то рана расширяется и увечит еще сильнее. -->
<skill id="473" levels="3" name="Swift Hawk">
  <table name="#effectlevel">3 6 9</table>
  <table name="#power">10 20 100</table>
  <table name="#mpConsume">100 200 300</table>
  <table name="#aggro">204 214 224</table>
  <table name="#magicLvl">54 66 78</table>
  <table name="#bleedPower1">52 91 130</table>
  <table name="#bleedPower2">100 200 300</table>
  <table name="#range">1000 2000 3000</table>
  <set name="mpConsume" val="#mpConsume"/>
  <set name="magicLvl" val="#magicLvl"/>
  <set name="power" val="#power"/>
  <set name="target" val="TARGET_ONE"/>
  <set name="reuseDelay" val="1000"/>
  <set name="staticReuse" val="true"/>
  <set name="hitTime" val="2000"/>
  <set name="staticHitTime" val="true"/>
  <set name="skillType" val="BLEED"/>
  <set name="isMagic" val="false"/>
  <set name="operateType" val="OP_ACTIVE"/>
  <set name="castRange" val="#range"/>
  <set name="effectRange" val="6000"/>
  <set name="aggroPoints" val="#aggro"/>
  <set name="effectType" val="BLEED"/>
  <set name="effectLevel" val="#effectlevel"/>
  <set name="condition" val="1"/>
  <for>
    <effect count="15" name="DamOverTime" val="#bleedPower1" time="3" abnormal="bleeding"/>
    <effect noicon="1" count="8" name="DamOverTime" val="#bleedPower2" time="1" abnormal="bleeding">
      <player running="true"/>
    </effect>
  </for>
</skill>

Первый эффект естественно работает, а вот второй... когда цель передвигается, должен демажить, но увы.

Своего рода, этот скилл, должен был быть аналогом скила Rapture(Bloodseeker/DOTA). Где я тупанул, укажите на ошибки, и подскажите, если этот cond не подходит, может быть тогда лучше создать совсем новый эффект, но если так, тогда где на какие .java опираться?
Ответ
#2
<player .../>
Это условие относится к использующему скилл.
<target .../>
К тому, на кого используется скилл.

running это именно бег, вдруг кто-то переключится на шаг(moving) Smile - Тоже учесть.
Ответ
#3
Array, увы на хрониках ИТ, этого конда не существует. Тогда я склоняюсь к тому, чтобы создать новый cond "target", но чтобы это сделать какие .java необходимо будет задействовать?
Ответ
#4
В DocumentBase.java

По аналогии с:
[src=java] protected Condition parsePlayerCondition(Node n)
{
Condition cond = null;
NamedNodeMap attrs = n.getAttributes();
for (int i = 0; i < attrs.getLength(); i++)
{
Node a = attrs.item(i);
String nodeName = a.getNodeName();
//.......
else if ("moving".equalsIgnoreCase(nodeName))
{
boolean val = Boolean.valueOf(a.getNodeValue());
cond = joinAnd(cond, new ConditionPlayerState(CheckPlayerState.MOVING, val));
}
//........
}[/src]

Написать в parseTargetCondition "добавление" этого состояния.

В conditions добавить ConditionTargetState.java

Наверное ещё что-то, но думаю этого пока хватит, дальше может само пойдет.
Ответ
#5
что бы не создавать новую тему спрошу тут
как добавить проверку что бы <set name="target" val="TARGET_MOB"/>
Вообщем что бы скилл работал только на моба.
Ответ
#6
Если бы у тебя был Интерлюд, я бы ответил что надо писать новый таргет, к примеру TARGET_MOB, ибо на ИТ нету способностей которые бы влияли только на моба, есть особые цели типо Мертвяк или насекомое, а така, чтобы на всех мобов кроме игроков - я точно не находил Smile
Ответ
#7
ну а если тупо перечислить все виды мобов и запихать их в 1 таргет?)
Ответ
#8
extend Написал:что бы не создавать новую тему спрошу тут
как добавить проверку что бы <set name="target" val="TARGET_MOB"/>
Вообщем что бы скилл работал только на моба.

мелкий пример которых в самом ядре очень много

Код:
case TARGET_TYRANNOSAURUS:
            {
                    if(target instanceof L2MonsterInstance && ((L2MonsterInstance) target).getNpcId() == 22217 || ((L2MonsterInstance) target).getNpcId() == 22216 || ((L2MonsterInstance) target).getNpcId() == 22215)
                        return new L2Character[]
                        {
                                target
                        };
                    return null;
            }
Ответ
#9
Это в каком файле?)
Ответ
#10
extend Написал:Это в каком файле?)

оффтоп
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  новый SkillType TorBenLino 22 5,107 07-29-2016, 06:43 AM
Последний пост: finfan
  Skill/Скилл terra_inkognito 0 935 08-11-2014, 01:08 PM
Последний пост: terra_inkognito
  Sonic Rage Скилл Литион 7 1,978 04-23-2014, 08:56 PM
Последний пост: Walker
  Скилл 1400 Turn Undead (Испугать Нежить) Raikerock3 0 1,080 04-13-2014, 06:46 AM
Последний пост: Raikerock3
  новый моб cool235 11 3,339 04-10-2013, 02:40 PM
Последний пост: smeli
  Скилл нельзя использовать против соклана в дуеле revlon 8 1,912 09-29-2012, 06:07 PM
Последний пост: revlon
  как сделать скилл нельзя юзать на себя revlon 2 1,316 09-29-2012, 06:06 PM
Последний пост: revlon
  Новый таргет тип: TARGET_CORPSE_MOB_PET finfan 1 1,420 08-06-2012, 07:27 PM
Последний пост: Visor
  Скилл, который запоминает координаты. finfan 17 3,547 07-01-2012, 11:01 PM
Последний пост: DiagoD
  Новый стат finfan 5 1,723 03-12-2012, 08:49 AM
Последний пост: Azagthtot

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)