Advertisement
Debugbro

Dungeon Beta Fix (resolution version)

Oct 1st, 2013
953
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.91 KB | None | 0 0
  1. // Dungeon Beta fixes by Eearslya and Debugbro
  2. // Adapted from code by Orteil
  3. // User guide:
  4. // - Arrow Keys, Space and A button are used for dungeons as soon as you click Enter Dungeon
  5. // - Clicking "Exit" gives you back normal control over these keys
  6. // - Arrow keys for movement, Space for standing still a turn, "A" key for turning autopilot
  7. // on/off
  8. // Bugfixes:
  9. // - Girlscout doesn't revert to Chip anymore
  10. // - Game shouldn't be frozen between two levels anymore
  11. // Changes:
  12. // - Dungeons display at the bottom of your screen, this is to make it display correctly
  13. // for people with small resolutions. Use http://pastebin.com/8unmeqvM if you don't want
  14. // this.
  15.  
  16. TheDungeon = Game.Objects['Factory'].dungeon;
  17.  
  18. Game.handleButton = function(event)
  19. {
  20. hero = TheDungeon.hero;
  21. if(Game.Objects['Factory'].onSpecial==1)
  22. {
  23. switch(event.keyCode) {
  24. case 38:hero.Move(0,-1);
  25. break;
  26. case 40:hero.Move(0,1);
  27. break;
  28. case 37:hero.Move(-1,0);
  29. break;
  30. case 39:hero.Move(1,0);
  31. break;
  32. case 32:hero.Move(0,0);
  33. break;
  34. case 65:changeAutopilot();
  35. break;
  36. }
  37. event.preventDefault();
  38. }
  39. }
  40.  
  41. TheDungeon.CompleteLevel=function()
  42. {
  43. TheDungeon.hero.Say('completion');
  44. TheDungeon.level++;
  45. TheDungeon.Generate();
  46. Game.HeroesById[TheDungeon.hero.id].EnterDungeon(TheDungeon,TheDungeon.map.entrance[0],TheDungeon.map.entrance[1]);
  47. TheDungeon.Draw();
  48. TheDungeon.Refresh();
  49. l('monsterSlot'+TheDungeon.id).style.visibility='hidden';
  50. l('hpMonster'+TheDungeon.id).style.width='100%';
  51. l('picHero'+TheDungeon.id).style.backgroundImage='url(img/'+TheDungeon.hero.portrait+'.png)';
  52. TheDungeon.UpdateLog()
  53. }
  54.  
  55. TheDungeon.FailLevel=function()
  56. {
  57. TheDungeon.Log('Cookies made this run : '+Beautify(TheDungeon.cookiesMadeThisRun)+' | Monsters defeated this run : '+Beautify(TheDungeon.monstersKilledThisRun));
  58. TheDungeon.cookiesMadeThisRun=0;
  59. TheDungeon.monstersKilledThisRun=0;
  60. TheDungeon.level=0;
  61. TheDungeon.Generate();
  62. newhero=choose(Game.HeroesById);
  63. newhero.EnterDungeon(TheDungeon,TheDungeon.map.entrance[0],TheDungeon.map.entrance[1]);
  64. TheDungeon.Draw();
  65. TheDungeon.Refresh();
  66. l('monsterSlot'+TheDungeon.id).style.visibility='hidden';
  67. l('hpMonster'+TheDungeon.id).style.width='100%';
  68. l('picHero'+TheDungeon.id).style.backgroundImage='url(img/'+TheDungeon.hero.portrait+'.png)';
  69. TheDungeon.UpdateLog()
  70. }
  71.  
  72.  
  73. function changeAutopilot()
  74. {
  75. if(TheDungeon.auto)
  76. {
  77. TheDungeon.auto=0;
  78. TheDungeon.timerWarmup=-1;
  79. Game.Popup("Autopilot disengaged");
  80. }
  81. else
  82. {
  83. TheDungeon.auto=1;
  84. TheDungeon.timer=0;
  85. TheDungeon.timerWarmup=0;
  86. Game.Popup("Autopilot engaged");
  87. }
  88. }
  89. Game.Objects['Factory'].setSpecial=function(what)
  90. {
  91. if (what==1) Game.Objects['Factory'].onSpecial=1;
  92. else Game.Objects['Factory'].onSpecial=0;
  93. if (Game.Objects['Factory'].id!=0)
  94. {
  95. if (Game.Objects['Factory'].onSpecial)
  96. {
  97. l('rowSpecial'+Game.Objects['Factory'].id).style.display='block';
  98. l('dunpopup').style.visibility='visible';
  99. if (Game.Objects['Factory'].specialDrawFunction) Game.Objects['Factory'].specialDrawFunction();
  100. }
  101. else
  102. {
  103. l('rowSpecial'+Game.Objects['Factory'].id).style.display='none';
  104. l('dunpopup').style.visibility='hidden';
  105. }
  106. }
  107. }
  108.  
  109. document.addEventListener('keydown', function(event) { Game.handleButton(event); });
  110.  
  111. dunpopup = document.createElement('div');
  112. dunpopup.id="dunpopup";
  113. document.body.appendChild(dunpopup);
  114. l('dunpopup').appendChild(l('rowSpecial'+Game.Objects['Factory'].id));
  115.  
  116. style = document.createElement('style');
  117. style.type = 'text/css';
  118. style.innerHTML = '.dungeonName {position:relative;z-index:100000001;} #dunpopup {vertical-align:middle;position:absolute;border:1px solid #FFF;background:#000 url(img/mapBG.jpg) fixed;visibility:hidden;height:144px;width:798px;overflow:hidden;text-align:left;z-index:100000000;bottom:0;} .particle {z-index:100000002;}';
  119. document.head.appendChild(style);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement