From bc77439d117a20bc587aafc33aab69f58d1b16e2 Mon Sep 17 00:00:00 2001 From: Paul Coene Date: Wed, 16 Dec 2015 09:05:27 -0500 Subject: [PATCH 1/2] When binding someone else's wounds, the code tried to send a bind would response to client with a type of 2. The intent (based on comments was to get the client to display a "stand still" message on the receiving client. That reply message was not generating that message, but if the client you were binding was also binding his own wounds, it would cause your target to stand up, interrupting his bind. I replaced this client reply with a simple, directed client message. It all seems to work fine now. --- zone/client.cpp | 9 ++------- zone/string_ids.h | 1 + 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/zone/client.cpp b/zone/client.cpp index f65a30350..4b81cf250 100644 --- a/zone/client.cpp +++ b/zone/client.cpp @@ -2577,12 +2577,7 @@ bool Client::BindWound(Mob* bindmob, bool start, bool fail){ else { // send bindmob "stand still" if(!bindmob->IsAIControlled() && bindmob != this ) { - bind_out->type = 2; // ? - //bind_out->type = 3; // ? - bind_out->to = GetID(); // ? - bindmob->CastToClient()->QueuePacket(outapp); - bind_out->type = 0; - bind_out->to = 0; + bindmob->CastToClient()->Message_StringID(clientMessageYellow, YOU_ARE_BEING_BANDAGED); } else if (bindmob->IsAIControlled() && bindmob != this ){ ; // Tell IPC to stand still? @@ -2668,7 +2663,7 @@ bool Client::BindWound(Mob* bindmob, bool start, bool fail){ else { //I dont have the real, live Message(15, "You cannot bind wounds above %d%% hitpoints.", max_percent); - if(bindmob->IsClient()) + if(bindmob != this && bindmob->IsClient()) bindmob->CastToClient()->Message(15, "You cannot have your wounds bound above %d%% hitpoints.", max_percent); // Too many hp message goes here. } diff --git a/zone/string_ids.h b/zone/string_ids.h index e3b943744..be05b1eb2 100644 --- a/zone/string_ids.h +++ b/zone/string_ids.h @@ -27,6 +27,7 @@ #define GAIN_XP 138 //You gain experience!! #define GAIN_GROUPXP 139 //You gain party experience!! #define BOW_DOUBLE_DAMAGE 143 //Your bow shot did double dmg. +#define YOU_ARE_BEING_BANDAGED 147 //Someone is bandaging you. #define FORAGE_GRUBS 150 //You have scrounged up some fishing grubs. #define FORAGE_WATER 151 //You have scrounged up some water. #define FORAGE_FOOD 152 //You have scrounged up some food. From 07ab58483dbaabd7728236e9b7975a660706567f Mon Sep 17 00:00:00 2001 From: Paul Coene Date: Wed, 16 Dec 2015 09:16:27 -0500 Subject: [PATCH 2/2] Updated changelog --- changelog.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/changelog.txt b/changelog.txt index adc272817..f708219e8 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,8 @@ EQEMu Changelog (Started on Sept 24, 2003 15:50) ------------------------------------------------------- +== 12/16/2015 == +Noudess: Repaired issue with Bind Wounds on someone else. Message was not coming out on client (hold still) and a bind wounds on someone already binding their wounds would interrupt their bind and make them stand. Also removed some duplicate messaging. + == 12/14/2015 == Kinglykrab: Added IsBlind() and IsFeared() functionality to Perl and Lua. - Note: Both methods are Mob methods and may be used on NPCs or PCs.