Просмотр исходного кода

基本完成巨型花洒,大修父类逻辑中,准备接入itag系统

DrDuck0117 6 дней назад
Родитель
Сommit
75f35b87c6
100 измененных файлов с 708 добавлено и 507 удалено
  1. 23 30
      ddmyx.yyp
  2. 9 1
      notes/更新日志DrDuck/更新日志DrDuck.txt
  3. 25 0
      objects/oAccesscard/Create_0.gml
  4. 29 0
      objects/oAccesscard/Step_0.gml
  5. 9 8
      objects/oAccesscard/oAccesscard.yy
  6. 23 11
      objects/oBossShowerhead/Create_0.gml
  7. 2 2
      objects/oBossShowerhead/oBossShowerhead.yy
  8. 2 2
      objects/oCredit/oCredit.yy
  9. 14 0
      objects/oDoorInteractive/Create_0.gml
  10. 2 2
      objects/oDoorInteractive/oDoorInteractive.yy
  11. 3 0
      objects/oEnemyCorpse/Create_0.gml
  12. 0 14
      objects/oEnemyCorpse/Draw_0.gml
  13. 8 4
      objects/oEnemyCorpse/Step_0.gml
  14. 6 5
      objects/oEnemyShowerhead/Create_0.gml
  15. 1 1
      objects/oEnemyShowerhead/oEnemyShowerhead.yy
  16. 0 1
      objects/oParentCollectable/Collision_oPlayer.gml
  17. 0 3
      objects/oParentCollectable/Create_0.gml
  18. 0 38
      objects/oParentCollectable/oParentCollectable.yy
  19. 66 62
      objects/oParentEnemy/Create_0.gml
  20. 1 5
      objects/oParentEnemy/Step_0.gml
  21. 1 1
      objects/oParentInteractive/Create_0.gml
  22. 1 1
      objects/oParentInteractive/Step_0.gml
  23. 0 18
      objects/oParentTutorial/Create_0.gml
  24. 0 12
      objects/oParentTutorial/Step_0.gml
  25. 0 3
      objects/oPlayer/Other_4.gml
  26. 0 1
      objects/oPlayerHitbox/Step_0.gml
  27. 0 15
      objects/oPlayerHitboxArc/Create_0.gml
  28. 0 38
      objects/oPlayerHitboxArc/oPlayerHitboxArc.yy
  29. 0 10
      objects/oPlayerHitboxMark/Create_0.gml
  30. 1 1
      objects/oSavePoint/Create_0.gml
  31. 4 0
      objects/oShockwave/Create_0.gml
  32. 8 0
      objects/oShockwave/Step_0.gml
  33. 41 0
      objects/oShockwave/oShockwave.yy
  34. 12 4
      objects/oShowerheadBomb/Create_0.gml
  35. 15 0
      objects/oShowerheadColumn/Create_0.gml
  36. 8 8
      objects/oShowerheadColumn/oShowerheadColumn.yy
  37. 0 6
      objects/oSlicedApple/Create_0.gml
  38. 0 1
      objects/oWeaponInteractive/Create_0.gml
  39. 10 8
      objects/oWeaponInteractive/oWeaponInteractive.yy
  40. 4 4
      rooms/rTest1/rTest1.yy
  41. 2 2
      rooms/rTest2/rTest2.yy
  42. 2 2
      rooms/rTest3/rTest3.yy
  43. 3 3
      rooms/rTest4/rTest4.yy
  44. 22 7
      rooms/rTest5/rTest5.yy
  45. 1 0
      rooms/rTest6/RoomCreationCode.gml
  46. 91 0
      rooms/rTest6/rTest6.yy
  47. 6 10
      rooms/rTest7/rTest7.yy
  48. 75 61
      scripts/BossShowerheadAI/BossShowerheadAI.gml
  49. 30 19
      scripts/EnemyStates/EnemyStates.gml
  50. 2 2
      scripts/PlayerStates/PlayerStates.gml
  51. 7 27
      scripts/SaveLoad/SaveLoad.gml
  52. 10 6
      scripts/ShowerheadAI/ShowerheadAI.gml
  53. 1 1
      scripts/ShowerheadAI/ShowerheadAI.yy
  54. 30 0
      scripts/ShowerheadBombAI/ShowerheadBombAI.gml
  55. 2 2
      scripts/ShowerheadBombAI/ShowerheadBombAI.yy
  56. 21 0
      scripts/ShowerheadColumnAI/ShowerheadColumnAI.gml
  57. 13 0
      scripts/ShowerheadColumnAI/ShowerheadColumnAI.yy
  58. 4 4
      scripts/Simplifier/Simplifier.gml
  59. 0 31
      scripts/enemyShowerheadbombAI/enemyShowerheadbombAI.gml
  60. 1 9
      sprites/sBossShowerheadShoot/sBossShowerheadShoot.yy
  61. BIN
      sprites/sBossShowerheadSlam/074e84d0-f7a5-4a7e-b3dd-cd76330ed5bf.png
  62. BIN
      sprites/sBossShowerheadSlam/07a14007-d967-4433-9c49-548fc2ca923a.png
  63. BIN
      sprites/sBossShowerheadSlam/3901fce0-f5f6-45d9-b9cc-86febdbed057.png
  64. BIN
      sprites/sBossShowerheadSlam/3d254213-e7b8-4932-bd3b-ce50b0f0a956.png
  65. BIN
      sprites/sBossShowerheadSlam/4194376b-0690-4518-afe0-c4d66977c2f2.png
  66. BIN
      sprites/sBossShowerheadSlam/5300a557-39a6-465c-94d5-129d91f24a63.png
  67. BIN
      sprites/sBossShowerheadSlam/564a25fe-6dec-42d4-9c40-c8b34394886c.png
  68. BIN
      sprites/sBossShowerheadSlam/59344578-2001-43f9-b8f6-34ad930e6bb8.png
  69. BIN
      sprites/sBossShowerheadSlam/667c757c-1097-451f-bf26-67583b1993ae.png
  70. BIN
      sprites/sBossShowerheadSlam/a68f3557-f428-443a-91d0-e7f78d37e0b8.png
  71. BIN
      sprites/sBossShowerheadSlam/c1d7e0b1-17f0-492e-9bcb-c1d966bb3c49.png
  72. BIN
      sprites/sBossShowerheadSlam/c6f03f93-2ee2-4ef4-a38b-0bddbc2301ac.png
  73. BIN
      sprites/sBossShowerheadSlam/c99fcc52-78e5-4aef-b3f5-4f505449dacb.png
  74. BIN
      sprites/sBossShowerheadSlam/e429b302-021f-47ce-a1b7-018a11f1e08c.png
  75. BIN
      sprites/sBossShowerheadSlam/layers/074e84d0-f7a5-4a7e-b3dd-cd76330ed5bf/f24b423d-90db-4b9e-8790-8dafbebd16f4.png
  76. BIN
      sprites/sBossShowerheadSlam/layers/07a14007-d967-4433-9c49-548fc2ca923a/f24b423d-90db-4b9e-8790-8dafbebd16f4.png
  77. BIN
      sprites/sBossShowerheadSlam/layers/3901fce0-f5f6-45d9-b9cc-86febdbed057/f24b423d-90db-4b9e-8790-8dafbebd16f4.png
  78. BIN
      sprites/sBossShowerheadSlam/layers/3d254213-e7b8-4932-bd3b-ce50b0f0a956/f24b423d-90db-4b9e-8790-8dafbebd16f4.png
  79. BIN
      sprites/sBossShowerheadSlam/layers/4194376b-0690-4518-afe0-c4d66977c2f2/f24b423d-90db-4b9e-8790-8dafbebd16f4.png
  80. BIN
      sprites/sBossShowerheadSlam/layers/5300a557-39a6-465c-94d5-129d91f24a63/f24b423d-90db-4b9e-8790-8dafbebd16f4.png
  81. BIN
      sprites/sBossShowerheadSlam/layers/564a25fe-6dec-42d4-9c40-c8b34394886c/f24b423d-90db-4b9e-8790-8dafbebd16f4.png
  82. BIN
      sprites/sBossShowerheadSlam/layers/59344578-2001-43f9-b8f6-34ad930e6bb8/f24b423d-90db-4b9e-8790-8dafbebd16f4.png
  83. BIN
      sprites/sBossShowerheadSlam/layers/667c757c-1097-451f-bf26-67583b1993ae/f24b423d-90db-4b9e-8790-8dafbebd16f4.png
  84. BIN
      sprites/sBossShowerheadSlam/layers/a68f3557-f428-443a-91d0-e7f78d37e0b8/f24b423d-90db-4b9e-8790-8dafbebd16f4.png
  85. BIN
      sprites/sBossShowerheadSlam/layers/c1d7e0b1-17f0-492e-9bcb-c1d966bb3c49/f24b423d-90db-4b9e-8790-8dafbebd16f4.png
  86. BIN
      sprites/sBossShowerheadSlam/layers/c6f03f93-2ee2-4ef4-a38b-0bddbc2301ac/f24b423d-90db-4b9e-8790-8dafbebd16f4.png
  87. BIN
      sprites/sBossShowerheadSlam/layers/c99fcc52-78e5-4aef-b3f5-4f505449dacb/f24b423d-90db-4b9e-8790-8dafbebd16f4.png
  88. BIN
      sprites/sBossShowerheadSlam/layers/e429b302-021f-47ce-a1b7-018a11f1e08c/f24b423d-90db-4b9e-8790-8dafbebd16f4.png
  89. 57 1
      sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy
  90. BIN
      sprites/sBossShowerheadSpawn/05716c78-1f90-40a4-bc59-d15f2c7271cd.png
  91. BIN
      sprites/sBossShowerheadSpawn/2cc071dd-dc02-4415-8951-58e9356fbb8e.png
  92. BIN
      sprites/sBossShowerheadSpawn/57415c65-4976-4373-8dc2-33f4125e5376.png
  93. BIN
      sprites/sBossShowerheadSpawn/58ccd3ab-542a-4c1f-87f7-cf423f148085.png
  94. BIN
      sprites/sBossShowerheadSpawn/62c0eb0e-01c1-497e-b506-1f18516b99db.png
  95. BIN
      sprites/sBossShowerheadSpawn/781bd6bb-8b60-4027-98da-ef3e79aef945.png
  96. BIN
      sprites/sBossShowerheadSpawn/805fb3ea-1f87-45da-b318-3f3723c3fbb6.png
  97. BIN
      sprites/sBossShowerheadSpawn/8258407d-a704-4d90-b699-60dd7f6886bc.png
  98. BIN
      sprites/sBossShowerheadSpawn/8c79e1b5-3ae2-4cec-abb3-baaa5afaad9c.png
  99. BIN
      sprites/sBossShowerheadSpawn/a75547db-8e5e-4156-a675-b9eab16e550c.png
  100. BIN
      sprites/sBossShowerheadSpawn/b57d0f60-2768-4679-bbe2-6d5c98c8477b.png

+ 23 - 30
ddmyx.yyp

@@ -20,21 +20,22 @@
     {"$GMFolder":"","%Name":"oBossHex","folderPath":"folders/Enemy/oBossHex.yy","name":"oBossHex","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oBossHex","folderPath":"folders/Enemy/oBossHex.yy","name":"oBossHex","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oEnemyHex","folderPath":"folders/Enemy/oBossHex/oEnemyHex.yy","name":"oEnemyHex","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oEnemyHex","folderPath":"folders/Enemy/oBossHex/oEnemyHex.yy","name":"oEnemyHex","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oBossShowerhead","folderPath":"folders/Enemy/oBossShowerhead.yy","name":"oBossShowerhead","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oBossShowerhead","folderPath":"folders/Enemy/oBossShowerhead.yy","name":"oBossShowerhead","resourceType":"GMFolder","resourceVersion":"2.0",},
+    {"$GMFolder":"","%Name":"oEnemyShowerhead","folderPath":"folders/Enemy/oBossShowerhead/oEnemyShowerhead.yy","name":"oEnemyShowerhead","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oShowerheadBomb","folderPath":"folders/Enemy/oBossShowerhead/oShowerheadBomb.yy","name":"oShowerheadBomb","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oShowerheadBomb","folderPath":"folders/Enemy/oBossShowerhead/oShowerheadBomb.yy","name":"oShowerheadBomb","resourceType":"GMFolder","resourceVersion":"2.0",},
+    {"$GMFolder":"","%Name":"oShowerheadColumn","folderPath":"folders/Enemy/oBossShowerhead/oShowerheadColumn.yy","name":"oShowerheadColumn","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oEnemyCrawl","folderPath":"folders/Enemy/oEnemyCrawl.yy","name":"oEnemyCrawl","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oEnemyCrawl","folderPath":"folders/Enemy/oEnemyCrawl.yy","name":"oEnemyCrawl","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oEnemyDummy","folderPath":"folders/Enemy/oEnemyDummy.yy","name":"oEnemyDummy","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oEnemyDummy","folderPath":"folders/Enemy/oEnemyDummy.yy","name":"oEnemyDummy","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oEnemyFlying","folderPath":"folders/Enemy/oEnemyFlying.yy","name":"oEnemyFlying","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oEnemyFlying","folderPath":"folders/Enemy/oEnemyFlying.yy","name":"oEnemyFlying","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oEnemyFlyingTrack","folderPath":"folders/Enemy/oEnemyFlyingTrack.yy","name":"oEnemyFlyingTrack","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oEnemyFlyingTrack","folderPath":"folders/Enemy/oEnemyFlyingTrack.yy","name":"oEnemyFlyingTrack","resourceType":"GMFolder","resourceVersion":"2.0",},
-    {"$GMFolder":"","%Name":"oEnemyShowerhead","folderPath":"folders/Enemy/oEnemyShowerhead.yy","name":"oEnemyShowerhead","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oPlayerCorpse","folderPath":"folders/Enemy/oPlayerCorpse.yy","name":"oPlayerCorpse","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"oPlayerCorpse","folderPath":"folders/Enemy/oPlayerCorpse.yy","name":"oPlayerCorpse","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Fonts","folderPath":"folders/Fonts.yy","name":"Fonts","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Fonts","folderPath":"folders/Fonts.yy","name":"Fonts","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Objects","folderPath":"folders/Objects.yy","name":"Objects","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Objects","folderPath":"folders/Objects.yy","name":"Objects","resourceType":"GMFolder","resourceVersion":"2.0",},
-    {"$GMFolder":"","%Name":"CollectableObjects","folderPath":"folders/Objects/CollectableObjects.yy","name":"CollectableObjects","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"HazardObjects","folderPath":"folders/Objects/HazardObjects.yy","name":"HazardObjects","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"HazardObjects","folderPath":"folders/Objects/HazardObjects.yy","name":"HazardObjects","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"IntractiveObjects","folderPath":"folders/Objects/IntractiveObjects.yy","name":"IntractiveObjects","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"IntractiveObjects","folderPath":"folders/Objects/IntractiveObjects.yy","name":"IntractiveObjects","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"SolidObjects","folderPath":"folders/Objects/SolidObjects.yy","name":"SolidObjects","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"SolidObjects","folderPath":"folders/Objects/SolidObjects.yy","name":"SolidObjects","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"ParticleEffects","folderPath":"folders/ParticleEffects.yy","name":"ParticleEffects","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"ParticleEffects","folderPath":"folders/ParticleEffects.yy","name":"ParticleEffects","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"BrokenSolid","folderPath":"folders/ParticleEffects/BrokenSolid.yy","name":"BrokenSolid","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"BrokenSolid","folderPath":"folders/ParticleEffects/BrokenSolid.yy","name":"BrokenSolid","resourceType":"GMFolder","resourceVersion":"2.0",},
+    {"$GMFolder":"","%Name":"shockwave","folderPath":"folders/ParticleEffects/shockwave.yy","name":"shockwave","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Player","folderPath":"folders/Player.yy","name":"Player","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Player","folderPath":"folders/Player.yy","name":"Player","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Hitbox","folderPath":"folders/Player/Hitbox.yy","name":"Hitbox","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Hitbox","folderPath":"folders/Player/Hitbox.yy","name":"Hitbox","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Sprites","folderPath":"folders/Player/Sprites.yy","name":"Sprites","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Sprites","folderPath":"folders/Player/Sprites.yy","name":"Sprites","resourceType":"GMFolder","resourceVersion":"2.0",},
@@ -44,13 +45,12 @@
     {"$GMFolder":"","%Name":"Hitstun","folderPath":"folders/Player/Sprites/Hitstun.yy","name":"Hitstun","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Hitstun","folderPath":"folders/Player/Sprites/Hitstun.yy","name":"Hitstun","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"StateFree","folderPath":"folders/Player/Sprites/StateFree.yy","name":"StateFree","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"StateFree","folderPath":"folders/Player/Sprites/StateFree.yy","name":"StateFree","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Rooms","folderPath":"folders/Rooms.yy","name":"Rooms","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Rooms","folderPath":"folders/Rooms.yy","name":"Rooms","resourceType":"GMFolder","resourceVersion":"2.0",},
-    {"$GMFolder":"","%Name":"Dorm","folderPath":"folders/Rooms/Dorm.yy","name":"Dorm","resourceType":"GMFolder","resourceVersion":"2.0",},
+    {"$GMFolder":"","%Name":"YX","folderPath":"folders/Rooms/YX.yy","name":"YX","resourceType":"GMFolder","resourceVersion":"2.0",},
+    {"$GMFolder":"","%Name":"Administrative","folderPath":"folders/Rooms/YX/Administrative.yy","name":"Administrative","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Scripts","folderPath":"folders/Scripts.yy","name":"Scripts","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Scripts","folderPath":"folders/Scripts.yy","name":"Scripts","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Shaders","folderPath":"folders/Shaders.yy","name":"Shaders","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"Shaders","folderPath":"folders/Shaders.yy","name":"Shaders","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"UIsprite","folderPath":"folders/UIsprite.yy","name":"UIsprite","resourceType":"GMFolder","resourceVersion":"2.0",},
     {"$GMFolder":"","%Name":"UIsprite","folderPath":"folders/UIsprite.yy","name":"UIsprite","resourceType":"GMFolder","resourceVersion":"2.0",},
-    {"$GMFolder":"","%Name":"tutorial","folderPath":"folders/UIsprite/tutorial.yy","name":"tutorial","resourceType":"GMFolder","resourceVersion":"2.0",},
-    {"$GMFolder":"","%Name":"alt","folderPath":"folders/UIsprite/tutorial/alt.yy","name":"alt","resourceType":"GMFolder","resourceVersion":"2.0",},
-    {"$GMFolder":"","%Name":"default","folderPath":"folders/UIsprite/tutorial/default.yy","name":"default","resourceType":"GMFolder","resourceVersion":"2.0",},
+    {"$GMFolder":"","%Name":"Rectangle","folderPath":"folders/UIsprite/Rectangle.yy","name":"Rectangle","resourceType":"GMFolder","resourceVersion":"2.0",},
   ],
   ],
   "ForcedPrefabProjectReferences":[
   "ForcedPrefabProjectReferences":[
     {"link":"io.gamemaker.gmparticlepresets-1.0.0","name":"io.gamemaker.gmparticlepresets-1.0.0","path":"io.gamemaker.gmparticlepresets-1.0.0.yyp",},
     {"link":"io.gamemaker.gmparticlepresets-1.0.0","name":"io.gamemaker.gmparticlepresets-1.0.0","path":"io.gamemaker.gmparticlepresets-1.0.0.yyp",},
@@ -59,7 +59,7 @@
   "isEcma":false,
   "isEcma":false,
   "LibraryEmitters":[],
   "LibraryEmitters":[],
   "MetaData":{
   "MetaData":{
-    "IDEVersion":"2024.14.4.222",
+    "IDEVersion":"2026.0.0.16",
   },
   },
   "name":"ddmyx",
   "name":"ddmyx",
   "resources":[
   "resources":[
@@ -67,7 +67,7 @@
     {"id":{"name":"fTyper","path":"fonts/fTyper/fTyper.yy",},},
     {"id":{"name":"fTyper","path":"fonts/fTyper/fTyper.yy",},},
     {"id":{"name":"更新日志DrDuck","path":"notes/更新日志DrDuck/更新日志DrDuck.yy",},},
     {"id":{"name":"更新日志DrDuck","path":"notes/更新日志DrDuck/更新日志DrDuck.yy",},},
     {"id":{"name":"更新日志tianhaobu","path":"notes/更新日志tianhaobu/更新日志tianhaobu.yy",},},
     {"id":{"name":"更新日志tianhaobu","path":"notes/更新日志tianhaobu/更新日志tianhaobu.yy",},},
-    {"id":{"name":"oAttackInteractive","path":"objects/oAttackInteractive/oAttackInteractive.yy",},},
+    {"id":{"name":"oAccesscard","path":"objects/oAccesscard/oAccesscard.yy",},},
     {"id":{"name":"oAudioManager","path":"objects/oAudioManager/oAudioManager.yy",},},
     {"id":{"name":"oAudioManager","path":"objects/oAudioManager/oAudioManager.yy",},},
     {"id":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},},
     {"id":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},},
     {"id":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},},
     {"id":{"name":"oBlockSlippery","path":"objects/oBlockSlippery/oBlockSlippery.yy",},},
@@ -81,6 +81,7 @@
     {"id":{"name":"oCredit","path":"objects/oCredit/oCredit.yy",},},
     {"id":{"name":"oCredit","path":"objects/oCredit/oCredit.yy",},},
     {"id":{"name":"oCreditPile","path":"objects/oCreditPile/oCreditPile.yy",},},
     {"id":{"name":"oCreditPile","path":"objects/oCreditPile/oCreditPile.yy",},},
     {"id":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},},
     {"id":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},},
