From: <mg...@us...> - 2008-08-24 10:56:04
|
Revision: 2101 http://planeshift.svn.sourceforge.net/planeshift/?rev=2101&view=rev Author: mgist Date: 2008-08-24 10:56:07 +0000 (Sun, 24 Aug 2008) Log Message: ----------- - Compile error fix. Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2008-08-24 10:51:34 UTC (rev 2100) +++ trunk/src/server/usermanager.cpp 2008-08-24 10:56:07 UTC (rev 2101) @@ -1304,26 +1304,26 @@ msg.dice = 100; if (msg.sides > 10000) msg.sides = 10000; - if (msg.target > msg.sides) - msg.target = msg.sides; + if (msg.dtarget > msg.sides) + msg.dtarget = msg.sides; if (msg.dice < 1) msg.dice = 1; if (msg.sides < 1) msg.sides = 1; - if (msg.target < 0) - msg.target = 0; + if (msg.dtarget < 0) + msg.dtarget = 0; for (int i = 0; i<msg.dice; i++) { // must use msg.sides instead of msg.sides-1 because rand never actually // returns max val, and int truncation never results in max val as a result - if (msg.target) - total += ((psserver->rng->Get(msg.sides) + 1 >= msg.target)? 1: 0); + if (msg.dtarget) + total += ((psserver->rng->Get(msg.sides) + 1 >= msg.dtarget)? 1: 0); else total = total + psserver->rng->Get(msg.sides) + 1; } - if (msg.target) + if (msg.dtarget) { if (msg.dice > 1) { @@ -1333,7 +1333,7 @@ msg.dice, msg.sides, total, - msg.target); + msg.dtarget); newmsg.Multicast(client->GetActor()->GetMulticastClients(),0, 10); } @@ -1344,7 +1344,7 @@ "Player %s has rolled a %d-sided dice and had it come up less than %d."), client->GetName(), msg.sides, - msg.target); + msg.dtarget); newmsg.Multicast(client->GetActor()->GetMulticastClients(),0, 10); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2008-12-05 17:57:48
|
Revision: 2629 http://planeshift.svn.sourceforge.net/planeshift/?rev=2629&view=rev Author: weltall2 Date: 2008-12-05 17:57:44 +0000 (Fri, 05 Dec 2008) Log Message: ----------- typo fix Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2008-12-05 17:54:58 UTC (rev 2628) +++ trunk/src/server/usermanager.cpp 2008-12-05 17:57:44 UTC (rev 2629) @@ -689,7 +689,7 @@ else { raceName = "being"; - gender = PSCHARACTER_GENDER_NONE + gender = PSCHARACTER_GENDER_NONE; } csString desc = charData->GetDescription(); csArray<psCharacterDetailsMessage::NetworkDetailSkill> skills; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2008-12-24 15:58:02
|
Revision: 2767 http://planeshift.svn.sourceforge.net/planeshift/?rev=2767&view=rev Author: weltall2 Date: 2008-12-24 15:57:58 +0000 (Wed, 24 Dec 2008) Log Message: ----------- fixed a problem in the user report of /pos Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2008-12-24 09:34:03 UTC (rev 2766) +++ trunk/src/server/usermanager.cpp 2008-12-24 15:57:58 UTC (rev 2767) @@ -1496,7 +1496,7 @@ else { psserver->SendSystemInfo(clientnum,"%s current position is %s %1.2f %1.2f %1.2f, instance: %d", - name.GetData(), sector_name.GetData(), pos.x, pos.y, pos.z, sector_name.GetData(), instance); + name.GetData(), sector_name.GetData(), pos.x, pos.y, pos.z, instance); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2008-12-25 22:49:24
|
Revision: 2773 http://planeshift.svn.sourceforge.net/planeshift/?rev=2773&view=rev Author: weltall2 Date: 2008-12-25 22:49:21 +0000 (Thu, 25 Dec 2008) Log Message: ----------- Disabled challenge while a client is frozen Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2008-12-25 16:26:11 UTC (rev 2772) +++ trunk/src/server/usermanager.cpp 2008-12-25 22:49:21 UTC (rev 2773) @@ -2180,6 +2180,14 @@ return; } + //don't allow frozen clients to challenge + if(client->IsFrozen()) + { + psserver->SendSystemInfo(client->GetClientNum(), "You can't challenge opponents while being frozen by a GM"); + return; + } + + // Check target dead gemObject *target = client->GetTargetObject(); if (!target) @@ -2208,6 +2216,12 @@ return; } + if(target->IsFrozen()) + { + psserver->SendSystemInfo(client->GetClientNum(), "% was frozen by a GM and cannot be challenged", target->GetName()); + return; + } + if (targetClient == client) { psserver->SendSystemError(clientnum, "You can't challenge yourself."); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2009-01-05 08:45:29
|
Revision: 2813 http://planeshift.svn.sourceforge.net/planeshift/?rev=2813&view=rev Author: weltall2 Date: 2009-01-05 08:45:18 +0000 (Mon, 05 Jan 2009) Log Message: ----------- A client isn't a gemactor last time i've checked kougaro Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-01-05 08:39:42 UTC (rev 2812) +++ trunk/src/server/usermanager.cpp 2009-01-05 08:45:18 UTC (rev 2813) @@ -1845,7 +1845,7 @@ for(unsigned int i=0; i< closegroupmembers.GetSize(); i++) { closegroupmembers[i]->GetCharacterData()->AdjustMoney(eachmoney, false); - psserver->GetCharManager()->SendPlayerMoney(closegroupmembers[i]); + psserver->GetCharManager()->SendPlayerMoney(closegroupmembers[i]->GetClient()); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ven...@us...> - 2009-01-18 05:42:08
|
Revision: 2897 http://planeshift.svn.sourceforge.net/planeshift/?rev=2897&view=rev Author: Vengeance2001 Date: 2009-01-18 05:41:58 +0000 (Sun, 18 Jan 2009) Log Message: ----------- Committing a fix by Nick Prassas (Loyni) for bug 2402. Thanks Nick! Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-01-15 11:49:00 UTC (rev 2896) +++ trunk/src/server/usermanager.cpp 2009-01-18 05:41:58 UTC (rev 2897) @@ -1618,6 +1618,19 @@ return; } + // bug PS#2402 - Command /assist can be used to determine enemy's target. + // Add check for actors in the same guild. + if ( (client->GetGuildID() == 0) || (client->GetGuildID() != targetClient->GetGuildID()) ) + { + // Add check for grouped actors + int nGID = client->GetActor()->GetGroupID(); + if ( (nGID == 0) || (nGID != targetClient->GetActor()->GetGroupID()) ) + { + psserver->SendSystemInfo( clientnum,"You can only assist members of your guild or players you're grouped with." ); + return; + } + } + gemObject* targetObject = targetClient->GetTargetObject(); if(!targetObject) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2009-01-21 19:03:24
|
Revision: 2927 http://planeshift.svn.sourceforge.net/planeshift/?rev=2927&view=rev Author: weltall2 Date: 2009-01-21 19:03:14 +0000 (Wed, 21 Jan 2009) Log Message: ----------- Added pid: in /pos extended output fixing PS#2680 - pos and info have differnet pos output, original patch by caarrie reworked by me Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-01-21 17:11:41 UTC (rev 2926) +++ trunk/src/server/usermanager.cpp 2009-01-21 19:03:14 UTC (rev 2927) @@ -1448,12 +1448,15 @@ { // Get the region this sector belongs to csString region_name = (sector) ? sector->QueryObject()->GetObjectParent()->GetName() : "(null)"; + csString idtxt; //holds the pid data if present + if(object->GetActorPtr()) //check if it's an actor else just don't add the pid: entry + idtxt.Format(", pid: %u",object->GetPID().Unbox()); //adds the pid: entry to the end of the output int degrees = (int)(angle*180.0/PI); psserver->SendSystemInfo(clientnum, - "%s current position is region: %s %1.2f %1.2f %1.2f %d angle: %d, sector : %s%s", + "%s current position is region: %s %1.2f %1.2f %1.2f %d angle: %d, sector : %s%s%s", name.GetData(), region_name.GetData(), pos.x, pos.y, pos.z, instance, degrees, - sector_name.GetData(), range.GetData()); + sector_name.GetData(), range.GetData(), idtxt.GetDataSafe()); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-01-21 19:27:01
|
Revision: 2933 http://planeshift.svn.sourceforge.net/planeshift/?rev=2933&view=rev Author: kennygraunke Date: 2009-01-21 19:26:57 +0000 (Wed, 21 Jan 2009) Log Message: ----------- Switched use of Unbox() to ShowID(): - Show() and ShowID() are for human readable messages; - Unbox() is only meant for DB queries, conversions, or other times when you really need the raw integer. Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-01-21 19:11:24 UTC (rev 2932) +++ trunk/src/server/usermanager.cpp 2009-01-21 19:26:57 UTC (rev 2933) @@ -1448,9 +1448,10 @@ { // Get the region this sector belongs to csString region_name = (sector) ? sector->QueryObject()->GetObjectParent()->GetName() : "(null)"; - csString idtxt; //holds the pid data if present - if(object->GetActorPtr()) //check if it's an actor else just don't add the pid: entry - idtxt.Format(", pid: %u",object->GetPID().Unbox()); //adds the pid: entry to the end of the output + // If it's an actor, append their PID to the output. + csString idtxt; + if (object->GetActorPtr()) + idtxt.Format(", %s", ShowID(object->GetPID())); int degrees = (int)(angle*180.0/PI); psserver->SendSystemInfo(clientnum, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ko...@us...> - 2009-04-10 07:22:28
|
Revision: 3429 http://planeshift.svn.sourceforge.net/planeshift/?rev=3429&view=rev Author: kougaro Date: 2009-04-10 07:22:27 +0000 (Fri, 10 Apr 2009) Log Message: ----------- Add emote logging for PS#2789 - Patch by Loyni Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-04-09 23:04:04 UTC (rev 3428) +++ trunk/src/server/usermanager.cpp 2009-04-10 07:22:27 UTC (rev 3429) @@ -265,17 +265,28 @@ void UserManager::Emote(csString general, csString specific, csString animation, Client *client) { + csString cssText(""); if (client->GetTargetObject() && (client->GetTargetObject() != client->GetActor())) - { - psSystemMessage newmsg(client->GetClientNum(), MSG_INFO_BASE, specific, client->GetActor()->GetName(), client->GetTargetObject()->GetName()); - newmsg.Multicast(client->GetActor()->GetMulticastClients(), 0, CHAT_SAY_RANGE); - } + cssText.Format(specific, client->GetActor()->GetName(), client->GetTargetObject()->GetName()); else + cssText.Format(general, client->GetActor()->GetName()); + + // retrive priximity list + csArray<PublishDestination>& clients = client->GetActor()->GetMulticastClients(); + + // Create and multicast the message + psSystemMessage newmsg(client->GetClientNum(), MSG_INFO_BASE, cssText.GetData()); + newmsg.Multicast(clients, 0, CHAT_SAY_RANGE); + + // Save message to clients chat history meeting SAY range (PS#2789) + for (size_t i = 0; i < clients.GetSize(); i++) { - psSystemMessage newmsg(client->GetClientNum(), MSG_INFO_BASE, general, client->GetActor()->GetName()); - newmsg.Multicast(client->GetActor()->GetMulticastClients(), 0, CHAT_SAY_RANGE); + Client *target = psserver->GetConnections()->Find(clients[i].client); + if (target && clients[i].dist < CHAT_SAY_RANGE) + target->GetActor()->LogLine(cssText.GetData()); // No special formatting for emotes. we use gemActor::LogLine directly } + // Send animation message, if animation is set if (animation != "noanim") { psUserActionMessage anim(client->GetClientNum(), client->GetActor()->GetEID(), animation); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ko...@us...> - 2009-04-10 08:05:22
|
Revision: 3431 http://planeshift.svn.sourceforge.net/planeshift/?rev=3431&view=rev Author: kougaro Date: 2009-04-10 08:05:20 +0000 (Fri, 10 Apr 2009) Log Message: ----------- Fix typo in usermanager, found by Loyni Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-04-10 07:24:42 UTC (rev 3430) +++ trunk/src/server/usermanager.cpp 2009-04-10 08:05:20 UTC (rev 3431) @@ -141,7 +141,7 @@ userCommandHash.Put("/die", &UserManager::HandleDie); userCommandHash.Put("/guard", &UserManager::HandleGuard); userCommandHash.Put("/loot", &UserManager::HandleLoot); - userCommandHash.Put("/marriage", &UserManager::ReportPosition); + userCommandHash.Put("/marriage", &UserManager::HandleMarriage); userCommandHash.Put("/motd", &UserManager::GiveMOTD); userCommandHash.Put("/npcmenu", &UserManager::ShowNpcMenu); userCommandHash.Put("/pickup", &UserManager::HandlePickup); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ko...@us...> - 2009-04-19 07:12:49
|
Revision: 3504 http://planeshift.svn.sourceforge.net/planeshift/?rev=3504&view=rev Author: kougaro Date: 2009-04-19 07:12:47 +0000 (Sun, 19 Apr 2009) Log Message: ----------- Correct a bug where the wrong gemItem was checked to go through an entrance Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-04-19 05:46:13 UTC (rev 3503) +++ trunk/src/server/usermanager.cpp 2009-04-19 07:12:47 UTC (rev 3504) @@ -705,7 +705,7 @@ // Check range csWeakRef<gemObject> gem = client->GetActor(); - csWeakRef<gemObject> gemAction = action->GetGemObject(); + csWeakRef<gemObject> gemAction = action->GetRealItem(); if (gem.IsValid() && gemAction.IsValid() && gem->RangeTo(gemAction, false) > RANGE_TO_SELECT) { psserver->SendSystemError(client->GetClientNum(), "You are no longer in range to do this."); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-05-14 23:54:53
|
Revision: 3691 http://planeshift.svn.sourceforge.net/planeshift/?rev=3691&view=rev Author: kennygraunke Date: 2009-05-14 23:54:45 +0000 (Thu, 14 May 2009) Log Message: ----------- - Ignore instance in range to AL entrances. Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-05-14 23:28:43 UTC (rev 3690) +++ trunk/src/server/usermanager.cpp 2009-05-14 23:54:45 UTC (rev 3691) @@ -708,7 +708,7 @@ // Check range csWeakRef<gemObject> gemAction = action->GetGemObject(); - if (gemAction.IsValid() && actor->RangeTo(gemAction, false) > RANGE_TO_SELECT) + if (gemAction.IsValid() && actor->RangeTo(gemAction, false, true) > RANGE_TO_SELECT) { psserver->SendSystemError(client->GetClientNum(), "You are no longer in range to do this."); return; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ko...@us...> - 2009-05-17 00:10:41
|
Revision: 3705 http://planeshift.svn.sourceforge.net/planeshift/?rev=3705&view=rev Author: kougaro Date: 2009-05-17 00:10:31 +0000 (Sun, 17 May 2009) Log Message: ----------- This message is an error, changing it Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-05-16 21:25:34 UTC (rev 3704) +++ trunk/src/server/usermanager.cpp 2009-05-17 00:10:31 UTC (rev 3705) @@ -2207,7 +2207,7 @@ if (!canYield) { - psserver->SendSystemOK(client->GetClientNum(), "You have no opponents to yield to!"); + psserver->SendSystemError(client->GetClientNum(), "You have no opponents to yield to!"); return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ko...@us...> - 2009-05-17 03:47:08
|
Revision: 3710 http://planeshift.svn.sourceforge.net/planeshift/?rev=3710&view=rev Author: kougaro Date: 2009-05-17 03:47:04 +0000 (Sun, 17 May 2009) Log Message: ----------- Removing unnecessary, excessive nesting Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-05-17 03:26:09 UTC (rev 3709) +++ trunk/src/server/usermanager.cpp 2009-05-17 03:47:04 UTC (rev 3710) @@ -1090,27 +1090,25 @@ if(client->GetActor()) clientEID = client->GetActor()->GetEID(); - if(charGuild) + if(!charGuild) + return; + + for(size_t i = 0; i < charGuild->members.GetSize(); i++) { - for(size_t i = 0; i < charGuild->members.GetSize(); i++) + psCharacter *notifiedmember = charGuild->members[i]->actor; + gemActor *notifiedactor = notifiedmember? notifiedmember->GetActor() : NULL; + + if(notifiedactor && notifiedmember && (charGuild->members[i]->char_id != char_id) + && notifiedmember->IsGettingGuildNotifications()) { - psCharacter *notifiedmember = charGuild->members[i]->actor; - gemActor *notifiedactor = notifiedmember? notifiedmember->GetActor() : NULL; + csString text; + if (logged_in) + text.Format("/me just joined PlaneShift"); + else + text.Format("/me has quit"); - if(notifiedactor && notifiedmember && (charGuild->members[i]->char_id != char_id)) - { - if(notifiedmember->IsGettingGuildNotifications()) - { - csString text; - if (logged_in) - text.Format("/me just joined PlaneShift"); - else - text.Format("/me has quit"); - - psChatMessage guildmsg(notifiedactor->GetClientID(), clientEID, name.GetData(),0,text,CHAT_GUILD, false); - guildmsg.SendMessage(); - } - } + psChatMessage guildmsg(notifiedactor->GetClientID(), clientEID, name.GetData(),0,text,CHAT_GUILD, false); + guildmsg.SendMessage(); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ko...@us...> - 2009-07-16 14:09:50
|
Revision: 4032 http://planeshift.svn.sourceforge.net/planeshift/?rev=4032&view=rev Author: kougaro Date: 2009-07-16 14:09:46 +0000 (Thu, 16 Jul 2009) Log Message: ----------- forbid player mounting for now, corrects an error message Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-07-16 13:47:28 UTC (rev 4031) +++ trunk/src/server/usermanager.cpp 2009-07-16 14:09:46 UTC (rev 4032) @@ -1874,11 +1874,11 @@ mount = gem->FindObject(targetEID); - // can only mount actors - if (!mount || !mount->GetActorPtr()) + // can only mount mounts + if (!mount || !mount->GetActorPtr() || !mount->GetCharacterData()->IsMount()) { psserver->SendSystemError(client->GetClientNum(), - "Can't mount %s", msg.target.GetData()); + "Can't mount %s", mount->GetName()); return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ko...@us...> - 2009-07-16 16:16:28
|
Revision: 4033 http://planeshift.svn.sourceforge.net/planeshift/?rev=4033&view=rev Author: kougaro Date: 2009-07-16 16:16:08 +0000 (Thu, 16 Jul 2009) Log Message: ----------- small fix, plus code prepared for player mounting Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-07-16 14:09:46 UTC (rev 4032) +++ trunk/src/server/usermanager.cpp 2009-07-16 16:16:08 UTC (rev 4033) @@ -119,6 +119,32 @@ void HandleAnswer(const csString & answer); }; +/** A structure to hold the clients that are pending on mounting invite. +*/ +class PendingMountInvite : public PendingInvite +{ +public: + + PendingMountInvite(Client *inviter, + Client *invitee, + const char *question) + : PendingInvite( inviter, invitee, true, + question,"Accept","Decline", + "You have asked %s to be your mount.", + "You have been asked to be %s's mount.", + "%s has accepted to be your mount.", + "You have accepted to be %s's mount.", + "%s has declined your proposition.", + "You have declined %s's proposition.", + psQuestionMessage::generalConfirm) + { + } + + virtual ~PendingMountInvite() {} + + void HandleAnswer(const csString & answer); +}; + /***********************************************************************/ UserManager::UserManager(ClientConnectionSet *cs) @@ -1875,34 +1901,71 @@ mount = gem->FindObject(targetEID); // can only mount mounts - if (!mount || !mount->GetActorPtr() || !mount->GetCharacterData()->IsMount()) + if (!mount || !mount->GetActorPtr() || client->GetActor() == mount + || !mount->GetCharacterData()->IsMount()) //remove that last test to allow for player mounting { psserver->SendSystemError(client->GetClientNum(), "Can't mount %s", mount->GetName()); return; } - // maybe also add a range check if(!client->GetActor()->IsNear(mount, RANGE_TO_USE)) { psserver->SendSystemError(client->GetClientNum(), "You are too far away from the mount"); return; } + + Client *targetClient = mount->GetClient(); + if(targetClient) + { + csString question; + question.Format("You have been asked to be %s's mount. Do you accept?", + client->GetName() ); + PendingMountInvite *invite = new PendingMountInvite(client, + targetClient, + question); + psserver->questionmanager->SendQuestion(invite); + return; + } // If you are not the rider(passenger), you shouldn't be allowed to move // client->GetActor()->SetAllowedToMove(false); - - if(client->GetActor()->SetMount(mount->GetActorPtr(), true)) - { - psserver->SendSystemOK(client->GetClientNum(), - "You are mounting %s", msg.target.GetData()); - } + Mount(client->GetActor(), mount->GetActorPtr()); return; } +void PendingMountInvite::HandleAnswer(const csString & answer) +{ + Client * client = psserver->GetConnections()->Find(clientnum); + gemActor *mount = client->GetActor(); + Client * inviterClient = psserver->GetConnections()->Find(inviterClientNum); + gemActor *rider = inviterClient->GetActor(); + + if (!mount || !rider) + return; + + PendingInvite::HandleAnswer(answer); + + if (answer == "yes") + if(!rider->SetMount(mount, true)) + return; +} + +void UserManager::Mount(gemActor *rider, gemActor *mount) +{ + if(rider->SetMount(mount, true)) + psserver->SendSystemOK(rider->GetClientID(), + "You are mounting %s", mount->GetName()); + else + psserver->SendSystemError(rider->GetClientID(), + "Could not mount %s", mount->GetName()); + + return; +} + void UserManager::HandleUnmount(psUserCmdMessage& msg, Client *client) { //client->GetActor()->SetAllowedToMove(true); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2009-07-17 10:57:27
|
Revision: 4048 http://planeshift.svn.sourceforge.net/planeshift/?rev=4048&view=rev Author: weltall2 Date: 2009-07-17 10:57:25 +0000 (Fri, 17 Jul 2009) Log Message: ----------- Fixed PS#2820 - Bad error message Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-07-17 09:33:32 UTC (rev 4047) +++ trunk/src/server/usermanager.cpp 2009-07-17 10:57:25 UTC (rev 4048) @@ -1862,20 +1862,24 @@ if (eID.IsValid()) { object = gem->FindObject(eID); - if (object && object->GetItem()) + if (object) { - object->SendBehaviorMessage("pickup", client->GetActor() ); + if(object->GetItem()) + object->SendBehaviorMessage("pickup", client->GetActor() ); + else + psserver->SendSystemError(client->GetClientNum(), + "You can't pickup objects which aren't items"); } else { psserver->SendSystemError(client->GetClientNum(), - "Item not found %s", target.GetData()); + "Object not found %s", target.GetData()); } } } else psserver->SendSystemError(client->GetClientNum(), - "Item not found %s", target.GetData()); + "Object not found %s", target.GetData()); } void UserManager::HandleMount(psUserCmdMessage& msg, Client *client) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2009-08-11 08:54:06
|
Revision: 4205 http://planeshift.svn.sourceforge.net/planeshift/?rev=4205&view=rev Author: mgist Date: 2009-08-11 08:53:53 +0000 (Tue, 11 Aug 2009) Log Message: ----------- - Fixed chardata mix up. Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-08-10 23:25:38 UTC (rev 4204) +++ trunk/src/server/usermanager.cpp 2009-08-11 08:53:53 UTC (rev 4205) @@ -513,15 +513,15 @@ if (!charData->impervious_to_attack && actor->GetMode() != PSCHARACTER_MODE_DEAD && !isSelf) { // Begin by gathering stats. We will get overall strength for physical and magical and also a comparison. - int myPhysical = charData->GetCharLevel(true); - int myMagical = charData->GetCharLevel(false); - int theirPhysical = client->GetCharacterData()->GetCharLevel(true); - int theirMagical = client->GetCharacterData()->GetCharLevel(false); + int myPhysical = client->GetCharacterData()->GetCharLevel(true); + int myMagical = client->GetCharacterData()->GetCharLevel(false); + int theirPhysical = charData->GetCharLevel(true); + int theirMagical = charData->GetCharLevel(false); /* TODO (needs extra work to determine direction of inaccuracy) // Intellect is weighed against charisma. int myIntellect = playerAttr[PSITEMSTATS_STAT_INTELLIGENCE].Current(); - int opponentCharisma = client->GetCharacterData()->Stats().Get(PSITEMSTATS_STAT_CHARISMA).Current(); + int opponentCharisma = charData->Stats().Get(PSITEMSTATS_STAT_CHARISMA).Current(); // The difference between the two gives a bonus (or malus) to examination accuracy. int overallModifier = opponentCharisma - myIntellect; @@ -537,7 +537,7 @@ { int* difference = 0; int* modifier = 0; - Skill& mySkill = charData->Skills().Get((PSSKILL)i); + Skill& mySkill = client->GetCharacterData()->Skills().Get((PSSKILL)i); if(mySkill.info->category == PSSKILLS_CATEGORY_COMBAT) { @@ -555,7 +555,7 @@ } int mod = 0; - Skill& theirSkill = client->GetCharacterData()->Skills().Get((PSSKILL)i); + Skill& theirSkill = charData->Skills().Get((PSSKILL)i); if(mySkill.rank.Current() < theirSkill.rank.Current()) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2009-09-06 09:24:27
|
Revision: 4324 http://planeshift.svn.sourceforge.net/planeshift/?rev=4324&view=rev Author: weltall2 Date: 2009-09-06 09:24:19 +0000 (Sun, 06 Sep 2009) Log Message: ----------- made a fixed size buffer (probably done this way to optimize it) use the maximum size we allow for it at the end Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-09-06 09:10:11 UTC (rev 4323) +++ trunk/src/server/usermanager.cpp 2009-09-06 09:24:19 UTC (rev 4324) @@ -938,7 +938,7 @@ void UserManager::Who(psUserCmdMessage& msg, Client* client) { - csString message((size_t) 1024); + csString message((size_t) MAXSYSTEMMSGSIZE); csString headerMsg("Players Currently Online"); if (!msg.filter.IsEmpty()) @@ -1008,7 +1008,7 @@ if (curr->IsSuperClient() || !curr->GetActor()) return true; - csString temp((size_t) 1024); + csString temp((size_t) MAXSYSTEMMSGSIZE); csString playerName(curr->GetName()); csString guildTitle; csString guildName; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2009-09-18 22:05:12
|
Revision: 4440 http://planeshift.svn.sourceforge.net/planeshift/?rev=4440&view=rev Author: mgist Date: 2009-09-18 22:05:05 +0000 (Fri, 18 Sep 2009) Log Message: ----------- - Fix for removal of regions. Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-09-18 21:57:08 UTC (rev 4439) +++ trunk/src/server/usermanager.cpp 2009-09-18 22:05:05 UTC (rev 4440) @@ -1390,8 +1390,6 @@ // Report extra info to GMs (players will use skills to determine correct direction) if (extras) { - // Get the region this sector belongs to - csString region_name = (sector) ? sector->QueryObject()->GetObjectParent()->GetName() : "(null)"; // If it's an actor, append their PID to the output. csString idtxt; if (object->GetActorPtr()) @@ -1399,8 +1397,8 @@ int degrees = (int)(angle*180.0/PI); psserver->SendSystemInfo(client->GetClientNum(), - "%s current position is region: %s %1.2f %1.2f %1.2f %d angle: %d, sector : %s%s%s", - name.GetData(), region_name.GetData(), pos.x, pos.y, pos.z, instance, degrees, + "%s current position is: %1.2f %1.2f %1.2f %d angle: %d, sector : %s%s%s", + name.GetData(), pos.x, pos.y, pos.z, instance, degrees, sector_name.GetData(), range.GetData(), idtxt.GetDataSafe()); } else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2009-10-02 10:25:47
|
Revision: 4606 http://planeshift.svn.sourceforge.net/planeshift/?rev=4606&view=rev Author: weltall2 Date: 2009-10-02 10:25:41 +0000 (Fri, 02 Oct 2009) Log Message: ----------- fixed a bug with mount name display Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-10-02 10:02:10 UTC (rev 4605) +++ trunk/src/server/usermanager.cpp 2009-10-02 10:25:41 UTC (rev 4606) @@ -2072,13 +2072,13 @@ void UserManager::Mount(gemActor *rider, gemActor *mount) { - const char* mountName = mount->GetName(); + csString mountName = mount->GetName(); if(EntityManager::GetSingleton().AddRideRelation(rider, mount)) psserver->SendSystemOK(rider->GetClientID(), - "You are mounting %s", mountName); + "You are mounting %s", mountName.GetDataSafe()); else psserver->SendSystemError(rider->GetClientID(), - "Could not mount %s", mount->GetName()); + "Could not mount %s", mountName.GetDataSafe()); return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2009-11-28 20:55:17
|
Revision: 4811 http://planeshift.svn.sourceforge.net/planeshift/?rev=4811&view=rev Author: weltall2 Date: 2009-11-28 20:55:09 +0000 (Sat, 28 Nov 2009) Log Message: ----------- fixed PS#3438 - Cannot move on mount when overweight patch by tnachen Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-11-28 15:39:33 UTC (rev 4810) +++ trunk/src/server/usermanager.cpp 2009-11-28 20:55:09 UTC (rev 4811) @@ -1998,7 +1998,14 @@ void UserManager::HandleMount(psUserCmdMessage& msg, Client *client) { // Add some check to see if the player is allowed to mount - + + if (client->GetActor()->GetMode() == PSCHARACTER_MODE_OVERWEIGHT) + { + psserver->SendSystemError(client->GetClientNum(), + "You cannot mount when you are overweight."); + return; + } + gemObject* mount; GEMSupervisor *gem = GEMSupervisor::GetSingletonPtr(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ken...@us...> - 2009-11-29 06:49:33
|
Revision: 4821 http://planeshift.svn.sourceforge.net/planeshift/?rev=4821&view=rev Author: kennygraunke Date: 2009-11-29 06:49:27 +0000 (Sun, 29 Nov 2009) Log Message: ----------- Change message from "overweight" to "carrying too much" for consistency. Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-11-29 03:53:34 UTC (rev 4820) +++ trunk/src/server/usermanager.cpp 2009-11-29 06:49:27 UTC (rev 4821) @@ -1998,12 +1998,11 @@ void UserManager::HandleMount(psUserCmdMessage& msg, Client *client) { // Add some check to see if the player is allowed to mount - - if (client->GetActor()->GetMode() == PSCHARACTER_MODE_OVERWEIGHT) + + if (client->GetActor()->GetMode() == PSCHARACTER_MODE_OVERWEIGHT) { - psserver->SendSystemError(client->GetClientNum(), - "You cannot mount when you are overweight."); - return; + psserver->SendSystemError(client->GetClientNum(), "You cannot mount while carrying too much."); + return; } gemObject* mount; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2009-12-04 16:28:53
|
Revision: 4873 http://planeshift.svn.sourceforge.net/planeshift/?rev=4873&view=rev Author: weltall2 Date: 2009-12-04 16:28:14 +0000 (Fri, 04 Dec 2009) Log Message: ----------- you are now riding. Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-12-04 14:45:32 UTC (rev 4872) +++ trunk/src/server/usermanager.cpp 2009-12-04 16:28:14 UTC (rev 4873) @@ -2081,7 +2081,7 @@ csString mountName = mount->GetName(); if(EntityManager::GetSingleton().AddRideRelation(rider, mount)) psserver->SendSystemOK(rider->GetClientID(), - "You are mounting %s", mountName.GetDataSafe()); + "You are riding %s", mountName.GetDataSafe()); else psserver->SendSystemError(rider->GetClientID(), "Could not mount %s", mountName.GetDataSafe()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2009-12-13 06:14:02
|
Revision: 4955 http://planeshift.svn.sourceforge.net/planeshift/?rev=4955&view=rev Author: weltall2 Date: 2009-12-13 06:13:53 +0000 (Sun, 13 Dec 2009) Log Message: ----------- fixed a logic problem Modified Paths: -------------- trunk/src/server/usermanager.cpp Modified: trunk/src/server/usermanager.cpp =================================================================== --- trunk/src/server/usermanager.cpp 2009-12-12 20:39:27 UTC (rev 4954) +++ trunk/src/server/usermanager.cpp 2009-12-13 06:13:53 UTC (rev 4955) @@ -2001,7 +2001,7 @@ // can only mount mounts if (!mount || !mount->GetActorPtr() || client->GetActor() == mount - || (!mount->GetCharacterData()->IsMount() && (!client->IsGM() && !mount->GetCharacterData()->IsNPC()))) //remove that last test to allow for player mounting + || (!mount->GetCharacterData()->IsMount() && (!client->IsGM() || !mount->GetCharacterData()->IsNPC()))) //remove that last test to allow for player mounting { psserver->SendSystemError(client->GetClientNum(), "Can't mount %s", mount->GetName()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |