Merge branch 'develop' into feature/character_info

This commit is contained in:
HungDK
2026-02-25 13:39:56 +07:00
6 changed files with 2052 additions and 2021 deletions
@@ -2583,5 +2583,11 @@ namespace CSNetwork.GPDataType
public float mp_factor;
public int cur_mp;
};
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct cmd_clear_tessera
{
public ushort equip_idx;
public uint cost;
};
}
File diff suppressed because it is too large Load Diff
@@ -1,5 +1,6 @@
using System;
using BrewMonster.UI;
using PerfectWorld.Scripts.Common;
using UnityEngine;
using TMPro;
using UnityEngine.UI;
@@ -73,6 +74,10 @@ namespace BrewMonster
public void ShowMessageBox(MessageBoxData messageBoxData)
{
_messageData = messageBoxData;
// messageBoxData.Message = messageBoxData.Message?
// .Replace("\r\n", "\n")
// .Replace("\r", "\n");
messageBoxData.Message = EC_TextFormatter.FormatForTextMeshPro(messageBoxData.Message);
SetName(string.IsNullOrEmpty(messageBoxData.Title) ? "" : messageBoxData.Title);
messageText.text = string.IsNullOrEmpty(messageBoxData.Message) ? "" : messageBoxData.Message;
@@ -424,34 +424,32 @@ namespace BrewMonster
{
CECHostPlayer pHost = GetHostPlayer();
string message = "";
int nMoney = m_install_price;
if (nMoney > pHost.GetMoneyAmount())
{
message = GetGameUIMan().GetStringFromTable(226);
CECUIManager.Instance.ShowMessageBox(new MessageBoxData()
{
Message = message,
Dlg = this
});
return;
}
EC_IvtrItem pIvtrA = m_SelectedEquip;
if (!pIvtrA.IsEquipment())
{
message = GetGameUIMan().GetStringFromTable(223);
CECUIManager.Instance.ShowMessageBox(new MessageBoxData()
{
Message = message,
Dlg = this
});
return;
}
EC_IvtrEquip pEquipA = (EC_IvtrEquip)pIvtrA;
if (pHost != null && m_Mode == InstallMode.Enchase)
{
int nMoney = m_install_price;
if (nMoney > pHost.GetMoneyAmount())
{
message = GetGameUIMan().GetStringFromTable(226);
CECUIManager.Instance.ShowMessageBox(new MessageBoxData()
{
Message = message,
Dlg = this
});
return;
}
EC_IvtrItem pIvtrA = m_SelectedEquip;
if (!pIvtrA.IsEquipment())
{
message = GetGameUIMan().GetStringFromTable(223);
CECUIManager.Instance.ShowMessageBox(new MessageBoxData()
{
Message = message,
Dlg = this
});
return;
}
EC_IvtrEquip pEquipA = (EC_IvtrEquip)pIvtrA;
if (m_Mode == InstallMode.Enchase)
{
if (pEquipA.GetEmptyHoleNum() <= 0)
@@ -519,28 +517,32 @@ namespace BrewMonster
Dlg = this
});
}
else if (m_Mode == InstallMode.Disenchase)
}
else if (pHost != null && m_Mode == InstallMode.Disenchase)
{
if (pEquipA.GetEmptyHoleNum() == pEquipA.GetHoleNum())
{
if (pEquipA.GetEmptyHoleNum() == pEquipA.GetHoleNum())
{
message = GetGameUIMan().GetStringFromTable(227);
CECUIManager.Instance.ShowMessageBox(new MessageBoxData()
{
Message = message,
Dlg = this
});
return;
}
message = GetGameUIMan().GetStringFromTable(229);
var x = new MessageBoxData()
message = GetGameUIMan().GetStringFromTable(227);
CECUIManager.Instance.ShowMessageBox(new MessageBoxData()
{
Message = message,
Dlg = this,
MessageBoxType = MessageBoxType.BothYesNoButton
};
CECUIManager.Instance.ShowMessageBox(x);
Dlg = this
});
return;
}
message = GetGameUIMan().GetStringFromTable(229);
var x = new MessageBoxData()
{
Message = message,
Dlg = this,
MessageBoxType = MessageBoxType.BothYesNoButton
};
CECUIManager.Instance.ShowMessageBox(x);
}
else
{
BMLogger.LogError("Something go wrong with merge/reset");
}
}
+14
View File
@@ -705,6 +705,20 @@ namespace BrewMonster
PlayAttackEffect(pCmd.target, pCmd.skill, pCmd.level, nDamage,
dwModifier & mask, 0, ref attackTime, pCmd.section);
}
public void OnMsgHstClearTessera(ECMSG Msg)
{
cmd_clear_tessera pCmd = GPDataTypeHelper.FromBytes<cmd_clear_tessera>((byte[])Msg.dwParam1);
AddMoneyAmount(-(int)pCmd.cost);
// Refresh equip's data
UnityGameSession.c2s_CmdGetItemInfo(Inventory_type.IVTRTYPE_PACK, (byte)pCmd.equip_idx);
}
// Add money amount
private int AddMoneyAmount(int iAmount)
{
m_iMoneyCnt += (uint)iAmount;
return (int)m_iMoneyCnt;
}
public bool HaveHealthStones()
{
+1
View File
@@ -611,6 +611,7 @@ namespace BrewMonster
case EC_MsgDef.MSG_HST_NEWTEAMMEM: OnMsgHstNewTeamMem(Msg); break;
case EC_MsgDef.MSG_HST_TEAMMEMBERDATA: OnMsgHstTeamMemberData(Msg); break;
case EC_MsgDef.MSG_PM_DUELOPT: OnMsgHstDuelOpt(Msg); break;
case EC_MsgDef.MSG_HST_CLEARTESSERA: OnMsgHstClearTessera(Msg); break;
}
/*if (bActionStartSkill)