From 912a1e7adc650d20b0302a3dfe45816b5e541bc7 Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Fri, 21 Dec 2012 11:04:08 +0000 Subject: Refactored the TakeDamage API to take equipped weapon and armor into consideration (PvP untested) http://forum.mc-server.org/showthread.php?tid=625 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1087 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/ClientHandle.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'source/ClientHandle.cpp') diff --git a/source/ClientHandle.cpp b/source/ClientHandle.cpp index 8148c081e..ffcda9bda 100644 --- a/source/ClientHandle.cpp +++ b/source/ClientHandle.cpp @@ -918,7 +918,7 @@ void cClientHandle::HandleUseEntity(int a_TargetEntityID, bool a_IsLeftClick) if (!a_Entity->GetWorld()->IsPVPEnabled()) { // PVP is disabled - if (a_Entity->IsA("cPlayer") && Instigator->IsA("cPlayer")) + if (a_Entity->IsA("cPlayer") && m_Attacker->IsA("cPlayer")) { // Player is hurting another player which is not allowed when PVP is disabled so ignore it return true; @@ -926,17 +926,15 @@ void cClientHandle::HandleUseEntity(int a_TargetEntityID, bool a_IsLeftClick) } if (a_Entity->IsA("cPawn")) { - reinterpret_cast(a_Entity)->TakeDamage(Damage, Instigator); + reinterpret_cast(a_Entity)->TakeDamage(*m_Attacker); } return true; } public: - int Damage; - cEntity * Instigator; + cPawn * m_Attacker; } Callback; - Callback.Damage = 1; // TODO: Find proper damage from current item equipped - Callback.Instigator = m_Player; + Callback.m_Attacker = m_Player; cWorld * World = m_Player->GetWorld(); World->DoWithEntityByID(a_TargetEntityID, Callback); -- cgit v1.2.3