blob: 33318a8986e9df855c6e280ad47b25a2423986b7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
using System;
using System.Collections.Generic;
using XUtliPoolLib;
namespace XMainClient
{
internal class Process_PtcG2C_SkillChangedNtf
{
public static void Process(PtcG2C_SkillChangedNtf roPtc)
{
XPlayerAttributes xplayerData = XSingleton<XAttributeMgr>.singleton.XPlayerData;
for (int i = 0; i < roPtc.Data.newSkill.Count; i++)
{
xplayerData.SkillLevelInfo.SetSkillLevel(roPtc.Data.newSkill[i], roPtc.Data.newSkillLevel[i]);
}
for (int i = 0; i < roPtc.Data.changedSkillHash.Count; i++)
{
xplayerData.SkillLevelInfo.SetSkillLevel(roPtc.Data.changedSkillHash[i], roPtc.Data.changedSkillLevel[i]);
}
for (int i = 0; i < roPtc.Data.removeSkill.Count; i++)
{
xplayerData.SkillLevelInfo.RemoveSkill(roPtc.Data.removeSkill[i]);
}
xplayerData.SkillLevelInfo.RefreshSkillFlags();
xplayerData.SkillLevelInfo.RefreshSelfLinkedLevels(XSingleton<XEntityMgr>.singleton.Player);
bool flag = roPtc.Data.skillType == 0;
if (flag)
{
bool flag2 = XSingleton<XAttributeMgr>.singleton.XPlayerData.SkillPageIndex == 0u;
if (flag2)
{
XSingleton<XGame>.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer<ItemEnum>.ToInt(ItemEnum.SKILL_POINT), (ulong)((long)roPtc.Data.skillpoint));
XSingleton<XGame>.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer<ItemEnum>.ToInt(ItemEnum.SKILL_POINT_TWO), (ulong)roPtc.Data.skillpointtwo);
XSingleton<XGame>.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer<ItemEnum>.ToInt(ItemEnum.AWAKE_SKILL_POINT), (ulong)roPtc.Data.awakepoint);
XSingleton<XGame>.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer<ItemEnum>.ToInt(ItemEnum.AWAKE_SKILL_POINT_TWO), (ulong)roPtc.Data.awakepointtwo);
}
else
{
XSingleton<XGame>.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer<ItemEnum>.ToInt(ItemEnum.SKILL_POINT_TWO), (ulong)((long)roPtc.Data.skillpoint));
XSingleton<XGame>.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer<ItemEnum>.ToInt(ItemEnum.SKILL_POINT), (ulong)roPtc.Data.skillpointtwo);
XSingleton<XGame>.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer<ItemEnum>.ToInt(ItemEnum.AWAKE_SKILL_POINT), (ulong)roPtc.Data.awakepointtwo);
XSingleton<XGame>.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer<ItemEnum>.ToInt(ItemEnum.AWAKE_SKILL_POINT_TWO), (ulong)roPtc.Data.awakepoint);
}
}
else
{
bool flag3 = roPtc.Data.skillType == 1;
if (flag3)
{
XSingleton<XGame>.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer<ItemEnum>.ToInt(ItemEnum.GUILD_CONTRIBUTE), (ulong)((long)roPtc.Data.skillpoint));
}
}
XSkillTreeDocument specificDocument = XDocuments.GetSpecificDocument<XSkillTreeDocument>(XSkillTreeDocument.uuID);
bool flag4 = roPtc.Data.skillSlot != null && roPtc.Data.skillSlot.Count > 0;
if (flag4)
{
List<int> list = new List<int>();
for (int i = 0; i < roPtc.Data.skillSlot.Count; i++)
{
bool flag5 = roPtc.Data.skillSlot[i] == 0u && xplayerData.skillSlot[i] > 0u;
if (flag5)
{
list.Add(i);
}
}
specificDocument.ShowEmblemTips(list);
}
for (int i = 0; i < roPtc.Data.skillSlot.Count; i++)
{
xplayerData.skillSlot[i] = roPtc.Data.skillSlot[i];
}
bool flag6 = roPtc.Data.skillSlot != null && roPtc.Data.skillSlot.Count > 0;
if (flag6)
{
XEmblemDocument specificDocument2 = XDocuments.GetSpecificDocument<XEmblemDocument>(XEmblemDocument.uuID);
specificDocument2.UpdateRedPoints();
}
specificDocument.SkillRefresh(false, false);
XSingleton<XTutorialHelper>.singleton.SkillLevelup = true;
}
}
}
|