We make the behavior of mobs like l2off.
Karakan is on your topic.
Add to L2AttackableAI.java --> thinkActive
For the place.
On this.
We get a delay of 3 seconds from the aggressive monsters, first they go, and then they run.
Next, we go L2AttackableAI.java --> onEvtAttacked
For the place.
On this.
We get that the mobs after our attack first go 3 seconds, and then start to run.
DnR, please consider this, in block 2, a revision is required in order for the mob to start running if it has less than 80-85% hp.
Karakan is on your topic.
Add to L2AttackableAI.java --> thinkActive
For the place.
- Code:
// Set the L2Character movement type to run and send Server->Client packet ChangeMoveType to all others L2PcInstance
if (!_actor.isRunning())
{
_actor.setRunning();
}
On this.
- Code:
// Set the L2Character movement type to run and send Server->Client packet ChangeMoveType to all others L2PcInstance
ThreadPoolManager.getInstance().scheduleGeneral(new Runnable()
{
@Override
public void run()
{
_actor.setRunning();
}
},3000);
We get a delay of 3 seconds from the aggressive monsters, first they go, and then they run.
Next, we go L2AttackableAI.java --> onEvtAttacked
For the place.
- Code:
// Set the L2Character movement type to run and send Server->Client packet ChangeMoveType to all others L2PcInstance
if (!_actor.isRunning())
{
_actor.setRunning();
}
On this.
- Code:
// Set the L2Character movement type to run and send Server->Client packet ChangeMoveType to all others L2PcInstance
if (!_actor.isRunning() & !_selfAnalysis.isArcher)
{
ThreadPoolManager.getInstance().scheduleGeneral(new Runnable()
{
@Override
public void run()
{
_actor.setRunning();
}
},3000);
}
else if (!_actor.isRunning() & _selfAnalysis.isArcher)
{
_actor.setRunning();
}
We get that the mobs after our attack first go 3 seconds, and then start to run.
DnR, please consider this, in block 2, a revision is required in order for the mob to start running if it has less than 80-85% hp.