L2JMobius

High Five L2JMOBIUS-H5 FOCUS ATTACK ACTIVE MORE OF 1 MOB

jura · 4 · 5118

Offline jura

  • Vassal
  • *
    • Posts: 2
   <skill id="317" levels="5" name="Focus Attack">
      <!-- When using a spear, allows user to attack a single enemy with increases in Accuracy of 2 and Critical Damage of 10%. -->
      <table name="#accCombat">2 3 4 5 6</table>
      <table name="#cAtk">1.1 1.15 1.2 1.25 1.3</table>
      <table name="#magicLevel">40 49 58 66 74</table>
      <table name="#mpConsume">18 22 27 31 34</table>
      <set name="abnormalVisualEffect" val="NONE" />
      <set name="icon" val="icon.skill0317" />
      <set name="magicLevel" val="#magicLevel" />
      <set name="mpConsume" val="#mpConsume" />
      <set name="operateType" val="T" />
      <set name="targetType" val="SELF" />
      <for>
         <effect name="Buff">
            <mul stat="critDmg" val="#cAtk">
               <using kind="POLE" />
            </mul>
            <add stat="accCombat" val="#accCombat">
               <using kind="POLE" />
            </add>
            <set stat="atkCountMax" val="1">
               <using kind="POLE" />
            </set>
         </effect>
      </for>
   </skill>

THE VAL IN THE LINE "<set stat="atkCountMax" val="1"> " IS CORRECT.  but in game the char when active the skill passive.
The char atk. more of 1 mob .
Anyone can help me ?

Picture/ PRINT https://imgur.com/a/AV8XjGv




Offline devgroup

  • Vassal
  • *
    • Posts: 1
Well, according to the PTS, then the skill should be like this, the data was converted and implemented according to the PTS, this skill is not from this assembly and this developer. So paramerts can differ from Mobius
<skill id="317" levels="5" name="Focus Attack">
      <!--
         Last modify:   17.02.2010
      -->
      <table name="#cAtk">1.10 1.15 1.20 1.25 1.30</table>
      <table name="#Accuracy">2 3 4 5 6</table>
      <table name="#mpConsume1">18 22 27 31 34</table>
      <table name="#magicLevel">40 49 58 66 74</table>
      <set name="icon" val="icon.skill0317" />
      <set name="magicLevel" val="#magicLevel" />
      <set name="mpConsume1" val="#mpConsume1" />
      <set name="target" val="TARGET_SELF" />
      <set name="skillType" val="CONT" />
      <set name="operateType" val="OP_TOGGLE" />
      <for>
         <effect count="0x7fffffff" name="ManaDamOverTime" time="3.33" val="0" stackOrder="1" stackType="polearmSelf">
            <mul order="0x30" stat="cAtk" val="#cAtk">
               <using kind="Pole" />
            </mul>
            <add order="0x40" stat="accCombat" val="#Accuracy">
               <using kind="Pole" />
            </add>
            <set order="0x80" stat="poleTargetCount" val="0" />
         </effect>
      </for>
   </skill>



Offline kinghanker

  • Knight
  • ***
    • Posts: 64
You can try to edit the skill conditions but it is correct. "// H5 Changes: without Polearm Mastery (skill 216) max simultaneous attacks is 3 (1 by default + 2 in skill 3599)."

Creature.java
Code: [Select]
// H5 Changes: without Polearm Mastery (skill 216) max simultaneous attacks is 3 (1 by default + 2 in skill 3599).
int attackCountMax = (int) _stat.getValue(Stat.ATTACK_COUNT_MAX, 1);
if ((attackCountMax > 1) && (_stat.getValue(Stat.PHYSICAL_POLEARM_TARGET_SINGLE, 0) <= 0))
{
final double headingAngle = Util.convertHeadingToDegree(getHeading());
final int maxRadius = _stat.getPhysicalAttackRadius();
final int physicalAttackAngle = _stat.getPhysicalAttackAngle();
for (Creature obj : World.getInstance().getVisibleObjectsInRange(this, Creature.class, maxRadius))
{
// Skip main target.
if (obj == target)
{
continue;
}

// Skip dead or fake dead target.
if (obj.isAlikeDead())
{
continue;
}

// Check if target is auto attackable.
if (!obj.isAutoAttackable(this))
{
continue;
}

// Check if target is within attack angle.
if (Math.abs(calculateDirectionTo(obj) - headingAngle) > physicalAttackAngle)
{
continue;
}

// Launch a simple attack against the additional target.
hit = generateHit(obj, weapon, shotConsumed, false);
attack.addHit(hit);
shotConsumed = hit.isShotUsed();
if (--attackCountMax <= 0)
{
break;
}
}
}