Merge pull request 'done skill' (#50) from feature/skill-data into develop

Reviewed-on: https://git.brew.monster/Unity/perfect-world-unity/pulls/50
This commit is contained in:
hoangvd
2025-11-11 10:14:26 +00:00
11 changed files with 24 additions and 33 deletions
@@ -64,7 +64,6 @@ public class CECAttacksMan : MonoSingleton<CECAttacksMan>
nTimeFly // timeToDoDamage
);
m_AttackLinkedList.AddLast(newEvent);
BMLogger.LogError("HoangDev: AddMeleeAttack CECAttackEvent: " + m_AttackLinkedList.Count);
newEvent.UpdateTargetFlag();
return m_AttackLinkedList.Last.Value;
@@ -455,7 +454,6 @@ bool DoFire()
TARGET_DATA data = m_targets[i];
int idTarget = data.idTarget;
string strName;
BMLogger.LogError("HoangDev: GPDataTypeHelper.ISPLAYERID(idTarget) " + GPDataTypeHelper.ISPLAYERID(idTarget));
if (GPDataTypeHelper.ISNPCID(idTarget))
{
@@ -480,7 +478,7 @@ bool DoFire()
{
CECPlayer pPlayer = EC_ManMessageMono.Instance.GetECManPlayer.GetPlayer(idTarget);
BMLogger.LogError("HoangDev: CECPlayer pPlayer = " + pPlayer );
//BMLogger.LogError("HoangDev: CECPlayer pPlayer = " + pPlayer );
if (!pPlayer)
return true;
@@ -348,7 +348,6 @@ public class CECNPCMan : IMsgHandler
}
case CommandID.NPC_INFO_00:
{
BMLogger.LogError("HoangDev: NPCMAN NPC_INFO_00");
var buffer = (byte[])msg.dwParam1;
cmd_npc_info_00 pCmd = GPDataTypeHelper.FromBytes<cmd_npc_info_00>(buffer);
@@ -362,7 +361,6 @@ public class CECNPCMan : IMsgHandler
ep.bs.max_hp = pCmd.iMaxHP;
pNPC.SetSelectedTarget(pCmd.iTargetID);
pNPC.SetWorldHealthImage((float)pCmd.iHP , (float)pCmd.iMaxHP);
BMLogger.LogError("HoangDev: publish NPCMAN NPC_INFO_00");
EventBus.Publish(new NPCINFO(pNPC.GetName(),pCmd.iHP,pCmd.iMaxHP, pCmd.idNPC));
}
+1 -5
View File
@@ -182,7 +182,7 @@ public class CECNPC : CECObject
}
public void OnMsgAttackHostResult(int idHost, int nDamage, int nFlag, int nSpeed)
{
BMLogger.LogError("HoangDev: OnMsgAttackHostResultNPC");
//BMLogger.LogError("HoangDev: OnMsgAttackHostResultNPC");
if (!IsDead())
{
// 🔹 Quay mặt về mục tiêu
@@ -273,8 +273,6 @@ public class CECNPC : CECObject
int nAttackSpeed,
int nSection = 0)
{
BMLogger.LogError("HoangDev: PlayAttackEffectNPC");
if (m_pNPCModelPolicy == null)
return;
@@ -392,8 +390,6 @@ public class CECNPC : CECObject
private bool PlayAttackAction(int nAttackSpeed, CECAttackEvent attackevent)
{
BMLogger.LogError("HoangDev: PlayAttackActionNPC");
return m_pNPCModelPolicy.PlayAttackAction(nAttackSpeed, attackevent);
}
void NPCTurnFaceTo(int idTarget, float dwTime = 0)
@@ -1,6 +1,7 @@
using CSNetwork.GPDataType;
using System;
using System.Numerics;
using System.Runtime.InteropServices;
namespace CSNetwork.C2SCommand
{
@@ -1,3 +1,4 @@
using BrewMonster;
using CSNetwork.GPDataType;
using CSNetwork.S2CCommand;
using System;
@@ -182,7 +183,10 @@ namespace CSNetwork.C2SCommand
return;
}
WriteBasicValue(octets, array.Length);
if (array.Length != 1 )
{
WriteBasicValue(octets, array.Length);
}
var elementType = array.GetType().GetElementType();
if (NeedsCustomSerialization(elementType))
@@ -258,8 +262,9 @@ namespace CSNetwork.C2SCommand
skillId = idSkill,
pvpMask = byPVPMask,
targetCount = (byte)iNumTarget,
targets = null
};
if(iNumTarget > 0)
if (iNumTarget > 0)
{
if (iNumTarget > 0)
{
@@ -267,7 +272,9 @@ namespace CSNetwork.C2SCommand
cmd.targets[0] = aTargets;
}
}
return SerializeCommand(CommandID.CAST_SKILL, cmd);
var cmdBuf = SerializeCommand(CommandID.CAST_SKILL, cmd);
return cmdBuf;
}
public static short FloatToFix8(float x)
@@ -605,8 +605,7 @@ namespace CSNetwork
pGameUI->EndNPCService();*/
}
else if
(pCmd.iMessage ==
108 /*&& pGameRun->GetHostPlayer()->GetOfflineShopCtrl()->GetNPCSevFlag() != COfflineShopCtrl::NPCSEV_NULL*/
(pCmd.iMessage == 108 /*&& pGameRun->GetHostPlayer()->GetOfflineShopCtrl()->GetNPCSevFlag() != COfflineShopCtrl::NPCSEV_NULL*/
)
{
/* CECGameUIMan* pGameUI = pGameRun->GetUIManager()->GetInGameUIMan();
@@ -49,7 +49,6 @@ namespace PerfectWorld.Scripts.Player
SetModelHostPlayer();
string roleName = Encoding.Unicode.GetString(roleInfo.name.ByteArray);
BMLogger.LogError("HoangDev: roleName:" + roleName);
if (txtName != null) txtName.text = roleName;
m_cdr.fStepHeight = m_MoveConst.fStepHei;
@@ -47,11 +47,11 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.Skills
}
else
{
BMLogger.LogError("HoangDev: Shortcut: IsGoblinSkill else");
//BMLogger.LogError("HoangDev: Shortcut: IsGoblinSkill else");
if (pHost.GetActionSwitcher() == null || !pHost.GetActionSwitcher().OnRideToSkillAction(m_pSkill.GetSkillID(), false, 0, -1))
{
BMLogger.LogError("HoangDev: Shortcut: pHost->GetActionSwitcher()");
//BMLogger.LogError("HoangDev: Shortcut: pHost->GetActionSwitcher()");
pHost.ApplySkillShortcut(m_pSkill.GetSkillID());
}
@@ -141,7 +141,6 @@ namespace BrewMonster.Scripts.Skills
public void RecvNPCServiceList(Octets Data)
{
m_npcListData = Data;
BMLogger.LogError("HoangDev: m_npcListData= "+ m_npcListData.Length);
if (!m_bInitialized)
{
return;
+2 -2
View File
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:91a4f3bbfdf36a272974726c5c2a620c1ff0300fd1e0762af085e6fadcabb009
size 530349610
oid sha256:4500e3329ef68f0370414228d113f02bbe72321b04ac5e9292e13addf04dc827
size 530349701
+6 -12
View File
@@ -413,7 +413,7 @@ public partial class CECHostPlayer : CECPlayer
pCmd.skill_count = GPDataTypeHelper.FromBytes<uint>((byte[])Msg.dwParam1);
int offset = sizeof(uint);
int skillSize = Marshal.SizeOf<cmd_skill_data.SKILL>();
pCmd.skill_list = new cmd_skill_data.SKILL[2];
pCmd.skill_list = new cmd_skill_data.SKILL[pCmd.skill_count];
for (int i = 0; i < pCmd.skill_count; i++)
{
pCmd.skill_list[i] = GPDataTypeHelper.FromBytes<cmd_skill_data.SKILL>((byte[])Msg.dwParam1, offset);
@@ -456,7 +456,6 @@ public partial class CECHostPlayer : CECPlayer
// Load skill data from command
// C++: GNET::ElementSkill::LoadSkillData(pCmd);
ElementSkill.LoadSkillData(pCmd);
// Create skill objects from command data
for (int i = 0; i < pCmd.skill_count; i++)
{
@@ -476,7 +475,6 @@ public partial class CECHostPlayer : CECPlayer
m_aPsSkills.Add(skill);
}
}
// Restore and convert shortcuts after loading new skills
/* if (hostPlayer.HostIsReady())
{
@@ -574,7 +572,6 @@ public partial class CECHostPlayer : CECPlayer
}
void OnMsgHstAttacked(ECMSG Msg)
{
BMLogger.LogError($"HoangDev OnMsgHstAttacked ");
var m_pPlayerMan = EC_ManMessageMono.Instance.EC_ManPlayer;
cmd_host_attacked pCmd = GPDataTypeHelper.FromBytes<cmd_host_attacked>(Msg.dwParam1 as byte[]);
@@ -645,7 +642,7 @@ public partial class CECHostPlayer : CECPlayer
}*/
private void OnMsgHstHurtResult(ECMSG Msg)
{
BMLogger.LogError("HoangDev : OnMsgHstHurtResult");
//BMLogger.LogError("HoangDev : OnMsgHstHurtResult");
/* int cmd = Convert.ToInt32(Msg.dwParam2);
if (cmd == CommandID.BE_HURT)
{
@@ -1028,7 +1025,7 @@ public partial class CECHostPlayer : CECPlayer
// Message MSG_HST_SELTARGET handler
void OnMsgHstSelTarget(ECMSG Msg)
{
BMLogger.LogError("HoangDev: OnMsgHstSelTarget");
//BMLogger.LogError("HoangDev: OnMsgHstSelTarget");
if (Convert.ToInt32(Msg.dwParam2) == CommandID.SELECT_TARGET)
{
var data = (byte[])Msg.dwParam1;
@@ -1876,9 +1873,6 @@ public partial class CECHostPlayer : CECPlayer
public bool CastSkill(int idTarget, bool bForceAttack, CECObject pTarget = null)
{
byte byPVPMask = glb_BuildPVPMask(bForceAttack);
BMLogger.LogError("HoangDev: HostPlayer CastSkill SkillID=" + m_pPrepSkill.GetSkillID() +
" TargetID=" + idTarget + " bForceAttack=" + bForceAttack +
" byPVPMask=" + byPVPMask);
UnityGameSession.c2s_CmdCastSkill(m_pPrepSkill.GetSkillID(), byPVPMask, 1, idTarget);
return true;
}
@@ -1913,7 +1907,7 @@ public partial class CECHostPlayer : CECPlayer
}
public bool SelectTarget(int idTarget)
{
BMLogger.LogError("HoangDev: HostPlayer SelectTarget");
//BMLogger.LogError("HoangDev: HostPlayer SelectTarget");
bool bRet = false;
bool canDo = CanDo(ActionCanDo.CANDO_CHANGESELECT);
bool canselect = CanSelectTarget(idTarget);
@@ -1922,12 +1916,12 @@ public partial class CECHostPlayer : CECPlayer
bRet = true;
if (idTarget == 0)
{
BMLogger.LogError("HoangDev: HostPlayer Unsetlect npc");
//BMLogger.LogError("HoangDev: HostPlayer Unsetlect npc");
UnityGameSession.c2s_CmdUnselect();
}
else
{
BMLogger.LogError("HoangDev: HostPlayer setlect npc");
//BMLogger.LogError("HoangDev: HostPlayer setlect npc");
UnityGameSession.c2s_CmdSelectTarget(idTarget);
}
}