Addition of onlyReplaceByLearn skilltree parameter.
This commit is contained in:
parent
850f6e3c0f
commit
034a771eb5
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -31,6 +31,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -31,6 +31,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -31,6 +31,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -270,7 +270,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -271,7 +271,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -270,7 +270,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,7 @@
|
||||
<xs:element name="removeSkill" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="id" type="xs:positiveInteger" use="required" />
|
||||
<xs:attribute name="onlyReplaceByLearn" type="xs:boolean" use="optional" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="socialClass" minOccurs="0" maxOccurs="1">
|
||||
|
@ -270,7 +270,10 @@ public class SkillTreeData implements IXmlReader
|
||||
{
|
||||
final int removeSkillId = parseInteger(attrs, "id");
|
||||
skillLearn.addRemoveSkills(removeSkillId);
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
if (!parseBoolean(attrs, "onlyReplaceByLearn", false))
|
||||
{
|
||||
_removeSkillCache.computeIfAbsent(classId, k -> new HashSet<>()).add(removeSkillId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user