{ "version": 3, "sources": ["../../../../sim/examples/battle-stream-example.ts"], "sourcesContent": ["/**\r\n * Battle Stream Example\r\n * Pokemon Showdown - http://pokemonshowdown.com/\r\n *\r\n * Example of how to create AIs battling against each other.\r\n * Run this using `node build && node .sim-dist/examples/battle-stream-example`.\r\n *\r\n * @license MIT\r\n * @author Guangcong Luo \r\n */\r\n\r\nimport {BattleStream, getPlayerStreams, Teams} from '..';\r\nimport {RandomPlayerAI} from '../tools/random-player-ai';\r\n\r\n/*********************************************************************\r\n * Run AI\r\n *********************************************************************/\r\n\r\nconst streams = getPlayerStreams(new BattleStream());\r\n\r\nconst spec = {\r\n\tformatid: \"gen7customgame\",\r\n};\r\nconst p1spec = {\r\n\tname: \"Bot 1\",\r\n\tteam: Teams.pack(Teams.generate('gen7randombattle')),\r\n};\r\nconst p2spec = {\r\n\tname: \"Bot 2\",\r\n\tteam: Teams.pack(Teams.generate('gen7randombattle')),\r\n};\r\n\r\nconst p1 = new RandomPlayerAI(streams.p1);\r\nconst p2 = new RandomPlayerAI(streams.p2);\r\n\r\nconsole.log(\"p1 is \" + p1.constructor.name);\r\nconsole.log(\"p2 is \" + p2.constructor.name);\r\n\r\nvoid p1.start();\r\nvoid p2.start();\r\n\r\nvoid (async () => {\r\n\tfor await (const chunk of streams.omniscient) {\r\n\t\tconsole.log(chunk);\r\n\t}\r\n})();\r\n\r\nvoid streams.omniscient.write(`>start ${JSON.stringify(spec)}\r\n>player p1 ${JSON.stringify(p1spec)}\r\n>player p2 ${JSON.stringify(p2spec)}`);\r\n"], "mappings": ";AAWA,eAAoD;AACpD,8BAA6B;AAZ7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBA,MAAM,cAAU,2BAAiB,IAAI,sBAAa,CAAC;AAEnD,MAAM,OAAO;AAAA,EACZ,UAAU;AACX;AACA,MAAM,SAAS;AAAA,EACd,MAAM;AAAA,EACN,MAAM,eAAM,KAAK,eAAM,SAAS,kBAAkB,CAAC;AACpD;AACA,MAAM,SAAS;AAAA,EACd,MAAM;AAAA,EACN,MAAM,eAAM,KAAK,eAAM,SAAS,kBAAkB,CAAC;AACpD;AAEA,MAAM,KAAK,IAAI,uCAAe,QAAQ,EAAE;AACxC,MAAM,KAAK,IAAI,uCAAe,QAAQ,EAAE;AAExC,QAAQ,IAAI,WAAW,GAAG,YAAY,IAAI;AAC1C,QAAQ,IAAI,WAAW,GAAG,YAAY,IAAI;AAE1C,KAAK,GAAG,MAAM;AACd,KAAK,GAAG,MAAM;AAEd,MAAM,YAAY;AACjB,mBAAiB,SAAS,QAAQ,YAAY;AAC7C,YAAQ,IAAI,KAAK;AAAA,EAClB;AACD,GAAG;AAEH,KAAK,QAAQ,WAAW,MAAM,UAAU,KAAK,UAAU,IAAI;AAAA,aAC9C,KAAK,UAAU,MAAM;AAAA,aACrB,KAAK,UAAU,MAAM,GAAG;", "names": [] }