Fixed guards not moving.

This commit is contained in:
MobiusDev
2017-08-09 16:37:18 +00:00
parent b201ce15e3
commit 5ab60b4287
20 changed files with 307 additions and 92 deletions

View File

@@ -0,0 +1,74 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package ai.others;
import com.l2jmobius.Config;
import com.l2jmobius.gameserver.geodata.GeoData;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.util.Util;
import ai.AbstractNpcAI;
/**
* @author Mobius
*/
public class RandomWalkingGuards extends AbstractNpcAI
{
private static final int[] GUARDS =
{
31032, // talking island
31033, // elf village
31034, // dark elf village
31036, // orc village
31035, // dwarf village
};
// Others
private static final int MIN_WALK_DELAY = 15000;
private static final int MAX_WALK_DELAY = 45000;
private RandomWalkingGuards()
{
addSpawnId(GUARDS);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("RANDOM_WALK") && (npc != null))
{
if (!npc.isInCombat())
{
addMoveToDesire(npc, GeoData.getInstance().moveCheck(npc.getLocation(), Util.getRandomPosition(npc.getSpawn().getLocation(), 0, Config.MAX_DRIFT_RANGE), npc.getInstanceWorld()), 23);
}
startQuestTimer("RANDOM_WALK", getRandom(MIN_WALK_DELAY, MAX_WALK_DELAY), npc, null);
}
return super.onAdvEvent(event, npc, player);
}
@Override
public String onSpawn(L2Npc npc)
{
startQuestTimer("RANDOM_WALK", getRandom(MIN_WALK_DELAY, MAX_WALK_DELAY), npc, null);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new RandomWalkingGuards();
}
}