Changeset 3539
- Timestamp:
- 02/07/10 12:18:14 (6 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/twcore/src/twcore/bots/multibot/betrayal/betrayal.java
r3530 r3539 18 18 19 19 Thanks to D1st0rt who gave me an idea to fix a problem I had with the bot. 20 Thanks to Dezmond who gave me the coords to all circles and tubes of map(5 circles, each circle has 4 tubes) 20 21 Thanks to everyone who helped me on tests. 22 21 23 */ 22 24 23 public class betrayal extends MultiModule { 25 public class betrayal extends MultiModule 26 { 24 27 25 28 private boolean betrayalGame = false; 26 27 29 private LinkedList<bannedinfo> bannedPlayer = new LinkedList<bannedinfo>(); 28 30 private Map<String, Integer> nameTK = new HashMap<String, Integer>(); //Map to Player and his tk number … … 40 42 } 41 43 42 public void handleEvent(PlayerDeath event){ 44 public void handleEvent(PlayerDeath event) 45 { 43 46 if(betrayalGame){ 44 47 … … 50 53 m_botAction.specWithoutLock(event.getKilleeID()); 51 54 m_botAction.sendArenaMessage(pkillee.getPlayerName()+" is out! "+deathPlayer+" deaths!"); 55 52 56 if(pkillee.getFrequency() != pkiller.getFrequency()){ 53 57 TimerTask checkWin = new TimerTask(){ //it'll check the winner. … … 92 96 93 97 bannedinfo playerBack = bannedPlayer.getFirst(); //works like a QUEUE, first entered, first who leaves from circle 94 m_botAction.setFreq(playerBack.getPlayerName(), playerBack.getFreq()); //sets back to old freq 95 m_botAction.warpTo(playerBack.getPlayerName(), playerBack.getOldX(), playerBack.getOldY()); //warps to some old tube's freq 96 nameTK.remove(playerBack.getPlayerName()); //resets tk number of player 97 bannedPlayer.remove(bannedPlayer.getFirst()); //removes him fom banned list(to stop depleting energy) 98 m_botAction.sendArenaMessage("Hope "+playerBack.getPlayerName()+" has learned his lesson! Back to some tube!"); 99 98 if(nameTK.containsKey(playerBack.getPlayerName())){ 99 m_botAction.setFreq(playerBack.getPlayerName(), playerBack.getFreq()); //sets back to old freq 100 m_botAction.warpTo(playerBack.getPlayerName(), playerBack.getOldX(), playerBack.getOldY()); //warps to some old tube's freq 101 nameTK.remove(playerBack.getPlayerName()); //resets tk number of player 102 bannedPlayer.remove(bannedPlayer.getFirst()); //removes him fom banned list(to stop depleting energy) 103 m_botAction.sendArenaMessage(playerBack.getPlayerName()+", get back to old frequence, playing or in spec!" ); 104 } 100 105 }catch(Exception e){} 101 106 } … … 110 115 }//betrayalgame 111 116 } 112 public void handleCommand(String nome, String message){ 117 public void handleCommand(String nome, String message) 118 { 113 119 try{ 114 120 if(message.startsWith("!start")) startBetrayal(nome, message); … … 119 125 120 126 } 121 public void warpMiddle(bannedinfo player){ 127 public void warpMiddle(bannedinfo player) 128 { 122 129 int oldX = -1, oldY = -1; 123 130 … … 191 198 } 192 199 //deixar start menor 193 public void startBetrayal(String nome, String message){ 200 public void startBetrayal(String nome, String message) 201 { 194 202 195 203 String commandStart, circle, TK, DEATH; //it'll analyze what the mod typed. if it is a standard start or customizable one … … 268 276 } 269 277 270 public void splitTeam(int freq, int X1, int Y1, int X2, int Y2){ 278 public void splitTeam(int freq, int X1, int Y1, int X2, int Y2) 279 { 271 280 272 281 Iterator<Player> freqIterator = m_botAction.getFreqPlayerIterator(freq); //we need an iterator to freq … … 303 312 } 304 313 305 public void changeCircle(String name, String message){ 314 public void changeCircle(String name, String message) 315 { 306 316 307 317 if(betrayalGame){ … … 347 357 } 348 358 349 public void checkWinner(){ 359 public void checkWinner() 360 { 350 361 if(betrayalGame){ 351 362 … … 367 378 } 368 379 369 public void stopBetrayal(String name, String message){ 380 public void stopBetrayal(String name, String message) 381 { 370 382 if(betrayalGame){ 371 383 m_botAction.cancelTasks(); … … 380 392 } 381 393 382 public int countPlayers(){ 394 public int countPlayers() 395 { 383 396 Iterator<Player> i = m_botAction.getPlayingPlayerIterator(); 384 397 int numplayers = 0; … … 387 400 } 388 401 389 public void sendRules(){ 402 public void sendRules() 403 { 390 404 m_botAction.sendArenaMessage("Rules: It's a javelin game!",2); 391 405 m_botAction.sendArenaMessage("There will be two teams, each spawned within a tube of a circle."); … … 393 407 } 394 408 395 public void cancel() { 409 public void cancel() 410 { 396 411 m_botAction.cancelTasks(); 397 412 } 398 413 399 public String[] getModHelpMessage() { 414 public String[] getModHelpMessage() 415 { 400 416 String opm []= { 401 417 "!start - starts betrayal in circle 1 and teamkill limit 2, 10 deaths", … … 412 428 413 429 public void init() {} 414 public boolean isUnloadable() { 430 public boolean isUnloadable() 431 { 415 432 return !betrayalGame; 416 433 } 417 public void requestEvents(ModuleEventRequester eventRequester) { 434 public void requestEvents(ModuleEventRequester eventRequester) 435 { 418 436 eventRequester.request(this, EventRequester.PLAYER_DEATH); 419 437 }
