Proper collision methods, float values and usage.
This commit is contained in:
@@ -95,8 +95,8 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
html.replace("%men%", String.valueOf(((Creature) target).getMEN()));
|
||||
html.replace("%loc%", target.getX() + " " + target.getY() + " " + target.getZ());
|
||||
html.replace("%heading%", String.valueOf(((Creature) target).getHeading()));
|
||||
html.replace("%collision_radius%", String.valueOf(((Creature) target).getTemplate().getfCollisionRadius()));
|
||||
html.replace("%collision_height%", String.valueOf(((Creature) target).getTemplate().getfCollisionHeight()));
|
||||
html.replace("%collision_radius%", String.valueOf(((Creature) target).getTemplate().getFCollisionRadius()));
|
||||
html.replace("%collision_height%", String.valueOf(((Creature) target).getTemplate().getFCollisionHeight()));
|
||||
html.replace("%loc2d%", String.valueOf((int) player.calculateDistance2D(target)));
|
||||
html.replace("%loc3d%", String.valueOf((int) player.calculateDistance3D(target)));
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ public class Grow extends AbstractEffect
|
||||
if (info.getEffected().isNpc())
|
||||
{
|
||||
final Npc npc = (Npc) info.getEffected();
|
||||
npc.setCollisionRadius(npc.getTemplate().getfCollisionRadius());
|
||||
npc.setCollisionRadius(npc.getTemplate().getFCollisionRadius());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -180,8 +180,8 @@ public class Npc extends Creature
|
||||
_currentEnchant = Config.ENABLE_RANDOM_ENCHANT_EFFECT ? Rnd.get(4, 21) : getTemplate().getWeaponEnchant();
|
||||
|
||||
// initialize the "current" collisions
|
||||
_currentCollisionHeight = getTemplate().getfCollisionHeight();
|
||||
_currentCollisionRadius = getTemplate().getfCollisionRadius();
|
||||
_currentCollisionHeight = getTemplate().getFCollisionHeight();
|
||||
_currentCollisionRadius = getTemplate().getFCollisionRadius();
|
||||
setFlying(template.isFlying());
|
||||
}
|
||||
|
||||
@@ -1175,8 +1175,8 @@ public class Npc extends Creature
|
||||
// we do need to reset the weapons back to the initial template weapon.
|
||||
_currentLHandId = getTemplate().getLHandId();
|
||||
_currentRHandId = getTemplate().getRHandId();
|
||||
_currentCollisionHeight = getTemplate().getfCollisionHeight();
|
||||
_currentCollisionRadius = getTemplate().getfCollisionRadius();
|
||||
_currentCollisionHeight = getTemplate().getFCollisionHeight();
|
||||
_currentCollisionRadius = getTemplate().getFCollisionRadius();
|
||||
|
||||
final Weapon weapon = (killer != null) ? killer.getActiveWeaponItem() : null;
|
||||
_killingBlowWeaponId = (weapon != null) ? weapon.getId() : 0;
|
||||
|
||||
@@ -13305,30 +13305,30 @@ public class PlayerInstance extends Playable
|
||||
}
|
||||
}
|
||||
|
||||
public double getCollisionRadius()
|
||||
public float getCollisionRadius()
|
||||
{
|
||||
if (isMounted() && (_mountNpcId > 0))
|
||||
{
|
||||
return NpcData.getInstance().getTemplate(getMountNpcId()).getfCollisionRadius();
|
||||
return NpcData.getInstance().getTemplate(getMountNpcId()).getFCollisionRadius();
|
||||
}
|
||||
if (isTransformed())
|
||||
{
|
||||
return _transformation.getCollisionRadius(this);
|
||||
}
|
||||
return _appearance.isFemale() ? getBaseTemplate().getFCollisionRadiusFemale() : getBaseTemplate().getfCollisionRadius();
|
||||
return _appearance.isFemale() ? getBaseTemplate().getFCollisionRadiusFemale() : getBaseTemplate().getFCollisionRadius();
|
||||
}
|
||||
|
||||
public double getCollisionHeight()
|
||||
public float getCollisionHeight()
|
||||
{
|
||||
if (isMounted() && (_mountNpcId > 0))
|
||||
{
|
||||
return NpcData.getInstance().getTemplate(getMountNpcId()).getfCollisionHeight();
|
||||
return NpcData.getInstance().getTemplate(getMountNpcId()).getFCollisionHeight();
|
||||
}
|
||||
if (isTransformed())
|
||||
{
|
||||
return _transformation.getCollisionHeight(this);
|
||||
}
|
||||
return _appearance.isFemale() ? getBaseTemplate().getFCollisionHeightFemale() : getBaseTemplate().getfCollisionHeight();
|
||||
return _appearance.isFemale() ? getBaseTemplate().getFCollisionHeightFemale() : getBaseTemplate().getFCollisionHeight();
|
||||
}
|
||||
|
||||
public int getClientX()
|
||||
|
||||
@@ -78,8 +78,8 @@ public class CreatureTemplate extends ListenersContainer
|
||||
/** For client info use {@link #_fCollisionHeight} */
|
||||
private int _collisionHeight;
|
||||
|
||||
private double _fCollisionRadius;
|
||||
private double _fCollisionHeight;
|
||||
private float _fCollisionRadius;
|
||||
private float _fCollisionHeight;
|
||||
|
||||
private final double[] _moveType = new double[MoveType.values().length];
|
||||
/** The creature's race. */
|
||||
@@ -135,8 +135,8 @@ public class CreatureTemplate extends ListenersContainer
|
||||
_baseElementRes = set.getInt("baseElementRes", 0);
|
||||
|
||||
// Geometry
|
||||
_fCollisionHeight = set.getDouble("collisionHeight", 0);
|
||||
_fCollisionRadius = set.getDouble("collisionRadius", 0);
|
||||
_fCollisionHeight = set.getFloat("collisionHeight", 0);
|
||||
_fCollisionRadius = set.getFloat("collisionRadius", 0);
|
||||
_collisionRadius = (int) _fCollisionRadius;
|
||||
_collisionHeight = (int) _fCollisionHeight;
|
||||
|
||||
@@ -467,7 +467,7 @@ public class CreatureTemplate extends ListenersContainer
|
||||
/**
|
||||
* @return the fCollisionRadius
|
||||
*/
|
||||
public double getfCollisionRadius()
|
||||
public float getFCollisionRadius()
|
||||
{
|
||||
return _fCollisionRadius;
|
||||
}
|
||||
@@ -475,7 +475,7 @@ public class CreatureTemplate extends ListenersContainer
|
||||
/**
|
||||
* @return the fCollisionHeight
|
||||
*/
|
||||
public double getfCollisionHeight()
|
||||
public float getFCollisionHeight()
|
||||
{
|
||||
return _fCollisionHeight;
|
||||
}
|
||||
|
||||
@@ -42,8 +42,8 @@ public class PlayerTemplate extends CreatureTemplate
|
||||
private final double[] _baseMpReg;
|
||||
private final double[] _baseCpReg;
|
||||
|
||||
private final double _fCollisionHeightFemale;
|
||||
private final double _fCollisionRadiusFemale;
|
||||
private final float _fCollisionHeightFemale;
|
||||
private final float _fCollisionRadiusFemale;
|
||||
|
||||
private final int _baseSafeFallHeight;
|
||||
|
||||
@@ -75,8 +75,8 @@ public class PlayerTemplate extends CreatureTemplate
|
||||
_baseSlotDef.put(Inventory.PAPERDOLL_LFINGER, set.getInt("baseMDefrfinger", 0));
|
||||
_baseSlotDef.put(Inventory.PAPERDOLL_NECK, set.getInt("baseMDefneck", 0));
|
||||
|
||||
_fCollisionRadiusFemale = set.getDouble("collisionFemaleradius");
|
||||
_fCollisionHeightFemale = set.getDouble("collisionFemaleheight");
|
||||
_fCollisionRadiusFemale = set.getFloat("collisionFemaleradius");
|
||||
_fCollisionHeightFemale = set.getFloat("collisionFemaleheight");
|
||||
_baseSafeFallHeight = set.getInt("baseSafeFall", 333);
|
||||
_creationPoints = creationPoints;
|
||||
}
|
||||
@@ -206,7 +206,7 @@ public class PlayerTemplate extends CreatureTemplate
|
||||
/**
|
||||
* @return the template collision height for female characters.
|
||||
*/
|
||||
public double getFCollisionHeightFemale()
|
||||
public float getFCollisionHeightFemale()
|
||||
{
|
||||
return _fCollisionHeightFemale;
|
||||
}
|
||||
@@ -214,7 +214,7 @@ public class PlayerTemplate extends CreatureTemplate
|
||||
/**
|
||||
* @return the template collision radius for female characters.
|
||||
*/
|
||||
public double getFCollisionRadiusFemale()
|
||||
public float getFCollisionRadiusFemale()
|
||||
{
|
||||
return _fCollisionRadiusFemale;
|
||||
}
|
||||
|
||||
@@ -183,13 +183,13 @@ public class Transform implements IIdentifiable
|
||||
return _type == TransformType.PURE_STAT;
|
||||
}
|
||||
|
||||
public double getCollisionHeight(PlayerInstance player)
|
||||
public float getCollisionHeight(PlayerInstance player)
|
||||
{
|
||||
final TransformTemplate template = getTemplate(player);
|
||||
return template != null ? template.getCollisionHeight() : player.getCollisionHeight();
|
||||
}
|
||||
|
||||
public double getCollisionRadius(PlayerInstance player)
|
||||
public float getCollisionRadius(PlayerInstance player)
|
||||
{
|
||||
final TransformTemplate template = getTemplate(player);
|
||||
return template != null ? template.getCollisionRadius() : player.getCollisionRadius();
|
||||
|
||||
@@ -38,8 +38,8 @@ import org.l2jmobius.gameserver.network.serverpackets.ExBasicActionList;
|
||||
*/
|
||||
public class TransformTemplate
|
||||
{
|
||||
private final double _collisionRadius;
|
||||
private final double _collisionHeight;
|
||||
private final float _collisionRadius;
|
||||
private final float _collisionHeight;
|
||||
private final WeaponType _baseAttackType;
|
||||
private final int _baseAttackRange;
|
||||
private final double _baseRandomDamage;
|
||||
@@ -55,8 +55,8 @@ public class TransformTemplate
|
||||
|
||||
public TransformTemplate(StatSet set)
|
||||
{
|
||||
_collisionRadius = set.getDouble("radius", 0);
|
||||
_collisionHeight = set.getDouble("height", 0);
|
||||
_collisionRadius = set.getFloat("radius", 0);
|
||||
_collisionHeight = set.getFloat("height", 0);
|
||||
_baseAttackType = set.getEnum("attackType", WeaponType.class, WeaponType.FIST);
|
||||
_baseAttackRange = set.getInt("range", 40);
|
||||
_baseRandomDamage = set.getDouble("randomDamage", 0);
|
||||
@@ -148,12 +148,12 @@ public class TransformTemplate
|
||||
return _baseStats.get(stat.ordinal());
|
||||
}
|
||||
|
||||
public double getCollisionRadius()
|
||||
public float getCollisionRadius()
|
||||
{
|
||||
return _collisionRadius;
|
||||
}
|
||||
|
||||
public double getCollisionHeight()
|
||||
public float getCollisionHeight()
|
||||
{
|
||||
return _collisionHeight;
|
||||
}
|
||||
|
||||
@@ -56,8 +56,8 @@ public abstract class AbstractNpcInfo implements IClientOutgoingPacket
|
||||
protected int _lhand;
|
||||
protected int _chest;
|
||||
protected int _enchantEffect;
|
||||
protected double _collisionHeight;
|
||||
protected double _collisionRadius;
|
||||
protected float _collisionHeight;
|
||||
protected float _collisionRadius;
|
||||
protected String _name = "";
|
||||
protected String _title = "";
|
||||
protected final boolean _gmSeeInvis;
|
||||
@@ -112,8 +112,8 @@ public abstract class AbstractNpcInfo implements IClientOutgoingPacket
|
||||
_rhand = cha.getRightHandItem(); // On every subclass
|
||||
_lhand = cha.getLeftHandItem(); // On every subclass
|
||||
_enchantEffect = cha.getEnchantEffect();
|
||||
_collisionHeight = cha.getCollisionHeight(); // On every subclass
|
||||
_collisionRadius = cha.getCollisionRadius(); // On every subclass
|
||||
_collisionHeight = cha.getTemplate().getFCollisionHeight(); // On every subclass
|
||||
_collisionRadius = cha.getTemplate().getFCollisionRadius(); // On every subclass
|
||||
_isAttackable = cha.isAutoAttackable(attacker);
|
||||
|
||||
// npc crest of owning clan/ally of castle
|
||||
@@ -271,8 +271,8 @@ public abstract class AbstractNpcInfo implements IClientOutgoingPacket
|
||||
_isAttackable = cha.isAutoAttackable(attacker);
|
||||
_rhand = 0;
|
||||
_lhand = 0;
|
||||
_collisionHeight = _trap.getTemplate().getfCollisionHeight();
|
||||
_collisionRadius = _trap.getTemplate().getfCollisionRadius();
|
||||
_collisionHeight = _trap.getTemplate().getFCollisionHeight();
|
||||
_collisionRadius = _trap.getTemplate().getFCollisionRadius();
|
||||
if (cha.getTemplate().isUsingServerSideName())
|
||||
{
|
||||
_name = cha.getName();
|
||||
@@ -369,8 +369,8 @@ public abstract class AbstractNpcInfo implements IClientOutgoingPacket
|
||||
_name = cha.getName();
|
||||
_title = (cha.getOwner() != null) && cha.getOwner().isOnline() ? cha.getOwner().getName() : "";
|
||||
_displayId = cha.getTemplate().getDisplayId();
|
||||
_collisionHeight = cha.getTemplate().getfCollisionHeight();
|
||||
_collisionRadius = cha.getTemplate().getfCollisionRadius();
|
||||
_collisionHeight = cha.getTemplate().getFCollisionHeight();
|
||||
_collisionRadius = cha.getTemplate().getFCollisionRadius();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -57,8 +57,8 @@ public class MonRaceInfo implements IClientOutgoingPacket
|
||||
packet.writeD(12080); // end X
|
||||
packet.writeD(181875 + (58 * (7 - i))); // end Y
|
||||
packet.writeD(-3566); // end Z
|
||||
packet.writeF(_monsters[i].getTemplate().getfCollisionHeight()); // coll. height
|
||||
packet.writeF(_monsters[i].getTemplate().getfCollisionRadius()); // coll. radius
|
||||
packet.writeF(_monsters[i].getTemplate().getFCollisionHeight()); // coll. height
|
||||
packet.writeF(_monsters[i].getTemplate().getFCollisionRadius()); // coll. radius
|
||||
packet.writeD(120); // ?? unknown
|
||||
for (int j = 0; j < 20; j++)
|
||||
{
|
||||
|
||||
@@ -106,8 +106,8 @@ public class PetInfo implements IClientOutgoingPacket
|
||||
packet.writeD(_flyWalkSpd);
|
||||
packet.writeF(_moveMultiplier);
|
||||
packet.writeF(_summon.getAttackSpeedMultiplier()); // attack speed multiplier
|
||||
packet.writeF(_summon.getTemplate().getfCollisionRadius());
|
||||
packet.writeF(_summon.getTemplate().getfCollisionHeight());
|
||||
packet.writeF(_summon.getTemplate().getFCollisionRadius());
|
||||
packet.writeF(_summon.getTemplate().getFCollisionHeight());
|
||||
packet.writeD(_summon.getWeapon()); // right hand weapon
|
||||
packet.writeD(_summon.getArmor()); // body armor
|
||||
packet.writeD(0x00); // left hand weapon
|
||||
|
||||
Reference in New Issue
Block a user