Well, im working on trick skill to enable to pull out target from another enemy character.
This is the original skill code
well to enable the remove target. i added this lines at the end.
staying of this way
well, from this way that work but only "entry" to one char 1 time from 200. So... maybe you say, if you want more chance, you need to increase skill power. well you can increase that how much how you want. and nothing change.
So, to can modify the chance of these skill, i changed the skilltype from
Well, from this way work awesome, you can modify the power, and you can increase or reduce the chance. Maybe you say, already, perfect.
But no. With this method, when you use the skill on some mob, not work fine, is how the mob lose her target, but keep agresive to you, altought if you are using silent move. Its like he understand you are hiting to him.
Nothing critical but... if we come to the core, on the Disablers.java we have this for
Well, the thing is why the power not increase the chance when the skilltype is AGGREDUCE_CHAR. Because i followed the calcSkillSuccess function and that used the power as variable. so really i dont understand how to do that from the right way.
Anyone have any idea of how can i do work that from the right way?
This is the original skill code
- Code:
<skill id="11" levels="12" name="Trick">
<table name="#mpConsume"> 54 56 61 65 68 69 72 74 77 79 81 83 </table>
<table name="#magicLvl"> 49 52 55 58 60 62 64 66 68 70 72 74 </table>
<set name="mpConsume" val="#mpConsume"/>
<set name="magicLvl" val="#magicLvl"/>
<set name="power" val="80"/>
<set name="target" val="TARGET_ONE"/>
<set name="hitTime" val="300"/>
<set name="reuseDelay" val="20000"/>
<set name="skillType" val="AGGREDUCE_CHAR"/>
<set name="operateType" val="OP_ACTIVE"/>
<set name="castRange" val="400"/>
<set name="effectRange" val="900"/>
</skill>
well to enable the remove target. i added this lines at the end.
- Code:
<for>
<effect count="1" name="RemoveTarget" time="1" val="0"/>
</for>
staying of this way
- Code:
<skill id="11" levels="12" name="Trick">
<table name="#mpConsume"> 54 56 61 65 68 69 72 74 77 79 81 83 </table>
<table name="#magicLvl"> 49 52 55 58 60 62 64 66 68 70 72 74 </table>
<set name="mpConsume" val="#mpConsume"/>
<set name="magicLvl" val="#magicLvl"/>
<set name="power" val="80"/>
<set name="target" val="TARGET_ONE"/>
<set name="hitTime" val="300"/>
<set name="reuseDelay" val="20000"/>
<set name="skillType" val="AGGREDUCE_CHAR"/>
<set name="operateType" val="OP_ACTIVE"/>
<set name="castRange" val="400"/>
<set name="effectRange" val="900"/>
<for>
<effect count="1" name="RemoveTarget" time="1" val="0"/>
</for>
</skill>
well, from this way that work but only "entry" to one char 1 time from 200. So... maybe you say, if you want more chance, you need to increase skill power. well you can increase that how much how you want. and nothing change.
So, to can modify the chance of these skill, i changed the skilltype from
- Code:
<set name="skillType" val="AGGREDUCE_CHAR"/>
- Code:
<set name="skillType" val="DEBUFF"/>
Well, from this way work awesome, you can modify the power, and you can increase or reduce the chance. Maybe you say, already, perfect.
But no. With this method, when you use the skill on some mob, not work fine, is how the mob lose her target, but keep agresive to you, altought if you are using silent move. Its like he understand you are hiting to him.
Nothing critical but... if we come to the core, on the Disablers.java we have this for
- Code:
<set name="skillType" val="AGGREDUCE_CHAR"/>
- Code:
case AGGREDUCE_CHAR:
{
// these skills needs to be rechecked
if (Formulas.getInstance().calcSkillSuccess(activeChar, target, skill, ss, sps, bss))
{
if (target instanceof L2MonsterInstance)
{
target.getAI().notifyEvent(CtrlEvent.EVT_AGGRESSION, activeChar, -((L2MonsterInstance) target).getHating(activeChar));
}
skill.getEffects(activeChar, target);
}
else
{
if (activeChar instanceof L2PcInstance)
{
SystemMessage sm = new SystemMessage(SystemMessage.S1_WAS_UNAFFECTED_BY_S2);
sm.addString(target.getName());
sm.addSkillName(skill);
activeChar.sendPacket(sm);
}
}
break;
}
Well, the thing is why the power not increase the chance when the skilltype is AGGREDUCE_CHAR. Because i followed the calcSkillSuccess function and that used the power as variable. so really i dont understand how to do that from the right way.
Anyone have any idea of how can i do work that from the right way?