+    {"id":{"name":"oDoorInteractive","path":"objects/oDoorInteractive/oDoorInteractive.yy",},},
     {"id":{"name":"oDoubleJumpEffect","path":"objects/oDoubleJumpEffect/oDoubleJumpEffect.yy",},},
     {"id":{"name":"oDoubleJumpEffect","path":"objects/oDoubleJumpEffect/oDoubleJumpEffect.yy",},},
     {"id":{"name":"oEnemyCorpse","path":"objects/oEnemyCorpse/oEnemyCorpse.yy",},},
     {"id":{"name":"oEnemyCorpse","path":"objects/oEnemyCorpse/oEnemyCorpse.yy",},},
     {"id":{"name":"oEnemyCrawl","path":"objects/oEnemyCrawl/oEnemyCrawl.yy",},},
     {"id":{"name":"oEnemyCrawl","path":"objects/oEnemyCrawl/oEnemyCrawl.yy",},},
@@ -98,34 +99,32 @@
     {"id":{"name":"oInGameManager","path":"objects/oInGameManager/oInGameManager.yy",},},
     {"id":{"name":"oInGameManager","path":"objects/oInGameManager/oInGameManager.yy",},},
     {"id":{"name":"oInventory","path":"objects/oInventory/oInventory.yy",},},
     {"id":{"name":"oInventory","path":"objects/oInventory/oInventory.yy",},},
     {"id":{"name":"oMain","path":"objects/oMain/oMain.yy",},},
     {"id":{"name":"oMain","path":"objects/oMain/oMain.yy",},},
-    {"id":{"name":"oParentCollectable","path":"objects/oParentCollectable/oParentCollectable.yy",},},
     {"id":{"name":"oParentEnemy","path":"objects/oParentEnemy/oParentEnemy.yy",},},
     {"id":{"name":"oParentEnemy","path":"objects/oParentEnemy/oParentEnemy.yy",},},
     {"id":{"name":"oParentEntity","path":"objects/oParentEntity/oParentEntity.yy",},},
     {"id":{"name":"oParentEntity","path":"objects/oParentEntity/oParentEntity.yy",},},
     {"id":{"name":"oParentHazard","path":"objects/oParentHazard/oParentHazard.yy",},},
     {"id":{"name":"oParentHazard","path":"objects/oParentHazard/oParentHazard.yy",},},
     {"id":{"name":"oParentInteractive","path":"objects/oParentInteractive/oParentInteractive.yy",},},
     {"id":{"name":"oParentInteractive","path":"objects/oParentInteractive/oParentInteractive.yy",},},
     {"id":{"name":"oParentObstacle","path":"objects/oParentObstacle/oParentObstacle.yy",},},
     {"id":{"name":"oParentObstacle","path":"objects/oParentObstacle/oParentObstacle.yy",},},
     {"id":{"name":"oParentSolid","path":"objects/oParentSolid/oParentSolid.yy",},},
     {"id":{"name":"oParentSolid","path":"objects/oParentSolid/oParentSolid.yy",},},
-    {"id":{"name":"oParentTutorial","path":"objects/oParentTutorial/oParentTutorial.yy",},},
     {"id":{"name":"oPauseMenu","path":"objects/oPauseMenu/oPauseMenu.yy",},},
     {"id":{"name":"oPauseMenu","path":"objects/oPauseMenu/oPauseMenu.yy",},},
     {"id":{"name":"oPlayer","path":"objects/oPlayer/oPlayer.yy",},},
     {"id":{"name":"oPlayer","path":"objects/oPlayer/oPlayer.yy",},},
     {"id":{"name":"oPlayerAfterImage","path":"objects/oPlayerAfterImage/oPlayerAfterImage.yy",},},
     {"id":{"name":"oPlayerAfterImage","path":"objects/oPlayerAfterImage/oPlayerAfterImage.yy",},},
     {"id":{"name":"oPlayerAttackedEffect","path":"objects/oPlayerAttackedEffect/oPlayerAttackedEffect.yy",},},
     {"id":{"name":"oPlayerAttackedEffect","path":"objects/oPlayerAttackedEffect/oPlayerAttackedEffect.yy",},},
     {"id":{"name":"oPlayerCorpse","path":"objects/oPlayerCorpse/oPlayerCorpse.yy",},},
     {"id":{"name":"oPlayerCorpse","path":"objects/oPlayerCorpse/oPlayerCorpse.yy",},},
     {"id":{"name":"oPlayerHitbox","path":"objects/oPlayerHitbox/oPlayerHitbox.yy",},},
     {"id":{"name":"oPlayerHitbox","path":"objects/oPlayerHitbox/oPlayerHitbox.yy",},},
-    {"id":{"name":"oPlayerHitboxArc","path":"objects/oPlayerHitboxArc/oPlayerHitboxArc.yy",},},
     {"id":{"name":"oPlayerHitboxDown","path":"objects/oPlayerHitboxDown/oPlayerHitboxDown.yy",},},
     {"id":{"name":"oPlayerHitboxDown","path":"objects/oPlayerHitboxDown/oPlayerHitboxDown.yy",},},
     {"id":{"name":"oPlayerHitboxHor","path":"objects/oPlayerHitboxHor/oPlayerHitboxHor.yy",},},
     {"id":{"name":"oPlayerHitboxHor","path":"objects/oPlayerHitboxHor/oPlayerHitboxHor.yy",},},
-    {"id":{"name":"oPlayerHitboxMark","path":"objects/oPlayerHitboxMark/oPlayerHitboxMark.yy",},},
     {"id":{"name":"oPlayerHitboxUp","path":"objects/oPlayerHitboxUp/oPlayerHitboxUp.yy",},},
     {"id":{"name":"oPlayerHitboxUp","path":"objects/oPlayerHitboxUp/oPlayerHitboxUp.yy",},},
     {"id":{"name":"oRippleDeath","path":"objects/oRippleDeath/oRippleDeath.yy",},},
     {"id":{"name":"oRippleDeath","path":"objects/oRippleDeath/oRippleDeath.yy",},},
     {"id":{"name":"oRippleExpand","path":"objects/oRippleExpand/oRippleExpand.yy",},},
     {"id":{"name":"oRippleExpand","path":"objects/oRippleExpand/oRippleExpand.yy",},},
     {"id":{"name":"oRippleShrink","path":"objects/oRippleShrink/oRippleShrink.yy",},},
     {"id":{"name":"oRippleShrink","path":"objects/oRippleShrink/oRippleShrink.yy",},},
     {"id":{"name":"oSavePoint","path":"objects/oSavePoint/oSavePoint.yy",},},
     {"id":{"name":"oSavePoint","path":"objects/oSavePoint/oSavePoint.yy",},},
+    {"id":{"name":"oShockwave","path":"objects/oShockwave/oShockwave.yy",},},
     {"id":{"name":"oShowerheadBomb","path":"objects/oShowerheadBomb/oShowerheadBomb.yy",},},
     {"id":{"name":"oShowerheadBomb","path":"objects/oShowerheadBomb/oShowerheadBomb.yy",},},
-    {"id":{"name":"oSlicedApple","path":"objects/oSlicedApple/oSlicedApple.yy",},},
+    {"id":{"name":"oShowerheadColumn","path":"objects/oShowerheadColumn/oShowerheadColumn.yy",},},
     {"id":{"name":"oSpike","path":"objects/oSpike/oSpike.yy",},},
     {"id":{"name":"oSpike","path":"objects/oSpike/oSpike.yy",},},
     {"id":{"name":"oTyper","path":"objects/oTyper/oTyper.yy",},},
     {"id":{"name":"oTyper","path":"objects/oTyper/oTyper.yy",},},
     {"id":{"name":"oUI","path":"objects/oUI/oUI.yy",},},
     {"id":{"name":"oUI","path":"objects/oUI/oUI.yy",},},
+    {"id":{"name":"oWeaponInteractive","path":"objects/oWeaponInteractive/oWeaponInteractive.yy",},},
     {"id":{"name":"peBladeHitHazard","path":"particles/peBladeHitHazard/peBladeHitHazard.yy",},},
     {"id":{"name":"peBladeHitHazard","path":"particles/peBladeHitHazard/peBladeHitHazard.yy",},},
     {"id":{"name":"peINKBurst","path":"particles/peINKBurst/peINKBurst.yy",},},
     {"id":{"name":"peINKBurst","path":"particles/peINKBurst/peINKBurst.yy",},},
     {"id":{"name":"pePickupCredit","path":"particles/pePickupCredit/pePickupCredit.yy",},},
     {"id":{"name":"pePickupCredit","path":"particles/pePickupCredit/pePickupCredit.yy",},},
@@ -135,6 +134,7 @@
     {"id":{"name":"rTest3","path":"rooms/rTest3/rTest3.yy",},},
     {"id":{"name":"rTest3","path":"rooms/rTest3/rTest3.yy",},},
     {"id":{"name":"rTest4","path":"rooms/rTest4/rTest4.yy",},},
     {"id":{"name":"rTest4","path":"rooms/rTest4/rTest4.yy",},},
     {"id":{"name":"rTest5","path":"rooms/rTest5/rTest5.yy",},},
     {"id":{"name":"rTest5","path":"rooms/rTest5/rTest5.yy",},},
+    {"id":{"name":"rTest6","path":"rooms/rTest6/rTest6.yy",},},
     {"id":{"name":"rTest7","path":"rooms/rTest7/rTest7.yy",},},
     {"id":{"name":"rTest7","path":"rooms/rTest7/rTest7.yy",},},
     {"id":{"name":"rTitle","path":"rooms/rTitle/rTitle.yy",},},
     {"id":{"name":"rTitle","path":"rooms/rTitle/rTitle.yy",},},
     {"id":{"name":"AudioManager","path":"scripts/AudioManager/AudioManager.yy",},},
     {"id":{"name":"AudioManager","path":"scripts/AudioManager/AudioManager.yy",},},
@@ -142,7 +142,6 @@
     {"id":{"name":"BossShowerheadAI","path":"scripts/BossShowerheadAI/BossShowerheadAI.yy",},},
     {"id":{"name":"BossShowerheadAI","path":"scripts/BossShowerheadAI/BossShowerheadAI.yy",},},
     {"id":{"name":"CrawlAI","path":"scripts/CrawlAI/CrawlAI.yy",},},
     {"id":{"name":"CrawlAI","path":"scripts/CrawlAI/CrawlAI.yy",},},
     {"id":{"name":"DummyAI","path":"scripts/DummyAI/DummyAI.yy",},},
     {"id":{"name":"DummyAI","path":"scripts/DummyAI/DummyAI.yy",},},
-    {"id":{"name":"enemyShowerheadbombAI","path":"scripts/enemyShowerheadbombAI/enemyShowerheadbombAI.yy",},},
     {"id":{"name":"EnemyStates","path":"scripts/EnemyStates/EnemyStates.yy",},},
     {"id":{"name":"EnemyStates","path":"scripts/EnemyStates/EnemyStates.yy",},},
     {"id":{"name":"FlyingAI","path":"scripts/FlyingAI/FlyingAI.yy",},},
     {"id":{"name":"FlyingAI","path":"scripts/FlyingAI/FlyingAI.yy",},},
     {"id":{"name":"FlyingTrackAI","path":"scripts/FlyingTrackAI/FlyingTrackAI.yy",},},
     {"id":{"name":"FlyingTrackAI","path":"scripts/FlyingTrackAI/FlyingTrackAI.yy",},},
@@ -153,6 +152,8 @@
     {"id":{"name":"PlayerStates","path":"scripts/PlayerStates/PlayerStates.yy",},},
     {"id":{"name":"PlayerStates","path":"scripts/PlayerStates/PlayerStates.yy",},},
     {"id":{"name":"SaveLoad","path":"scripts/SaveLoad/SaveLoad.yy",},},
     {"id":{"name":"SaveLoad","path":"scripts/SaveLoad/SaveLoad.yy",},},
     {"id":{"name":"ShowerheadAI","path":"scripts/ShowerheadAI/ShowerheadAI.yy",},},
     {"id":{"name":"ShowerheadAI","path":"scripts/ShowerheadAI/ShowerheadAI.yy",},},
+    {"id":{"name":"ShowerheadBombAI","path":"scripts/ShowerheadBombAI/ShowerheadBombAI.yy",},},
+    {"id":{"name":"ShowerheadColumnAI","path":"scripts/ShowerheadColumnAI/ShowerheadColumnAI.yy",},},
     {"id":{"name":"Simplifier","path":"scripts/Simplifier/Simplifier.yy",},},
     {"id":{"name":"Simplifier","path":"scripts/Simplifier/Simplifier.yy",},},
     {"id":{"name":"Typer","path":"scripts/Typer/Typer.yy",},},
     {"id":{"name":"Typer","path":"scripts/Typer/Typer.yy",},},
     {"id":{"name":"sh_flash","path":"shaders/sh_flash/sh_flash.yy",},},
     {"id":{"name":"sh_flash","path":"shaders/sh_flash/sh_flash.yy",},},
