void TangibleObjectImplementation::broadcastPvpStatusBitmask() {
	if (getZone() == NULL)
			return;

	if (closeobjects != NULL) {
		Zone* zone = getZone();

		CreatureObject* thisCreo = asCreatureObject();

		SortedVector<ManagedReference<QuadTreeEntry*> > closeObjects(closeobjects->size(), 10);

		closeobjects->safeCopyTo(closeObjects);

		for (int i = 0; i < closeObjects.size(); ++i) {
			SceneObject* obj = cast<SceneObject*>(closeObjects.get(i).get());

			if (obj != NULL && obj->isCreatureObject()) {
				CreatureObject* creo = obj->asCreatureObject();

				sendPvpStatusTo(creo);

				if (thisCreo != NULL)
					creo->sendPvpStatusTo(thisCreo);
			}

		}
	}
}
void TangibleObjectImplementation::sendBaselinesTo(SceneObject* player) {
	info("sending tano baselines");

	Reference<TangibleObject*> thisPointer = asTangibleObject();

	BaseMessage* tano3 = new TangibleObjectMessage3(thisPointer);
	player->sendMessage(tano3);

	BaseMessage* tano6 = new TangibleObjectMessage6(thisPointer);
	player->sendMessage(tano6);

	if (player->isPlayerCreature())
		sendPvpStatusTo(player->asCreatureObject());
}
void InstallationObjectImplementation::sendBaselinesTo(SceneObject* player) {
	//send buios here

	BaseMessage* buio3 = new InstallationObjectMessage3(_this.get());
	player->sendMessage(buio3);

	BaseMessage* buio6 = new InstallationObjectMessage6(_this.get());
	player->sendMessage(buio6);


	if((this->isTurret() || isMinefield()) && player->isCreatureObject()){
			sendPvpStatusTo(cast<CreatureObject*>(player));
	}

}