Angle of attack rework.
Contributed by kamikadzz.
This commit is contained in:
@@ -413,7 +413,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -413,7 +413,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -413,7 +413,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -413,7 +413,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -413,7 +413,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -413,7 +413,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -413,7 +413,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -413,7 +413,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -86,12 +86,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -423,7 +423,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -86,12 +86,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -423,7 +423,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -86,12 +86,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -423,7 +423,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -86,12 +86,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -546,7 +546,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -95,6 +95,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _spiritShotChance;
|
private int _spiritShotChance;
|
||||||
private int _minSkillChance;
|
private int _minSkillChance;
|
||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -177,6 +178,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_spiritShotChance = set.getInt("spiritShotChance", 0);
|
_spiritShotChance = set.getInt("spiritShotChance", 0);
|
||||||
_minSkillChance = set.getInt("minSkillChance", 7);
|
_minSkillChance = set.getInt("minSkillChance", 7);
|
||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getDouble("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getDouble("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getDouble("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getDouble("collisionHeightGrown", 0);
|
||||||
if (Config.ENABLE_NPC_STAT_MULTIPLIERS) // Custom NPC Stat Multipliers
|
if (Config.ENABLE_NPC_STAT_MULTIPLIERS) // Custom NPC Stat Multipliers
|
||||||
@@ -477,6 +479,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _maxSkillChance;
|
return _maxSkillChance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -45,6 +45,7 @@ public class Weapon extends ItemTemplate
|
|||||||
private int _spiritShotCount;
|
private int _spiritShotCount;
|
||||||
private int _mpConsume;
|
private int _mpConsume;
|
||||||
private int _baseAttackRange;
|
private int _baseAttackRange;
|
||||||
|
private int _baseAttackRadius;
|
||||||
private int _baseAttackAngle;
|
private int _baseAttackAngle;
|
||||||
/**
|
/**
|
||||||
* Skill that activates when item is enchanted +4 (for duals).
|
* Skill that activates when item is enchanted +4 (for duals).
|
||||||
@@ -90,13 +91,15 @@ public class Weapon extends ItemTemplate
|
|||||||
_mpConsume = set.getInt("mp_consume", 0);
|
_mpConsume = set.getInt("mp_consume", 0);
|
||||||
_baseAttackRange = set.getInt("attack_range", 40);
|
_baseAttackRange = set.getInt("attack_range", 40);
|
||||||
final String[] damageRange = set.getString("damage_range", "").split(";"); // 0?;0?;fan sector;base attack angle
|
final String[] damageRange = set.getString("damage_range", "").split(";"); // 0?;0?;fan sector;base attack angle
|
||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackRadius = 40;
|
||||||
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
@@ -279,6 +282,11 @@ public class Weapon extends ItemTemplate
|
|||||||
return _baseAttackRange;
|
return _baseAttackRange;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackRadius()
|
||||||
|
{
|
||||||
|
return _baseAttackRadius;
|
||||||
|
}
|
||||||
|
|
||||||
public int getBaseAttackAngle()
|
public int getBaseAttackAngle()
|
||||||
{
|
{
|
||||||
return _baseAttackAngle;
|
return _baseAttackAngle;
|
||||||
|
@@ -564,7 +564,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -95,6 +95,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _spiritShotChance;
|
private int _spiritShotChance;
|
||||||
private int _minSkillChance;
|
private int _minSkillChance;
|
||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -177,6 +178,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_spiritShotChance = set.getInt("spiritShotChance", 0);
|
_spiritShotChance = set.getInt("spiritShotChance", 0);
|
||||||
_minSkillChance = set.getInt("minSkillChance", 7);
|
_minSkillChance = set.getInt("minSkillChance", 7);
|
||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getDouble("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getDouble("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getDouble("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getDouble("collisionHeightGrown", 0);
|
||||||
if (Config.ENABLE_NPC_STAT_MULTIPLIERS) // Custom NPC Stat Multipliers
|
if (Config.ENABLE_NPC_STAT_MULTIPLIERS) // Custom NPC Stat Multipliers
|
||||||
@@ -477,6 +479,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _maxSkillChance;
|
return _maxSkillChance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -45,6 +45,7 @@ public class Weapon extends ItemTemplate
|
|||||||
private int _spiritShotCount;
|
private int _spiritShotCount;
|
||||||
private int _mpConsume;
|
private int _mpConsume;
|
||||||
private int _baseAttackRange;
|
private int _baseAttackRange;
|
||||||
|
private int _baseAttackRadius;
|
||||||
private int _baseAttackAngle;
|
private int _baseAttackAngle;
|
||||||
/**
|
/**
|
||||||
* Skill that activates when item is enchanted +4 (for duals).
|
* Skill that activates when item is enchanted +4 (for duals).
|
||||||
@@ -91,13 +92,15 @@ public class Weapon extends ItemTemplate
|
|||||||
_mpConsume = set.getInt("mp_consume", 0);
|
_mpConsume = set.getInt("mp_consume", 0);
|
||||||
_baseAttackRange = set.getInt("attack_range", 40);
|
_baseAttackRange = set.getInt("attack_range", 40);
|
||||||
final String[] damageRange = set.getString("damage_range", "").split(";"); // 0?;0?;fan sector;base attack angle
|
final String[] damageRange = set.getString("damage_range", "").split(";"); // 0?;0?;fan sector;base attack angle
|
||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackRadius = 40;
|
||||||
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
@@ -281,6 +284,11 @@ public class Weapon extends ItemTemplate
|
|||||||
return _baseAttackRange;
|
return _baseAttackRange;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackRadius()
|
||||||
|
{
|
||||||
|
return _baseAttackRadius;
|
||||||
|
}
|
||||||
|
|
||||||
public int getBaseAttackAngle()
|
public int getBaseAttackAngle()
|
||||||
{
|
{
|
||||||
return _baseAttackAngle;
|
return _baseAttackAngle;
|
||||||
|
@@ -564,7 +564,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -95,6 +95,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _spiritShotChance;
|
private int _spiritShotChance;
|
||||||
private int _minSkillChance;
|
private int _minSkillChance;
|
||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -177,6 +178,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_spiritShotChance = set.getInt("spiritShotChance", 0);
|
_spiritShotChance = set.getInt("spiritShotChance", 0);
|
||||||
_minSkillChance = set.getInt("minSkillChance", 7);
|
_minSkillChance = set.getInt("minSkillChance", 7);
|
||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getDouble("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getDouble("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getDouble("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getDouble("collisionHeightGrown", 0);
|
||||||
if (Config.ENABLE_NPC_STAT_MULTIPLIERS) // Custom NPC Stat Multipliers
|
if (Config.ENABLE_NPC_STAT_MULTIPLIERS) // Custom NPC Stat Multipliers
|
||||||
@@ -477,6 +479,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _maxSkillChance;
|
return _maxSkillChance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -45,6 +45,7 @@ public class Weapon extends ItemTemplate
|
|||||||
private int _spiritShotCount;
|
private int _spiritShotCount;
|
||||||
private int _mpConsume;
|
private int _mpConsume;
|
||||||
private int _baseAttackRange;
|
private int _baseAttackRange;
|
||||||
|
private int _baseAttackRadius;
|
||||||
private int _baseAttackAngle;
|
private int _baseAttackAngle;
|
||||||
/**
|
/**
|
||||||
* Skill that activates when item is enchanted +4 (for duals).
|
* Skill that activates when item is enchanted +4 (for duals).
|
||||||
@@ -91,13 +92,15 @@ public class Weapon extends ItemTemplate
|
|||||||
_mpConsume = set.getInt("mp_consume", 0);
|
_mpConsume = set.getInt("mp_consume", 0);
|
||||||
_baseAttackRange = set.getInt("attack_range", 40);
|
_baseAttackRange = set.getInt("attack_range", 40);
|
||||||
final String[] damageRange = set.getString("damage_range", "").split(";"); // 0?;0?;fan sector;base attack angle
|
final String[] damageRange = set.getString("damage_range", "").split(";"); // 0?;0?;fan sector;base attack angle
|
||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackRadius = 40;
|
||||||
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
@@ -281,6 +284,11 @@ public class Weapon extends ItemTemplate
|
|||||||
return _baseAttackRange;
|
return _baseAttackRange;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackRadius()
|
||||||
|
{
|
||||||
|
return _baseAttackRadius;
|
||||||
|
}
|
||||||
|
|
||||||
public int getBaseAttackAngle()
|
public int getBaseAttackAngle()
|
||||||
{
|
{
|
||||||
return _baseAttackAngle;
|
return _baseAttackAngle;
|
||||||
|
@@ -403,7 +403,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -403,7 +403,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -105,6 +105,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -195,6 +196,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -519,6 +521,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -403,7 +403,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -105,6 +105,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -195,6 +196,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -519,6 +521,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -403,7 +403,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -105,6 +105,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -195,6 +196,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -519,6 +521,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -403,7 +403,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -105,6 +105,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -195,6 +196,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -519,6 +521,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -403,7 +403,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -106,6 +106,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -200,6 +201,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -534,6 +536,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -403,7 +403,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -106,6 +106,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -200,6 +201,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -534,6 +536,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -403,7 +403,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -106,6 +106,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -200,6 +201,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -534,6 +536,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -403,7 +403,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -106,6 +106,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -200,6 +201,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -534,6 +536,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -403,7 +403,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
@@ -413,7 +413,7 @@ public class CreatureStat
|
|||||||
|
|
||||||
public int getPhysicalAttackAngle()
|
public int getPhysicalAttackAngle()
|
||||||
{
|
{
|
||||||
return 240; // 360 - 120
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
|
|||||||
{
|
{
|
||||||
return (Npc) super.getActiveChar();
|
return (Npc) super.getActiveChar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getPhysicalAttackAngle()
|
||||||
|
{
|
||||||
|
return getActiveChar().getTemplate().getBaseAttackAngle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -105,6 +105,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
private int _maxSkillChance;
|
private int _maxSkillChance;
|
||||||
private double _hitTimeFactor;
|
private double _hitTimeFactor;
|
||||||
private double _hitTimeFactorSkill;
|
private double _hitTimeFactorSkill;
|
||||||
|
private int _baseAttackAngle;
|
||||||
private Map<Integer, Skill> _skills;
|
private Map<Integer, Skill> _skills;
|
||||||
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
private Map<AISkillScope, List<Skill>> _aiSkillLists;
|
||||||
private Set<Integer> _clans;
|
private Set<Integer> _clans;
|
||||||
@@ -199,6 +200,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
_maxSkillChance = set.getInt("maxSkillChance", 15);
|
||||||
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
|
||||||
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
|
||||||
|
_baseAttackAngle = set.getInt("width", 120);
|
||||||
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
|
||||||
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
|
||||||
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
_mpRewardValue = set.getInt("mpRewardValue", 0);
|
||||||
@@ -533,6 +535,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
|
|||||||
return _hitTimeFactorSkill;
|
return _hitTimeFactorSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getBaseAttackAngle()
|
||||||
|
{
|
||||||
|
return _baseAttackAngle;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Skill> getSkills()
|
public Map<Integer, Skill> getSkills()
|
||||||
{
|
{
|
||||||
|
@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
|
|||||||
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
|
||||||
{
|
{
|
||||||
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
_baseAttackRadius = Integer.parseInt(damageRange[2]);
|
||||||
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
|
_baseAttackAngle = Integer.parseInt(damageRange[3]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_baseAttackRadius = 40;
|
_baseAttackRadius = 40;
|
||||||
_baseAttackAngle = 240; // 360 - 120
|
_baseAttackAngle = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user