@@ -166,6 +167,7 @@
     {"id":{"name":"sBossShowerheadRetreat","path":"sprites/sBossShowerheadRetreat/sBossShowerheadRetreat.yy",},},
     {"id":{"name":"sBossShowerheadRetreat","path":"sprites/sBossShowerheadRetreat/sBossShowerheadRetreat.yy",},},
     {"id":{"name":"sBossShowerheadShoot","path":"sprites/sBossShowerheadShoot/sBossShowerheadShoot.yy",},},
     {"id":{"name":"sBossShowerheadShoot","path":"sprites/sBossShowerheadShoot/sBossShowerheadShoot.yy",},},
     {"id":{"name":"sBossShowerheadSlam","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},},
     {"id":{"name":"sBossShowerheadSlam","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},},
+    {"id":{"name":"sBossShowerheadSpawn","path":"sprites/sBossShowerheadSpawn/sBossShowerheadSpawn.yy",},},
     {"id":{"name":"sBossShowerheadWindup","path":"sprites/sBossShowerheadWindup/sBossShowerheadWindup.yy",},},
     {"id":{"name":"sBossShowerheadWindup","path":"sprites/sBossShowerheadWindup/sBossShowerheadWindup.yy",},},
     {"id":{"name":"sBreakableSolid","path":"sprites/sBreakableSolid/sBreakableSolid.yy",},},
     {"id":{"name":"sBreakableSolid","path":"sprites/sBreakableSolid/sBreakableSolid.yy",},},
     {"id":{"name":"sBrokenSolid1","path":"sprites/sBrokenSolid1/sBrokenSolid1.yy",},},
     {"id":{"name":"sBrokenSolid1","path":"sprites/sBrokenSolid1/sBrokenSolid1.yy",},},
@@ -196,9 +198,9 @@
     {"id":{"name":"sEnemyShowerheadSink","path":"sprites/sEnemyShowerheadSink/sEnemyShowerheadSink.yy",},},
     {"id":{"name":"sEnemyShowerheadSink","path":"sprites/sEnemyShowerheadSink/sEnemyShowerheadSink.yy",},},
     {"id":{"name":"sHitboxDown","path":"sprites/sHitboxDown/sHitboxDown.yy",},},
     {"id":{"name":"sHitboxDown","path":"sprites/sHitboxDown/sHitboxDown.yy",},},
     {"id":{"name":"sHitboxHor","path":"sprites/sHitboxHor/sHitboxHor.yy",},},
     {"id":{"name":"sHitboxHor","path":"sprites/sHitboxHor/sHitboxHor.yy",},},
-    {"id":{"name":"sHitboxMark","path":"sprites/sHitboxMark/sHitboxMark.yy",},},
     {"id":{"name":"sHitboxUp","path":"sprites/sHitboxUp/sHitboxUp.yy",},},
     {"id":{"name":"sHitboxUp","path":"sprites/sHitboxUp/sHitboxUp.yy",},},
     {"id":{"name":"sInteractIndicator","path":"sprites/sInteractIndicator/sInteractIndicator.yy",},},
     {"id":{"name":"sInteractIndicator","path":"sprites/sInteractIndicator/sInteractIndicator.yy",},},
+    {"id":{"name":"sNull","path":"sprites/sNull/sNull.yy",},},
     {"id":{"name":"sParentInteractive","path":"sprites/sParentInteractive/sParentInteractive.yy",},},
     {"id":{"name":"sParentInteractive","path":"sprites/sParentInteractive/sParentInteractive.yy",},},
     {"id":{"name":"sPlayerArcSlash","path":"sprites/sPlayerArcSlash/sPlayerArcSlash.yy",},},
     {"id":{"name":"sPlayerArcSlash","path":"sprites/sPlayerArcSlash/sPlayerArcSlash.yy",},},
     {"id":{"name":"sPlayerAttack","path":"sprites/sPlayerAttack/sPlayerAttack.yy",},},
     {"id":{"name":"sPlayerAttack","path":"sprites/sPlayerAttack/sPlayerAttack.yy",},},
@@ -219,23 +221,13 @@
     {"id":{"name":"sPlayerWalk","path":"sprites/sPlayerWalk/sPlayerWalk.yy",},},
     {"id":{"name":"sPlayerWalk","path":"sprites/sPlayerWalk/sPlayerWalk.yy",},},
     {"id":{"name":"sPlayerWall","path":"sprites/sPlayerWall/sPlayerWall.yy",},},
     {"id":{"name":"sPlayerWall","path":"sprites/sPlayerWall/sPlayerWall.yy",},},
     {"id":{"name":"sRec32","path":"sprites/sRec32/sRec32.yy",},},
     {"id":{"name":"sRec32","path":"sprites/sRec32/sRec32.yy",},},
+    {"id":{"name":"sRec72","path":"sprites/sRec72/sRec72.yy",},},
+    {"id":{"name":"sRec96","path":"sprites/sRec96/sRec96.yy",},},
+    {"id":{"name":"sShockwave","path":"sprites/sShockwave/sShockwave.yy",},},
     {"id":{"name":"sShowerheadBomb","path":"sprites/sShowerheadBomb/sShowerheadBomb.yy",},},
     {"id":{"name":"sShowerheadBomb","path":"sprites/sShowerheadBomb/sShowerheadBomb.yy",},},
+    {"id":{"name":"sShowerheadColumn","path":"sprites/sShowerheadColumn/sShowerheadColumn.yy",},},
+    {"id":{"name":"sShowerheadColumnWarning","path":"sprites/sShowerheadColumnWarning/sShowerheadColumnWarning.yy",},},
     {"id":{"name":"sSpike","path":"sprites/sSpike/sSpike.yy",},},
     {"id":{"name":"sSpike","path":"sprites/sSpike/sSpike.yy",},},
-    {"id":{"name":"sTutorAttack","path":"sprites/sTutorAttack/sTutorAttack.yy",},},
-    {"id":{"name":"sTutorAttackAlt","path":"sprites/sTutorAttackAlt/sTutorAttackAlt.yy",},},
-    {"id":{"name":"sTutorDash","path":"sprites/sTutorDash/sTutorDash.yy",},},
-    {"id":{"name":"sTutorDashAlt","path":"sprites/sTutorDashAlt/sTutorDashAlt.yy",},},
-    {"id":{"name":"sTutorFocus","path":"sprites/sTutorFocus/sTutorFocus.yy",},},
-    {"id":{"name":"sTutorFocusAlt","path":"sprites/sTutorFocusAlt/sTutorFocusAlt.yy",},},
-    {"id":{"name":"sTutorJump","path":"sprites/sTutorJump/sTutorJump.yy",},},
-    {"id":{"name":"sTutorJumpAlt","path":"sprites/sTutorJumpAlt/sTutorJumpAlt.yy",},},
-    {"id":{"name":"sTutorPogo","path":"sprites/sTutorPogo/sTutorPogo.yy",},},
-    {"id":{"name":"sTutorPogoAlt","path":"sprites/sTutorPogoAlt/sTutorPogoAlt.yy",},},
-    {"id":{"name":"sTutorSave","path":"sprites/sTutorSave/sTutorSave.yy",},},
-    {"id":{"name":"sTutorTitle","path":"sprites/sTutorTitle/sTutorTitle.yy",},},
-    {"id":{"name":"sTutorTitleAlt","path":"sprites/sTutorTitleAlt/sTutorTitleAlt.yy",},},
-    {"id":{"name":"sTutorWallJump","path":"sprites/sTutorWallJump/sTutorWallJump.yy",},},
-    {"id":{"name":"sTutorWallJumpAlt","path":"sprites/sTutorWallJumpAlt/sTutorWallJumpAlt.yy",},},
   ],
   ],
   "resourceType":"GMProject",
   "resourceType":"GMProject",
   "resourceVersion":"2.0",
   "resourceVersion":"2.0",
@@ -247,6 +239,7 @@
     {"roomId":{"name":"rTest4","path":"rooms/rTest4/rTest4.yy",},},
     {"roomId":{"name":"rTest4","path":"rooms/rTest4/rTest4.yy",},},
     {"roomId":{"name":"rTest5","path":"rooms/rTest5/rTest5.yy",},},
     {"roomId":{"name":"rTest5","path":"rooms/rTest5/rTest5.yy",},},
     {"roomId":{"name":"rTest7","path":"rooms/rTest7/rTest7.yy",},},
     {"roomId":{"name":"rTest7","path":"rooms/rTest7/rTest7.yy",},},
+    {"roomId":{"name":"rTest6","path":"rooms/rTest6/rTest6.yy",},},
   ],
   ],
   "templateType":"game",
   "templateType":"game",
   "TextureGroups":[
   "TextureGroups":[

+ 9 - 1
notes/更新日志DrDuck/更新日志DrDuck.txt

@@ -249,6 +249,14 @@ global.player是游戏内玩家inst_id
 
 
 6. 更新oTyper,手写,使我能理解它如何运作。
 6. 更新oTyper,手写,使我能理解它如何运作。
 
 
-2025/5/27
+2025/6/10
+
+1. 大幅推进设计,详见notion
+
+2. 部分完成oBossShowerhead
+
+3. 大修oParentEnemy逻辑
+
+2025/6/11
 
 
 1. 
 1. 

+ 25 - 0
objects/oAccesscard/Create_0.gml

@@ -0,0 +1,25 @@
+event_inherited();
+
+dist_tor = 72;
+dist_y_tor = 48;
+indi_y_offset = -72;
+
+callback = function()
+{
+	type(["You find the access card!"], interact_end);
+	global.save_data.player.abilities.accesscard = true;
+	
+	save_game_to_disk();
+	instance_destroy();
+}
+
+x_spd = random_range(-3, 3);
+y_spd = random_range(-15, -5);
+
+image_angle = random(360);
+
+restitution = 0.5;
+
+flash_duration = 0;
+flash_timer = 0;
+u_flash_alpha = shader_get_uniform(sh_flash, "f_alpha");

+ 29 - 0
objects/oAccesscard/Step_0.gml

@@ -0,0 +1,29 @@
+event_inherited();
+
+y_spd += global.g * global.time_scale;
+
+if place_meeting(x, y + y_spd, oParentSolid)
+{
+    while !place_meeting(x, y + sign(y_spd), oParentSolid)
+        y += sign(y_spd);
+    
+    if y_spd > 2
+	{
+        y_spd *= -restitution;
+		x_spd *= restitution;
+	}
+	else
+	{
+        y_spd = 0;
+		x_spd = 0;
+	}
+}
+y += y_spd * global.time_scale;
+
+if place_meeting(x + x_spd, y, oParentSolid)
+    x_spd *= -restitution;
+
+x += x_spd * global.time_scale;
+
+image_angle += 4 * point_distance(0, 0, x_spd, y_spd) * global.time_scale;
+

+ 9 - 8
objects/oSlicedApple/oSlicedApple.yy → objects/oAccesscard/oAccesscard.yy

@@ -1,19 +1,20 @@
 {
 {
   "$GMObject":"",
   "$GMObject":"",
-  "%Name":"oSlicedApple",
+  "%Name":"oAccesscard",
   "eventList":[
   "eventList":[
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
   ],
   ],
   "managed":true,
   "managed":true,
-  "name":"oSlicedApple",
+  "name":"oAccesscard",
   "overriddenProperties":[],
   "overriddenProperties":[],
   "parent":{
   "parent":{
-    "name":"CollectableObjects",
-    "path":"folders/Objects/CollectableObjects.yy",
+    "name":"IntractiveObjects",
+    "path":"folders/Objects/IntractiveObjects.yy",
   },
   },
   "parentObjectId":{
   "parentObjectId":{
-    "name":"oParentCollectable",
-    "path":"objects/oParentCollectable/oParentCollectable.yy",
+    "name":"oParentInteractive",
+    "path":"objects/oParentInteractive/oParentInteractive.yy",
   },
   },
   "persistent":false,
   "persistent":false,
   "physicsAngularDamping":0.1,
   "physicsAngularDamping":0.1,
@@ -33,8 +34,8 @@
   "resourceVersion":"2.0",
   "resourceVersion":"2.0",
   "solid":false,
   "solid":false,
   "spriteId":{
   "spriteId":{
-    "name":"sPlayerHP",
-    "path":"sprites/sPlayerHP/sPlayerHP.yy",
+    "name":"sCredit",
+    "path":"sprites/sCredit/sCredit.yy",
   },
   },
   "spriteMaskId":null,
   "spriteMaskId":null,
   "visible":true,
   "visible":true,

+ 23 - 11
objects/oBossShowerhead/Create_0.gml

@@ -1,8 +1,8 @@
 event_inherited();
 event_inherited();
 
 
-hp = 200;
+hp = 240;
 
 
-hitstun_max = 0;
+hitstun_duration = 0;
 kb_factor = 0;
 kb_factor = 0;
 
 
 credit = 30;
 credit = 30;
@@ -11,17 +11,29 @@ apply_collision = false;
 
 
 enemy_ai = boss_showerhead_ai;
 enemy_ai = boss_showerhead_ai;
 
 
-hitbox = enemy_create_hitboxMC(192, 192);
+hitbox = enemy_create_hitboxMC(160, 160);
 
 
 state = "SPAWN";
 state = "SPAWN";
 
 
 attack_queue = [1, 3, 1, 3, 2, 1, 2, 3, 1, 2, 2, 3];
 attack_queue = [1, 3, 1, 3, 2, 1, 2, 3, 1, 2, 2, 3];
 attack_index = irandom(array_length(attack_queue) - 1);
 attack_index = irandom(array_length(attack_queue) - 1);
-phase        = 1;
-shoot_count  = 0;
-boss_side    = 1;
-anchor_l     = 128;
-anchor_r     = room_width - 128;
-idle_timer   = 0;
-retreat_spd  = 8;  // 后撤速度,较慢
-charge_spd   = 18; // 冲刺速度,要有压迫感
+
+shoot_count = 0;
+boss_side   = -1;
+//1 = right, -1 = left
+anchor_l    = 160;
+anchor_r    = room_width - 160;
+x			= anchor_l;
+idle_timer  = 0;
+retreat_spd = 8;
+charge_spd  = 18;
+
+death_callback = function()
+{
+    global.time_scale_t = 0;
+    global.time_scale_duration = 90;
+    global.time_scale = 0.1;
+	
+	icl(oAccesscard);
+	instance_destroy();
+}

+ 2 - 2
objects/oBossShowerhead/oBossShowerhead.yy

@@ -33,8 +33,8 @@
   "resourceVersion":"2.0",
   "resourceVersion":"2.0",
   "solid":false,
   "solid":false,
   "spriteId":{
   "spriteId":{
-    "name":"sBossShowerheadIdle",
-    "path":"sprites/sBossShowerheadIdle/sBossShowerheadIdle.yy",
+    "name":"sBossShowerheadSpawn",
+    "path":"sprites/sBossShowerheadSpawn/sBossShowerheadSpawn.yy",
   },
   },
   "spriteMaskId":null,
   "spriteMaskId":null,
   "visible":true,
   "visible":true,

+ 2 - 2
objects/oCredit/oCredit.yy

@@ -11,8 +11,8 @@
   "name":"oCredit",
   "name":"oCredit",
   "overriddenProperties":[],
   "overriddenProperties":[],
   "parent":{
   "parent":{
-    "name":"CollectableObjects",
-    "path":"folders/Objects/CollectableObjects.yy",
+    "name":"Objects",
+    "path":"folders/Objects.yy",
   },
   },
   "parentObjectId":null,
   "parentObjectId":null,
   "persistent":false,
   "persistent":false,

+ 14 - 0
objects/oDoorInteractive/Create_0.gml

@@ -0,0 +1,14 @@
+self_check_destroy();
+event_inherited();
+
+dist_tor = 144;
+dist_y_tor = 48;
+indi_y_offset = -192;
+
+callback = function()
+{
+	global.save_data.player.abilities.attack = true;
+	
+	self_record_destroy();
+}
+depth = 10;

+ 2 - 2
objects/oAttackInteractive/oAttackInteractive.yy → objects/oDoorInteractive/oDoorInteractive.yy

@@ -1,11 +1,11 @@
 {
 {
   "$GMObject":"",
   "$GMObject":"",
-  "%Name":"oAttackInteractive",
+  "%Name":"oDoorInteractive",
   "eventList":[
   "eventList":[
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
   ],
   ],
   "managed":true,
   "managed":true,
-  "name":"oAttackInteractive",
+  "name":"oDoorInteractive",
   "overriddenProperties":[],
   "overriddenProperties":[],
   "parent":{
   "parent":{
     "name":"IntractiveObjects",
     "name":"IntractiveObjects",

+ 3 - 0
objects/oEnemyCorpse/Create_0.gml

@@ -2,6 +2,9 @@ x_spd = 0;
 y_spd = 0;
 y_spd = 0;
 
 
 image_speed = 0;
 image_speed = 0;
+animation_spd = 0.25;
+
+apply_gravity = false;
 
 
 restitution = 0.3;
 restitution = 0.3;
 
 

+ 0 - 14
objects/oEnemyCorpse/Draw_0.gml

@@ -1,17 +1,3 @@
-/*
-var _ox = sprite_get_xoffset(sprite_index);
-var _oy = sprite_get_yoffset(sprite_index);
-var _cx = sprite_get_width(sprite_index) / 2;
-var _cy = sprite_get_height(sprite_index) / 2;
-
-shader_set(sh_grey);
-draw_sprite_ext(sprite_index, image_index,
-    x + lengthdir_x(_cx - _ox, image_angle),
-    y + lengthdir_y(_cy - _oy, image_angle),
-    image_xscale, image_yscale, image_angle, image_blend, image_alpha);
-shader_reset();
-*/
-
 shader_set(sh_grey);
 shader_set(sh_grey);
 draw_self();
 draw_self();
 shader_reset();
 shader_reset();

+ 8 - 4
objects/oEnemyCorpse/Step_0.gml

@@ -1,4 +1,8 @@
-y_spd += global.g * global.time_scale;
+if image_index + animation_spd < image_number
+	image_index += animation_spd;
+
+if apply_gravity
+	y_spd += global.g * global.time_scale;
 
 
 if place_meeting(x, y + y_spd, oParentSolid)
 if place_meeting(x, y + y_spd, oParentSolid)
 {
 {
@@ -19,13 +23,13 @@ if place_meeting(x, y + y_spd, oParentSolid)
 y += y_spd * global.time_scale;
 y += y_spd * global.time_scale;
 
 
 if place_meeting(x + x_spd, y, oParentSolid)
 if place_meeting(x + x_spd, y, oParentSolid)
-    x_spd *= -restitution; // 撞墙反弹
+    x_spd *= -restitution;
 
 
 x += x_spd * global.time_scale;
 x += x_spd * global.time_scale;
 
 
-image_angle += point_distance(0, 0, x_spd, y_spd) * global.time_scale;
+image_angle += point_distance(0, 0, x_spd, y_spd);
 
 
-image_alpha -= 0.001;
+image_alpha -= 0.001;//
 
 
 if image_alpha <= 0
 if image_alpha <= 0
 	instance_destroy();
 	instance_destroy();

+ 6 - 5
objects/oEnemyShowerhead/Create_0.gml

@@ -1,11 +1,11 @@
 event_inherited();
 event_inherited();
 
 
-hp = 19;
+hp = 15;
 
 
-wake_timer = irandom(60);
+wake_timer = irandom(90);
 
 
-hitstun_max = 0;
-kb_factor = 0;
+hitstun_duration = 0;
+kb_factor = 0.0;
 
 
 credit = 5;
 credit = 5;
 
 
@@ -15,4 +15,5 @@ enemy_ai = enemy_showerhead_ai;
 
 
 hitbox = enemy_create_hitboxMC(56, 56);
 hitbox = enemy_create_hitboxMC(56, 56);
 
 
-state = "WAIT";
+state = "WAIT";
+awake = false;

+ 1 - 1
objects/oEnemyShowerhead/oEnemyShowerhead.yy

@@ -9,7 +9,7 @@
   "overriddenProperties":[],
   "overriddenProperties":[],
   "parent":{
   "parent":{
     "name":"oEnemyShowerhead",
     "name":"oEnemyShowerhead",
-    "path":"folders/Enemy/oEnemyShowerhead.yy",
+    "path":"folders/Enemy/oBossShowerhead/oEnemyShowerhead.yy",
   },
   },
   "parentObjectId":{
   "parentObjectId":{
     "name":"oParentEnemy",
     "name":"oParentEnemy",

+ 0 - 1
objects/oParentCollectable/Collision_oPlayer.gml

@@ -1 +0,0 @@
-self_record_destroy(callback);

+ 0 - 3
objects/oParentCollectable/Create_0.gml

@@ -1,3 +0,0 @@
-self_check_destroy();
-	
-callback = function(){};

+ 0 - 38
objects/oParentCollectable/oParentCollectable.yy

@@ -1,38 +0,0 @@
-{
-  "$GMObject":"",
-  "%Name":"oParentCollectable",
-  "eventList":[
-    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
-    {"$GMEvent":"v1","%Name":"","collisionObjectId":{"name":"oPlayer","path":"objects/oPlayer/oPlayer.yy",},"eventNum":0,"eventType":4,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
-  ],
-  "managed":true,
-  "name":"oParentCollectable",
-  "overriddenProperties":[],
-  "parent":{
-    "name":"CollectableObjects",
-    "path":"folders/Objects/CollectableObjects.yy",
-  },
-  "parentObjectId":null,
-  "persistent":false,
-  "physicsAngularDamping":0.1,
-  "physicsDensity":0.5,
-  "physicsFriction":0.2,
-  "physicsGroup":1,
-  "physicsKinematic":false,
-  "physicsLinearDamping":0.1,
-  "physicsObject":false,
-  "physicsRestitution":0.1,
-  "physicsSensor":false,
-  "physicsShape":1,
-  "physicsShapePoints":[],
-  "physicsStartAwake":true,
-  "properties":[
-    {"$GMObjectProperty":"v2","%Name":"uuid","filters":[],"listItems":[],"multiselect":false,"name":"uuid","rangeEnabled":false,"rangeMax":10.0,"rangeMin":0.0,"resourceType":"GMObjectProperty","resourceVersion":"2.0","value":"","varDescription":"该收集品的独特id,用于sl摧毁检测等","varType":2,},
-  ],
-  "resourceType":"GMObject",
-  "resourceVersion":"2.0",
-  "solid":false,
-  "spriteId":null,
-  "spriteMaskId":null,
-  "visible":true,
-}

+ 66 - 62
objects/oParentEnemy/Create_0.gml

@@ -1,77 +1,81 @@
-get_hit = function(_info)
+//运行参数
+x_spd = 0;
+y_spd = 0;
+x_spd_kb = 0;
+y_spd_kb = 0;
+facing_x = 1;
+facing_y = 1;
+hitstun_timer = 0;
+flash_timer = 0;
+is_dead = false;
+state = undefined;
+hitbox = noone;
+
+//基础属性
+credit = 0;
+damage = 1;
+hp = 1;
+kb_factor = 1.0;
+hitstun_duration = 10;
+
+//视觉
+image_speed = 0; //禁用内置参数
+animation_spd = 0.25;
+corpse_sprite = sprite_index; //临时方案,最终被美术素材替代
+flash_duration = 6;
+u_flash_alpha = shader_get_uniform(sh_flash, "f_alpha");
+get_hit_pe = function(_info)
 {
 {
-	if has_ink
+	var _dir = point_direction(0, 0, _info.kbFactorX, -abs(_info.kbFactorY));
+	repeat(6)
 	{
 	{
-		player_add_INK(1);
-		
-		var _dir = point_direction(0, 0, _info.kbFactorX, -abs(_info.kbFactorY));
-		repeat(6)
-		{
-			var _pe = icl(oHitEnemyEffect);
-			_pe.dir = random_range(_dir - 45, _dir + 45);
-			_pe.x_spd = lengthdir_x(_pe.spd, _pe.dir);
-			_pe.y_spd = lengthdir_y(_pe.spd, _pe.dir);
-		}
+		var _pe = icl(oHitEnemyEffect);
+		_pe.dir = random_range(_dir - 45, _dir + 45);
+		_pe.x_spd = lengthdir_x(_pe.spd, _pe.dir);
+		_pe.y_spd = lengthdir_y(_pe.spd, _pe.dir);
 	}
 	}
-	else
-	{
-		var _struct = particle_get_info(peBladeHitHazard);
-		var _part_type = _struct.emitters[0].parttype.ind;
-		var _dir = point_direction(0, 0, _info.kbFactorX, -abs(_info.kbFactorY));
-		part_type_direction(_part_type, _dir - 45, _dir + 45, 0, 5);
+};
+death_pe = get_hit_pe; //临时方案
+/*
+get_hit_pe_alt = function()
+{
+	var _struct = particle_get_info(peBladeHitHazard);
+	var _part_type = _struct.emitters[0].parttype.ind;
+	var _dir = point_direction(0, 0, _info.kbFactorX, -abs(_info.kbFactorY));
+	part_type_direction(_part_type, _dir - 45, _dir + 45, 0, 5);
     
     
-		var _part = part_system_create_layer("Effect", false, peBladeHitHazard);
-		part_system_position(_part, x, y);
-	}
-	
-	flash_timer = 6;
-	flash_duration = 6;
+	var _part = part_system_create_layer("Effect", false, peBladeHitHazard);
+	part_system_position(_part, x, y);
+};
+*/
+
+//交互逻辑
+corpse_doll = true;
+has_ink = true;
+apply_collision = true;
+invincible = false;
+enemy_ai = function(){};
+death_callback = undefined;
+get_hit = function(_info)
+{
+	get_hit_pe(_info);
 	
 	
-	hp -= _info.damage;
+	if has_ink
+		player_add_INK(1);
+		
+	flash_timer = flash_duration;
     
     
-    hitstun_timer = hitstun_max;
+    hitstun_timer = hitstun_duration;
 
 
     x_spd_kb = _info.kbFactorX * kb_factor;
     x_spd_kb = _info.kbFactorX * kb_factor;
 	y_spd_kb = _info.kbFactorY * kb_factor;
 	y_spd_kb = _info.kbFactorY * kb_factor;
+	
+	if !invincible
+		hp -= _info.damage;
 
 
     if hp <= 0
     if hp <= 0
 	{
 	{
         is_dead = true;
         is_dead = true;
         enemy_death();
         enemy_death();
     }
     }
-};
-
-x_spd = 0;
-y_spd = 0;
-facing_x = 1;
-facing_y = 1;
-
-credit = 0;
-
-has_ink = true;
-
-hp = 1;
-
-hitstun_timer = 0;
-hitstun_max = 10;
-kb_factor = 1.0;
-
-collision_hitbox = noone;
-apply_collision = true;
-
-is_dead = false;
-
-state = undefined;
-
-enemy_ai = function(){};
-death_callback = function(){};
-
-animation_spd = 0.25;
-image_speed = 0;
-
-hitbox = noone;
-
-// shader
-flash_timer = 0;
-flash_duration = 0;
-u_flash_alpha = shader_get_uniform(sh_flash, "f_alpha");
+};

+ 1 - 5
objects/oParentEnemy/Step_0.gml

@@ -1,12 +1,8 @@
 if check_hitstop() || is_dead
 if check_hitstop() || is_dead
 	exit;
 	exit;
 
 
-image_index += animation_spd;
-
-enemy_ai();
+enemy_check_hitstun();
 
 
 enemy_check_hazard();
 enemy_check_hazard();
 
 
-enemy_check_hitstun();
-
 enemy_move_and_collide();
 enemy_move_and_collide();

+ 1 - 1
objects/oParentInteractive/Create_0.gml

@@ -1,8 +1,8 @@
-indi_y_offset = 0;
 dist_tor = 0;
 dist_tor = 0;
 dist_y_tor = 0;
 dist_y_tor = 0;
 
 
 indi_img_index = 0;
 indi_img_index = 0;
 indi_img_num = 5;
 indi_img_num = 5;
+indi_y_offset = 0;
 
 
 callback = function(){};
 callback = function(){};

+ 1 - 1
objects/oParentInteractive/Step_0.gml

@@ -7,7 +7,7 @@ if instance_exists(global.player)
     if _dist < dist_tor && _dist_y < dist_y_tor
     if _dist < dist_tor && _dist_y < dist_y_tor
 	{
 	{
 		if indi_img_index < indi_img_num - 0.25
 		if indi_img_index < indi_img_num - 0.25
-			indi_img_index += 0.25;////
+			indi_img_index += 0.25;
 
 
 		else if (oMain._up || oMain._down) && _player.state != state_locked
 		else if (oMain._up || oMain._down) && _player.state != state_locked
 		{
 		{

+ 0 - 18
objects/oParentTutorial/Create_0.gml

@@ -1,18 +0,0 @@
-self_check_destroy();
-
-depth = 102;
-/*
-if global.developer_mode
-	image_alpha = 0.4;
-else
-*/
-	image_alpha = 0;
-
-spr_index = noone;
-	
-callback = function(){};
-init_spr = function(){};
-trigger = function()
-{
-	return place_meeting(x, y, global.player);
-};

+ 0 - 12
objects/oParentTutorial/Step_0.gml

@@ -1,12 +0,0 @@
-if trigger()
-{
-	init_spr();
-	callback = function()
-	{
-		global.player.tutor_state = "FADE_IN";
-		global.player.tutor_sprite = spr_index;
-		global.player.tutor_criteria = method(global.player, criteria);
-	}
-
-	self_record_destroy(callback);
-}

+ 0 - 3
objects/oPlayer/Other_4.gml

@@ -1,6 +1,3 @@
-last_safe_x = x;
-last_safe_y = y;
-
 if global.target_door_id != -1
 if global.target_door_id != -1
 {
 {
 	with(oDoor)
 	with(oDoor)

+ 0 - 1
objects/oPlayerHitbox/Step_0.gml

@@ -17,7 +17,6 @@ for(var i = 0; i < _num; i++)
 			hit_feedback(_inst);
 			hit_feedback(_inst);
 		
 		
 		if variable_instance_exists(_inst, "get_hit")
 		if variable_instance_exists(_inst, "get_hit")
-		// && is_method(_inst.get_hit)
 			_inst.get_hit(hit_info);
 			_inst.get_hit(hit_info);
 
 
 		ds_list_add(hit_list, _inst);
 		ds_list_add(hit_list, _inst);

+ 0 - 15
objects/oPlayerHitboxArc/Create_0.gml

@@ -1,15 +0,0 @@
-event_inherited();
-
-damage = 20;
-
-kb_factor_x = 100;
-kb_factor_y = -20;
-
-hit_feedback = function(_receiver)
-{
-	global.player.y_spd = global.player.jump_spd * 0.8;
-	global.player.jump_cnt = 1;
-	global.player.can_dash = true;
-	global.player.coyote_timer = 0;
-	global.hitstop = 30;
-}

+ 0 - 38
objects/oPlayerHitboxArc/oPlayerHitboxArc.yy

@@ -1,38 +0,0 @@
-{
-  "$GMObject":"",
-  "%Name":"oPlayerHitboxArc",
-  "eventList":[
-    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
-  ],
-  "managed":true,
-  "name":"oPlayerHitboxArc",
-  "overriddenProperties":[],
-  "parent":{
-    "name":"Hitbox",
-    "path":"folders/Player/Hitbox.yy",
-  },
-  "parentObjectId":{
-    "name":"oPlayerHitbox",
-    "path":"objects/oPlayerHitbox/oPlayerHitbox.yy",
-  },
-  "persistent":false,
-  "physicsAngularDamping":0.1,
-  "physicsDensity":0.5,
-  "physicsFriction":0.2,
-  "physicsGroup":1,
-  "physicsKinematic":false,
-  "physicsLinearDamping":0.1,
-  "physicsObject":false,
-  "physicsRestitution":0.1,
-  "physicsSensor":false,
-  "physicsShape":1,
-  "physicsShapePoints":[],
-  "physicsStartAwake":true,
-  "properties":[],
-  "resourceType":"GMObject",
-  "resourceVersion":"2.0",
-  "solid":false,
-  "spriteId":null,
-  "spriteMaskId":null,
-  "visible":true,
-}

+ 0 - 10
objects/oPlayerHitboxMark/Create_0.gml

@@ -1,10 +0,0 @@
-event_inherited();
-
-damage = 5;
-
-kb_factor_y = -15;
-
-hit_feedback = function(_receiver)
-{
-	global.player.is_marked = true;
-}

+ 1 - 1
objects/oSavePoint/Create_0.gml

@@ -8,7 +8,7 @@ callback = function()
 {
 {
 	global.save_data.world.spRoom = room_get_name(room);
 	global.save_data.world.spRoom = room_get_name(room);
 	global.save_data.world.spxPos = x;
 	global.save_data.world.spxPos = x;
-	global.save_data.world.soyPos = y;
+	global.save_data.world.spyPos = y;
 	
 	
 	global.playerHP = global.save_data.player.maxHP;
 	global.playerHP = global.save_data.player.maxHP;
 	
 	

+ 4 - 0
objects/oShockwave/Create_0.gml

@@ -0,0 +1,4 @@
+image_xscale = 0;
+image_yscale = 0;
+image_alpha = 1;
+expand_spd = 1;

+ 8 - 0
objects/oShockwave/Step_0.gml

@@ -0,0 +1,8 @@
+if delay-- > 0
+	exit;
+	
+image_xscale += expand_spd;
+image_yscale += expand_spd;
+image_alpha -= 0.02;
+if image_alpha <= 0
+    instance_destroy();

+ 41 - 0
objects/oShockwave/oShockwave.yy

@@ -0,0 +1,41 @@
+{
+  "$GMObject":"",
+  "%Name":"oShockwave",
+  "eventList":[
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
+  ],
+  "managed":true,
+  "name":"oShockwave",
+  "overriddenProperties":[],
+  "parent":{
+    "name":"shockwave",
+    "path":"folders/ParticleEffects/shockwave.yy",
+  },
+  "parentObjectId":null,
+  "persistent":false,
+  "physicsAngularDamping":0.1,
+  "physicsDensity":0.5,
+  "physicsFriction":0.2,
+  "physicsGroup":1,
+  "physicsKinematic":false,
+  "physicsLinearDamping":0.1,
+  "physicsObject":false,
+  "physicsRestitution":0.1,
+  "physicsSensor":false,
+  "physicsShape":1,
+  "physicsShapePoints":[],
+  "physicsStartAwake":true,
+  "properties":[
+    {"$GMObjectProperty":"v2","%Name":"delay","filters":[],"listItems":[],"multiselect":false,"name":"delay","rangeEnabled":false,"rangeMax":10.0,"rangeMin":0.0,"resourceType":"GMObjectProperty","resourceVersion":"2.0","value":"0","varType":1,},
+  ],
+  "resourceType":"GMObject",
+  "resourceVersion":"2.0",
+  "solid":false,
+  "spriteId":{
+    "name":"sShockwave",
+    "path":"sprites/sShockwave/sShockwave.yy",
+  },
+  "spriteMaskId":null,
+  "visible":true,
+}

+ 12 - 4
objects/oShowerheadBomb/Create_0.gml

@@ -1,12 +1,20 @@
 event_inherited();
 event_inherited();
 
 
-hp = 1;
+hp = 9999;
 credit = 0;
 credit = 0;
 kb_factor = 0;
 kb_factor = 0;
-hitstun_max = 0;
+hitstun_duration = 0;
 has_ink = false;
 has_ink = false;
 apply_collision = false;
 apply_collision = false;
+corpse_doll = false;
+corpse_sprite = sNull;
 
 
-enemy_ai = enemy_showerheadbomb_ai;
+enemy_ai = showerhead_bomb_ai;
 
 
-hitbox = enemy_create_hitboxMC(72, 72);
+hitbox = enemy_create_hitboxMC(72, 72);
+
+bounce_factor = -0.8;
+bounce_count = 0;
+inv_timer = 12;
+
+mask_index = sRec96;

+ 15 - 0
objects/oShowerheadColumn/Create_0.gml

@@ -0,0 +1,15 @@
+event_inherited();
+
+hp = 1;
+damage = 1;
+credit = 0;
+kb_factor = 0;
+invincible = true;
+hitstun_duration = 0;
+has_ink = false;
+apply_collision = false;
+corpse_doll = false;
+corpse_sprite = sNull;
+
+enemy_ai = showerhead_column_ai;
+state = "WARNING";

+ 8 - 8
objects/oPlayerHitboxMark/oPlayerHitboxMark.yy → objects/oShowerheadColumn/oShowerheadColumn.yy

@@ -1,19 +1,19 @@
 {
 {
   "$GMObject":"",
   "$GMObject":"",
-  "%Name":"oPlayerHitboxMark",
+  "%Name":"oShowerheadColumn",
   "eventList":[
   "eventList":[
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
   ],
   ],
   "managed":true,
   "managed":true,
-  "name":"oPlayerHitboxMark",
+  "name":"oShowerheadColumn",
   "overriddenProperties":[],
   "overriddenProperties":[],
   "parent":{
   "parent":{
-    "name":"Hitbox",
-    "path":"folders/Player/Hitbox.yy",
+    "name":"oShowerheadColumn",
+    "path":"folders/Enemy/oBossShowerhead/oShowerheadColumn.yy",
   },
   },
   "parentObjectId":{
   "parentObjectId":{
-    "name":"oPlayerHitbox",
-    "path":"objects/oPlayerHitbox/oPlayerHitbox.yy",
+    "name":"oParentEnemy",
+    "path":"objects/oParentEnemy/oParentEnemy.yy",
   },
   },
   "persistent":false,
   "persistent":false,
   "physicsAngularDamping":0.1,
   "physicsAngularDamping":0.1,
@@ -33,8 +33,8 @@
   "resourceVersion":"2.0",
   "resourceVersion":"2.0",
   "solid":false,
   "solid":false,
   "spriteId":{
   "spriteId":{
-    "name":"sHitboxMark",
-    "path":"sprites/sHitboxMark/sHitboxMark.yy",
+    "name":"sShowerheadColumnWarning",
+    "path":"sprites/sShowerheadColumnWarning/sShowerheadColumnWarning.yy",
   },
   },
   "spriteMaskId":null,
   "spriteMaskId":null,
   "visible":true,
   "visible":true,

+ 0 - 6
objects/oSlicedApple/Create_0.gml

@@ -1,6 +0,0 @@
-event_inherited();
-
-callback = function()
-{
-	global.save_data.player.maxHP++;
-}

+ 0 - 1
objects/oAttackInteractive/Create_0.gml → objects/oWeaponInteractive/Create_0.gml

@@ -8,7 +8,6 @@ indi_y_offset = -192;
 callback = function()
 callback = function()
 {
 {
     type(["A familiar-looking pen lies quietly on the table.",
     type(["A familiar-looking pen lies quietly on the table.",
-	"It seems to be a right hand weapon.",
 	"Press Z to attack."], interact_end);
 	"Press Z to attack."], interact_end);
 	global.save_data.player.abilities.attack = true;
 	global.save_data.player.abilities.attack = true;
 	
 	

+ 10 - 8
objects/oParentTutorial/oParentTutorial.yy → objects/oWeaponInteractive/oWeaponInteractive.yy

@@ -1,18 +1,20 @@
 {
 {
   "$GMObject":"",
   "$GMObject":"",
-  "%Name":"oParentTutorial",
+  "%Name":"oWeaponInteractive",
   "eventList":[
   "eventList":[
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
     {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":0,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
-    {"$GMEvent":"v1","%Name":"","collisionObjectId":null,"eventNum":0,"eventType":3,"isDnD":false,"name":"","resourceType":"GMEvent","resourceVersion":"2.0",},
   ],
   ],
   "managed":true,
   "managed":true,
-  "name":"oParentTutorial",
+  "name":"oWeaponInteractive",
   "overriddenProperties":[],
   "overriddenProperties":[],
   "parent":{
   "parent":{
-    "name":"Objects",
-    "path":"folders/Objects.yy",
+    "name":"IntractiveObjects",
+    "path":"folders/Objects/IntractiveObjects.yy",
+  },
+  "parentObjectId":{
+    "name":"oParentInteractive",
+    "path":"objects/oParentInteractive/oParentInteractive.yy",
   },
   },
-  "parentObjectId":null,
   "persistent":false,
   "persistent":false,
   "physicsAngularDamping":0.1,
   "physicsAngularDamping":0.1,
   "physicsDensity":0.5,
   "physicsDensity":0.5,
@@ -33,8 +35,8 @@
   "resourceVersion":"2.0",
   "resourceVersion":"2.0",
   "solid":false,
   "solid":false,
   "spriteId":{
   "spriteId":{
-    "name":"sRec32",
-    "path":"sprites/sRec32/sRec32.yy",
+    "name":"sParentInteractive",
+    "path":"sprites/sParentInteractive/sParentInteractive.yy",
   },
   },
   "spriteMaskId":null,
   "spriteMaskId":null,
   "visible":true,
   "visible":true,

+ 4 - 4
rooms/rTest1/rTest1.yy

@@ -33,8 +33,8 @@
         {"$GMRInstance":"v4","%Name":"inst_4EC9D8FF","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4EC9D8FF","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":50.0,"scaleY":1.5,"x":1600.0,"y":912.0,},
         {"$GMRInstance":"v4","%Name":"inst_4EC9D8FF","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4EC9D8FF","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":50.0,"scaleY":1.5,"x":1600.0,"y":912.0,},
         {"$GMRInstance":"v4","%Name":"inst_306D7581","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_306D7581","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":13.5,"x":32.0,"y":432.0,},
         {"$GMRInstance":"v4","%Name":"inst_306D7581","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_306D7581","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":13.5,"x":32.0,"y":432.0,},
         {"$GMRInstance":"v4","%Name":"inst_40F0FF48","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_40F0FF48","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":27.5,"scaleY":2.0,"x":2320.0,"y":800.0,},
         {"$GMRInstance":"v4","%Name":"inst_40F0FF48","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_40F0FF48","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":27.5,"scaleY":2.0,"x":2320.0,"y":800.0,},
-        {"$GMRInstance":"v4","%Name":"inst_72E53C15","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_72E53C15","objectId":{"name":"oAttackInteractive","path":"objects/oAttackInteractive/oAttackInteractive.yy",},"properties":[
-            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oAttackInteractive","path":"objects/oAttackInteractive/oAttackInteractive.yy",},"propertyId":{"name":"uuid","path":"objects/oAttackInteractive/oAttackInteractive.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest1_Attack",},
+        {"$GMRInstance":"v4","%Name":"inst_72E53C15","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_72E53C15","objectId":{"name":"oWeaponInteractive","path":"objects/oWeaponInteractive/oWeaponInteractive.yy",},"properties":[
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oWeaponInteractive","path":"objects/oWeaponInteractive/oWeaponInteractive.yy",},"propertyId":{"name":"uuid","path":"objects/oWeaponInteractive/oWeaponInteractive.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest1_Attack",},
           ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":896.0,"y":864.0,},
           ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":896.0,"y":864.0,},
         {"$GMRInstance":"v4","%Name":"inst_3B38CB07","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_3B38CB07","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":2.0,"scaleY":6.5,"x":1952.0,"y":272.0,},
         {"$GMRInstance":"v4","%Name":"inst_3B38CB07","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_3B38CB07","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":2.0,"scaleY":6.5,"x":1952.0,"y":272.0,},
         {"$GMRInstance":"v4","%Name":"inst_68597383","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_68597383","objectId":{"name":"oBreakableSolid","path":"objects/oBreakableSolid/oBreakableSolid.yy",},"properties":[
         {"$GMRInstance":"v4","%Name":"inst_68597383","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_68597383","objectId":{"name":"oBreakableSolid","path":"objects/oBreakableSolid/oBreakableSolid.yy",},"properties":[
@@ -58,8 +58,8 @@
   ],
   ],
   "name":"rTest1",
   "name":"rTest1",
   "parent":{
   "parent":{
-    "name":"Dorm",
-    "path":"folders/Rooms/Dorm.yy",
+    "name":"Administrative",
+    "path":"folders/Rooms/YX/Administrative.yy",
   },
   },
   "parentRoom":null,
   "parentRoom":null,
   "physicsSettings":{
   "physicsSettings":{

+ 2 - 2
rooms/rTest2/rTest2.yy

@@ -64,8 +64,8 @@
   ],
   ],
   "name":"rTest2",
   "name":"rTest2",
   "parent":{
   "parent":{
-    "name":"Dorm",
-    "path":"folders/Rooms/Dorm.yy",
+    "name":"Administrative",
+    "path":"folders/Rooms/YX/Administrative.yy",
   },
   },
   "parentRoom":null,
   "parentRoom":null,
   "physicsSettings":{
   "physicsSettings":{

+ 2 - 2
rooms/rTest3/rTest3.yy

@@ -82,8 +82,8 @@
   ],
   ],
   "name":"rTest3",
   "name":"rTest3",
   "parent":{
   "parent":{
-    "name":"Dorm",
-    "path":"folders/Rooms/Dorm.yy",
+    "name":"Administrative",
+    "path":"folders/Rooms/YX/Administrative.yy",
   },
   },
   "parentRoom":null,
   "parentRoom":null,
   "physicsSettings":{
   "physicsSettings":{

+ 3 - 3
rooms/rTest4/rTest4.yy

@@ -69,7 +69,7 @@
         {"$GMRInstance":"v4","%Name":"inst_ED4E494","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_ED4E494","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":4.0,"scaleY":1.0,"x":1728.0,"y":320.0,},
         {"$GMRInstance":"v4","%Name":"inst_ED4E494","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_ED4E494","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":4.0,"scaleY":1.0,"x":1728.0,"y":320.0,},
         {"$GMRInstance":"v4","%Name":"inst_21F0C03D","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_21F0C03D","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":4.0,"scaleY":1.0,"x":1728.0,"y":384.0,},
         {"$GMRInstance":"v4","%Name":"inst_21F0C03D","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_21F0C03D","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":4.0,"scaleY":1.0,"x":1728.0,"y":384.0,},
         {"$GMRInstance":"v4","%Name":"inst_4D1A45F8","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4D1A45F8","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"properties":[
         {"$GMRInstance":"v4","%Name":"inst_4D1A45F8","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_4D1A45F8","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"properties":[
-            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_room","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest5",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_room","path":"objects/oDoor/oDoor.yy",},"resource":{"name":"rTest5","path":"rooms/rTest5/rTest5.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest5",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"DOWN",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"DOWN",},
@@ -80,8 +80,8 @@
   ],
   ],
   "name":"rTest4",
   "name":"rTest4",
   "parent":{
   "parent":{
-    "name":"Dorm",
-    "path":"folders/Rooms/Dorm.yy",
+    "name":"Administrative",
+    "path":"folders/Rooms/YX/Administrative.yy",
   },
   },
   "parentRoom":null,
   "parentRoom":null,
   "physicsSettings":{
   "physicsSettings":{

+ 22 - 7
rooms/rTest5/rTest5.yy

@@ -14,6 +14,11 @@
     {"name":"inst_2424411A","path":"rooms/rTest5/rTest5.yy",},
     {"name":"inst_2424411A","path":"rooms/rTest5/rTest5.yy",},
     {"name":"inst_24E31DFE","path":"rooms/rTest5/rTest5.yy",},
     {"name":"inst_24E31DFE","path":"rooms/rTest5/rTest5.yy",},
     {"name":"inst_3EF1839E","path":"rooms/rTest5/rTest5.yy",},
     {"name":"inst_3EF1839E","path":"rooms/rTest5/rTest5.yy",},
+    {"name":"inst_7C732747","path":"rooms/rTest5/rTest5.yy",},
+    {"name":"inst_69151B0F","path":"rooms/rTest5/rTest5.yy",},
+    {"name":"inst_6AA01548","path":"rooms/rTest5/rTest5.yy",},
+    {"name":"inst_768E7FE1","path":"rooms/rTest5/rTest5.yy",},
+    {"name":"inst_6CB88840","path":"rooms/rTest5/rTest5.yy",},
   ],
   ],
   "isDnd":false,
   "isDnd":false,
   "layers":[
   "layers":[
@@ -23,27 +28,37 @@
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"UP",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"UP",},
-          ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":-90.0,"scaleX":1.0,"scaleY":1.5,"x":1696.0,"y":736.0,},
-        {"$GMRInstance":"v4","%Name":"inst_45595C2_1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_45595C2_1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":24.5,"scaleY":1.5,"x":784.0,"y":688.0,},
+          ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":-90.0,"scaleX":1.0,"scaleY":1.5,"x":1376.0,"y":736.0,},
+        {"$GMRInstance":"v4","%Name":"inst_45595C2_1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_45595C2_1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":19.5,"scaleY":1.5,"x":624.0,"y":688.0,},
         {"$GMRInstance":"v4","%Name":"inst_1B12CEF0_1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_1B12CEF0_1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":11.5,"scaleY":1.0,"x":1552.0,"y":32.0,},
         {"$GMRInstance":"v4","%Name":"inst_1B12CEF0_1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_1B12CEF0_1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":11.5,"scaleY":1.0,"x":1552.0,"y":32.0,},
         {"$GMRInstance":"v4","%Name":"inst_2C4BD67A1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_2C4BD67A1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":18.5,"scaleY":1.0,"x":592.0,"y":32.0,},
         {"$GMRInstance":"v4","%Name":"inst_2C4BD67A1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_2C4BD67A1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":18.5,"scaleY":1.0,"x":592.0,"y":32.0,},
         {"$GMRInstance":"v4","%Name":"inst_6A147043_1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_6A147043_1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":6.5,"x":32.0,"y":208.0,},
         {"$GMRInstance":"v4","%Name":"inst_6A147043_1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_6A147043_1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":6.5,"x":32.0,"y":208.0,},
-        {"$GMRInstance":"v4","%Name":"inst_2424411A","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_2424411A","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":10.5,"x":1888.0,"y":400.0,},
+        {"$GMRInstance":"v4","%Name":"inst_2424411A","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_2424411A","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":5.5,"x":1888.0,"y":240.0,},
         {"$GMRInstance":"v4","%Name":"inst_24E31DFE","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_24E31DFE","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"properties":[
         {"$GMRInstance":"v4","%Name":"inst_24E31DFE","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_24E31DFE","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"properties":[
-            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_room","path":"objects/oDoor/oDoor.yy",},"resource":{"name":"rTest7","path":"rooms/rTest7/rTest7.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest7",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_room","path":"objects/oDoor/oDoor.yy",},"resource":{"name":"rTest6","path":"rooms/rTest6/rTest6.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest6",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"RIGHT",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"RIGHT",},
           ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.5,"x":-32.0,"y":640.0,},
           ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.5,"x":-32.0,"y":640.0,},
-        {"$GMRInstance":"v4","%Name":"inst_3EF1839E","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_3EF1839E","objectId":{"name":"oSavePoint","path":"objects/oSavePoint/oSavePoint.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":1376.0,"y":640.0,},
+        {"$GMRInstance":"v4","%Name":"inst_3EF1839E","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_3EF1839E","objectId":{"name":"oSavePoint","path":"objects/oSavePoint/oSavePoint.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":1056.0,"y":640.0,},
+        {"$GMRInstance":"v4","%Name":"inst_7C732747","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_7C732747","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":4.0,"x":96.0,"y":192.0,},
+        {"$GMRInstance":"v4","%Name":"inst_69151B0F","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_69151B0F","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":2.0,"x":160.0,"y":128.0,},
+        {"$GMRInstance":"v4","%Name":"inst_6AA01548","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_6AA01548","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":2.0,"x":224.0,"y":128.0,},
+        {"$GMRInstance":"v4","%Name":"inst_768E7FE1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_768E7FE1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":6.5,"scaleY":1.5,"x":1712.0,"y":688.0,},
+        {"$GMRInstance":"v4","%Name":"inst_6CB88840","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_6CB88840","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"properties":[
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_room","path":"objects/oDoor/oDoor.yy",},"resource":{"name":"rTest6","path":"rooms/rTest6/rTest6.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest6",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"RIGHT",},
+          ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.5,"x":1952.0,"y":640.0,},
       ],"layers":[],"name":"Instances","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
       ],"layers":[],"name":"Instances","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
     {"$GMRInstanceLayer":"","%Name":"Effect","depth":100,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[],"layers":[],"name":"Effect","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
     {"$GMRInstanceLayer":"","%Name":"Effect","depth":100,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[],"layers":[],"name":"Effect","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
     {"$GMRBackgroundLayer":"","%Name":"Background","animationFPS":15.0,"animationSpeedType":0,"colour":4278190080,"depth":200,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"name":"Background","properties":[],"resourceType":"GMRBackgroundLayer","resourceVersion":"2.0","spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,},
     {"$GMRBackgroundLayer":"","%Name":"Background","animationFPS":15.0,"animationSpeedType":0,"colour":4278190080,"depth":200,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"name":"Background","properties":[],"resourceType":"GMRBackgroundLayer","resourceVersion":"2.0","spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,},
   ],
   ],
   "name":"rTest5",
   "name":"rTest5",
   "parent":{
   "parent":{
-    "name":"Dorm",
-    "path":"folders/Rooms/Dorm.yy",
+    "name":"Administrative",
+    "path":"folders/Rooms/YX/Administrative.yy",
   },
   },
   "parentRoom":null,
   "parentRoom":null,
   "physicsSettings":{
   "physicsSettings":{

+ 1 - 0
rooms/rTest6/RoomCreationCode.gml

@@ -0,0 +1 @@
+camera_set_bounds(0, room_width, 0, room_height);

+ 91 - 0
rooms/rTest6/rTest6.yy

@@ -0,0 +1,91 @@
+{
+  "$GMRoom":"v1",
+  "%Name":"rTest6",
+  "creationCodeFile":"rooms/rTest6/RoomCreationCode.gml",
+  "inheritCode":false,
+  "inheritCreationOrder":false,
+  "inheritLayers":false,
+  "instanceCreationOrder":[
+    {"name":"inst_45595C2_1_2","path":"rooms/rTest6/rTest6.yy",},
+    {"name":"inst_2C4BD67A1_1","path":"rooms/rTest6/rTest6.yy",},
+    {"name":"inst_6A147043_1_2","path":"rooms/rTest6/rTest6.yy",},
+    {"name":"inst_2424411A2","path":"rooms/rTest6/rTest6.yy",},
+    {"name":"inst_24E31DFE1","path":"rooms/rTest6/rTest6.yy",},
+    {"name":"inst_71C2B1C3","path":"rooms/rTest6/rTest6.yy",},
+    {"name":"inst_33B41804","path":"rooms/rTest6/rTest6.yy",},
+    {"name":"inst_152AB759","path":"rooms/rTest6/rTest6.yy",},
+    {"name":"inst_6E038976","path":"rooms/rTest6/rTest6.yy",},
+    {"name":"inst_6736E784","path":"rooms/rTest6/rTest6.yy",},
+    {"name":"inst_28A12A74","path":"rooms/rTest6/rTest6.yy",},
+  ],
+  "isDnd":false,
+  "layers":[
+    {"$GMRInstanceLayer":"","%Name":"Instances","depth":0,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[
+        {"$GMRInstance":"v4","%Name":"inst_45595C2_1_2","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_45595C2_1_2","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":50.0,"scaleY":1.5,"x":1600.0,"y":688.0,},
+        {"$GMRInstance":"v4","%Name":"inst_2C4BD67A1_1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_2C4BD67A1_1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":45.0,"scaleY":1.0,"x":1760.0,"y":32.0,},
+        {"$GMRInstance":"v4","%Name":"inst_6A147043_1_2","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_6A147043_1_2","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":6.5,"x":32.0,"y":208.0,},
+        {"$GMRInstance":"v4","%Name":"inst_2424411A2","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_2424411A2","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":6.0,"x":3168.0,"y":256.0,},
+        {"$GMRInstance":"v4","%Name":"inst_24E31DFE1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_24E31DFE1","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"properties":[
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_room","path":"objects/oDoor/oDoor.yy",},"resource":{"name":"rTest7","path":"rooms/rTest7/rTest7.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest7",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"RIGHT",},
+          ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.5,"x":-32.0,"y":640.0,},
+        {"$GMRInstance":"v4","%Name":"inst_71C2B1C3","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_71C2B1C3","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"properties":[
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_room","path":"objects/oDoor/oDoor.yy",},"resource":{"name":"rTest5","path":"rooms/rTest5/rTest5.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest5",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"LEFT",},
+          ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.5,"x":3232.0,"y":640.0,},
+        {"$GMRInstance":"v4","%Name":"inst_33B41804","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_33B41804","objectId":{"name":"oEnemyShowerhead","path":"objects/oEnemyShowerhead/oEnemyShowerhead.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":2752.0,"y":800.0,},
+        {"$GMRInstance":"v4","%Name":"inst_152AB759","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_152AB759","objectId":{"name":"oEnemyShowerhead","path":"objects/oEnemyShowerhead/oEnemyShowerhead.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":864.0,"y":800.0,},
+        {"$GMRInstance":"v4","%Name":"inst_6E038976","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_6E038976","objectId":{"name":"oEnemyShowerhead","path":"objects/oEnemyShowerhead/oEnemyShowerhead.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":736.0,"y":800.0,},
+        {"$GMRInstance":"v4","%Name":"inst_6736E784","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_6736E784","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":2.0,"scaleY":5.0,"x":1824.0,"y":224.0,},
+        {"$GMRInstance":"v4","%Name":"inst_28A12A74","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_28A12A74","objectId":{"name":"oBreakableSolid","path":"objects/oBreakableSolid/oBreakableSolid.yy",},"properties":[
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oBreakableSolid","path":"objects/oBreakableSolid/oBreakableSolid.yy",},"propertyId":{"name":"uuid","path":"objects/oBreakableSolid/oBreakableSolid.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest6_oBS",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oBreakableSolid","path":"objects/oBreakableSolid/oBreakableSolid.yy",},"propertyId":{"name":"breakable_dir","path":"objects/oBreakableSolid/oBreakableSolid.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"180",},
+          ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":-1.0,"scaleY":1.0,"x":1824.0,"y":512.0,},
+      ],"layers":[],"name":"Instances","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
+    {"$GMRInstanceLayer":"","%Name":"Effect","depth":100,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[],"layers":[],"name":"Effect","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
+    {"$GMRBackgroundLayer":"","%Name":"Background","animationFPS":15.0,"animationSpeedType":0,"colour":4278190080,"depth":200,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"name":"Background","properties":[],"resourceType":"GMRBackgroundLayer","resourceVersion":"2.0","spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,},
+  ],
+  "name":"rTest6",
+  "parent":{
+    "name":"Administrative",
+    "path":"folders/Rooms/YX/Administrative.yy",
+  },
+  "parentRoom":null,
+  "physicsSettings":{
+    "inheritPhysicsSettings":false,
+    "PhysicsWorld":false,
+    "PhysicsWorldGravityX":0.0,
+    "PhysicsWorldGravityY":10.0,
+    "PhysicsWorldPixToMetres":0.1,
+  },
+  "resourceType":"GMRoom",
+  "resourceVersion":"2.0",
+  "roomSettings":{
+    "Height":720,
+    "inheritRoomSettings":false,
+    "persistent":false,
+    "Width":3200,
+  },
+  "sequenceId":null,
+  "views":[
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+    {"hborder":32,"hport":1080,"hspeed":-1,"hview":1080,"inherit":false,"objectId":null,"vborder":32,"visible":false,"vspeed":-1,"wport":1920,"wview":1920,"xport":0,"xview":0,"yport":0,"yview":0,},
+  ],
+  "viewSettings":{
+    "clearDisplayBuffer":true,
+    "clearViewBackground":false,
+    "enableViews":false,
+    "inheritViewSettings":false,
+  },
+  "volume":1.0,
+}

+ 6 - 10
rooms/rTest7/rTest7.yy

@@ -6,37 +6,33 @@
   "inheritCreationOrder":false,
   "inheritCreationOrder":false,
   "inheritLayers":false,
   "inheritLayers":false,
   "instanceCreationOrder":[
   "instanceCreationOrder":[
-    {"name":"inst_1B12CEF0_1_1","path":"rooms/rTest7/rTest7.yy",},
-    {"name":"inst_2C4BD67A1_1","path":"rooms/rTest7/rTest7.yy",},
     {"name":"inst_6A147043_1_1","path":"rooms/rTest7/rTest7.yy",},
     {"name":"inst_6A147043_1_1","path":"rooms/rTest7/rTest7.yy",},
     {"name":"inst_2424411A1","path":"rooms/rTest7/rTest7.yy",},
     {"name":"inst_2424411A1","path":"rooms/rTest7/rTest7.yy",},
     {"name":"inst_45595C2_1_1","path":"rooms/rTest7/rTest7.yy",},
     {"name":"inst_45595C2_1_1","path":"rooms/rTest7/rTest7.yy",},
     {"name":"inst_E75B776","path":"rooms/rTest7/rTest7.yy",},
     {"name":"inst_E75B776","path":"rooms/rTest7/rTest7.yy",},
-    {"name":"inst_41633961","path":"rooms/rTest7/rTest7.yy",},
+    {"name":"inst_542B0B1","path":"rooms/rTest7/rTest7.yy",},
   ],
   ],
   "isDnd":false,
   "isDnd":false,
   "layers":[
   "layers":[
     {"$GMRInstanceLayer":"","%Name":"Instances","depth":0,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[
     {"$GMRInstanceLayer":"","%Name":"Instances","depth":0,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[
         {"$GMRInstance":"v4","%Name":"inst_45595C2_1_1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_45595C2_1_1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":20.0,"scaleY":1.5,"x":640.0,"y":688.0,},
         {"$GMRInstance":"v4","%Name":"inst_45595C2_1_1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_45595C2_1_1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":20.0,"scaleY":1.5,"x":640.0,"y":688.0,},
-        {"$GMRInstance":"v4","%Name":"inst_1B12CEF0_1_1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_1B12CEF0_1_1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.5,"scaleY":1.0,"x":1232.0,"y":32.0,},
-        {"$GMRInstance":"v4","%Name":"inst_2C4BD67A1_1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_2C4BD67A1_1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":18.5,"scaleY":1.0,"x":592.0,"y":32.0,},
         {"$GMRInstance":"v4","%Name":"inst_6A147043_1_1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_6A147043_1_1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":10.0,"x":32.0,"y":320.0,},
         {"$GMRInstance":"v4","%Name":"inst_6A147043_1_1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_6A147043_1_1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":10.0,"x":32.0,"y":320.0,},
-        {"$GMRInstance":"v4","%Name":"inst_2424411A1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_2424411A1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":5.5,"x":1248.0,"y":240.0,},
+        {"$GMRInstance":"v4","%Name":"inst_2424411A1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_2424411A1","objectId":{"name":"oBlockClimbable","path":"objects/oBlockClimbable/oBlockClimbable.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":6.5,"x":1248.0,"y":208.0,},
         {"$GMRInstance":"v4","%Name":"inst_E75B776","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_E75B776","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"properties":[
         {"$GMRInstance":"v4","%Name":"inst_E75B776","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_E75B776","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"properties":[
-            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_room","path":"objects/oDoor/oDoor.yy",},"resource":{"name":"rTest5","path":"rooms/rTest5/rTest5.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest5",},
+            {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_room","path":"objects/oDoor/oDoor.yy",},"resource":{"name":"rTest6","path":"rooms/rTest6/rTest6.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"rTest6",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"0",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"target_door_id","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"1",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"LEFT",},
             {"$GMOverriddenProperty":"v1","%Name":"","name":"","objectId":{"name":"oDoor","path":"objects/oDoor/oDoor.yy",},"propertyId":{"name":"door_direction","path":"objects/oDoor/oDoor.yy",},"resourceType":"GMOverriddenProperty","resourceVersion":"2.0","value":"LEFT",},
           ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.5,"x":1312.0,"y":640.0,},
           ],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.5,"x":1312.0,"y":640.0,},
-        {"$GMRInstance":"v4","%Name":"inst_41633961","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_41633961","objectId":{"name":"oBossShowerhead","path":"objects/oBossShowerhead/oBossShowerhead.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":224.0,"y":720.0,},
+        {"$GMRInstance":"v4","%Name":"inst_542B0B1","colour":4294967295,"frozen":false,"hasCreationCode":false,"ignore":false,"imageIndex":0,"imageSpeed":1.0,"inheritCode":false,"inheritedItemId":null,"inheritItemSettings":false,"isDnd":false,"name":"inst_542B0B1","objectId":{"name":"oBossShowerhead","path":"objects/oBossShowerhead/oBossShowerhead.yy",},"properties":[],"resourceType":"GMRInstance","resourceVersion":"2.0","rotation":0.0,"scaleX":1.0,"scaleY":1.0,"x":288.0,"y":576.0,},
       ],"layers":[],"name":"Instances","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
       ],"layers":[],"name":"Instances","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
     {"$GMRInstanceLayer":"","%Name":"Effect","depth":100,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[],"layers":[],"name":"Effect","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
     {"$GMRInstanceLayer":"","%Name":"Effect","depth":100,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"instances":[],"layers":[],"name":"Effect","properties":[],"resourceType":"GMRInstanceLayer","resourceVersion":"2.0","userdefinedDepth":false,"visible":true,},
     {"$GMRBackgroundLayer":"","%Name":"Background","animationFPS":15.0,"animationSpeedType":0,"colour":4278190080,"depth":200,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"name":"Background","properties":[],"resourceType":"GMRBackgroundLayer","resourceVersion":"2.0","spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,},
     {"$GMRBackgroundLayer":"","%Name":"Background","animationFPS":15.0,"animationSpeedType":0,"colour":4278190080,"depth":200,"effectEnabled":true,"effectType":null,"gridX":32,"gridY":32,"hierarchyFrozen":false,"hspeed":0.0,"htiled":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"inheritSubLayers":true,"inheritVisibility":true,"layers":[],"name":"Background","properties":[],"resourceType":"GMRBackgroundLayer","resourceVersion":"2.0","spriteId":null,"stretch":false,"userdefinedAnimFPS":false,"userdefinedDepth":false,"visible":true,"vspeed":0.0,"vtiled":false,"x":0,"y":0,},
   ],
   ],
   "name":"rTest7",
   "name":"rTest7",
   "parent":{
   "parent":{
-    "name":"Dorm",
-    "path":"folders/Rooms/Dorm.yy",
+    "name":"Administrative",
+    "path":"folders/Rooms/YX/Administrative.yy",
   },
   },
   "parentRoom":null,
   "parentRoom":null,
   "physicsSettings":{
   "physicsSettings":{

+ 75 - 61
scripts/BossShowerheadAI/BossShowerheadAI.gml

@@ -1,38 +1,19 @@
 function boss_showerhead_ai()
 function boss_showerhead_ai()
 {
 {
-    facing_x   = sign(global.player.x - x);
-    image_xscale = facing_x;
+    image_xscale = -boss_side;
     
     
     switch(state)
     switch(state)
     {
     {
         case "SPAWN":
         case "SPAWN":
-			state = "IDLE";
-            idle_timer = 60;
-            break;
-        
-        case "IDLE":
-            if --idle_timer <= 0
-            {
-                var _next = attack_queue[attack_index];
-                attack_index = (attack_index + 1) % array_length(attack_queue);
-                
-                switch(_next)
-                {
-                    case 1:
-                        state = "WINDUP";
-                        set_sprite(sBossShowerheadWindup);
-                        break;
-                    case 2:
-                        state = "SLAM";
-                        set_sprite(sBossShowerheadSlam);
-                        break;
-                    case 3:
-                        state = "RETREAT";
-                        x_spd = -boss_side * retreat_spd;
-                        set_sprite(sBossShowerheadRetreat);
-                        break;
-                }
-            }
+			if animation_end()
+			{
+				for(var i = 0; i < 5; i++)
+					icd(oShockwave, x, y, 0, {delay : i * 10});
+				screen_shake(20);
+				state = "IDLE";
+				idle_timer = 60;
+			}
+
             break;
             break;
         
         
         case "WINDUP":
         case "WINDUP":
@@ -47,12 +28,13 @@ function boss_showerhead_ai()
         case "SHOOT":
         case "SHOOT":
             if animation_end()
             if animation_end()
             {
             {
-                var _bomb = icl(oShowerheadBomb);
-                _bomb.x_spd = facing_x * (8 + shoot_count * 2);
+                var _bomb = icl(oShowerheadBomb, x, y - 64);
+                _bomb.x_spd = -boss_side * (4 - shoot_count * 1.5);
                 _bomb.y_spd = -10;
                 _bomb.y_spd = -10;
+				
+				image_index = 0;
                 
                 
-                shoot_count++;
-                if shoot_count >= 3
+                if ++shoot_count >= 3
                 {
                 {
                     state = "IDLE";
                     state = "IDLE";
                     idle_timer = 60;
                     idle_timer = 60;
@@ -63,40 +45,72 @@ function boss_showerhead_ai()
         
         
         case "SLAM":
         case "SLAM":
             if animation_end()
             if animation_end()
-            {
-                // 生成预警线控制器
-                var _warn = icl(oBossWarning);
-                _warn.phase = phase;
-                
+		    {
+		        var _sep = 240;
+		        var _start = irandom(_sep - 1);
+        
+		        var _x = _start;
+		        while _x < room_width
+		        {
+		            icl(oShowerheadColumn, _x, room_height);
+		            _x += _sep;
+		        }
+
+				screen_shake(10);
+				
                 state = "IDLE";
                 state = "IDLE";
                 idle_timer = 60;
                 idle_timer = 60;
                 set_sprite(sBossShowerheadIdle);
                 set_sprite(sBossShowerheadIdle);
             }
             }
             break;
             break;
         
         
-        case "RETREAT":
-            var _target = (boss_side == 1) ? anchor_l : anchor_r;
-            if abs(x - _target) < abs(x_spd)
-            {
-                x     = _target;
-                x_spd = 0;
-                state = "CHARGE";
-                x_spd = boss_side * charge_spd;
-                set_sprite(sBossShowerheadCharge);
-            }
-            break;
+        case "IDLE":
+		    if --idle_timer <= 0
+		    {
+		        var _next = attack_queue[attack_index];
+		        attack_index = (attack_index + 1) % array_length(attack_queue);
         
         
-        case "CHARGE":
-            var _target = (boss_side == 1) ? anchor_r : anchor_l;
-            if abs(x - _target) < abs(x_spd)
-            {
-                x        = _target;
-                x_spd    = 0;
-                boss_side *= -1; // 换边
-                state      = "IDLE";
-                idle_timer = 60;
-                set_sprite(sBossShowerheadIdle);
-            }
-            break;
+		        switch(_next)
+		        {
+		            case 1:
+		                state = "WINDUP";
+		                set_sprite(sBossShowerheadWindup);
+		                break;
+		            case 2:
+		                state = "SLAM";
+		                set_sprite(sBossShowerheadSlam);
+		                break;
+		            case 3:
+		                x_spd = boss_side * retreat_spd;
+		                state = "RETREAT";
+		                set_sprite(sBossShowerheadRetreat);
+		                break;
+		        }
+		    }
+		    break;
+
+		case "RETREAT":
+		    var _target = (boss_side == 1) ? anchor_r + 128 : anchor_l - 128;
+		    if (boss_side == 1 && x >= _target) || (boss_side == -1 && x <= _target)
+		    {
+		        x     = _target;
+		        x_spd = -boss_side * charge_spd;
+		        state = "CHARGE";
+		        set_sprite(sBossShowerheadCharge);
+		    }
+		    break;
+
+		case "CHARGE":
+		    var _target = (boss_side == 1) ? anchor_l : anchor_r;
+		    if (boss_side == 1 && x <= _target) || (boss_side == -1 && x >= _target)
+		    {
+		        x        = _target;
+		        x_spd    = 0;
+		        boss_side *= -1;
+		        state    = "IDLE";
+		        idle_timer = 60;
+		        set_sprite(sBossShowerheadIdle);
+		    }
+		    break;
     }
     }
 }
 }

+ 30 - 19
scripts/EnemyStates/EnemyStates.gml

@@ -1,5 +1,13 @@
 function enemy_move_and_collide()
 function enemy_move_and_collide()
 {
 {
+	x_spd_kb = lerp(x_spd_kb, 0, 0.2);
+	if abs(x_spd_kb) < 1
+		x_spd_kb = 0;
+
+	y_spd_kb = lerp(y_spd_kb, 0, 0.2);
+	if abs(y_spd_kb) < 1
+		y_spd_kb = 0;
+		
 	var _y_spd_total = (y_spd + y_spd_kb) * global.time_scale;
 	var _y_spd_total = (y_spd + y_spd_kb) * global.time_scale;
 	var _x_spd_total = (x_spd + x_spd_kb) * global.time_scale;
 	var _x_spd_total = (x_spd + x_spd_kb) * global.time_scale;
 	
 	
@@ -44,8 +52,6 @@ function enemy_check_hitstun()
 	if hitstun_timer > 0
 	if hitstun_timer > 0
 	{
 	{
 		hitstun_timer -= global.time_scale;
 		hitstun_timer -= global.time_scale;
-		x_spd_kb = lerp(x_spd_kb, 0, 0.2);
-		y_spd_kb = lerp(y_spd_kb, 0, 0.2);
 	
 	
 		x_spd = 0;
 		x_spd = 0;
 		y_spd = 0;
 		y_spd = 0;
@@ -55,13 +61,33 @@ function enemy_check_hitstun()
 	}
 	}
 	else
 	else
 	{
 	{
-		x_spd_kb = 0;
-		y_spd_kb = 0;
+		image_index += animation_spd;
+		
+		enemy_ai();
 		
 		
 		image_blend = c_white;
 		image_blend = c_white;
 	}
 	}
 }
 }
 
 
+function enemy_death()
+{
+	//death_pe(); 没有_info传参,不要去注释!!
+	if !is_undefined(death_callback)
+		death_callback();
+	else
+	{
+		var _corpse = icd(oEnemyCorpse, x, y, 50);
+		_corpse.sprite_index = corpse_sprite;
+		if corpse_doll
+		{
+			_corpse.x_spd = x_spd_kb;
+			_corpse.y_spd = -max(abs(y_spd_kb), abs(x_spd_kb));
+			_corpse.apply_gravity = true;
+		}
+		instance_destroy();
+	}	
+}
+
 /// @desc 优雅地以该实例为原点,给定宽高、偏移与持续时间为参数,生成敌人middle/left碰撞箱(多用于横向攻击)
 /// @desc 优雅地以该实例为原点,给定宽高、偏移与持续时间为参数,生成敌人middle/left碰撞箱(多用于横向攻击)
 /// @param {real} _x 碰撞箱宽度
 /// @param {real} _x 碰撞箱宽度
 /// @param {real} _y 碰撞箱高度
 /// @param {real} _y 碰撞箱高度
@@ -135,21 +161,6 @@ _x_offset = 0, _y_offset = 0, _duration = 0)
 	return _hb;
 	return _hb;
 }
 }
 
 
-function enemy_death()//诶我怎么似了
-{
-	var _corpse = icd(oEnemyCorpse, x, y, 50);
-	_corpse.x_spd = x_spd_kb;
-	_corpse.y_spd = -max(abs(y_spd_kb), abs(x_spd_kb));
-	_corpse.sprite_index = sprite_index;
-	_corpse.image_angle = image_angle;
-	_corpse.image_index = image_index;
-	
-	if is_method(death_callback)
-		death_callback();
-	
-	instance_destroy();
-}
-
 function weighted_pick(_weights)
 function weighted_pick(_weights)
 {
 {
     var _total = 0;
     var _total = 0;

+ 2 - 2
scripts/PlayerStates/PlayerStates.gml

@@ -353,7 +353,7 @@ function player_check_attacked()
 	global.playerHP -= current_attacker.damage;
 	global.playerHP -= current_attacker.damage;
 	invincible_timer = 80;
 	invincible_timer = 80;
 	
 	
-	x_spd = _dir * 30;
+	x_spd = _dir * 25;
     y_spd = -5;
     y_spd = -5;
 	
 	
 	state = state_hitstun_attacked;
 	state = state_hitstun_attacked;
@@ -582,7 +582,7 @@ function player_calc_gravity()
 	return _g; // * global.time_scale;
 	return _g; // * global.time_scale;
 }
 }
 
 
-/* 暂时不使用的闪避能力
+/* 暂时不使用(计划删除)的闪避能力
 function state_dodge()
 function state_dodge()
 {
 {
 	if dodge_phase == "WAIT"
 	if dodge_phase == "WAIT"

+ 7 - 27
scripts/SaveLoad/SaveLoad.gml

@@ -4,13 +4,14 @@ function get_default_save_data()
 	{
 	{
 		player:
 		player:
 		{
 		{
-			maxHP: 6,
+			maxHP: 5,
 			maxINK: 9,
 			maxINK: 9,
 			Credit: 0,
 			Credit: 0,
 			
 			
 			abilities:
 			abilities:
 			{
 			{
 				attack: false,
 				attack: false,
+				accesscard : false,
 				annotate: false,
 				annotate: false,
 				dash: false,
 				dash: false,
 				wall_climb: false,
 				wall_climb: false,
@@ -23,21 +24,13 @@ function get_default_save_data()
 				yPos: -1,
 				yPos: -1,
 				droppedCredit: 0
 				droppedCredit: 0
 			},
 			},
-			tutorial:
-			{
-				dash : false,
-				jump : false,
-				attack : false,
-				pogo : false,
-				save : false
-			}
 		},
 		},
 		world:
 		world:
 		{
 		{
 			spRoom: "rTest1",
 			spRoom: "rTest1",
 			spxPos: 192,
 			spxPos: 192,
 			spyPos: 864,
 			spyPos: 864,
-			destroyed_objects: {}, 
+			activated_objects: {}, 
             defeated_boss: {}
             defeated_boss: {}
 		}/*,
 		}/*,
 		meta:
 		meta:
@@ -49,13 +42,10 @@ function get_default_save_data()
 }
 }
 function save_game_to_disk()
 function save_game_to_disk()
 {
 {
-	// 更新元数据
 	// global.save_data.meta.save_date = date_datetime_string(date_current_datetime());
 	// global.save_data.meta.save_date = date_datetime_string(date_current_datetime());
 	
 	
-	// 序列化
 	var _json_string = json_stringify(global.save_data);
 	var _json_string = json_stringify(global.save_data);
 	
 	
-	// 使用buffer写入
 	var _buffer = buffer_create(string_byte_length(_json_string) + 1, buffer_fixed, 1);
 	var _buffer = buffer_create(string_byte_length(_json_string) + 1, buffer_fixed, 1);
 	buffer_write(_buffer, buffer_string, _json_string);
 	buffer_write(_buffer, buffer_string, _json_string);
     buffer_save(_buffer, global.save_filename);
     buffer_save(_buffer, global.save_filename);
@@ -69,15 +59,12 @@ function load_game_from_disk()
 	if !file_exists(global.save_filename)
 	if !file_exists(global.save_filename)
 		return;
 		return;
 		
 		
-	// 使用buffer读取
 	var _buffer = buffer_load(global.save_filename);
 	var _buffer = buffer_load(global.save_filename);
     var _json_string = buffer_read(_buffer, buffer_string);
     var _json_string = buffer_read(_buffer, buffer_string);
     buffer_delete(_buffer);
     buffer_delete(_buffer);
     
     
-    // 反序列化
     var _loaded_data = json_parse(_json_string);
     var _loaded_data = json_parse(_json_string);
     
     
-    // 覆盖当前的全局存档数据
     global.save_data = _loaded_data;
     global.save_data = _loaded_data;
     
     
 	room_goto(asset_get_index(global.save_data.world.spRoom));
 	room_goto(asset_get_index(global.save_data.world.spRoom));
@@ -85,21 +72,14 @@ function load_game_from_disk()
 	global.in_game_manager = icl(oInGameManager);
 	global.in_game_manager = icl(oInGameManager);
 }
 }
 
 
-function self_check_destroy()
+function self_check_activated()
 {
 {
-	if struct_exists(global.save_data.world.destroyed_objects, uuid)
-		instance_destroy();
+	return struct_exists(global.save_data.world.activated_objects, uuid)
 }
 }
-function self_record_destroy(_callback = undefined)
+function autosave()
 {
 {
-	var _list = global.save_data.world.destroyed_objects;
-
+	var _list = global.save_data.world.activated_objects;
 	_list[$ uuid] = true;
 	_list[$ uuid] = true;
 
 
-	if is_method(_callback)
-		_callback();
-
 	save_game_to_disk();
 	save_game_to_disk();
-
-	instance_destroy();
 }
 }

+ 10 - 6
scripts/ShowerheadAI/ShowerheadAI.gml

@@ -2,16 +2,19 @@ function enemy_showerhead_ai()
 {
 {
 	facing_x = sign(global.player.x - x);
 	facing_x = sign(global.player.x - x);
 	image_xscale = facing_x;
 	image_xscale = facing_x;
+	
 	var _margin = 320;
 	var _margin = 320;
+	if abs(global.player.x - x) <= _margin
+		awake = true;
 	var _sink_wait = (global.player.x < _margin || global.player.x > room_width - _margin);
 	var _sink_wait = (global.player.x < _margin || global.player.x > room_width - _margin);
 	switch(state)
 	switch(state)
 	{		
 	{		
 		case "WAIT":
 		case "WAIT":
 			if _sink_wait
 			if _sink_wait
 				wake_timer = irandom(60);
 				wake_timer = irandom(60);
-			else if --wake_timer <= 0
+			else if --wake_timer <= 0 && awake
 			{
 			{
-				x = global.player.x + choose(-1, 1) * irandom_range(160, 192);
+				x = global.player.x + choose(-1, 1) * irandom_range(192, 256);
 				state = "EMERGE";
 				state = "EMERGE";
 				y_spd = -15;
 				y_spd = -15;
 				set_sprite(sEnemyShowerheadEmerge);
 				set_sprite(sEnemyShowerheadEmerge);
@@ -34,7 +37,7 @@ function enemy_showerhead_ai()
 				}
 				}
 				else if state == "CHARGE"
 				else if state == "CHARGE"
 				{
 				{
-					x_spd = facing_x * 30;
+					x_spd = facing_x * 25;
 					set_sprite(sEnemyShowerheadCharge);
 					set_sprite(sEnemyShowerheadCharge);
 				}				
 				}				
 			}
 			}
@@ -53,7 +56,7 @@ function enemy_showerhead_ai()
 			{
 			{
 				y_spd = 0;
 				y_spd = 0;
 				set_sprite(sEnemyShowerheadIdle);
 				set_sprite(sEnemyShowerheadIdle);
-				idle_timer = 40;
+				idle_timer = 30;
 				state = "IDLE";
 				state = "IDLE";
 				nxt_state = "RETREAT";
 				nxt_state = "RETREAT";
 			}
 			}
@@ -63,17 +66,18 @@ function enemy_showerhead_ai()
 			if animation_end()
 			if animation_end()
 			{
 			{
 				x_spd = 0;
 				x_spd = 0;
-				idle_timer = 6;
+				idle_timer = 10;
 				state = "IDLE";
 				state = "IDLE";
 				nxt_state = "CHARGE";
 				nxt_state = "CHARGE";
 			}
 			}
 			break;
 			break;
 			
 			
 		case "CHARGE":
 		case "CHARGE":
+			x_spd -= sign(x_spd) * 0.5;
 			if animation_end()
 			if animation_end()
 			{
 			{
 				x_spd = 0;
 				x_spd = 0;
-				idle_timer = 40;
+				idle_timer = 30;
 				state = "IDLE";
 				state = "IDLE";
 				nxt_state = "SINK";
 				nxt_state = "SINK";
 				set_sprite(sEnemyShowerheadIdle);
 				set_sprite(sEnemyShowerheadIdle);

+ 1 - 1
scripts/ShowerheadAI/ShowerheadAI.yy

@@ -6,7 +6,7 @@
   "name":"ShowerheadAI",
   "name":"ShowerheadAI",
   "parent":{
   "parent":{
     "name":"oEnemyShowerhead",
     "name":"oEnemyShowerhead",
-    "path":"folders/Enemy/oEnemyShowerhead.yy",
+    "path":"folders/Enemy/oBossShowerhead/oEnemyShowerhead.yy",
   },
   },
   "resourceType":"GMScript",
   "resourceType":"GMScript",
   "resourceVersion":"2.0",
   "resourceVersion":"2.0",

+ 30 - 0
scripts/ShowerheadBombAI/ShowerheadBombAI.gml

@@ -0,0 +1,30 @@
+function showerhead_bomb_ai()
+{
+	if hp <= 0
+	{
+		is_dead = true;
+		enemy_death();
+	}
+	if --inv_timer <= 0
+		hp = 1;
+	
+    y_spd += global.g / 1.5;
+    
+    if place_meeting(x, y + y_spd, oParentSolid)
+	{
+	    while !place_meeting(x, y + sign(y_spd), oParentSolid)
+	        y += sign(y_spd);
+	    y_spd *= bounce_factor;
+    
+	    if ++bounce_count >= 3
+			hp = 0;
+	}
+	
+	mask_index = sRec72;
+	if place_meeting(x, y, global.player)
+		hp = 0;
+	mask_index = sRec96;
+    
+    x += x_spd * global.time_scale;
+    y += y_spd * global.time_scale;
+};

+ 2 - 2
scripts/enemyShowerheadbombAI/enemyShowerheadbombAI.yy → scripts/ShowerheadBombAI/ShowerheadBombAI.yy

@@ -1,9 +1,9 @@
 {
 {
   "$GMScript":"v1",
   "$GMScript":"v1",
-  "%Name":"enemyShowerheadbombAI",
+  "%Name":"ShowerheadBombAI",
   "isCompatibility":false,
   "isCompatibility":false,
   "isDnD":false,
   "isDnD":false,
-  "name":"enemyShowerheadbombAI",
+  "name":"ShowerheadBombAI",
   "parent":{
   "parent":{
     "name":"oShowerheadBomb",
     "name":"oShowerheadBomb",
     "path":"folders/Enemy/oBossShowerhead/oShowerheadBomb.yy",
     "path":"folders/Enemy/oBossShowerhead/oShowerheadBomb.yy",

+ 21 - 0
scripts/ShowerheadColumnAI/ShowerheadColumnAI.gml

@@ -0,0 +1,21 @@
+function showerhead_column_ai()
+{
+    switch(state)
+	{
+		case "WARNING":
+			if animation_end()
+			{
+				state = "ACTIVATE";
+				set_sprite(sShowerheadColumn);
+				hitbox = enemy_create_hitboxBC(80, 720);
+			}
+			break;
+		case "ACTIVATE":
+			if animation_end()
+			{
+				is_dead = true;
+				enemy_death();
+			}
+			break;
+	}
+};

+ 13 - 0
scripts/ShowerheadColumnAI/ShowerheadColumnAI.yy

@@ -0,0 +1,13 @@
+{
+  "$GMScript":"v1",
+  "%Name":"ShowerheadColumnAI",
+  "isCompatibility":false,
+  "isDnD":false,
+  "name":"ShowerheadColumnAI",
+  "parent":{
+    "name":"oShowerheadColumn",
+    "path":"folders/Enemy/oBossShowerhead/oShowerheadColumn.yy",
+  },
+  "resourceType":"GMScript",
+  "resourceVersion":"2.0",
+}

+ 4 - 4
scripts/Simplifier/Simplifier.gml

@@ -3,18 +3,18 @@
 /// @param {real} _x x坐标,默认为创建者的x坐标
 /// @param {real} _x x坐标,默认为创建者的x坐标
 /// @param {real} _y y坐标,默认为创建者的y坐标
 /// @param {real} _y y坐标,默认为创建者的y坐标
 /// @param {real} _depth 深度,默认为0
 /// @param {real} _depth 深度,默认为0
-function icd(_obj, _x = x, _y = y, _depth = 0)
+function icd(_obj, _x = x, _y = y, _depth = 0, _struct = {})
 {
 {
-	return instance_create_depth(_x, _y, _depth, _obj);
+	return instance_create_depth(_x, _y, _depth, _obj, _struct);
 }
 }
 /// @desc 优雅地在给定层级与位置创建某个实例
 /// @desc 优雅地在给定层级与位置创建某个实例
 /// @param {Asset.GMObject} _obj 将要创建的实例
 /// @param {Asset.GMObject} _obj 将要创建的实例
 /// @param {real} _x x坐标,默认为创建者的x坐标
 /// @param {real} _x x坐标,默认为创建者的x坐标
 /// @param {real} _y y坐标,默认为创建者的y坐标
 /// @param {real} _y y坐标,默认为创建者的y坐标
 /// @param {string} _layer_id 层级,默认为"Instances"
 /// @param {string} _layer_id 层级,默认为"Instances"
-function icl(_obj, _x = x, _y = y, _layer_id = "Instances")
+function icl(_obj, _x = x, _y = y, _layer_id = "Instances", _struct = {})
 {
 {
-	return instance_create_layer(_x, _y, _layer_id, _obj);
+	return instance_create_layer(_x, _y, _layer_id, _obj, _struct);
 }
 }
 /// @desc 内部辅助函数,自动检测字符类型并映射为整数(不要在外部直接调用)
 /// @desc 内部辅助函数,自动检测字符类型并映射为整数(不要在外部直接调用)
 /// @param {Constant.VirtualKey|Real} _key 需要转义的字符
 /// @param {Constant.VirtualKey|Real} _key 需要转义的字符

+ 0 - 31
scripts/enemyShowerheadbombAI/enemyShowerheadbombAI.gml

@@ -1,31 +0,0 @@
-function enemyShowerheadbombAI()
-{
-    y_spd += global.g;
-    
-    if place_meeting(x, y + y_spd, oParentSolid)
-    {
-        while !place_meeting(x, y + sign(y_spd), oParentSolid)
-            y += sign(y_spd);
-        y_spd *= -bounce_factor;
-        bounce_count++;
-        
-        if bounce_count >= 2
-        {
-            hp = 0;
-            is_dead = true;
-            enemy_death();
-            exit;
-        }
-    }
-    
-    if place_meeting(x + x_spd, y, oParentSolid)
-    {
-        hp = 0;
-        is_dead = true;
-        enemy_death();
-        exit;
-    }
-    
-    x += x_spd * global.time_scale;
-    y += y_spd * global.time_scale;
-};

+ 1 - 9
sprites/sBossShowerheadShoot/sBossShowerheadShoot.yy

@@ -20,8 +20,6 @@
     {"$GMSpriteFrame":"v1","%Name":"cd688d98-6cbb-4360-9ae3-82ffc614546d","name":"cd688d98-6cbb-4360-9ae3-82ffc614546d","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
     {"$GMSpriteFrame":"v1","%Name":"cd688d98-6cbb-4360-9ae3-82ffc614546d","name":"cd688d98-6cbb-4360-9ae3-82ffc614546d","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
     {"$GMSpriteFrame":"v1","%Name":"55bd6677-5da9-4f79-9be1-a01e096518cb","name":"55bd6677-5da9-4f79-9be1-a01e096518cb","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
     {"$GMSpriteFrame":"v1","%Name":"55bd6677-5da9-4f79-9be1-a01e096518cb","name":"55bd6677-5da9-4f79-9be1-a01e096518cb","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
     {"$GMSpriteFrame":"v1","%Name":"9f690533-9c05-411b-96e3-7c3d830f529d","name":"9f690533-9c05-411b-96e3-7c3d830f529d","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
     {"$GMSpriteFrame":"v1","%Name":"9f690533-9c05-411b-96e3-7c3d830f529d","name":"9f690533-9c05-411b-96e3-7c3d830f529d","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
-    {"$GMSpriteFrame":"v1","%Name":"7412f23b-2103-4a8a-be57-ea17a6de89e6","name":"7412f23b-2103-4a8a-be57-ea17a6de89e6","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
-    {"$GMSpriteFrame":"v1","%Name":"3409e7ce-f0e3-4ddf-9afe-b98070d88418","name":"3409e7ce-f0e3-4ddf-9afe-b98070d88418","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
   ],
   ],
   "gridX":0,
   "gridX":0,
   "gridY":0,
   "gridY":0,
@@ -58,7 +56,7 @@
     },
     },
     "eventStubScript":null,
     "eventStubScript":null,
     "eventToFunction":{},
     "eventToFunction":{},
-    "length":10.0,
+    "length":8.0,
     "lockOrigin":false,
     "lockOrigin":false,
     "moments":{
     "moments":{
       "$KeyframeStore<MomentsEventKeyframe>":"",
       "$KeyframeStore<MomentsEventKeyframe>":"",
@@ -101,12 +99,6 @@
             {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
             {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
                 "0":{"$SpriteFrameKeyframe":"","Id":{"name":"9f690533-9c05-411b-96e3-7c3d830f529d","path":"sprites/sBossShowerheadShoot/sBossShowerheadShoot.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
                 "0":{"$SpriteFrameKeyframe":"","Id":{"name":"9f690533-9c05-411b-96e3-7c3d830f529d","path":"sprites/sBossShowerheadShoot/sBossShowerheadShoot.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
               },"Disabled":false,"id":"1b3b67d9-d726-406f-99f7-c9756ccd0a09","IsCreationKey":false,"Key":7.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
               },"Disabled":false,"id":"1b3b67d9-d726-406f-99f7-c9756ccd0a09","IsCreationKey":false,"Key":7.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
-            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
-                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"7412f23b-2103-4a8a-be57-ea17a6de89e6","path":"sprites/sBossShowerheadShoot/sBossShowerheadShoot.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
-              },"Disabled":false,"id":"700c849e-dc14-47db-adca-417aa99b6e3a","IsCreationKey":false,"Key":8.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
-            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
-                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"3409e7ce-f0e3-4ddf-9afe-b98070d88418","path":"sprites/sBossShowerheadShoot/sBossShowerheadShoot.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
-              },"Disabled":false,"id":"4beba762-9c08-405b-a47c-d6883b258df0","IsCreationKey":false,"Key":9.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
           ],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
           ],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
     ],
     ],
     "visibleRange":null,
     "visibleRange":null,

BIN
sprites/sBossShowerheadShoot/3409e7ce-f0e3-4ddf-9afe-b98070d88418.png → sprites/sBossShowerheadSlam/074e84d0-f7a5-4a7e-b3dd-cd76330ed5bf.png


BIN
sprites/sBossShowerheadShoot/7412f23b-2103-4a8a-be57-ea17a6de89e6.png → sprites/sBossShowerheadSlam/07a14007-d967-4433-9c49-548fc2ca923a.png


BIN
sprites/sBossShowerheadSlam/3901fce0-f5f6-45d9-b9cc-86febdbed057.png


BIN
sprites/sBossShowerheadSlam/3d254213-e7b8-4932-bd3b-ce50b0f0a956.png


BIN
sprites/sBossShowerheadSlam/4194376b-0690-4518-afe0-c4d66977c2f2.png


BIN
sprites/sBossShowerheadSlam/5300a557-39a6-465c-94d5-129d91f24a63.png


BIN
sprites/sBossShowerheadSlam/564a25fe-6dec-42d4-9c40-c8b34394886c.png


BIN
sprites/sBossShowerheadSlam/59344578-2001-43f9-b8f6-34ad930e6bb8.png


BIN
sprites/sBossShowerheadSlam/667c757c-1097-451f-bf26-67583b1993ae.png


BIN
sprites/sBossShowerheadSlam/a68f3557-f428-443a-91d0-e7f78d37e0b8.png


BIN
sprites/sBossShowerheadSlam/c1d7e0b1-17f0-492e-9bcb-c1d966bb3c49.png


BIN
sprites/sBossShowerheadSlam/c6f03f93-2ee2-4ef4-a38b-0bddbc2301ac.png


BIN
sprites/sBossShowerheadSlam/c99fcc52-78e5-4aef-b3f5-4f505449dacb.png


BIN
sprites/sBossShowerheadSlam/e429b302-021f-47ce-a1b7-018a11f1e08c.png


BIN
sprites/sBossShowerheadShoot/layers/3409e7ce-f0e3-4ddf-9afe-b98070d88418/f24b423d-90db-4b9e-8790-8dafbebd16f4.png → sprites/sBossShowerheadSlam/layers/074e84d0-f7a5-4a7e-b3dd-cd76330ed5bf/f24b423d-90db-4b9e-8790-8dafbebd16f4.png


BIN
sprites/sBossShowerheadShoot/layers/7412f23b-2103-4a8a-be57-ea17a6de89e6/f24b423d-90db-4b9e-8790-8dafbebd16f4.png → sprites/sBossShowerheadSlam/layers/07a14007-d967-4433-9c49-548fc2ca923a/f24b423d-90db-4b9e-8790-8dafbebd16f4.png


BIN
sprites/sBossShowerheadSlam/layers/3901fce0-f5f6-45d9-b9cc-86febdbed057/f24b423d-90db-4b9e-8790-8dafbebd16f4.png


BIN
sprites/sBossShowerheadSlam/layers/3d254213-e7b8-4932-bd3b-ce50b0f0a956/f24b423d-90db-4b9e-8790-8dafbebd16f4.png


BIN
sprites/sBossShowerheadSlam/layers/4194376b-0690-4518-afe0-c4d66977c2f2/f24b423d-90db-4b9e-8790-8dafbebd16f4.png


BIN
sprites/sBossShowerheadSlam/layers/5300a557-39a6-465c-94d5-129d91f24a63/f24b423d-90db-4b9e-8790-8dafbebd16f4.png


BIN
sprites/sBossShowerheadSlam/layers/564a25fe-6dec-42d4-9c40-c8b34394886c/f24b423d-90db-4b9e-8790-8dafbebd16f4.png


BIN
sprites/sBossShowerheadSlam/layers/59344578-2001-43f9-b8f6-34ad930e6bb8/f24b423d-90db-4b9e-8790-8dafbebd16f4.png


BIN
sprites/sBossShowerheadSlam/layers/667c757c-1097-451f-bf26-67583b1993ae/f24b423d-90db-4b9e-8790-8dafbebd16f4.png


BIN
sprites/sBossShowerheadSlam/layers/a68f3557-f428-443a-91d0-e7f78d37e0b8/f24b423d-90db-4b9e-8790-8dafbebd16f4.png


BIN
sprites/sBossShowerheadSlam/layers/c1d7e0b1-17f0-492e-9bcb-c1d966bb3c49/f24b423d-90db-4b9e-8790-8dafbebd16f4.png


BIN
sprites/sBossShowerheadSlam/layers/c6f03f93-2ee2-4ef4-a38b-0bddbc2301ac/f24b423d-90db-4b9e-8790-8dafbebd16f4.png


BIN
sprites/sBossShowerheadSlam/layers/c99fcc52-78e5-4aef-b3f5-4f505449dacb/f24b423d-90db-4b9e-8790-8dafbebd16f4.png


BIN
sprites/sBossShowerheadSlam/layers/e429b302-021f-47ce-a1b7-018a11f1e08c/f24b423d-90db-4b9e-8790-8dafbebd16f4.png


+ 57 - 1
sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy

@@ -13,6 +13,20 @@
   "For3D":false,
   "For3D":false,
   "frames":[
   "frames":[
     {"$GMSpriteFrame":"v1","%Name":"05716c78-1f90-40a4-bc59-d15f2c7271cd","name":"05716c78-1f90-40a4-bc59-d15f2c7271cd","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
     {"$GMSpriteFrame":"v1","%Name":"05716c78-1f90-40a4-bc59-d15f2c7271cd","name":"05716c78-1f90-40a4-bc59-d15f2c7271cd","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"667c757c-1097-451f-bf26-67583b1993ae","name":"667c757c-1097-451f-bf26-67583b1993ae","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"59344578-2001-43f9-b8f6-34ad930e6bb8","name":"59344578-2001-43f9-b8f6-34ad930e6bb8","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"c6f03f93-2ee2-4ef4-a38b-0bddbc2301ac","name":"c6f03f93-2ee2-4ef4-a38b-0bddbc2301ac","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"3d254213-e7b8-4932-bd3b-ce50b0f0a956","name":"3d254213-e7b8-4932-bd3b-ce50b0f0a956","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"c99fcc52-78e5-4aef-b3f5-4f505449dacb","name":"c99fcc52-78e5-4aef-b3f5-4f505449dacb","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"07a14007-d967-4433-9c49-548fc2ca923a","name":"07a14007-d967-4433-9c49-548fc2ca923a","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"e429b302-021f-47ce-a1b7-018a11f1e08c","name":"e429b302-021f-47ce-a1b7-018a11f1e08c","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"564a25fe-6dec-42d4-9c40-c8b34394886c","name":"564a25fe-6dec-42d4-9c40-c8b34394886c","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"a68f3557-f428-443a-91d0-e7f78d37e0b8","name":"a68f3557-f428-443a-91d0-e7f78d37e0b8","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"c1d7e0b1-17f0-492e-9bcb-c1d966bb3c49","name":"c1d7e0b1-17f0-492e-9bcb-c1d966bb3c49","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"4194376b-0690-4518-afe0-c4d66977c2f2","name":"4194376b-0690-4518-afe0-c4d66977c2f2","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"074e84d0-f7a5-4a7e-b3dd-cd76330ed5bf","name":"074e84d0-f7a5-4a7e-b3dd-cd76330ed5bf","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"5300a557-39a6-465c-94d5-129d91f24a63","name":"5300a557-39a6-465c-94d5-129d91f24a63","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
+    {"$GMSpriteFrame":"v1","%Name":"3901fce0-f5f6-45d9-b9cc-86febdbed057","name":"3901fce0-f5f6-45d9-b9cc-86febdbed057","resourceType":"GMSpriteFrame","resourceVersion":"2.0",},
   ],
   ],
   "gridX":0,
   "gridX":0,
   "gridY":0,
   "gridY":0,
@@ -49,7 +63,7 @@
     },
     },
     "eventStubScript":null,
     "eventStubScript":null,
     "eventToFunction":{},
     "eventToFunction":{},
-    "length":1.0,
+    "length":15.0,
     "lockOrigin":false,
     "lockOrigin":false,
     "moments":{
     "moments":{
       "$KeyframeStore<MomentsEventKeyframe>":"",
       "$KeyframeStore<MomentsEventKeyframe>":"",
@@ -71,6 +85,48 @@
             {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
             {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
                 "0":{"$SpriteFrameKeyframe":"","Id":{"name":"05716c78-1f90-40a4-bc59-d15f2c7271cd","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
                 "0":{"$SpriteFrameKeyframe":"","Id":{"name":"05716c78-1f90-40a4-bc59-d15f2c7271cd","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
               },"Disabled":false,"id":"bfc9f501-9aa5-4620-8bb7-7cd13d500e02","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
               },"Disabled":false,"id":"bfc9f501-9aa5-4620-8bb7-7cd13d500e02","IsCreationKey":false,"Key":0.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"667c757c-1097-451f-bf26-67583b1993ae","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"0c85d7cd-6cec-490a-adb3-6787db5a959f","IsCreationKey":false,"Key":1.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"59344578-2001-43f9-b8f6-34ad930e6bb8","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"9d0c9683-b749-428e-ae4e-887207bb186c","IsCreationKey":false,"Key":2.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"c6f03f93-2ee2-4ef4-a38b-0bddbc2301ac","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"9027a7b8-09d1-46aa-b6d0-f5023bb49b27","IsCreationKey":false,"Key":3.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"3d254213-e7b8-4932-bd3b-ce50b0f0a956","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"07b02c59-e3d1-4728-b4e5-dc4fe00a778e","IsCreationKey":false,"Key":4.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"c99fcc52-78e5-4aef-b3f5-4f505449dacb","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"4c084d0a-38b3-49b6-aaa2-d2d622e853ad","IsCreationKey":false,"Key":5.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"07a14007-d967-4433-9c49-548fc2ca923a","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"d18fb8c6-3d5a-4241-a879-287c64db8188","IsCreationKey":false,"Key":6.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"e429b302-021f-47ce-a1b7-018a11f1e08c","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"3bb3a8c7-8f02-4a66-a23d-2bd3d0b35b69","IsCreationKey":false,"Key":7.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"564a25fe-6dec-42d4-9c40-c8b34394886c","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"6b03bf54-f30c-4de6-b548-e9079dd71903","IsCreationKey":false,"Key":8.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"a68f3557-f428-443a-91d0-e7f78d37e0b8","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"df653106-08c9-4d7b-a868-cbde17c7a2cb","IsCreationKey":false,"Key":9.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"c1d7e0b1-17f0-492e-9bcb-c1d966bb3c49","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"c6f3e9aa-73fe-4446-9dbd-16a8b425f493","IsCreationKey":false,"Key":10.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"4194376b-0690-4518-afe0-c4d66977c2f2","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"081c8e79-4673-4ac5-9b56-b30dc0d1a7aa","IsCreationKey":false,"Key":11.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"074e84d0-f7a5-4a7e-b3dd-cd76330ed5bf","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"e797779d-9d0a-4a49-98a5-ffd3ced5efc9","IsCreationKey":false,"Key":12.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"5300a557-39a6-465c-94d5-129d91f24a63","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"ff3e5525-9f1d-4c30-851d-5953c7eb5863","IsCreationKey":false,"Key":13.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
+            {"$Keyframe<SpriteFrameKeyframe>":"","Channels":{
+                "0":{"$SpriteFrameKeyframe":"","Id":{"name":"3901fce0-f5f6-45d9-b9cc-86febdbed057","path":"sprites/sBossShowerheadSlam/sBossShowerheadSlam.yy",},"resourceType":"SpriteFrameKeyframe","resourceVersion":"2.0",},
+              },"Disabled":false,"id":"83b0d5a5-ad3a-4aba-b3ef-653bd5fb9a40","IsCreationKey":false,"Key":14.0,"Length":1.0,"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"2.0","Stretch":false,},
           ],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
           ],"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"2.0",},"modifiers":[],"name":"frames","resourceType":"GMSpriteFramesTrack","resourceVersion":"2.0","spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
     ],
     ],
     "visibleRange":null,
     "visibleRange":null,

BIN
sprites/sBossShowerheadSpawn/05716c78-1f90-40a4-bc59-d15f2c7271cd.png


BIN
sprites/sBossShowerheadSpawn/2cc071dd-dc02-4415-8951-58e9356fbb8e.png


BIN
sprites/sBossShowerheadSpawn/57415c65-4976-4373-8dc2-33f4125e5376.png


BIN
sprites/sBossShowerheadSpawn/58ccd3ab-542a-4c1f-87f7-cf423f148085.png


BIN
sprites/sBossShowerheadSpawn/62c0eb0e-01c1-497e-b506-1f18516b99db.png


BIN
sprites/sBossShowerheadSpawn/781bd6bb-8b60-4027-98da-ef3e79aef945.png


BIN
sprites/sBossShowerheadSpawn/805fb3ea-1f87-45da-b318-3f3723c3fbb6.png


BIN
sprites/sBossShowerheadSpawn/8258407d-a704-4d90-b699-60dd7f6886bc.png


BIN
sprites/sBossShowerheadSpawn/8c79e1b5-3ae2-4cec-abb3-baaa5afaad9c.png


BIN
sprites/sBossShowerheadSpawn/a75547db-8e5e-4156-a675-b9eab16e550c.png


BIN
sprites/sBossShowerheadSpawn/b57d0f60-2768-4679-bbe2-6d5c98c8477b.png


Некоторые файлы не были показаны из-за большого количества измененных файлов