All pastes #1808842 Raw Edit

Miscellany

public text v1 · immutable
#1808842 ·published 2010-02-25 01:06 UTC
rendered paste body
From b1f840ced03588fb0df3274a80c32d283aeebe4e Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Thu, 25 Feb 2010 02:59:07 +0200
Subject: [PATCH] Fix party bugs from commit f6d50d0cbe12f8799e6fec844816defc8711df37

---
 src/party.cpp |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/src/party.cpp b/src/party.cpp
index 3987f0f..b41a5cc 100644
--- a/src/party.cpp
+++ b/src/party.cpp
@@ -26,16 +26,34 @@
 PartyMember::PartyMember(Party *party, int id, const std::string &name):
         Avatar(name), mId(id), mParty(party), mLeader(false)
 {
+    if (beingManager)
+    {
+        Player *player = dynamic_cast<Player*>(beingManager->findBeing(id));
+        if (player)
+            player->setParty(party);
+    }
 }
 
 PartyMember::PartyMember(Party *party, int id):
         mId(id), mParty(party), mLeader(false)
 {
+    if (beingManager)
+    {
+        Player *player = dynamic_cast<Player*>(beingManager->findBeing(id));
+        if (player)
+            player->setParty(party);
+    }
 }
 
 PartyMember::PartyMember(Party *party, const std::string &name):
         Avatar(name), mParty(party), mLeader(false)
 {
+    if (beingManager)
+    {
+        Player *player = dynamic_cast<Player*>(beingManager->findBeingByName(name, Being::PLAYER));
+        if (player)
+            player->setParty(party);
+    }
 }
 
 Party::PartyMap Party::parties;
-- 
1.7.0