Accept double values for fishing rates.

This commit is contained in:
MobiusDev
2018-12-16 18:53:39 +00:00
parent 09cfaab4f2
commit e4ed809b43
26 changed files with 160 additions and 166 deletions

View File

@ -11,14 +11,14 @@
</xs:element> </xs:element>
<xs:element name="experienceRate"> <xs:element name="experienceRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="skillPointsRate"> <xs:element name="skillPointsRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="baits"> <xs:element name="baits">

View File

@ -38,10 +38,10 @@ public final class FishingData implements IGameXmlReader
private final Map<Integer, FishingBaitData> _baitData = new HashMap<>(); private final Map<Integer, FishingBaitData> _baitData = new HashMap<>();
private int _baitDistanceMin; private int _baitDistanceMin;
private int _baitDistanceMax; private int _baitDistanceMax;
private int _expRateMin; private double _expRateMin;
private int _expRateMax; private double _expRateMax;
private int _spRateMin; private double _spRateMin;
private int _spRateMax; private double _spRateMax;
/** /**
* Instantiates a new fishing data. * Instantiates a new fishing data.
@ -78,14 +78,14 @@ public final class FishingData implements IGameXmlReader
} }
case "experienceRate": case "experienceRate":
{ {
_expRateMin = parseInteger(listItem.getAttributes(), "min"); _expRateMin = parseDouble(listItem.getAttributes(), "min");
_expRateMax = parseInteger(listItem.getAttributes(), "max"); _expRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "skillPointsRate": case "skillPointsRate":
{ {
_spRateMin = parseInteger(listItem.getAttributes(), "min"); _spRateMin = parseDouble(listItem.getAttributes(), "min");
_spRateMax = parseInteger(listItem.getAttributes(), "max"); _spRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "baits": case "baits":
@ -143,22 +143,22 @@ public final class FishingData implements IGameXmlReader
return _baitDistanceMax; return _baitDistanceMax;
} }
public int getExpRateMin() public double getExpRateMin()
{ {
return _expRateMin; return _expRateMin;
} }
public int getExpRateMax() public double getExpRateMax()
{ {
return _expRateMax; return _expRateMax;
} }
public int getSpRateMin() public double getSpRateMin()
{ {
return _spRateMin; return _spRateMin;
} }
public int getSpRateMax() public double getSpRateMax()
{ {
return _spRateMax; return _spRateMax;
} }

View File

@ -287,7 +287,6 @@ public class Fishing
final int numRewards = baitData.getRewards().size(); final int numRewards = baitData.getRewards().size();
if (numRewards > 0) if (numRewards > 0)
{ {
// TODO: verify, totally guessed
final FishingData fishingData = FishingData.getInstance(); final FishingData fishingData = FishingData.getInstance();
final int lvlModifier = _player.getLevel() * _player.getLevel(); final int lvlModifier = _player.getLevel() * _player.getLevel();
_player.addExpAndSp(Rnd.get(fishingData.getExpRateMin(), fishingData.getExpRateMax()) * lvlModifier, Rnd.get(fishingData.getSpRateMin(), fishingData.getSpRateMax()) * lvlModifier, true); _player.addExpAndSp(Rnd.get(fishingData.getExpRateMin(), fishingData.getExpRateMax()) * lvlModifier, Rnd.get(fishingData.getSpRateMin(), fishingData.getSpRateMax()) * lvlModifier, true);

View File

@ -11,14 +11,14 @@
</xs:element> </xs:element>
<xs:element name="experienceRate"> <xs:element name="experienceRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="skillPointsRate"> <xs:element name="skillPointsRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="baits"> <xs:element name="baits">

View File

@ -38,10 +38,10 @@ public final class FishingData implements IGameXmlReader
private final Map<Integer, FishingBaitData> _baitData = new HashMap<>(); private final Map<Integer, FishingBaitData> _baitData = new HashMap<>();
private int _baitDistanceMin; private int _baitDistanceMin;
private int _baitDistanceMax; private int _baitDistanceMax;
private int _expRateMin; private double _expRateMin;
private int _expRateMax; private double _expRateMax;
private int _spRateMin; private double _spRateMin;
private int _spRateMax; private double _spRateMax;
/** /**
* Instantiates a new fishing data. * Instantiates a new fishing data.
@ -78,14 +78,14 @@ public final class FishingData implements IGameXmlReader
} }
case "experienceRate": case "experienceRate":
{ {
_expRateMin = parseInteger(listItem.getAttributes(), "min"); _expRateMin = parseDouble(listItem.getAttributes(), "min");
_expRateMax = parseInteger(listItem.getAttributes(), "max"); _expRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "skillPointsRate": case "skillPointsRate":
{ {
_spRateMin = parseInteger(listItem.getAttributes(), "min"); _spRateMin = parseDouble(listItem.getAttributes(), "min");
_spRateMax = parseInteger(listItem.getAttributes(), "max"); _spRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "baits": case "baits":
@ -143,22 +143,22 @@ public final class FishingData implements IGameXmlReader
return _baitDistanceMax; return _baitDistanceMax;
} }
public int getExpRateMin() public double getExpRateMin()
{ {
return _expRateMin; return _expRateMin;
} }
public int getExpRateMax() public double getExpRateMax()
{ {
return _expRateMax; return _expRateMax;
} }
public int getSpRateMin() public double getSpRateMin()
{ {
return _spRateMin; return _spRateMin;
} }
public int getSpRateMax() public double getSpRateMax()
{ {
return _spRateMax; return _spRateMax;
} }

View File

@ -287,7 +287,6 @@ public class Fishing
final int numRewards = baitData.getRewards().size(); final int numRewards = baitData.getRewards().size();
if (numRewards > 0) if (numRewards > 0)
{ {
// TODO: verify, totally guessed
final FishingData fishingData = FishingData.getInstance(); final FishingData fishingData = FishingData.getInstance();
final int lvlModifier = _player.getLevel() * _player.getLevel(); final int lvlModifier = _player.getLevel() * _player.getLevel();
_player.addExpAndSp(Rnd.get(fishingData.getExpRateMin(), fishingData.getExpRateMax()) * lvlModifier, Rnd.get(fishingData.getSpRateMin(), fishingData.getSpRateMax()) * lvlModifier, true); _player.addExpAndSp(Rnd.get(fishingData.getExpRateMin(), fishingData.getExpRateMax()) * lvlModifier, Rnd.get(fishingData.getSpRateMin(), fishingData.getSpRateMax()) * lvlModifier, true);

View File

@ -11,14 +11,14 @@
</xs:element> </xs:element>
<xs:element name="experienceRate"> <xs:element name="experienceRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="skillPointsRate"> <xs:element name="skillPointsRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="baits"> <xs:element name="baits">

View File

@ -38,10 +38,10 @@ public final class FishingData implements IGameXmlReader
private final Map<Integer, FishingBaitData> _baitData = new HashMap<>(); private final Map<Integer, FishingBaitData> _baitData = new HashMap<>();
private int _baitDistanceMin; private int _baitDistanceMin;
private int _baitDistanceMax; private int _baitDistanceMax;
private int _expRateMin; private double _expRateMin;
private int _expRateMax; private double _expRateMax;
private int _spRateMin; private double _spRateMin;
private int _spRateMax; private double _spRateMax;
/** /**
* Instantiates a new fishing data. * Instantiates a new fishing data.
@ -78,14 +78,14 @@ public final class FishingData implements IGameXmlReader
} }
case "experienceRate": case "experienceRate":
{ {
_expRateMin = parseInteger(listItem.getAttributes(), "min"); _expRateMin = parseDouble(listItem.getAttributes(), "min");
_expRateMax = parseInteger(listItem.getAttributes(), "max"); _expRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "skillPointsRate": case "skillPointsRate":
{ {
_spRateMin = parseInteger(listItem.getAttributes(), "min"); _spRateMin = parseDouble(listItem.getAttributes(), "min");
_spRateMax = parseInteger(listItem.getAttributes(), "max"); _spRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "baits": case "baits":
@ -143,22 +143,22 @@ public final class FishingData implements IGameXmlReader
return _baitDistanceMax; return _baitDistanceMax;
} }
public int getExpRateMin() public double getExpRateMin()
{ {
return _expRateMin; return _expRateMin;
} }
public int getExpRateMax() public double getExpRateMax()
{ {
return _expRateMax; return _expRateMax;
} }
public int getSpRateMin() public double getSpRateMin()
{ {
return _spRateMin; return _spRateMin;
} }
public int getSpRateMax() public double getSpRateMax()
{ {
return _spRateMax; return _spRateMax;
} }

View File

@ -287,7 +287,6 @@ public class Fishing
final int numRewards = baitData.getRewards().size(); final int numRewards = baitData.getRewards().size();
if (numRewards > 0) if (numRewards > 0)
{ {
// TODO: verify, totally guessed
final FishingData fishingData = FishingData.getInstance(); final FishingData fishingData = FishingData.getInstance();
final int lvlModifier = _player.getLevel() * _player.getLevel(); final int lvlModifier = _player.getLevel() * _player.getLevel();
_player.addExpAndSp(Rnd.get(fishingData.getExpRateMin(), fishingData.getExpRateMax()) * lvlModifier, Rnd.get(fishingData.getSpRateMin(), fishingData.getSpRateMax()) * lvlModifier, true); _player.addExpAndSp(Rnd.get(fishingData.getExpRateMin(), fishingData.getExpRateMax()) * lvlModifier, Rnd.get(fishingData.getSpRateMin(), fishingData.getSpRateMax()) * lvlModifier, true);

View File

@ -11,14 +11,14 @@
</xs:element> </xs:element>
<xs:element name="experienceRate"> <xs:element name="experienceRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="skillPointsRate"> <xs:element name="skillPointsRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="baits"> <xs:element name="baits">

View File

@ -38,10 +38,10 @@ public final class FishingData implements IGameXmlReader
private final Map<Integer, FishingBaitData> _baitData = new HashMap<>(); private final Map<Integer, FishingBaitData> _baitData = new HashMap<>();
private int _baitDistanceMin; private int _baitDistanceMin;
private int _baitDistanceMax; private int _baitDistanceMax;
private int _expRateMin; private double _expRateMin;
private int _expRateMax; private double _expRateMax;
private int _spRateMin; private double _spRateMin;
private int _spRateMax; private double _spRateMax;
/** /**
* Instantiates a new fishing data. * Instantiates a new fishing data.
@ -78,14 +78,14 @@ public final class FishingData implements IGameXmlReader
} }
case "experienceRate": case "experienceRate":
{ {
_expRateMin = parseInteger(listItem.getAttributes(), "min"); _expRateMin = parseDouble(listItem.getAttributes(), "min");
_expRateMax = parseInteger(listItem.getAttributes(), "max"); _expRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "skillPointsRate": case "skillPointsRate":
{ {
_spRateMin = parseInteger(listItem.getAttributes(), "min"); _spRateMin = parseDouble(listItem.getAttributes(), "min");
_spRateMax = parseInteger(listItem.getAttributes(), "max"); _spRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "baits": case "baits":
@ -143,22 +143,22 @@ public final class FishingData implements IGameXmlReader
return _baitDistanceMax; return _baitDistanceMax;
} }
public int getExpRateMin() public double getExpRateMin()
{ {
return _expRateMin; return _expRateMin;
} }
public int getExpRateMax() public double getExpRateMax()
{ {
return _expRateMax; return _expRateMax;
} }
public int getSpRateMin() public double getSpRateMin()
{ {
return _spRateMin; return _spRateMin;
} }
public int getSpRateMax() public double getSpRateMax()
{ {
return _spRateMax; return _spRateMax;
} }

View File

@ -287,7 +287,6 @@ public class Fishing
final int numRewards = baitData.getRewards().size(); final int numRewards = baitData.getRewards().size();
if (numRewards > 0) if (numRewards > 0)
{ {
// TODO: verify, totally guessed
final FishingData fishingData = FishingData.getInstance(); final FishingData fishingData = FishingData.getInstance();
final int lvlModifier = _player.getLevel() * _player.getLevel(); final int lvlModifier = _player.getLevel() * _player.getLevel();
_player.addExpAndSp(Rnd.get(fishingData.getExpRateMin(), fishingData.getExpRateMax()) * lvlModifier, Rnd.get(fishingData.getSpRateMin(), fishingData.getSpRateMax()) * lvlModifier, true); _player.addExpAndSp(Rnd.get(fishingData.getExpRateMin(), fishingData.getExpRateMax()) * lvlModifier, Rnd.get(fishingData.getSpRateMin(), fishingData.getSpRateMax()) * lvlModifier, true);

View File

@ -11,14 +11,14 @@
</xs:element> </xs:element>
<xs:element name="experienceRate"> <xs:element name="experienceRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="skillPointsRate"> <xs:element name="skillPointsRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="baits"> <xs:element name="baits">

View File

@ -38,10 +38,10 @@ public final class FishingData implements IGameXmlReader
private final Map<Integer, FishingBaitData> _baitData = new HashMap<>(); private final Map<Integer, FishingBaitData> _baitData = new HashMap<>();
private int _baitDistanceMin; private int _baitDistanceMin;
private int _baitDistanceMax; private int _baitDistanceMax;
private int _expRateMin; private double _expRateMin;
private int _expRateMax; private double _expRateMax;
private int _spRateMin; private double _spRateMin;
private int _spRateMax; private double _spRateMax;
/** /**
* Instantiates a new fishing data. * Instantiates a new fishing data.
@ -78,14 +78,14 @@ public final class FishingData implements IGameXmlReader
} }
case "experienceRate": case "experienceRate":
{ {
_expRateMin = parseInteger(listItem.getAttributes(), "min"); _expRateMin = parseDouble(listItem.getAttributes(), "min");
_expRateMax = parseInteger(listItem.getAttributes(), "max"); _expRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "skillPointsRate": case "skillPointsRate":
{ {
_spRateMin = parseInteger(listItem.getAttributes(), "min"); _spRateMin = parseDouble(listItem.getAttributes(), "min");
_spRateMax = parseInteger(listItem.getAttributes(), "max"); _spRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "baits": case "baits":
@ -143,22 +143,22 @@ public final class FishingData implements IGameXmlReader
return _baitDistanceMax; return _baitDistanceMax;
} }
public int getExpRateMin() public double getExpRateMin()
{ {
return _expRateMin; return _expRateMin;
} }
public int getExpRateMax() public double getExpRateMax()
{ {
return _expRateMax; return _expRateMax;
} }
public int getSpRateMin() public double getSpRateMin()
{ {
return _spRateMin; return _spRateMin;
} }
public int getSpRateMax() public double getSpRateMax()
{ {
return _spRateMax; return _spRateMax;
} }

View File

@ -287,7 +287,6 @@ public class Fishing
final int numRewards = baitData.getRewards().size(); final int numRewards = baitData.getRewards().size();
if (numRewards > 0) if (numRewards > 0)
{ {
// TODO: verify, totally guessed
final FishingData fishingData = FishingData.getInstance(); final FishingData fishingData = FishingData.getInstance();
final int lvlModifier = _player.getLevel() * _player.getLevel(); final int lvlModifier = _player.getLevel() * _player.getLevel();
_player.addExpAndSp(Rnd.get(fishingData.getExpRateMin(), fishingData.getExpRateMax()) * lvlModifier, Rnd.get(fishingData.getSpRateMin(), fishingData.getSpRateMax()) * lvlModifier, true); _player.addExpAndSp(Rnd.get(fishingData.getExpRateMin(), fishingData.getExpRateMax()) * lvlModifier, Rnd.get(fishingData.getSpRateMin(), fishingData.getSpRateMax()) * lvlModifier, true);

View File

@ -11,14 +11,14 @@
</xs:element> </xs:element>
<xs:element name="experienceRate"> <xs:element name="experienceRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="skillPointsRate"> <xs:element name="skillPointsRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="baits"> <xs:element name="baits">

View File

@ -38,10 +38,10 @@ public final class FishingData implements IGameXmlReader
private final Map<Integer, FishingBaitData> _baitData = new HashMap<>(); private final Map<Integer, FishingBaitData> _baitData = new HashMap<>();
private int _baitDistanceMin; private int _baitDistanceMin;
private int _baitDistanceMax; private int _baitDistanceMax;
private int _expRateMin; private double _expRateMin;
private int _expRateMax; private double _expRateMax;
private int _spRateMin; private double _spRateMin;
private int _spRateMax; private double _spRateMax;
/** /**
* Instantiates a new fishing data. * Instantiates a new fishing data.
@ -78,14 +78,14 @@ public final class FishingData implements IGameXmlReader
} }
case "experienceRate": case "experienceRate":
{ {
_expRateMin = parseInteger(listItem.getAttributes(), "min"); _expRateMin = parseDouble(listItem.getAttributes(), "min");
_expRateMax = parseInteger(listItem.getAttributes(), "max"); _expRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "skillPointsRate": case "skillPointsRate":
{ {
_spRateMin = parseInteger(listItem.getAttributes(), "min"); _spRateMin = parseDouble(listItem.getAttributes(), "min");
_spRateMax = parseInteger(listItem.getAttributes(), "max"); _spRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "baits": case "baits":
@ -143,22 +143,22 @@ public final class FishingData implements IGameXmlReader
return _baitDistanceMax; return _baitDistanceMax;
} }
public int getExpRateMin() public double getExpRateMin()
{ {
return _expRateMin; return _expRateMin;
} }
public int getExpRateMax() public double getExpRateMax()
{ {
return _expRateMax; return _expRateMax;
} }
public int getSpRateMin() public double getSpRateMin()
{ {
return _spRateMin; return _spRateMin;
} }
public int getSpRateMax() public double getSpRateMax()
{ {
return _spRateMax; return _spRateMax;
} }

View File

@ -287,7 +287,6 @@ public class Fishing
final int numRewards = baitData.getRewards().size(); final int numRewards = baitData.getRewards().size();
if (numRewards > 0) if (numRewards > 0)
{ {
// TODO: verify, totally guessed
final FishingData fishingData = FishingData.getInstance(); final FishingData fishingData = FishingData.getInstance();
final int lvlModifier = _player.getLevel() * _player.getLevel(); final int lvlModifier = _player.getLevel() * _player.getLevel();
_player.addExpAndSp(Rnd.get(fishingData.getExpRateMin(), fishingData.getExpRateMax()) * lvlModifier, Rnd.get(fishingData.getSpRateMin(), fishingData.getSpRateMax()) * lvlModifier, true); _player.addExpAndSp(Rnd.get(fishingData.getExpRateMin(), fishingData.getExpRateMax()) * lvlModifier, Rnd.get(fishingData.getSpRateMin(), fishingData.getSpRateMax()) * lvlModifier, true);

View File

@ -11,14 +11,14 @@
</xs:element> </xs:element>
<xs:element name="experienceRate"> <xs:element name="experienceRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="skillPointsRate"> <xs:element name="skillPointsRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="baits"> <xs:element name="baits">

View File

@ -38,10 +38,10 @@ public final class FishingData implements IGameXmlReader
private final Map<Integer, FishingBaitData> _baitData = new HashMap<>(); private final Map<Integer, FishingBaitData> _baitData = new HashMap<>();
private int _baitDistanceMin; private int _baitDistanceMin;
private int _baitDistanceMax; private int _baitDistanceMax;
private int _expRateMin; private double _expRateMin;
private int _expRateMax; private double _expRateMax;
private int _spRateMin; private double _spRateMin;
private int _spRateMax; private double _spRateMax;
/** /**
* Instantiates a new fishing data. * Instantiates a new fishing data.
@ -78,14 +78,14 @@ public final class FishingData implements IGameXmlReader
} }
case "experienceRate": case "experienceRate":
{ {
_expRateMin = parseInteger(listItem.getAttributes(), "min"); _expRateMin = parseDouble(listItem.getAttributes(), "min");
_expRateMax = parseInteger(listItem.getAttributes(), "max"); _expRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "skillPointsRate": case "skillPointsRate":
{ {
_spRateMin = parseInteger(listItem.getAttributes(), "min"); _spRateMin = parseDouble(listItem.getAttributes(), "min");
_spRateMax = parseInteger(listItem.getAttributes(), "max"); _spRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "baits": case "baits":
@ -143,22 +143,22 @@ public final class FishingData implements IGameXmlReader
return _baitDistanceMax; return _baitDistanceMax;
} }
public int getExpRateMin() public double getExpRateMin()
{ {
return _expRateMin; return _expRateMin;
} }
public int getExpRateMax() public double getExpRateMax()
{ {
return _expRateMax; return _expRateMax;
} }
public int getSpRateMin() public double getSpRateMin()
{ {
return _spRateMin; return _spRateMin;
} }
public int getSpRateMax() public double getSpRateMax()
{ {
return _spRateMax; return _spRateMax;
} }

View File

@ -11,14 +11,14 @@
</xs:element> </xs:element>
<xs:element name="experienceRate"> <xs:element name="experienceRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="skillPointsRate"> <xs:element name="skillPointsRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="baits"> <xs:element name="baits">

View File

@ -38,10 +38,10 @@ public final class FishingData implements IGameXmlReader
private final Map<Integer, FishingBaitData> _baitData = new HashMap<>(); private final Map<Integer, FishingBaitData> _baitData = new HashMap<>();
private int _baitDistanceMin; private int _baitDistanceMin;
private int _baitDistanceMax; private int _baitDistanceMax;
private int _expRateMin; private double _expRateMin;
private int _expRateMax; private double _expRateMax;
private int _spRateMin; private double _spRateMin;
private int _spRateMax; private double _spRateMax;
/** /**
* Instantiates a new fishing data. * Instantiates a new fishing data.
@ -78,14 +78,14 @@ public final class FishingData implements IGameXmlReader
} }
case "experienceRate": case "experienceRate":
{ {
_expRateMin = parseInteger(listItem.getAttributes(), "min"); _expRateMin = parseDouble(listItem.getAttributes(), "min");
_expRateMax = parseInteger(listItem.getAttributes(), "max"); _expRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "skillPointsRate": case "skillPointsRate":
{ {
_spRateMin = parseInteger(listItem.getAttributes(), "min"); _spRateMin = parseDouble(listItem.getAttributes(), "min");
_spRateMax = parseInteger(listItem.getAttributes(), "max"); _spRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "baits": case "baits":
@ -143,22 +143,22 @@ public final class FishingData implements IGameXmlReader
return _baitDistanceMax; return _baitDistanceMax;
} }
public int getExpRateMin() public double getExpRateMin()
{ {
return _expRateMin; return _expRateMin;
} }
public int getExpRateMax() public double getExpRateMax()
{ {
return _expRateMax; return _expRateMax;
} }
public int getSpRateMin() public double getSpRateMin()
{ {
return _spRateMin; return _spRateMin;
} }
public int getSpRateMax() public double getSpRateMax()
{ {
return _spRateMax; return _spRateMax;
} }

View File

@ -11,14 +11,14 @@
</xs:element> </xs:element>
<xs:element name="experienceRate"> <xs:element name="experienceRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="skillPointsRate"> <xs:element name="skillPointsRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="baits"> <xs:element name="baits">

View File

@ -38,10 +38,10 @@ public final class FishingData implements IGameXmlReader
private final Map<Integer, FishingBaitData> _baitData = new HashMap<>(); private final Map<Integer, FishingBaitData> _baitData = new HashMap<>();
private int _baitDistanceMin; private int _baitDistanceMin;
private int _baitDistanceMax; private int _baitDistanceMax;
private int _expRateMin; private double _expRateMin;
private int _expRateMax; private double _expRateMax;
private int _spRateMin; private double _spRateMin;
private int _spRateMax; private double _spRateMax;
/** /**
* Instantiates a new fishing data. * Instantiates a new fishing data.
@ -78,14 +78,14 @@ public final class FishingData implements IGameXmlReader
} }
case "experienceRate": case "experienceRate":
{ {
_expRateMin = parseInteger(listItem.getAttributes(), "min"); _expRateMin = parseDouble(listItem.getAttributes(), "min");
_expRateMax = parseInteger(listItem.getAttributes(), "max"); _expRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "skillPointsRate": case "skillPointsRate":
{ {
_spRateMin = parseInteger(listItem.getAttributes(), "min"); _spRateMin = parseDouble(listItem.getAttributes(), "min");
_spRateMax = parseInteger(listItem.getAttributes(), "max"); _spRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "baits": case "baits":
@ -143,22 +143,22 @@ public final class FishingData implements IGameXmlReader
return _baitDistanceMax; return _baitDistanceMax;
} }
public int getExpRateMin() public double getExpRateMin()
{ {
return _expRateMin; return _expRateMin;
} }
public int getExpRateMax() public double getExpRateMax()
{ {
return _expRateMax; return _expRateMax;
} }
public int getSpRateMin() public double getSpRateMin()
{ {
return _spRateMin; return _spRateMin;
} }
public int getSpRateMax() public double getSpRateMax()
{ {
return _spRateMax; return _spRateMax;
} }

View File

@ -11,14 +11,14 @@
</xs:element> </xs:element>
<xs:element name="experienceRate"> <xs:element name="experienceRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="skillPointsRate"> <xs:element name="skillPointsRate">
<xs:complexType> <xs:complexType>
<xs:attribute type="xs:positiveInteger" name="min" use="required" /> <xs:attribute type="xs:double" name="min" use="required" />
<xs:attribute type="xs:positiveInteger" name="max" use="required" /> <xs:attribute type="xs:double" name="max" use="required" />
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="baits"> <xs:element name="baits">

View File

@ -38,10 +38,10 @@ public final class FishingData implements IGameXmlReader
private final Map<Integer, FishingBaitData> _baitData = new HashMap<>(); private final Map<Integer, FishingBaitData> _baitData = new HashMap<>();
private int _baitDistanceMin; private int _baitDistanceMin;
private int _baitDistanceMax; private int _baitDistanceMax;
private int _expRateMin; private double _expRateMin;
private int _expRateMax; private double _expRateMax;
private int _spRateMin; private double _spRateMin;
private int _spRateMax; private double _spRateMax;
/** /**
* Instantiates a new fishing data. * Instantiates a new fishing data.
@ -78,14 +78,14 @@ public final class FishingData implements IGameXmlReader
} }
case "experienceRate": case "experienceRate":
{ {
_expRateMin = parseInteger(listItem.getAttributes(), "min"); _expRateMin = parseDouble(listItem.getAttributes(), "min");
_expRateMax = parseInteger(listItem.getAttributes(), "max"); _expRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "skillPointsRate": case "skillPointsRate":
{ {
_spRateMin = parseInteger(listItem.getAttributes(), "min"); _spRateMin = parseDouble(listItem.getAttributes(), "min");
_spRateMax = parseInteger(listItem.getAttributes(), "max"); _spRateMax = parseDouble(listItem.getAttributes(), "max");
break; break;
} }
case "baits": case "baits":
@ -143,22 +143,22 @@ public final class FishingData implements IGameXmlReader
return _baitDistanceMax; return _baitDistanceMax;
} }
public int getExpRateMin() public double getExpRateMin()
{ {
return _expRateMin; return _expRateMin;
} }
public int getExpRateMax() public double getExpRateMax()
{ {
return _expRateMax; return _expRateMax;
} }
public int getSpRateMin() public double getSpRateMin()
{ {
return _spRateMin; return _spRateMin;
} }
public int getSpRateMax() public double getSpRateMax()
{ {
return _spRateMax; return _spRateMax;
} }