Fixed monster drift parameters.
This commit is contained in:
parent
3db795f51d
commit
a2e46381a3
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="ChapelGuards">
|
||||
<spawn name="ChapelGuards" ai="NoRandomActivity">
|
||||
<parameters>
|
||||
<param name="disableRandomWalk" value="true" />
|
||||
</parameters>
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="ChapelGuards">
|
||||
<spawn name="ChapelGuards" ai="NoRandomActivity">
|
||||
<parameters>
|
||||
<param name="disableRandomWalk" value="true" />
|
||||
</parameters>
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="ChapelGuards">
|
||||
<spawn name="ChapelGuards" ai="NoRandomActivity">
|
||||
<parameters>
|
||||
<param name="disableRandomWalk" value="true" />
|
||||
</parameters>
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="ChapelGuards">
|
||||
<spawn name="ChapelGuards" ai="NoRandomActivity">
|
||||
<parameters>
|
||||
<param name="disableRandomWalk" value="true" />
|
||||
</parameters>
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="ChapelGuards">
|
||||
<spawn name="ChapelGuards" ai="NoRandomActivity">
|
||||
<parameters>
|
||||
<param name="disableRandomWalk" value="true" />
|
||||
</parameters>
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="ChapelGuards">
|
||||
<spawn name="ChapelGuards" ai="NoRandomActivity">
|
||||
<parameters>
|
||||
<param name="disableRandomWalk" value="true" />
|
||||
</parameters>
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="ChapelGuards">
|
||||
<spawn name="ChapelGuards" ai="NoRandomActivity">
|
||||
<parameters>
|
||||
<param name="disableRandomWalk" value="true" />
|
||||
</parameters>
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="ChapelGuards">
|
||||
<spawn name="ChapelGuards" ai="NoRandomActivity">
|
||||
<parameters>
|
||||
<param name="disableRandomWalk" value="true" />
|
||||
</parameters>
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="ChapelGuards">
|
||||
<spawn name="ChapelGuards" ai="NoRandomActivity">
|
||||
<parameters>
|
||||
<param name="disableRandomWalk" value="true" />
|
||||
</parameters>
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="ChapelGuards">
|
||||
<spawn name="ChapelGuards" ai="NoRandomActivity">
|
||||
<parameters>
|
||||
<param name="disableRandomWalk" value="true" />
|
||||
</parameters>
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="ChapelGuards">
|
||||
<spawn name="ChapelGuards" ai="NoRandomActivity">
|
||||
<parameters>
|
||||
<param name="disableRandomWalk" value="true" />
|
||||
</parameters>
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="ChapelGuards">
|
||||
<spawn name="ChapelGuards" ai="NoRandomActivity">
|
||||
<parameters>
|
||||
<param name="disableRandomWalk" value="true" />
|
||||
</parameters>
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">
|
||||
<spawn name="ChapelGuards">
|
||||
<spawn name="ChapelGuards" ai="NoRandomActivity">
|
||||
<parameters>
|
||||
<param name="disableRandomWalk" value="true" />
|
||||
</parameters>
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,12 @@ public class NoRandomActivity extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
|
||||
{
|
||||
npc.setRandomAnimation(npc.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
npc.setRandomWalking(npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
if (npc.getSpawn() != null)
|
||||
npc.setRandomAnimation(!template.getParameters().getBoolean("disableRandomAnimation", false));
|
||||
final boolean randomWalk = !template.getParameters().getBoolean("disableRandomWalk", false);
|
||||
npc.setRandomWalking(randomWalk);
|
||||
if ((npc.getSpawn() != null))
|
||||
{
|
||||
npc.getSpawn().setRandomWalking(!npc.getParameters().getBoolean("disableRandomWalk", false));
|
||||
npc.getSpawn().setRandomWalking(randomWalk);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,7 +550,7 @@ public class AttackableAI extends CreatureAI
|
||||
}
|
||||
}
|
||||
// Order to the Monster to random walk (1/100)
|
||||
else if ((npc.getSpawn() != null) && npc.getSpawn().getRandomWalking() && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
else if ((npc.getSpawn() != null) && (Rnd.get(RANDOM_WALK_RATE) == 0) && npc.isRandomWalkingEnabled())
|
||||
{
|
||||
for (Skill sk : npc.getTemplate().getAISkills(AISkillScope.BUFF))
|
||||
{
|
||||
|
@ -218,25 +218,32 @@ public class SpawnData implements IXmlReader
|
||||
SpawnGroup defaultGroup = null;
|
||||
for (Node innerNode = spawnsNode.getFirstChild(); innerNode != null; innerNode = innerNode.getNextSibling())
|
||||
{
|
||||
if ("territories".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
switch (innerNode.getNodeName())
|
||||
{
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
}
|
||||
else if ("group".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
}
|
||||
else if ("npc".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
case "territories":
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
parseTerritories(innerNode, spawnTemplate.getFile(), spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "group":
|
||||
{
|
||||
parseGroup(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
case "npc":
|
||||
{
|
||||
if (defaultGroup == null)
|
||||
{
|
||||
defaultGroup = new SpawnGroup(StatSet.EMPTY_STATSET);
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
break;
|
||||
}
|
||||
case "parameters":
|
||||
{
|
||||
parseParameters(innerNode, spawnTemplate);
|
||||
break;
|
||||
}
|
||||
parseNpc(innerNode, spawnTemplate, defaultGroup);
|
||||
}
|
||||
else if ("parameters".equalsIgnoreCase(innerNode.getNodeName()))
|
||||
{
|
||||
parseParameters(spawnsNode, spawnTemplate);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user