void CampRegion::onObjectLeave(Object* object) { if (object->getType() != ObjType_Player) { return; } if(object->getId() == mOwnerId) { mAbandoned = true; //We want to have this camp die after the owner has been gone longer //than he stayed in the camp, with a max of two minutes. uint64 mTempCurrentTime = gWorldManager->GetCurrentGlobalTick(); if((mTempCurrentTime - mSetUpTime) > 120000) { mExpiresTime = mTempCurrentTime + 120000; } else { mExpiresTime = mTempCurrentTime + (mTempCurrentTime - mSetUpTime); } } else { PlayerObject* player = dynamic_cast<PlayerObject*>(object); std::string text = "You have left " + this->getCampOwnerName() + "'s camp."; gMessageLib->SendSystemMessage(std::wstring(text.begin(), text.end()).c_str(), player); } removeVisitor(object); }
void City::onObjectLeave(Object* object) { PlayerObject* player = (PlayerObject*)object; //if(player->getCityRegionId() == this->getId()) //player->setCityRegionId(0); removeVisitor(object); DLOG(INFO) << player->getFirstName().getAnsi() << " left " << mCityName << " (" << mVisitingPlayers.size() << " players in city)"; }