Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Maple2.File.Parser/Maple2.File.Parser.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<PackageTags>MapleStory2, File, Parser, m2d, xml</PackageTags>
<!-- Use following lines to write the generated files to disk. -->
<EmitCompilerGeneratedFiles Condition=" '$(Configuration)' == 'Debug' ">true</EmitCompilerGeneratedFiles>
<PackageVersion>2.2.5</PackageVersion>
<PackageVersion>2.2.7</PackageVersion>
<TargetFramework>net8.0</TargetFramework>
<PackageReadmeFile>README.md</PackageReadmeFile>
<ImplicitUsings>enable</ImplicitUsings>
Expand Down
4 changes: 2 additions & 2 deletions Maple2.File.Parser/ServerTableParser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ public ServerTableParser(M2dReader xmlReader) {
}

public IEnumerable<(int NpcId, IDictionary<int, NpcScriptCondition> ScriptConditions)> ParseNpcScriptCondition() {
string xml = Sanitizer.RemoveEmpty(xmlReader.GetString(xmlReader.GetEntry("table/Server/npcScriptCondition_Final.xml")));
string xml = xmlReader.GetString(xmlReader.GetEntry("table/Server/npcScriptCondition_Final.xml"));
var reader = XmlReader.Create(new StringReader(xml));
var data = npcScriptConditionSerializer.Deserialize(reader) as NpcScriptConditionRoot;
Debug.Assert(data != null);
Expand All @@ -111,7 +111,7 @@ public ServerTableParser(M2dReader xmlReader) {
}

public IEnumerable<(int QuestId, IDictionary<int, QuestScriptCondition> ScriptConditions)> ParseQuestScriptCondition() {
string xml = Sanitizer.RemoveEmpty(xmlReader.GetString(xmlReader.GetEntry("table/Server/QuestScriptCondition_final.xml")));
string xml = xmlReader.GetString(xmlReader.GetEntry("table/Server/QuestScriptCondition_final.xml"));
var reader = XmlReader.Create(new StringReader(xml));
var data = questScriptConditionSerializer.Deserialize(reader) as QuestScriptConditionRoot;
Debug.Assert(data != null);
Expand Down
40 changes: 40 additions & 0 deletions Maple2.File.Parser/Xml/Skill/CompareRange.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace Maple2.File.Parser.Xml.Skill;

[XmlType(Namespace = "Common")]
public class CompareRange {
[XmlAttribute] public float str;
[XmlAttribute] public float dex;
Expand Down Expand Up @@ -43,4 +44,43 @@ public class CompareRange {

[XmlAttribute] public string func = string.Empty;
[XmlAttribute] public int type;

public float this[byte i] => i switch {
0 => str,
1 => dex,
2 => @int,
3 => luk,
4 => hp,
5 => hp_rgp,
6 => hp_inv,
7 => sp,
8 => sp_rgp,
9 => sp_inv,
10 => ep,
11 => ep_rgp,
12 => ep_inv,
13 => asp,
14 => msp,
15 => atp,
16 => evp,
17 => cap,
18 => cad,
19 => car,
20 => ndd,
21 => abp,
22 => jmp,
23 => pap,
24 => map,
25 => par,
26 => mar,
27 => wapmin,
28 => wapmax,
29 => dmg,
30 => dmg,
31 => pen,
32 => rmsp,
33 => bap,
34 => bap_pet,
_ => throw new ArgumentOutOfRangeException(nameof(i), i, "Invalid CompareRange index."),
};
}
10 changes: 5 additions & 5 deletions Maple2.File.Parser/Xml/Table/Server/QuestScriptCondition.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,17 @@ public partial class QuestScriptCondition : IFeatureLocale {
[XmlAttribute] public string maid_mood_time = string.Empty;
[XmlAttribute] public string maid_affinity_time = string.Empty;
[XmlAttribute] public int maid_affinity_grade = 0;
[XmlAttribute] public int privilege;
[XmlAttribute] public int panelty;
[XmlAttribute] public int privilege = -1;
[XmlAttribute] public int panelty = -1;
[M2dArray] public short[] job = Array.Empty<short>();
[XmlAttribute] public string level = string.Empty;
[M2dArray] public string[] quest_start = Array.Empty<string>();
[M2dArray] public string[] quest_complete = Array.Empty<string>();
[M2dArray] public string[] item = Array.Empty<string>();
[M2dArray] public string[] itemCount = Array.Empty<string>();
[XmlAttribute] public int weddingState;
[XmlAttribute] public int weddingHallBooking;
[XmlAttribute] public int marriageDate;
[XmlAttribute] public int weddingState = -1;
[XmlAttribute] public int weddingHallBooking = -1;
[XmlAttribute] public int marriageDate = -1;
[XmlAttribute] public string weddingHallEntryType = string.Empty;
[XmlAttribute] public string weddingHallState = string.Empty;
[XmlAttribute] public string coolingOff = string.Empty;
Expand Down
Loading