Стак 4=1 ХФ

VoDela

Прославленный
Местный
Сообщения
478
Розыгрыши
0
Репутация
312
Реакции
156
Баллы
1 438
Возможно ли в ХФ в ДП стакнуть к примеру 4 танца, чтоб они заменялись одним? танцую с бубном, у меня примерно такая картина получается, но...
Код:
    <skill id="70177" levels="1" name="Dance1">
        <set name="mpConsume" val="30"/>
        <set name="magicType" val="MAGIC"/>
        <set name="icon" val="icon.skill0271" />
        <set name="reuseDelay" val="3000" />
        <set name="magicLevel" val="85" />
        <set name="hitTime" val="2500" />
        <set name="hitCancelTime" val="500" />
        <set name="effectPoint" val="523" />
        <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" />
        <for>
            <effect count="1" name="Buff" stackOrder="10" stackType="DanceOfFire"stackType2="DanceOfFury"stackType3="DanceOfInspiration"stackType4="DanceOfWarrior" time="120" val="0">
                <mul order="0x30" stat="pAtk" val="1.12" />
                <mul order="0x30" stat="cAtk" val="1.35" />
                <add order="0x40" stat="accCombat" val="4" />
                <mul order="0x30" stat="pAtkSpd" val="1.15" />
            </effect>
        </for>
    </skill>
Я учитываю то, что stackType я дописал фанарно к 2м танцам (на DanceOfFury и DanceOfInspiration стак уже был вписан) и действуя по методике совершенных бафов решил сделать стак так-же:
Код:
(скилл, который заменяет 2 бафа)
    <skill id="1502" levels="1" name="Improved Critical Attack">
        <set name="magicType" val="MAGIC"/>
        <set name="icon" val="icon.skill1502"/>
        <set name="reuseDelay" val="2000"/>
        <set name="magicLevel" val="74"/>
        <set name="castRange" val="400"/>
        <set name="hitTime" val="1500"/>
        <set name="hitCancelTime" val="500"/>
        <set name="mpConsume1" val="6"/>
        <set name="mpConsume2" val="22"/>
        <set name="effectPoint" val="1000"/>
        <set name="target" val="TARGET_ONE"/>
        <set name="skillType" val="BUFF"/>
        <set name="operateType" val="OP_ACTIVE"/>
        <for>
            <effect count="1" name="Buff" stackOrder="10" stackType="rCrit" stackType2="cAtk" time="2400" val="0">
                <add order="0x40" stat="rCrit" val="30"/>
                <mul order="0x30" stat="cAtk" val="1.35"/>
            </effect>
        </for>
    </skill>
загвоздка в том, что танец стакает только один танец, а не 4, и даже не 2 (предположив, что stackType3 stackType4 не существует)
 
stackType="rCrit;cAtk"
или запятая, не помню точно.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Есть " " которые заменяют Танец\Песню - смотрим как сделано в них, вникаем и делаем свое!!
 
как нефиг делать, толкьо придется систему замен по стэктайпам прилично так переписывать
выкинуть изврат с параметром stackType2 и написать как это сделано в птс - эффект в скилле, в котором перечисляются дополнительные стэктайпы, которые надо снять при наложении скилла + этот же эффект запрещает накладывать другие скиллы с этими стэктайпами пока работает скилл.
эффект зовется p_block_buff_slot.
в хф по такому принципу работают импровед баффы, а в ГоД+ по такому принципу пашут почти все баффы перерожденных классов.

пример на импрувед комбате
Код:
skill_begin    skill_name = [s_improve_combat1]    /* [임프로브 컴뱃] */    skill_id = 1499    level = 1    operate_type = A2    magic_level = 70    special_level = 0    magic_critical_rate = 5    change_skill_id = 0    self_effect = {}    effect = {{i_dispel_by_slot;pa_up;9};{i_dispel_by_slot;pd_up;9};{p_block_buff_slot;{pa_up;pd_up}};{p_physical_attack;{all};15;per};{p_physical_defence;{all};15;per}}    end_effect = {}    is_magic = 1    is_double = 0    mp_consume1 = 6    mp_consume2 = 21    cast_range = 400    effective_range = 900    skill_hit_time = 1.5    skill_cool_time = 0    skill_hit_cancel_time = 0.5    reuse_delay = 2    activate_rate = -1    lv_bonus_rate = 0    basic_property = none    abnormal_time = 2400    abnormal_lv = 1    abnormal_type = improve_pa_pd_up    abnormal_instant = 0    irreplaceable_buff = 0    buff_protect_level = 0    attribute = {attr_none;0}    trait = {trait_none}    effect_point = 679    target_type = target    affect_scope = single    affect_limit = {0;0}    next_action = none    debuff = 0    ride_state = {@ride_none;@ride_strider;@ride_wyvern;@ride_wolf}    multi_class = 0    olympiad_use = 1    skill_end

у меня к примеру это идет как параметр скилла
Код:
    <!-- Improve Combat / Совершенство в Бою -->
    <skill id="1499" levels="1" name="Improve Combat">
        <!-- Сочетание эффектов увеличения Физ. Атк. и увеличения Физ. Защ. дает значительное преимущество в бою. Увеличивает Физ. Атк. и Физ. Защ. на 15%. Время действия: 40 мин. -->
        <set name="magicType" val="MAGIC" />
        <set name="icon" val="icon.skill1499" />
        <set name="reuseDelay" val="2000" />
        <set name="magicLevel" val="70" />
        <set name="castRange" val="400" />
        <set name="hitTime" val="1500" />
        <set name="hitCancelTime" val="500" />
        <set name="mpConsume1" val="6" />
        <set name="mpConsume2" val="21" />
        <set name="effectPoint" val="679" />
        <set name="target" val="ONE" />
        <set name="skillType" val="BUFF" />
        <set name="operateType" val="OP_ACTIVE" />
        <set name="nextAction" val="NONE" />
        <set name="blockSlot" val="pa_up;pd_up" />
        <for>
            <effect count="1" name="Buff" stackOrder="1" stackType="improve_pa_pd_up" time="2400" val="0">
                <mul order="0x30" stat="pAtk" val="1.15" />
                <mul order="0x30" stat="pDef" val="1.15" />
            </effect>
        </for>
    </skill>
При попытке наложения баффа идет сверка не только со стэктайпом, но и со списком заблокированных слотов, просто проверив у скиллов всех наложенных баффов параметр blockSlot и если в каком-то из скиллов нашелся такой же стэктайп в этом параметре - бафф не накладываем.
А если не нашли, а притом скилл имеет список blockSlot и ничего более не мешает наложить бафф, то сначала снимаем все баффы с стэктайпом из blockSlot и уже после этого накладываем бафф.
 
Последнее редактирование: