\b;Tipo \c;object\n;
Use este tipo para variáveis que contém as características de um objeto, seja ele um robô, um edifício, alguma matéria prima, um inimigo, etc. Aqui estão todas as propriedades de um objeto:

\c;\l;int\u cbot\int;    object.category     \n;\l;Categoria\u cbot\category; do objeto
\c;\l;point\u cbot\point;  object.position     \n;Posição do objeto (x,y,z)
\c;\l;float\u cbot\float;  object.orientation  \n;Orientação do objeto (0..360)
\c;\l;float\u cbot\float;  object.pitch        \n;Ângulo de avanço / retrocesso do objeto
\c;\l;float\u cbot\float;  object.roll         \n;Ângulo direito / esquerdo do objeto 
\c;\l;float\u cbot\float;  object.energyLevel  \n;Nível de energia (0..1)
\c;\l;float\u cbot\float;  object.shieldLevel  \n;Nível do escudo (0..1)
\c;\l;float\u cbot\float;  object.temperature  \n;Temperatura do jato (0..1)
\c;\l;float\u cbot\float;  object.altitude     \n;Altitude acima do chão
\c;\l;float\u cbot\float;  object.lifeTime     \n;Tempo de vida do objeto
\c;object object.energyCell   \n;Célula de energia do robô
\c;object object.load         \n;Objeto carregado pelo robô
\c;\l;int\u cbot\int;    object.team         \n;A equipe do objeto (veja \l;códigos de batalhas\u battles;)
\c;\l;point\u cbot\point;  object.velocity     \n;Velocidade do objeto
\c;\l;bool\u cbot\bool;   object.dead         \n;O objeto está morto?

Além diso, alguns objetos possuem métodos adicionais (instruções). Veja eles na \l;lista principal\u cbot;, na seção \c;"Instruções especificas para alguns objetos".

\s;\c;category\n;
A \n;\l;categoria\u cbot\category; de um objeto permite a você conhecer o que ele é, por exemplo, qual tipo de robô, edifício, inimigo, etc.

\s;\c;position\n;
Posição do objeto no planeta, em metros. As coordenadas \c;x\n; e \c;y\n; correspondem ao local no mapa, a coordenada \c;z\n; corresponde a altitude acima (respectivamente abaixo) no nível do mar.

\s;\c;orientation\n;
Orientação do objeto, em graus. A orientação diz a você qual a direção que o objeto está apontando. Uma orientação de \c;0\n;corresponde a um objeto virado para o leste, sendo assim, seguindo o eixo positivo \c;x\n;. A orientação é medida em sentido anti-horário. 

\s;\c;pitch\n;
Ângulo para frente / para trás do robô. Um pitch de \c;0\n; significa que o robô está em solo plano. Uma inclinação positiva significa que ele está olhando para cima, uma inclinação negativa significa que ele está olhando para baixo.

\s;\c;roll\n;
Ângulo direito / esquerdo do robô, em graus. Um valor positivo significa que o robô está inclinado para o lado esquerdo, um valor negativo significa que o robô está inclinado para o lado direito.

\s;\c;energyLevel\n;
Nível de energia, entre 0 e 1. Uma \l;célula de energia\u object\power; normal que está totalmente carregada retorna o valor \c;1\n;. Uma \l;célula de energia nuclear\u object\atomic;  nunca retorna um valor maior que 1, ela apenas dura mais. Atenção: o nível de energia de um robô é sempre zero, porque a energia não está no robô, mas sim na célula de energia. Para saber o nível de energia que resta na célula de um robô, você deve escrever \c;energyCell.energyLevel\n;. 

\s;\c;shieldLevel\n;
Nível de escudo de um robô ou edifício. Um nível com valor \c;1\n; indica que o escudo está perfeito. Cada vez que um robô ou edifício leva dano por balas ou colisão com outros objetos. o nível do escudo diminui. Quando o nível atinge  \c;0\n;, a próxima bala ou colisão destruirá o robô ou edifício. 
Robôs podem reenergizar seus escudos em um \l;centro de reparo\u object\repair;. O escudo de um edifício é reparado se ele estiver dentro da esfera de proteção de um  \l;protetor\u object\botshld;.

\s;\c;temperature\n;
Temperatura do jato de \l;robôs alados\u object\botgj;. \c;0\n; corresponde a um jato frio. Quando usado, a temperatura aumenta progressivamente. Quando ela atinge o valor \c;1\n;, o jato está superaquecido e para de funcionar, até que ele esfrie um pouco.

\s;\c;altitude\n;
A coordenada \c;z\n; da posição indica a altitude acima do nível do mar, enquando a  \c;altitude\n; indica a altura acima do chão. Este valor só é útil para \l;robôs alados\u object\botgj; e para \l;vespas\u object\wasp;.  Para todos os outros objetos, este valor é zero.

\s;\c;lifeTime\n;
A idade de um objeto em segundos desde a sua criação.

\s;\c;energyCell\n;
Está informação é especial, porque ela retorna a informação sobre outro objeto, neste caso o pacote de energia. Isto significa que uma energyCell contém todas as características de um objeto normal, por exemplo \c;category\n; (PowerCell ou NuclearCell), \c;position\n; (a posição da célula), etc.
Se você quer saber o nível de energia de um robô, você deve checar o \c;energyLevel\n;, escrevendo \c;energyCell.energyLevel\n;.
Se o robô não tiver uma célula de energia, \c;energyCell\n; retorna \c;null\n;.

\s;\c;load\n;
Esta informação também retorna a descrição de um objeto completo: a descrição do objeto carregado por um \l;agarrador\u object\botgr;. Se ele não carrega nada, \c;load\n; retorna \c;null\n;.

\s;\c;team\n;
A equipe do robô. Usada em \l;batalhas de código\u battles;. Se o objeto não tem equipe atribuída (isto é, em nenhum nível de equipe, o objeto sendo um recurso), isto é igual a \c;0\n;.

\s;\c;velocity\n;
Velocidade atual do objeto. Deve ser tratada como um vetor de três dimensões.

\s;\c;dead\n;
True se o objeto foi morto recentemente (enquanto a animação de morte está sendo reproduzida). Observe que acessar essa propriedade ou qualquer outra propriedade após a conclusão da animação de morte causará um erro que interromperá o programa.

\b;Exemplos
O tipo \c;object\n; retorna o valor especial \c;\l;null\u cbot\null;\n;quando o objeto não existe. Por exemplo:
\c;
\s;	object a;
\s;	a = radar(BotGrabberRoller);
\s;	if ( a == null )  // objeto não existe?
\s;	{
\s;	}
\s;	if ( a.position.z > 50 )  // está em uma montanha?
\s;	{
\s;	}
\n;

\t;Veja também
\l;Programação\u cbot;, \l;tipos\u cbot\type; e \l;categorias\u cbot\category;.

