Advertisement
sinkir

Trying to list all content with local language to share it with graphic designer

Jul 15th, 2023
1,220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. kittens game list all
  3.     Trying to list all content with local language to share it with graphic designer
  4. */
  5.  
  6.  
  7. if(!game.mods)
  8. {
  9.     game.mods = {};
  10. }
  11. if(!game.mods.listAll)
  12. {
  13.     game.mods.listAll = {};
  14. }
  15.  
  16. game.mods.listAll.parseGetUnlockByName = function()
  17. {
  18.     var aLines = game.getUnlockByName.toString().split("\n");
  19.    
  20.     game.mods.listAll.list = [];
  21.  
  22.     var bCheckNext = false;
  23.     var sCaseName = "";
  24.     var sFunctionName = "";
  25.     var sFunctionRaw = "";
  26.     var sFunctionParsed = "";
  27.     var sFunctionParsed2 = "";
  28.  
  29.     for(var i=0; i<aLines.length; i++)
  30.     {
  31.         if(bCheckNext)
  32.         {
  33.             bCheckNext = false;
  34.             var aMatch = aLines[i].match(/return this\.(.*);/);
  35.             if(aMatch != null)
  36.             {
  37.                 sFunctionName = aMatch[1].match(/^(.*)\(/)[1];
  38.                 game.mods.listAll.list.find(o=>o.name==sCaseName).functionToParse = sFunctionName;
  39.                
  40.                
  41.                 sFunctionRaw = eval('game.'+game.mods.listAll.list.find(o=>o.name == sCaseName).functionToParse).toString();
  42.                 game.mods.listAll.list.find(o=>o.name==sCaseName).functionRaw = sFunctionRaw;
  43.                
  44.                
  45.                 aMatch = game.mods.listAll.list.find(o=>o.name==sCaseName).functionRaw.match(/return this\.getMeta\(.*?, this\.(.*)\)/);
  46.                 if(aMatch != null)
  47.                 {
  48.                     sFunctionParsed2 = aMatch[1];
  49.                     game.mods.listAll.list.find(o=>o.name==sCaseName).functionParsed2 = sFunctionParsed2;
  50.                     game.mods.listAll.list.find(o=>o.name==sCaseName).arrayToCheck = eval('game.'+sFunctionName.match(/^(.*)\..*$/)[1]+'.'+sFunctionParsed2);
  51.                 }
  52.                 else
  53.                 {
  54.                     aMatch = game.mods.listAll.list.find(o=>o.name==sCaseName).functionRaw.match(/return this\.(.*?)\[/);              
  55.                     if(aMatch != null)
  56.                     {
  57.                        
  58.                         sFunctionParsed2 = aMatch[1];
  59.                         if(sFunctionParsed2 != 'metaCache')
  60.                         {
  61.                             game.mods.listAll.list.find(o=>o.name==sCaseName).functionParsed2 = sFunctionParsed2;
  62.                            
  63.                         }
  64.                         else
  65.                         {
  66.                             aMatch = game.mods.listAll.list.find(o=>o.name==sCaseName).functionRaw.match(/= ?this\.(.*)\.length/);
  67.                             if(aMatch != null)
  68.                             {
  69.                                 sFunctionParsed2 = aMatch[1];
  70.                                 game.mods.listAll.list.find(o=>o.name==sCaseName).functionParsed2 = sFunctionParsed2;
  71.                             }
  72.                         }
  73.                        
  74.                         if(sCaseName == 'spaceBuilding')
  75.                         {
  76.                             aPlanets = eval('game.'+sFunctionName.match(/^(.*)\..*$/)[1]+'.'+sFunctionParsed2);
  77.                            
  78.                             aPlanets.forEach(function (pl){
  79.                                 pl.buildings.forEach(function (plBuild){
  80.                                     plBuild.isFromName = pl.name;
  81.                                     plBuild.isFromLabel = pl.label;
  82.                                 }, pl);
  83.                             });
  84.                            
  85.                             game.mods.listAll.list.find(o=>o.name==sCaseName).arrayToCheck = aPlanets.map(o=>o.buildings).flat();
  86.                         }
  87.                         else
  88.                         {
  89.                             game.mods.listAll.list.find(o=>o.name==sCaseName).arrayToCheck = eval('game.'+sFunctionName.match(/^(.*)\..*$/)[1]+'.'+sFunctionParsed2);
  90.                         }
  91.                     }
  92.                     else
  93.                     {
  94.                         if(sCaseName == 'buildings')
  95.                         {
  96.                             game.mods.listAll.list.find(o=>o.name==sCaseName).arrayToCheck = game.bld.buildingsData;
  97.                         }
  98.                         else if (sCaseName == 'stages')
  99.                         {
  100.                             var aoFilteredBuildingWithStages = game.bld.buildingsData.filter(o=>o.stage != null);
  101.                             var aListe = [];
  102.                             aoFilteredBuildingWithStages.forEach(function (o){
  103.                                
  104.                                 var aUpgrades = o.stages.slice(1);
  105.                                 aUpgrades.forEach(function (p){
  106.                                     p.isFromName = o.name;
  107.                                     p.isFromLabel = o.stages[0].label;
  108.                                
  109.                                 },o);
  110.                                
  111.                                 aListe.push(aUpgrades);
  112.                                
  113.                             });
  114.                            
  115.                             game.mods.listAll.list.find(o=>o.name==sCaseName).arrayToCheck = aListe.flat();
  116.                         }
  117.                         else if (sCaseName == 'tabs')
  118.                         {
  119.                             game.mods.listAll.list.find(o=>o.name==sCaseName).arrayToCheck = game.tabs;
  120.                         }
  121.                         else
  122.                         {                      
  123.                             game.mods.listAll.list.find(o=>o.name==sCaseName).functionParsed2 = 'TBD';
  124.                         }
  125.                     }
  126.                 }
  127.                
  128.                 //   return this\.getMeta\(.*?, this\.(.*)\)
  129.             }              
  130.         }
  131.         else
  132.         {
  133.             var aMatch = aLines[i].match(/case "(.*)":/);
  134.             if(aMatch != null)
  135.             {
  136.                 sCaseName = aMatch[1];
  137.                 bCheckNext = true;
  138.                 game.mods.listAll.list.push({"name":sCaseName});
  139.             }          
  140.         }
  141.  
  142.        
  143.     }
  144.    
  145.     //game.mods.listAll.list.filter(o=>o.functionParsed).map(o=>o.functionParsed).join("\n\n\n")
  146.    
  147. };
  148.  
  149. game.mods.listAll.addResPool = function()
  150. {
  151.     var sCaseName = 'resources'
  152.     game.mods.listAll.list.push({"name":sCaseName});
  153.        
  154.     var sFunctionName = 'resPool.get';
  155.     game.mods.listAll.list.find(o=>o.name==sCaseName).functionToParse = sFunctionName;
  156.    
  157.     var sFunctionRaw = eval('game.'+game.mods.listAll.list.find(o=>o.name == sCaseName).functionToParse).toString();
  158.     game.mods.listAll.list.find(o=>o.name==sCaseName).functionRaw = sFunctionRaw;
  159.  
  160.     //var sFunctionParsed2 = 'resourceMap';
  161.     var sFunctionParsed2 = 'resources';
  162.     game.mods.listAll.list.find(o=>o.name==sCaseName).functionParsed2 = sFunctionParsed2;
  163.  
  164.     game.mods.listAll.list.find(o=>o.name==sCaseName).arrayToCheck = eval('game.'+sFunctionName.match(/^(.*)\..*$/)[1]+'.'+sFunctionParsed2);
  165.        
  166.  
  167. }
  168.  
  169.  
  170. game.mods.listAll.addSeasons = function()
  171. {
  172.     var sCaseName = 'seasons'
  173.     game.mods.listAll.list.push({"name":sCaseName});
  174.        
  175.     var sFunctionName = 'calendar.getCurSeason';
  176.     game.mods.listAll.list.find(o=>o.name==sCaseName).functionToParse = sFunctionName;
  177.    
  178.     var sFunctionRaw = eval('game.'+game.mods.listAll.list.find(o=>o.name == sCaseName).functionToParse).toString();
  179.     game.mods.listAll.list.find(o=>o.name==sCaseName).functionRaw = sFunctionRaw;
  180.  
  181.     //var sFunctionParsed2 = 'resourceMap';
  182.     var sFunctionParsed2 = 'seasons';
  183.     game.mods.listAll.list.find(o=>o.name==sCaseName).functionParsed2 = sFunctionParsed2;
  184.  
  185.     game.mods.listAll.list.find(o=>o.name==sCaseName).arrayToCheck = eval('game.'+sFunctionName.match(/^(.*)\..*$/)[1]+'.'+sFunctionParsed2);
  186.        
  187.  
  188. }
  189.  
  190. game.mods.listAll.addCycles = function()
  191. {
  192.     var sCaseName = 'cycles'
  193.     game.mods.listAll.list.push({"name":sCaseName});
  194.        
  195.     var sFunctionName = 'calendar.TBD';
  196.     game.mods.listAll.list.find(o=>o.name==sCaseName).functionToParse = sFunctionName;
  197.    
  198.     //var sFunctionRaw = eval('game.'+game.mods.listAll.list.find(o=>o.name == sCaseName).functionToParse).toString();
  199.     //game.mods.listAll.list.find(o=>o.name==sCaseName).functionRaw = sFunctionRaw;
  200.     game.mods.listAll.list.find(o=>o.name==sCaseName).functionRaw = 'TBD';
  201.  
  202.     var sFunctionParsed2 = 'cycles';
  203.     game.mods.listAll.list.find(o=>o.name==sCaseName).functionParsed2 = sFunctionParsed2;
  204.  
  205.     game.mods.listAll.list.find(o=>o.name==sCaseName).arrayToCheck = eval('game.'+sFunctionName.match(/^(.*)\..*$/)[1]+'.'+sFunctionParsed2);
  206.        
  207.  
  208. }
  209.  
  210. game.mods.listAll.fillSchemes = function()
  211. {
  212.     game.mods.listAll.list.find(o=>o.name=='schemes').functionRaw = 'TBD';
  213.     game.mods.listAll.list.find(o=>o.name=='schemes').functionToParse = 'ui';
  214.     game.mods.listAll.list.find(o=>o.name=='schemes').functionParsed2 = 'allSchemes';
  215.     game.mods.listAll.list.find(o=>o.name=='schemes').arrayToCheck = game.ui.allSchemes;
  216. }
  217.  
  218.  
  219. game.mods.listAll.genlistSimple = function()
  220. {
  221.     game.mods.listAll.listSimple = [];
  222.     game.mods.listAll.list.forEach(function (o){
  223.         game.mods.listAll.listSimple.push({'name':o.name,'values':o.arrayToCheck})
  224.     })
  225.  
  226. }
  227.  
  228.  
  229.  
  230. game.mods.listAll.parseGetUnlockByName();
  231. game.mods.listAll.addResPool();
  232. game.mods.listAll.addSeasons();
  233. game.mods.listAll.addCycles();
  234. game.mods.listAll.fillSchemes();
  235.  
  236. game.mods.listAll.genlistSimple();
  237.  
  238.  
  239. console.log(game.mods.listAll.listSimple);
  240. //console.log(game.mods.listAll.list);
  241. var aTBD = game.mods.listAll.list.filter(o=>o.functionParsed2=='TBD');
  242. if(aTBD.length > 0)
  243. {
  244.     console.warn(aTBD);
  245.     game.mods.listAll.list.filter(o=>o.functionParsed2=='TBD').map(o=>o.functionRaw).join('\n\n\n');
  246. }
  247.  
Tags: Kittensgame
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement