main.hx 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. var g_exit = "courtyard";
  2. function buildMainRooms() {
  3. Struct.createRoomWithType("Entrance").setName("start")
  4. .chain(Struct.createSpecificRoom("aPStarters").setName("starters"))
  5. .chain(Struct.createSpecificRoom("aPFlaskRoom").setName("flask"))
  6. .chain(Struct.createSpecificExit(g_exit, "aPExit").setTitleAndColor("Desolated Courtyard", 144411));
  7. Struct.getRoomByName("flask").addChild(Struct.createSpecificRoom("aPFogger").setName("special_fogger"));
  8. Struct.createSpecificRoom("aPInvisPuzzle").addAfter("special_fogger");
  9. Struct.createSpecificRoom("aPCursedSword").branchBetween("starters", "flask").setName("special_cs");
  10. Struct.createSpecificRoom("aPTreasure").branchBetween("starters", "flask").setName("special_t");
  11. for(i in 0...5) {
  12. Struct.createRoomWithTypeFromGroup("Combat", "alaahPrison").addBetween("starters", "flask");
  13. }
  14. for(i in 0...3) {
  15. Struct.createRoomWithTypeFromGroup("Combat", "alaahPrison").addBetweenMultipleEnds("starters", ["special_cs", "special_t"]);
  16. }
  17. }
  18. function buildSecondaryRooms() {
  19. }
  20. function addTeleports() {
  21. var rooms = Struct.allRooms.filter(function(room) {
  22. return room.type == "Combat" && room.name != "aPFlaskRoom";
  23. });
  24. for(room in rooms) {
  25. if(room.childrenCount >= 1 && room.calcTypeDistance("Teleport", true) > 3) {
  26. Struct.createTeleportBefore(room);
  27. }
  28. }
  29. }
  30. function buildTimedDoors() {}
  31. function finalize() {
  32. if(Meta.hasMetaRune("LadderKey")) {
  33. Struct.createSpecificRoom("aPLock").addAfter("starters");
  34. } else if(!Meta.hasMetaRune("WallJumpKey")) {
  35. Struct.createSpecificRoom("aPWallJump").addAfter("starters");
  36. }
  37. }
  38. function buildMobRoster(_mobList) {
  39. addMobRosterFrom("PrisonStart", _mobList);
  40. }
  41. function setLevelProps(_levelProps) {
  42. setLevelPropsFrom("PrisonStart", _levelProps);
  43. _levelProps.wind = 0.0;
  44. _levelProps.musicIntro = "music/prisonstart_loop.ogg";
  45. _levelProps.musicLoop = "music/prisonstart_loop.ogg";
  46. }
  47. function setLevelInfo(_levelInfo) {
  48. setLevelInfoFrom("PrisonStart", _levelInfo);
  49. _levelInfo.baseLootLevel = 1;
  50. _levelInfo.baseMobTier = 1;
  51. _levelInfo.biome = "PrisonStart";
  52. _levelInfo.cellBonus = 0.0;
  53. _levelInfo.doubleUps = 0;
  54. _levelInfo.eliteRoomChance = 0;
  55. _levelInfo.eliteWanderChance = 0;
  56. _levelInfo.extraMobTier = 0;
  57. _levelInfo.flags = 1;
  58. _levelInfo.goldBonus = 0;
  59. _levelInfo.mobDensity = 0.7;
  60. _levelInfo.name = "Decayed Quarters";
  61. _levelInfo.tripleUps = 2;
  62. }