Angle of attack rework.

Contributed by kamikadzz.
This commit is contained in:
MobiusDevelopment
2022-10-19 21:14:04 +00:00
parent d8f7b7be7a
commit fc4ae26cc6
108 changed files with 459 additions and 84 deletions

View File

@@ -413,7 +413,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -413,7 +413,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -413,7 +413,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -413,7 +413,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -413,7 +413,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -413,7 +413,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -413,7 +413,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -413,7 +413,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -86,12 +86,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -423,7 +423,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -86,12 +86,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -423,7 +423,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -86,12 +86,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -423,7 +423,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -86,12 +86,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -546,7 +546,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -95,6 +95,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _spiritShotChance;
private int _minSkillChance;
private int _maxSkillChance;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -177,6 +178,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_spiritShotChance = set.getInt("spiritShotChance", 0);
_minSkillChance = set.getInt("minSkillChance", 7);
_maxSkillChance = set.getInt("maxSkillChance", 15);
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getDouble("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getDouble("collisionHeightGrown", 0);
if (Config.ENABLE_NPC_STAT_MULTIPLIERS) // Custom NPC Stat Multipliers
@@ -477,6 +479,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _maxSkillChance;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -45,6 +45,7 @@ public class Weapon extends ItemTemplate
private int _spiritShotCount;
private int _mpConsume;
private int _baseAttackRange;
private int _baseAttackRadius;
private int _baseAttackAngle;
/**
* 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);
_baseAttackRange = set.getInt("attack_range", 40);
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
{
_baseAttackAngle = 240; // 360 - 120
_baseAttackRadius = 40;
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
@@ -279,6 +282,11 @@ public class Weapon extends ItemTemplate
return _baseAttackRange;
}
public int getBaseAttackRadius()
{
return _baseAttackRadius;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;

View File

@@ -564,7 +564,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -95,6 +95,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _spiritShotChance;
private int _minSkillChance;
private int _maxSkillChance;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -177,6 +178,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_spiritShotChance = set.getInt("spiritShotChance", 0);
_minSkillChance = set.getInt("minSkillChance", 7);
_maxSkillChance = set.getInt("maxSkillChance", 15);
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getDouble("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getDouble("collisionHeightGrown", 0);
if (Config.ENABLE_NPC_STAT_MULTIPLIERS) // Custom NPC Stat Multipliers
@@ -477,6 +479,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _maxSkillChance;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -45,6 +45,7 @@ public class Weapon extends ItemTemplate
private int _spiritShotCount;
private int _mpConsume;
private int _baseAttackRange;
private int _baseAttackRadius;
private int _baseAttackAngle;
/**
* 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);
_baseAttackRange = set.getInt("attack_range", 40);
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
{
_baseAttackAngle = 240; // 360 - 120
_baseAttackRadius = 40;
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
@@ -281,6 +284,11 @@ public class Weapon extends ItemTemplate
return _baseAttackRange;
}
public int getBaseAttackRadius()
{
return _baseAttackRadius;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;

View File

@@ -564,7 +564,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -95,6 +95,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _spiritShotChance;
private int _minSkillChance;
private int _maxSkillChance;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -177,6 +178,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_spiritShotChance = set.getInt("spiritShotChance", 0);
_minSkillChance = set.getInt("minSkillChance", 7);
_maxSkillChance = set.getInt("maxSkillChance", 15);
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getDouble("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getDouble("collisionHeightGrown", 0);
if (Config.ENABLE_NPC_STAT_MULTIPLIERS) // Custom NPC Stat Multipliers
@@ -477,6 +479,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _maxSkillChance;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -45,6 +45,7 @@ public class Weapon extends ItemTemplate
private int _spiritShotCount;
private int _mpConsume;
private int _baseAttackRange;
private int _baseAttackRadius;
private int _baseAttackAngle;
/**
* 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);
_baseAttackRange = set.getInt("attack_range", 40);
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
{
_baseAttackAngle = 240; // 360 - 120
_baseAttackRadius = 40;
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");
@@ -281,6 +284,11 @@ public class Weapon extends ItemTemplate
return _baseAttackRange;
}
public int getBaseAttackRadius()
{
return _baseAttackRadius;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;

View File

@@ -403,7 +403,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -403,7 +403,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -105,6 +105,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -195,6 +196,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -519,6 +521,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -403,7 +403,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -105,6 +105,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -195,6 +196,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -519,6 +521,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -403,7 +403,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -105,6 +105,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -195,6 +196,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -519,6 +521,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -403,7 +403,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -105,6 +105,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -195,6 +196,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -519,6 +521,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -403,7 +403,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -106,6 +106,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -200,6 +201,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -534,6 +536,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -403,7 +403,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -106,6 +106,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -200,6 +201,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -534,6 +536,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -403,7 +403,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -106,6 +106,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -200,6 +201,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -534,6 +536,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -403,7 +403,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -106,6 +106,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -200,6 +201,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -534,6 +536,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -403,7 +403,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -104,6 +104,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -194,6 +195,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -518,6 +520,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -84,12 +84,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

View File

@@ -413,7 +413,7 @@ public class CreatureStat
public int getPhysicalAttackAngle()
{
return 240; // 360 - 120
return 0;
}
/**

View File

@@ -36,4 +36,10 @@ public class NpcStat extends CreatureStat
{
return (Npc) super.getActiveChar();
}
@Override
public int getPhysicalAttackAngle()
{
return getActiveChar().getTemplate().getBaseAttackAngle();
}
}

View File

@@ -105,6 +105,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
private int _maxSkillChance;
private double _hitTimeFactor;
private double _hitTimeFactorSkill;
private int _baseAttackAngle;
private Map<Integer, Skill> _skills;
private Map<AISkillScope, List<Skill>> _aiSkillLists;
private Set<Integer> _clans;
@@ -199,6 +200,7 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
_maxSkillChance = set.getInt("maxSkillChance", 15);
_hitTimeFactor = set.getInt("hitTime", 100) / 100d;
_hitTimeFactorSkill = set.getInt("hitTimeSkill", 100) / 100d;
_baseAttackAngle = set.getInt("width", 120);
_collisionRadiusGrown = set.getFloat("collisionRadiusGrown", 0);
_collisionHeightGrown = set.getFloat("collisionHeightGrown", 0);
_mpRewardValue = set.getInt("mpRewardValue", 0);
@@ -533,6 +535,11 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable
return _hitTimeFactorSkill;
}
public int getBaseAttackAngle()
{
return _baseAttackAngle;
}
@Override
public Map<Integer, Skill> getSkills()
{

View File

@@ -82,12 +82,12 @@ public class Weapon extends ItemTemplate
if ((damageRange.length > 1) && Util.isDigit(damageRange[2]) && Util.isDigit(damageRange[3]))
{
_baseAttackRadius = Integer.parseInt(damageRange[2]);
_baseAttackAngle = 360 - Integer.parseInt(damageRange[3]);
_baseAttackAngle = Integer.parseInt(damageRange[3]);
}
else
{
_baseAttackRadius = 40;
_baseAttackAngle = 240; // 360 - 120
_baseAttackAngle = 0;
}
final String[] reducedSoulshots = set.getString("reduced_soulshot", "").split(",");

Some files were not shown because too many files have changed in this diff Show More