Merge branch 'develop' into feature/skill-data

This commit is contained in:
VDH
2026-01-15 13:33:42 +07:00
32 changed files with 4398 additions and 205 deletions
+30 -2
View File
@@ -308,13 +308,12 @@ public partial class CECGameRun
}
pData = pUncompBuf;
dataOffset = 0;
}
try
{
// Create data reader / 创建数据读取器
CECDataReader dr = new CECDataReader(pData, dataOffset, (int)dwRealLen);
CECDataReader dr = new CECDataReader(pData, (int)dwRealLen);
// Load host configs / 加载主机配置
CECHostPlayer pHost = GetHostPlayer();
@@ -482,4 +481,33 @@ public partial class CECGameRun
}
return null;
}
public string GetProfName(int i)
{
string szRet = null;
if (i >= 0 && i < (int)Profession.NUM_PROFESSION)
{
int[] s_ProfDesc = {
(int)FixedMsg.FIXMSG_PROF_WARRIOR,
(int)FixedMsg.FIXMSG_PROF_MAGE,
(int)FixedMsg.FIXMSG_PROF_MONK,
(int)FixedMsg.FIXMSG_PROF_HAG,
(int)FixedMsg.FIXMSG_PROF_ORC,
(int)FixedMsg.FIXMSG_PROF_GHOST,
(int)FixedMsg.FIXMSG_PROF_ARCHOR,
(int)FixedMsg.FIXMSG_PROF_ANGEL,
(int)FixedMsg.FIXMSG_PROF_JIANLING,
(int)FixedMsg.FIXMSG_PROF_MEILING,
(int)FixedMsg.FIXMSG_PROF_YEYING,
(int)FixedMsg.FIXMSG_PROF_YUEXIAN,
};
CECStringTab pStrTab = EC_Game.GetFixedMsgs();
szRet = pStrTab.GetWideString(s_ProfDesc[i]);
}
else
{
//BMLogger.LogError("CECGameRun::GetProfName, i: {0} is not exist", i);
return null;
}
return szRet;
}
}
+25
View File
@@ -6152,6 +6152,31 @@ namespace BrewMonster
}
}
}
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct REINCARNATION_TOME
{
public int tome_exp;
public char tome_active; // 1已激活0未激活 / 1 activated 0 not activated
public int max_level; // 历史最高等级 / Historical highest level
public List<cmd_reincarnation_tome_info._entry> reincarnations;
public const int max_exp = 0; // TODO: Set actual value
public void Clear(){
tome_exp = 0;
tome_active = (char)0;
max_level = 0;
if (reincarnations != null)
{
reincarnations.Clear();
}
else
{
reincarnations = new List<cmd_reincarnation_tome_info._entry>();
}
}
};
REINCARNATION_TOME m_ReincarnationTome;
public int GetMaxLevelSofar() { return Math.Max(m_ReincarnationTome.max_level, m_BasicProps.iLevel);}
public CECCounter GetGatherCnt() { return m_GatherCnt; }
public void UpdateTimers(float dwDeltaTime)