Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. export class Diplomat {
  2.  
  3. public allies: {[username: string]: boolean};
  4. public foes: {[username: string]: boolean};
  5. public partners: {[username: string]: boolean};
  6.  
  7. constructor() {
  8. if (!Memory.empire) { Memory.empire = {}; }
  9. _.defaults(Memory.empire, {
  10. allies: ALLIES,
  11. foes: FOES,
  12. partners: TRADE_PARTNERS,
  13. safe: {},
  14. danger: {},
  15. });
  16. this.allies = Memory.empire.allies;
  17. this.foes = Memory.empire.foes;
  18. this.partners = Memory.empire.partners;
  19. }
  20.  
  21. checkEnemy(username: string, roomName: string) {
  22. if ( this.allies[username] ) {
  23. return false;
  24. }
  25.  
  26. // make note of non-ally, non-npc creeps
  27. if (username !== "Invader" && username !== "Source Keeper") {
  28. Diplomat.strangerDanger(username, roomName);
  29. }
  30. return true;
  31. }
  32.  
  33. public static strangerDanger(username: string, roomName: string) {
  34. if (!Memory.strangerDanger) { Memory.strangerDanger = {}; }
  35. if (!Memory.strangerDanger[username]) { Memory.strangerDanger[username] = []; }
  36. let lastReport = _.last(Memory.strangerDanger[username]) as StrangerReport;
  37. if (!lastReport || lastReport.tickSeen < Game.time - 2000 ) {
  38. let report = { tickSeen: Game.time, roomName: roomName };
  39. console.log("STRANGER DANGER: one of", username, "\'s creeps seen in", roomName);
  40. Memory.strangerDanger[username].push(report);
  41. while (Memory.strangerDanger[username].length > 10) Memory.strangerDanger[username].shift();
  42. }
  43. }
  44.  
  45. }
  46.  
  47. export const ALLIES = {
  48. "taiga": true,
  49. "Reini": true,
  50. "bonzaiferroni": true,
  51. "SteeleR": true,
  52. "Vervorris": true,
  53. "Jeb": true,
  54. "danny": true,
  55. "Atavus": true,
  56. "Ashburnie": true,
  57. "ricane": true,
  58. "trebbettes": true,
  59. "bovius": true,
  60. };
  61.  
  62. export const TRADE_PARTNERS = {
  63. "bonzaiferroni": true,
  64. "taiga": true,
  65. "Reini": true,
  66. "Vervorris": true,
  67. "Jeb": true,
  68. "trebbettes": true,
  69. "ricane": true,
  70. };
  71.  
  72. export const FOES = {
  73.  
  74. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement