From 5341bf59c20c770ab50b80d6b336b47ed509f8d8 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sat, 15 Oct 2011 12:17:21 +0300 Subject: Improve mobv2 --- src/client.cpp | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) (limited to 'src/client.cpp') diff --git a/src/client.cpp b/src/client.cpp index 1e81a464c..c54bf34ce 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -1523,7 +1523,7 @@ void Client::groundAction(u8 action, v3s16 nodepos_undersurface, Send(0, data, true); } -void Client::clickActiveObject(u8 button, u16 id, u16 item) +void Client::clickActiveObject(u8 button, u16 id, u16 item_i) { if(connectedAndInitialized() == false){ dout_client<inventory.getList("main"); + if(mlist != NULL) + { + InventoryItem *item = mlist->getItem(item_i); + if(item && (std::string)item->getName() == "ToolItem") + { + titem = (ToolItem*)item; + toolname = titem->getToolName(); + } + } + + v3f playerpos = player->getPosition(); + v3f objpos = obj->getPosition(); + v3f dir = (objpos - playerpos).normalize(); + + bool disable_send = obj->directReportPunch(toolname, dir); + + if(disable_send) + return; + } + } /* length: 7 @@ -1544,7 +1576,7 @@ void Client::clickActiveObject(u8 button, u16 id, u16 item) writeU16(&data[0], TOSERVER_CLICK_ACTIVEOBJECT); writeU8(&data[2], button); writeU16(&data[3], id); - writeU16(&data[5], item); + writeU16(&data[5], item_i); Send(0, data, true); } -- cgit v1.2.3