En la clase Room tenemos los siguientes métodos:
void reportAction ( Entity source /*$1*/ , Entity target /*$2*/ , Entity[] objects /*$3..$n*/ , String thirdPersonDes , String sufferDes , String execDes , boolean self_included ) void reportAction ( Entity source /*$1*/ , Entity target /*$2*/ , Entity[] objects /*$3..$n*/ , String thirdPersonDes , String sufferDes , String execDes , String style , boolean self_included )
Informa a todos los jugadores presentes en la habitación de un suceso que se ha producido, donde:
source
es el sujeto del suceso (por ejemplo, Juan),target
es el objeto del suceso (por ejemplo, un goblin),objects
son otras entidades que hayan intervenido en el suceso (por ejemplo, una espada),thirdPersonDes
es la descripción en tercera persona con los objetos parametrizados con $1 (sujeto), $2 (objeto), $3…$n (resto). Por ejemplo: “$1 ataca a $2 con $3”.sufferDes
es la descripción que se mostrará al objeto del suceso (“$1 te ataca con $3”).execDes
es la descripción que es mostrará al sujeto del suceso (“Atacas a $1 con $3”).style
permite especificar un estilo (color) para mostrar el texto a los jugadores (puede ser “story”, “description”, “action”, etc.)self_included
: si es true, se muestra el texto también para el sujeto, si no, sólo para el resto de jugadores/criaturas.void reportActionAuto ( Entity source /*$1*/ , Entity target /*$2*/ , Entity[] objects /*$3..$n*/ , String thirdPersonDes , boolean self_included ) void reportActionAuto ( Entity source /*$1*/ , Entity target /*$2*/ , Entity[] objects /*$3..$n*/ , String thirdPersonDes , String style , boolean self_included )
Hace lo mismo que reportAction; pero sólo proporcionamos la descripción en tercera persona y AGE intenta generar las otras dos mediante sus tablas de “tercera a segunda”. Utilizar sólo en los dos casos siguientes:
En la clase Item tenemos los siguientes métodos:
void reportAction ( Entity source /*$1*/ , Entity target /*$2*/ , Entity[] objects /*$3..$n*/ , String thirdPersonDes , String sufferDes , String execDes , boolean self_included ) void reportAction ( Entity source /*$1*/ , Entity target /*$2*/ , Entity[] objects /*$3..$n*/ , String thirdPersonDes , String sufferDes , String execDes , String style , boolean self_included ) void reportActionAuto ( Entity source /*$1*/ , Entity target /*$2*/ , Entity[] objects /*$3..$n*/ , String thirdPersonDes , boolean self_included ) void reportActionAuto ( Entity source /*$1*/ , Entity target /*$2*/ , Entity[] objects /*$3..$n*/ , String thirdPersonDes , String style , boolean self_included )
Funcionan exactamente igual que los de la clase Room, y lo que hacen es mostrar la notificación en todas las habitaciones en las que esté el Item dado.
No hay métodos específicos en la clase Mobile, ya que una criatura siempre está en una sola habitación, fácilmente accesible mediante getRoom(). Por lo tanto, podemos hacer estas notificaciones fácilmente así:
elMobile.getRoom().informAction(…)
elMobile.getRoom().informActionAuto(…)