1 package cz.cuni.amis.pogamut.ut2004.bot.command; 2 3 import java.util.logging.Logger; 4 5 import cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004Bot; 6 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands.Configuration; 7 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands.SetSkin; 8 9 /** 10 * Class providing Pogamut2 UT2004 configure commands. Changing of the bot 11 * attributes like name, speed, etc. Changing the bot appearance. 12 * 13 * @author Michal 'Knight' Bida 14 */ 15 public class ConfigureCommands extends BotCommands { 16 17 /** 18 * Changes the configuration of the bot. How to use this. First you need to 19 * create your own Pogamut GB configuration command, you need to import 20 * cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands.*; Then 21 * create your own Configuration command with new, set the fields you want 22 * to change and then use this method to send it to UT2004. 23 * 24 * Example: Configuration conf = new Configuration(); 25 * conf.setName("MyName"); configure(conf); 26 * 27 * Note: The Id parameter cannot be changed, it is there for control server, 28 * so the server can configure the bots by the Id. Also some other 29 * configuration parameters may only be set when the game features 30 * particular rules (e.g. you cannot set invulnerability of the bot, when 31 * the cheating is off). See help in the documentation of Configuration 32 * command. 33 * 34 * (issues GB CONF command) 35 * 36 * @param config 37 * Actual Pogamut GB Configuration command. Set all desired 38 * fields you want to change. 39 * 40 */ 41 public void configure(Configuration config) { 42 agent.getAct().act(config); 43 } 44 45 /** 46 * Changes the bot appearance. Note that the bot will respawn after this 47 * command so the change of the skin can be visible. 48 * 49 * Set the appearance through skin attribute (e.g. "HumanMaleA.MercMaleA"). 50 * Find all packages and skins through unrealEd (Actor browser, search in 51 * UT2004/Animations folder) or look in GB user documentation on the web. 52 * Supported bot skins are Aliens (Aliens.), Bots (Bot.), human males 53 * (HumanMaleA.), human females (HumanFemaleA. ), juggernauts (Jugg.). 54 * Skaarj skins are not supported at the time being. 55 * 56 * (issues GB SETSKIN command) 57 * 58 * @param skin 59 * New desired skin of the bot. 60 * 61 */ 62 public void setBotAppearance(String skin) { 63 agent.getAct().act(new SetSkin().setSkin(skin)); 64 } 65 66 /** 67 * Constructor. Setups the command module based on given agent and logger. 68 * 69 * @param agent 70 * AbstractUT2004Bot we will send commands for 71 * @param log 72 * Logger to be used for logging runtime/debug info. 73 */ 74 public ConfigureCommands(UT2004Bot agent, Logger log) { 75 super(agent, log); 76 } 77 78 }